Настройка режима - Mode setting

Регулирование доступа к оборудованию - фундаментальная задача ядра. В Менеджер прямого рендеринга и KMS являются частью Ядро Linux. KMS выполняет только настройку режима.

Настройка режима это программного обеспечения операция, которая активирует Режим отображения (разрешение экрана, глубина цвета, и Частота обновления ) для компьютера контроллер дисплея.

В установка режима ядра (KMS) режим отображения задается ядро. В установка режима пользовательского пространства (UMS) режим отображения задается пользовательское пространство процесс.

Настройка режима ядра более гибкая и позволяет отображать ошибку в случае фатальная системная ошибка в ядре, даже при использовании сервера отображения в пользовательском пространстве.

Для настройки режима пользовательского пространства потребуются привилегии суперпользователя для прямого доступа к оборудованию, поэтому настройка режима на основе ядра избегает такого требования для графического сервера пользовательского пространства.[требуется разъяснение ]

Выполнение

Майкрософт Виндоус

Майкрософт Виндоус версии, которые На основе NT использовать настройку режима ядра. Отображение ошибок ядра, которое стало возможным благодаря настройке режима ядра, официально называется "проверкой ошибок", но более широко известно как Синий экран смерти.

Linux

Роль KMS (настройка режима ядра), пример Linux
Графический стек Linux 2013
Композиторы Wayland требуется KMS (а также OpenGL ES и EGL )
Место некоторых модулей ядра Linux
Evdev это Ядро Linux модуль, который получает данные от различных устройств ввода, таких как клавиатура, мышь, сенсорная панель и т. д. Данные передаются на Показать сервер (например, Сервер X.Org или несколько Композитор Wayland только для того, чтобы перейти к Клиент Wayland соответственно X клиент. Некоторые приложения требуют минимального задержка

В Ядро Linux получил предварительное условие для настройки режима на основе ядра, приняв Intel GEM в версии 2.6.28, выпущенной в декабре 2008 года.[1] Это будет[нуждается в обновлении ] заменен на Tungstens Graphics TTM (Карты переводов) диспетчер памяти, поддерживающий GEM API.[2] ТТМ был разработан для бесплатно и с открытым исходным кодом драйверы для Radeon и S3 Графика графические чипсеты (видеть Бесплатный драйвер графического устройства с открытым исходным кодом ).[3] Поддержка для Intel GMA Графические чипсеты были приняты в версии 2.6.29, выпущенной 23 марта 2009 года.[4] Поддержка до R600 ATI Radeon видеокарты были приняты в версии 2.6.31, выпущенной 9 сентября 2009 года.[5] Поддержка R600 и R700 находилась в разработке в DRM и был объединен в версии 2.6.32.[6] Поддержка Evergreen (R800) была добавлена ​​в версию 2.6.34. Поскольку Nvidia не выпустила всю необходимую документацию для своего графического чипа, разработка продолжалась в модерн проект, который использует разобрать механизм с целью понять, как это работает для создания рабочего драйвера с открытым исходным кодом для карт Nvidia. Nouveau был принят в версии 2.6.33 ядра, выпущенной 10 декабря 2009 г. Настройка режима на основе ядра не только поддерживается драйвером Nouveau, но и является обязательной.[7] Композиторы Wayland (например. Вестон ) и кмскон зависит от настройки режима ядра через ioctl.

FreeBSD

FreeBSD поддерживает как настройку режима на основе ядра, так и GEM для более поздних поколений графических процессоров Intel (IronLake, SandyBridge и IvyBridge), начиная с версии 9.1.[8]

NetBSD

NetBSD поддерживает настройку режима на основе ядра и ускоренную графику для устройств Intel и Radeon. Эта реализация была представлена ​​в версии 7.0 путем переноса кода DRM / KMS Linux 3.15.[9]

OpenBSD

OpenBSD поддерживает настройки режима на основе ядра для графических процессоров Intel и Radeon. Начиная с версии 5.4 OpenBSD доступна поддержка графических процессоров Intel. С выпуском версии 5.5 реализация была расширена и теперь добавлена ​​поддержка чипсетов Radeon.

Альтернативы

Следующие альтернативы были представлены на Linux Plumbers Conference 2013:

  • Было предложено разделить GEM и KMS.[10]
  • Atomic Display Framework, разработанная командой Google Android.[11][12]
  • Общая структура отображения.[13]

Смотрите также

Рекомендации

  1. ^ «Linux 2 6 28». Новички в ядре Linux. Получено 2013-02-14.
  2. ^ Ларабель, Майкл (26 августа 2008 г.). "Менеджер TTM на основе GEM для Radeon". Фороникс. Получено 2013-02-14.
  3. ^ Ларабель, Майкл (10.06.2009). «TTM Memory Manager готовится к выпуску». Фороникс. Получено 2013-02-14.
  4. ^ «Linux 2 6 29». Новички в ядре Linux. Получено 2013-02-14.
  5. ^ «Linux 2 6 31». Новички в ядре Linux. 2009-09-09. Получено 2013-02-14.
  6. ^ Ларабель, Майкл (30 сентября 2009 г.). «Производительность AMD R600 / 700 2D: открытые и закрытые драйверы». Фороникс. Получено 2013-02-14.
  7. ^ "nouveau / KernelModeSetting". freedesktop.org. 24 августа 2013 г.. Получено 2014-08-11.
  8. ^ «Примечания к выпуску FreeBSD 9.1-RELEASE». Фонд FreeBSD. 30 декабря 2012 г.
  9. ^ «Анонс NetBSD 7.0». Проект NetBSD. 25 сентября 2015 г.. Получено 25 апреля 2016.
  10. ^ http://www.linuxplumbersconf.org/2013/ocw/sessions/1107
  11. ^ http://www.linuxplumbersconf.org/2013/ocw/proposals/1551
  12. ^ http://www.linuxplumbersconf.org/2013/ocw/sessions/1467
  13. ^ http://www.linuxplumbersconf.org/2013/ocw/sessions/1317

внешняя ссылка