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

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


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

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

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

Реализация [ править ]

Microsoft Windows [ править ]

Версии Microsoft Windows , основанные на NT, используют настройку режима ядра. Отображение ошибок ядра, которое стало возможным благодаря настройке режима ядра, официально называется «проверкой ошибок», но более широко известно как « синий экран смерти» .

Linux [ править ]

Роль KMS (настройка режима ядра), пример Linux
Место некоторых модулей ядра Linux
evdev - это модуль ядра Linux, который получает данные от различных устройств ввода, таких как клавиатура, мышь, сенсорная панель и т. д. Данные передаются на сервер дисплея (например, сервер X.Org или некоторый композитор Wayland только для дальнейшей передачи на сервер). клиента Wayland соответственно X клиент . Некоторые приложения требуют минимального времени ожидания

Linux ядра есть предпосылки для настройки режима ядра на основе принимая Intel GEM в версии 2.6.28, выпущенной в декабре 2008 года [1] Это будет [ требуется обновление ] заменен Tungstens Graphics ТТМ (таблица перевод карт) менеджер памяти , который поддерживает GEM API. [2] TTM был разработан для бесплатных драйверов с открытым исходным кодом для графических чипсетов Radeon и S3 Graphics ( см. Бесплатные драйверы для графических устройств с открытым исходным кодом ). [3] Поддержка Intel GMAграфические чипсеты были приняты в версии 2.6.29, выпущенной 23 марта 2009 г. [4] Поддержка видеокарт ATI Radeon до R600 была принята в версии 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 (например, Weston ) и kmscon зависят от настроек режима ядра через 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 2013 были представлены следующие альтернативы:

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

См. Также [ править ]

  • Экраны смерти

Ссылки [ править ]

  1. ^ «Linux 2 6 28» . Новички в ядре Linux . Проверено 14 февраля 2013 . CS1 maint: обескураженный параметр ( ссылка )
  2. ^ Ларабель, Майкл (2008-08-26). «Менеджер TTM на основе GEM для Radeon» . Фороникс . Проверено 14 февраля 2013 . CS1 maint: обескураженный параметр ( ссылка )
  3. ^ Ларабель, Майкл (2009-06-10). «TTM Memory Manager готовится к выпуску» . Фороникс . Проверено 14 февраля 2013 . CS1 maint: обескураженный параметр ( ссылка )
  4. ^ «Linux 2 6 29» . Новички в ядре Linux . Проверено 14 февраля 2013 . CS1 maint: обескураженный параметр ( ссылка )
  5. ^ «Linux 2 6 31» . Новички в ядре Linux. 2009-09-09 . Проверено 14 февраля 2013 . CS1 maint: обескураженный параметр ( ссылка )
  6. ^ Larabel, Майкл (2009-09-30). «Производительность AMD R600 / 700 2D: открытые и закрытые драйверы» . Фороникс . Проверено 14 февраля 2013 . CS1 maint: обескураженный параметр ( ссылка )
  7. ^ "nouveau / KernelModeSetting" . freedesktop.org. 24 августа 2013 . Проверено 11 августа 2014 . CS1 maint: обескураженный параметр ( ссылка )
  8. ^ "Примечания к выпуску FreeBSD 9.1-RELEASE" . Фонд FreeBSD . 30 декабря 2012 г.
  9. ^ "Анонс NetBSD 7.0" . Проект NetBSD. 25 сентября 2015 . Проверено 25 апреля 2016 года . CS1 maint: обескураженный параметр ( ссылка )
  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

Внешние ссылки [ править ]

  • Настройка режима на вики X.org
  • Драйвер графики Intel на вики X.org
  • Драйвер ATI Radeon на вики X.org
  • Настройка режима ядра в вики проекта Fedora