Недавно на GitHub был опубликован проект arc-rebar, позволяющий видеокартам Intel работать заметно эффективнее в тех случаях, когда материнская плата системы не поддерживает технологию Resizable BAR. Для работы требуются установленная Debian или Ubuntu и, разумеется, поддерживаемый графический процессор Intel.

Видеокарта Intel Arc, работающая с включённым Resizable BAR

Хотя функция изменяемого базового адресного регистра (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 не требуется.