Настройка режима — это программная операция, которая активирует режим отображения (разрешение экрана, глубину цвета и частоту обновления) для контроллера дисплея компьютера с помощью расширений VESA BIOS или расширений UEFI Graphics (на более современных компьютерах).
Режим отображения устанавливается ядром. В режиме настройки режима пользовательского пространства (UMS) режим отображения устанавливается процессом пользовательского пространства .
Настройка режима ядра более гибкая и позволяет отображать ошибку в случае фатальной системной ошибки в ядре, даже при использовании сервера отображения в пространстве пользователя.
Настройка режима пользовательского пространства потребует привилегий суперпользователя для прямого доступа к оборудованию, поэтому настройка режима на основе ядра избегает такого требования для графического сервера пользовательского пространства.
Версии Microsoft Windows , основанные на NT , используют настройку режима ядра. Отображение ошибок ядра, которое стало возможным благодаря настройке режима ядра, официально называется «проверкой ошибок», но более известно как « синий экран смерти ».
Ядро 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 поддерживает как настройку режима на уровне ядра, так и GEM для более поздних поколений графических процессоров Intel (IronLake, SandyBridge и IvyBridge), начиная с версии 9.1. [8]
NetBSD поддерживает настройку режима на основе ядра и ускоренную графику для устройств Intel и Radeon. Эта реализация была введена в версии 7.0 путем портирования кода Linux 3.15 DRM/KMS. [9]
OpenBSD имеет поддержку режима на основе ядра для графических процессоров Intel и Radeon. Начиная с версии 5.4 OpenBSD доступна поддержка графических процессоров Intel. С выпуском версии 5.5 реализация была расширена и теперь поддерживает также чипсеты Radeon.
На конференции Linux Plumbers Conference 2013 были представлены следующие альтернативы: