Зачем нужны драйверы как для сервера x, так и для ядра Linux?

12

Может кто-нибудь объяснить, зачем нужны два набора драйверов, один в ядре Linux, а другой в X?

Я понимаю, что драйверы устройств находятся в ядре, но какова роль этих драйверов в xserver?

Требуется ли Wayland для запуска таких драйверов?

gimmesudo
источник

Ответы:

15

Поддержка графики в Linux была сильно мутирующей вещью на протяжении большей части жизни ядра. Первоначально ядро ​​обращалось к графической карте только в текстовом режиме. В то время X использовал свои драйверы для всего, поэтому он работал как огромное ядро ​​вне ядра.

Позже, с помощью Direct Rendering Infrastructure (DRI) , некоторые части кода для ускоренных графических функций переместились на сторону ядра (называемый Direct Rendering Manager, DRM - ничего общего с управлением цифровыми правами), чтобы обеспечить согласованный, абстрагированный интерфейс для функций 3D-ускорения.

В настоящее время вам не нужно загружать модуль DRM на стороне ядра. Но если у вас его нет, скорее всего, ваша X-сессия вернется к программному 3D-рендерингу, который значительно медленнее и требует больше энергии, чем аппаратное 3D. Бег glxinfoпокажет информацию об этом.

Wayland - это немного другая история . Он находится между ядром и клиентскими приложениями. В Wayland X-сервер - это еще одно клиентское приложение, которое отображает свое корневое окно как еще одну вещь. Вейланд берет на себя обязанности разговаривать с оборудованием (вместо этого Х говорит с Вейландом). Поскольку проект все еще находится в стадии разработки, нет способа узнать, где он закончится, но, насколько я понимаю, ему все еще нужна поддержка ядра для 3D-рендеринга.

Это очевидно и из диаграмм архитектуры Wayland: слева - текущее состояние современного рабочего стола X, справа - предлагаемая архитектура Wayland. Композитор Wayland заменяет X Server как устройство, которое взаимодействует с аппаратным обеспечением, но не заменяет инфраструктуру ядра - поэтому вам все равно потребуется соответствующая поддержка ядра. Фактически, учитывая цели проекта, в ядро ​​должно быть добавлено больше материала для еще лучшей абстракции. Wayland, как и X-сервер, все еще зависит от графического оборудования.

введите описание изображения здесь

Алексиос
источник
Не по теме: какое программное обеспечение вы используете для диаграммы? Это очень приятно.
Руфо Эль Магуфо
1
Я взял две диаграммы с The Wayland Page и соединил их с GIMP. Есть ряд инструментов, которые могут создавать диаграммы так приятно. Graphviz для полностью автоматизированного решения, * TeX и PGF / TikZ для высочайшего качества, и Inkscape, если вы хотите пойти ручным путем. Это даже можно сделать в GIMP, но векторный пакет намного проще.
Алексиос
Я использовал pnginfoисходный файл: tEXtкусок предполагает, что это было сделано с Inkscape.
Алексиос