Драйвер Intel Mesa меняет платформу для сборки на процессорах, отличных от x86

Сегодня в Mesa 23.0 был добавлен патч в рамках усилий по созданию драйверов Intel OpenGL и Vulkan Linux для архитектур, отличных от x86/x86_64. Это часть текущих усилий, направленных на то, чтобы дискретные графические процессоры Intel в конечном итоге работали с такими системами, как AArch64, POWER и RISC-V.

В рамках усилий, предпринимавшихся несколько месяцев назад, велась работа над драйверами Intel Linux для построения архитектур, отличных от x86. Была проведена некоторая работа над их драйвером ядра, в то время как сегодня была объединена поддержка создания их драйверов с открытым исходным кодом OpenGL и Vulkan для процессоров, отличных от x86.

В то время как большинство графических драйверов Linux с открытым исходным кодом довольно хорошо работают с архитектурами ЦП, благодаря природе открытого исходного кода и сообществу Linux, в случае стека графических драйверов Intel им традиционно не нужно заботиться о поддержке отличных от x86. В течение многих лет предоставления встроенной поддержки графики они явно были привязаны к своим процессорам x86/x86_64. Но теперь, когда они участвуют в игре на дискретных графических процессорах с Arc Graphics и их Ponte Vecchio / Max Series, это совершенно другая игра. Имея возможность установки дискретного графического процессора Intel на сервер ARM64, настольный компьютер RISC-V, бесплатный настольный компьютер POWER9 и т. д., их графические драйверы должны учитывать недостатки архитектуры x86, накопившиеся в их кодовой базе за эти годы.

Самый последний шаг в этом квесте — добавление «SUPPORT_INTEL_INTEGRATED_GPUS» в их код Mesa для драйверов Iris Gallium3D и ANV Vulkan. Это позволяет убрать код интегрированного графического драйвера и просто оставить поддержку дискретного графического процессора.

Проблема с сохранением поддержки встроенного графического драйвера для сборок, отличных от x86, которая, помимо того, что она не используется / невозможна, код драйвера явно требует инструкции Intel x86 / x86_64 CLFLUSH для очистки строк кэша. Таким образом, добавив «SUPPORT_INTEL_INTEGRATED_GPUS» с возможностью отключения поддержки iGPU, эти биты кода CLFLUSH не создаются для систем, отличных от x86, что позволяет избежать сбоев сборки.

Код был частью этого запроса на слияние теперь в Mesa 23.0. Хотя этого достаточно, чтобы собрать драйверы Intel Mesa для целей, отличных от x86, они еще не обязательно будут работать. По-прежнему существует остальная совместимость драйверов ядра и, в свою очередь, какие другие дополнительные изменения драйвера Mesa могут потребоваться для поддержки во время выполнения на других архитектурах. MR просто прокомментировал: «Только исправление сборки, могут потребоваться дополнительные изменения. Также необходима поддержка ядра i915».
Поделиться:

Похожие публикации

Тут ничего нет

Нет комментариев