stringtranslate.com

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

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

Настройка режима — это программная операция, которая активирует режим отображения (разрешение экрана, глубину цвета и частоту обновления) для контроллера дисплея компьютера с помощью расширений VESA BIOS или расширений UEFI Graphics (на более современных компьютерах).

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

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

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

Выполнение

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

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

линукс

Роль KMS (настройка режима ядра), пример Linux

Ядро Linux получило предварительное условие для настройки режима на основе ядра, приняв Intel GEM в версии 2.6.28, выпущенной в декабре 2008 года. [1] Это будет [ требуется обновление ] заменено менеджером памяти Tungstens Graphics TTM (Translation Table Maps), который поддерживает API GEM. [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 не выпустила всю необходимую документацию для своего графического чипа, разработка продолжалась в рамках проекта nouveau , который использует обратную разработку для создания работающего драйвера с открытым исходным кодом для карт 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 путем портирования кода Linux 3.15 DRM/KMS. [9]

OpenBSD

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

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

На конференции Linux Plumbers Conference 2013 были представлены следующие альтернативы:

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

Ссылки

  1. ^ "Linux 2 6 28". Linux Kernel Newbies . Получено 2013-02-14 .
  2. ^ Ларабель, Майкл (2008-08-26). "GEM-ified TTM Manager для Radeon". Phoronix . Получено 2013-02-14 .
  3. ^ Ларабель, Майкл (2009-06-10). "TTM Memory Manager готов к выпуску". Phoronix . Получено 2013-02-14 .
  4. ^ "Linux 2 6 29". Linux Kernel Newbies . Получено 2013-02-14 .
  5. ^ "Linux 2 6 31". Linux Kernel Newbies. 2009-09-09 . Получено 2013-02-14 .
  6. ^ Ларабель, Майкл (30.09.2009). "Производительность AMD R600/700 2D: открытые и закрытые драйверы". Phoronix . Получено 14.02.2013 .
  7. ^ "nouveau/KernelModeSetting". freedesktop.org. 24 августа 2013 г. Получено 11 августа 2014 г.
  8. ^ "FreeBSD 9.1-RELEASE Release Notes". FreeBSD Foundation . 30 декабря 2012 г.
  9. ^ "Annoncing NetBSD 7.0". Проект NetBSD. 25 сентября 2015 г. Получено 25 апреля 2016 г.
  10. ^ "Разделение узлов устройств DRM/KMS / Конференция Linux Plumbers: Разработка ядра, библиотек и утилит". www.linuxplumbersconf.org . Архивировано из оригинала 2013-10-30.
  11. ^ «Atomic Display Framework / Конференция Linux Plumbers: Разработка ядра, библиотек и утилит».
  12. ^ "Проблемы KMS HWComposer, Atomic Display Framework и другие расширения KMS [sic] / Linux Plumbers Conference: Developing the Kernel, Libraries and Utilities". Архивировано из оригинала 2015-08-31 . Получено 2013-08-29 .
  13. ^ "Common Display Framework / Linux Plumbers Conference: Разработка ядра, библиотек и утилит". www.linuxplumbersconf.org . Архивировано из оригинала 2016-03-12.

Внешние ссылки