Üzemmód beállítása - Mode setting

Image
A hardverhez való hozzáférés szabályozása alapvető kernel feladat. A Direct Rendering Manager és a KMS a Linux kernel része. A KMS csak az üzemmód-beállítást végzi.

Az üzemmód beállítása olyan szoftveres művelet, amely a VESA BIOS kiterjesztések vagy az UEFI Graphics kiterjesztések használatával (modernebb számítógépeken) aktiválja a megjelenítési módot (képernyőfelbontás, színmélység és frissítési gyakoriság) a számítógép kijelzővezérlőjéhez .

A megjelenítési módot a kern állítja be. A felhasználói térben mód meghatározó (UMS), a kijelző mód beállítása egy felhasználói térben folyamatot.

A kernelmód-beállítás rugalmasabb és lehetővé teszi a hiba megjelenítését a rendszermagban bekövetkező végzetes rendszerhiba esetén, még akkor is, ha felhasználói térkiszolgálót használ.

A felhasználói tér üzemmód beállításához a felhasználó hardveres jogosultságokra lenne szükség a közvetlen hardveres hozzáféréshez, ezért a kernel alapú mód beállítása elkerüli az ilyen követelményeket a felhasználói tér grafikus kiszolgálóval szemben.

Végrehajtás

Microsoft Windows

Az NT alapú Microsoft Windows verziók a rendszermag mód beállításait használják. A rendszermag mód beállításával lehetővé tett kernelhiba-megjelenítést hivatalosan "hibakeresésnek" hívják, de közismertebb nevén a Halál Kék Képernyője .

Linux

A KMS szerepe (Kernel mode-setting), Linux példa
A Linux Graphics Stack 2013
A Wayland összeállításához KMS (és OpenGL ES és EGL ) is szükséges
Bizonyos Linux kernelmodulok helye
Az evdev a Linux kernelmodul, amely különféle bemeneti eszközökről fogad adatokat, például billentyűzetről, egérről , érintőpadról stb. Az adatokat továbbítják a Display szerverre (pl. az X.Org szerver vagy valamilyen Wayland zeneszerző csak tovább továbbítja a a Wayland kliens, illetve az X kliens . Néhány alkalmazás minimális késleltetést igényel

A Linux kernel a rendszermag alapú mód beállításának előfeltételét azáltal kapta meg, hogy elfogadta az Intel GEM-t a 2008 decemberében kiadott 2.6.28 verzióban. Ezt a Tungstens Graphics TTM (Translation Table Maps) memóriakezelő váltja fel, amely támogatja a GEM API-t. A TTM-et a Radeon és az S3 Graphics grafikus chipkészletek ingyenes és nyílt forráskódú illesztőprogramjaihoz fejlesztették ki ( lásd: Ingyenes és nyílt forráskódú grafikus eszközillesztő ). Az Intel GMA grafikus chipkészletek támogatását a 2009. március 23-án kiadott 2.6.29 verzióban elfogadták. Az R600 előtti ATI Radeon grafikus kártyák támogatását a 2.6.31 verzióban, 2009. szeptember 9-én adták ki. Az R600 és R700 támogatása a DRM-en belül fejlesztés alatt állt, és a 2.6.32-es verzióval egyesítették. Az Evergreen (R800) támogatását egyesítették a 2.6.34 verzióban. Mivel az Nvidia nem adta ki az összes szükséges dokumentációt a grafikus chipjéhez, a fejlesztés a nouveau projekt keretében folytatódott , amely reverz tervezés segítségével működő nyílt forráskódú illesztőprogramot épít az Nvidia kártyákhoz. A Nouveau-t a kernel 2009. december 10-én kiadott 2.6.33-as verziójában fogadták el. A kernel-alapú üzemmód beállítását nem csak a nouveau illesztőprogram támogatja, hanem szükséges is. A Wayland-összetevők (pl. Weston ) és a kmscon a kernel mód beállításától függenek az ioctl- en keresztül .

FreeBSD

A FreeBSD támogatja a rendszermag-alapú mód beállítását és a GEM-et is az Intel GPU-k későbbi generációi számára (IronLake, SandyBridge és IvyBridge), a 9.1-es verziótól kezdve.

NetBSD

A NetBSD támogatja a kernel alapú mód beállítását és a gyorsított grafikát az Intel és a Radeon eszközökhöz. Ezt a megvalósítást a 7.0 verzióban vezették be a Linux 3.15 DRM / KMS kód portolásával.

OpenBSD

Az OpenBSD rendszermag-alapú módbeállítási támogatással rendelkezik az Intel és a Radeon GPU-k számára. Az OpenBSD 5.4-es verziójától kezdve elérhető az Intel GPU-k támogatása. Az 5.5-ös verzió kiadásával a megvalósítás kibővült, hogy támogatást nyújtson a Radeon chipsetek számára is.

Alternatívák

A következő alternatívákat mutatták be a 2013. évi Linux-vízvezeték-szerelő konferencián:

  • Javasolták a GEM és a KMS felosztását.
  • Atomic Display Framework, a Google Android-Team részéről.
  • Common Display Framework.

Lásd még

Hivatkozások

Külső linkek