2014-04-14 3 views
0

Я нашел i915_drm, который является драйвером DRM для графических процессоров Intel. Насколько я знаю, драйверы GPU обычно не открыты для публики.Что касается драйвера GPU в ядре Linux

Мой вопрос: этот i915 обычно называется «Драйвер GPU» для Intel GPU? Если нет (я подозреваю, что нет), не могли бы вы рассказать мне, что такое связь между драйвером DRM и драйвером графического процессора?

ответ

1

Драйвер DRM разрешает доступ к графическому процессору, в то время как фактический драйвер GPU готовит командный поток. Только первое относится к безопасности и должно выполняться в ядре, в то время как последнее является очень сложным и лучше реализуется как пользовательский процесс.

Драйвер ядра задает диапазоны адресов, как для CPU-> GPU-доступа (сопоставления BAR), так и для GPU-> Memory accesses (DMA regions).

Это гарантирует, что графический процессор может получить доступ только к выделенной памяти DMA, чтобы остановить программы GPU от считывания конфиденциальных данных, таких как пароли, и, в зависимости от возможностей движка DMA GPU, может даже настроить несколько контекстов, дополнительно ограничивающих GPU для буферов DMA, представленных вместе с программой.

Полный драйвер GPU использует эту функцию для запроса контекстов устройства и сопоставлений памяти DMA, компиляции таких программ, как шейдеры или ядра OpenCL, и передает их через драйверы низкого уровня.

+0

Спасибо. Это очень помогло. Еще один вопрос заключается в том, что фактический драйвер GPU (работает в пользовательском пространстве) - это что-то внутри драйверов MESA 3D или x11? Или они совершенно разные? – jaeyong

+0

Оба. X11 обрабатывает примитивы 2D-составов и композицию, Mesa обрабатывает 3D. –

+0

Ох ... Похоже, есть недоразумение. Мой вопрос был «конкретный драйвер для конкретного поставщика», а библиотеки рисования X11/MESA - это одно и то же? или нет? – jaeyong

Смежные вопросы