Ustawienie trybu - Mode setting

Image
Regulowanie dostępu do sprzętu jest podstawowym zadaniem jądra. Direct Rendering Manager i KMS są częścią jądra Linux. KMS wykonuje tylko ustawienie trybu.

Ustawienie trybu to operacja oprogramowania, która aktywuje tryb wyświetlania (rozdzielczość ekranu, głębia kolorów i częstotliwość odświeżania) dla kontrolera wyświetlania komputera za pomocą rozszerzeń VESA BIOS lub rozszerzeń UEFI Graphics (na bardziej nowoczesnych komputerach).

Tryb wyświetlania jest ustawiany przez jądro. W ustawieniu trybu przestrzeni użytkownika (UMS) tryb wyświetlania jest ustawiany przez proces w przestrzeni użytkownika .

Ustawienie trybu jądra jest bardziej elastyczne i umożliwia wyświetlanie błędu w przypadku krytycznego błędu systemowego w jądrze, nawet podczas korzystania z serwera wyświetlania w przestrzeni użytkownika.

Ustawienie trybu w przestrzeni użytkownika wymagałoby uprawnień administratora w celu bezpośredniego dostępu do sprzętu, więc ustawienie trybu opartego na jądrze omija takie wymagania dla serwera graficznego w przestrzeni użytkownika.

Realizacja

Microsoft Windows

Wersje systemu Microsoft Windows oparte na systemie NT używają ustawienia trybu jądra. Wyświetlanie błędów jądra możliwe dzięki ustawieniu trybu jądra jest oficjalnie nazywane „sprawdzaniem błędów”, ale bardziej znanym jako niebieski ekran śmierci .

Linux

Rola KMS (ustawienie trybu jądra), przykład Linux Linux
Stos graficzny Linuksa 2013
Kompozytorzy Wayland wymagają KMS (a także OpenGL ES i EGL )
Miejsce niektórych modułów jądra Linux
evdev to moduł jądra Linux , który odbiera dane z różnych urządzeń wejściowych, takich jak klawiatura, mysz, touchpad itp. Dane są przekazywane do serwera Display (np. X.Org Server lub jakiegoś kompozytora Waylanda tylko po to, aby przekazać je dalej do klient Wayland odpowiednio X klient . Niektóre aplikacje wymagają minimalną latencję

Linux Kernel dostał warunek ustawienia trybu jądra opartego akceptując Intel GEM w wersji 2.6.28, wydany w grudniu 2008. Cel ten zostanie zastąpiony przez Tungstens Graphics TTM (Translation Table Maps) menedżera pamięci, który obsługuje API GEM. TTM został opracowany dla darmowych i open-source'owych sterowników dla chipsetów graficznych Radeon i S3 Graphics ( zobacz Darmowy i open-source'owy sterownik urządzeń graficznych ). Obsługa chipsetów graficznych Intel GMA została zaakceptowana w wersji 2.6.29 wydanej 23 marca 2009 r. Obsługa kart graficznych ATI Radeon starszych niż R600 została zaakceptowana w wersji 2.6.31 wydanej 9 września 2009 r. Obsługa R600 i R700 był rozwijany w ramach DRM i został połączony w wersji 2.6.32. Wsparcie dla Evergreen (R800) zostało połączone w wersji 2.6.34. Ponieważ Nvidia nie wydała całej potrzebnej dokumentacji dla swojego układu graficznego, prace rozwojowe odbywały się w ramach projektu nouveau , który wykorzystuje inżynierię wsteczną do zbudowania działającego sterownika open-source dla kart Nvidii. Nouveau został zaakceptowany w wersji 2.6.33 jądra, wydanej 10 grudnia 2009. Ustawienie trybu opartego na jądrze jest obsługiwane nie tylko przez sterownik nouveau, ale jest wymagane. Kompozytorzy Wayland (np. Weston ) i kmscon zależą od ustawienia trybu jądra za pomocą ioctl .

FreeBSD

FreeBSD obsługuje zarówno ustawienia trybu opartego na jądrze, jak i GEM dla późniejszych generacji procesorów graficznych Intela (IronLake, SandyBridge i IvyBridge), począwszy od wersji 9.1.

NetBSD

NetBSD obsługuje ustawienia trybu opartego na jądrze i akcelerowaną grafikę dla urządzeń Intel i Radeon. Ta implementacja została wprowadzona w wersji 7.0 przez przeniesienie kodu Linux 3.15 DRM/KMS.

OpenBSD

OpenBSD obsługuje ustawienia trybu opartego na jądrze dla procesorów graficznych Intel i Radeon. Począwszy od wersji 5.4 OpenBSD, dostępna jest obsługa procesorów graficznych Intel. Wraz z wydaniem wersji 5.5 implementacja została rozszerzona o wsparcie dla chipsetów Radeon.

Alternatywy

Podczas Linux Plumbers Conference 2013 zaprezentowano następujące alternatywy:

  • Zasugerowano rozdzielenie GEM i KMS.
  • Atomic Display Framework, opracowany przez zespół Google ds. Androida.
  • Wspólna struktura wyświetlania.

Zobacz też

Bibliografia

Linki zewnętrzne