Недавно на GitHub был опубликован проект arc-rebar, позволяющий видеокартам Intel работать заметно эффективнее в тех случаях, когда материнская плата системы не поддерживает технологию Resizable BAR. Для работы требуются установленная Debian или Ubuntu и, разумеется, поддерживаемый графический процессор Intel.
Хотя функция изменяемого базового адресного регистра (ReBAR) входит в спецификацию PCIe уже довольно давно, её применение оставалось весьма ограниченным, пока Intel не выпустила серию видеокарт Arc. Эти карты используют ReBAR, чтобы отображать в адресное пространство ПК гораздо больший объём видеопамяти (VRAM), чем стандартные 256 МБ — при условии, что система способна декодировать адреса выше 4 ГБ, то есть поддерживает 64-битные BAR.
Для таких производителей, как AMD и Nvidia, это не было серьёзной проблемой: их архитектуры развивались в мире, где ReBAR ещё не существовало. А вот новые поколения графики Intel изначально проектировались с опорой на ReBAR как ключевую возможность, из-за чего производительность резко падает, если материнская плата не активировала функцию во время перечисления устройств на шине PCIe.
Это решение на основе initramfs запускается до загрузки драйвера видеокарты и выполняет необходимую настройку BAR. В тестах с видеокартой Intel Arc B580 на материнской плате под Intel Xeon образца 2015 года разница между пропускной способностью по умолчанию и после исправления оказалась колоссальной — скачок с жалких 15 ГБ/с до вполне достойных 392 ГБ/с. Это наглядно показывает, как одно исправление способно вдохнуть новую жизнь в старые системы.
Особенно полезным проект окажется владельцам относительно старых платформ без официальной поддержки Resizable BAR, которые хотят собрать недорогую систему вокруг доступных видеокарт Intel Arc. Поскольку всё работает на уровне initramfs в Linux, модифицировать прошивку BIOS/UEFI не требуется.














