Ustawienie trybu oparte na jądrze

Ustawienie trybu oparte na jądrze lub KMS to proces zarządzania trybami wyświetlania przez jądro Linuksa i systemy BSD .

Bez KMS sterownik grafiki jest odpowiedzialny za zarządzanie trybami wyświetlania grafiki, co jest dalekie od optymalnego. Rzeczywiście, ta praca jest już wykonywana przez jądro po raz pierwszy w celu wyświetlania komunikatów podczas fazy rozruchu, zanim sterownik graficzny ponownie zainicjuje tryb wyświetlania, gdy sam jest załadowany.

Na podstawie KMS opracowano bardziej rozbudowane zarządzanie: ustawienie trybu atomowego .

Historyczny

KMS został zintegrowany z jądrem Linuksa od wersji 2.6.29. Kompatybilny początkowo tylko z architekturami Intela , jego zastosowanie zostało rozszerzone na inne architektury (Radeon przez sterowniki radeon z jądra Linuksa 2.6.31, a następnie GeForce przez nowe ).

Jest stopniowo przenoszony na systemy BSD  :

Składki

KMS umożliwia:

Ustawienie trybu atomowego, samoloty KMS

Atomic display mode management (w języku angielskim atomic mode-setting ) to tryb, w którym przygotowanie nowego obrazu jest oglądane atomowo. Wszystkie modyfikacje są wykonywane poza ekranem, w buforze . Po ich zakończeniu przeprowadzana jest walidacja, a zmodyfikowany obraz nie będzie wyświetlany aż do następnego interwału odświeżania pionowego (VBLANK) i po jego całkowitym zakończeniu. Upraszcza to pilot skoro nie ma już martwić się o synchronizację z częstotliwością odświeżania, sprawia, że korzystanie z karty bardziej wydajne (brak obliczeń dla obrazu, który nie będzie wyświetlany), oraz w celu uniknięcia tzw rozrywania efekty (przesunięcie lub niespójność między górną a dolną częścią obrazu, który następnie wydaje się rozdarty w poziomie). Możliwe jest również wcześniejsze przygotowanie wielu obrazów, w zależności od wielkości stempla . Tryb ten jest w szczególności prezentowany FOSDEM wluty 2015 i jest stopniowo włączany do różnych pilotów.

Co więcej, dzięki temu atomowemu zarządzaniu aplikacje takie jak serwer graficzny X.Org lub kompozytor Wayland / Mir mogą zmieniać parametry wszystkich płaszczyzn graficznych (uwidacznianych przez uniwersalny interfejs programowania płaszczyzny , zintegrowany z jądrem Linuksa 3.15) w czas; unikamy również na przykład używania przez kompozytora shaderów zamiast płaszczyzn graficznych do renderowania wideo. Te plany graficzne są bardziej wydajne (zarówno z punktu widzenia zużycia energii, jak iz punktu widzenia przepustowości pamięci), ponieważ generalnie są w stanie wyświetlać filmy w ich rodzimym formacie ( YUV ) bez konieczności konwersji na RGB . Ponadto zazwyczaj są w stanie zmienić rozmiar obrazu w sposób sprzętowy. Bez atomowego zarządzania płaszczyznami graficznymi kompozytor nie jest w stanie dynamicznie migrować renderowania obrazu z jednej płaszczyzny graficznej do drugiej, dlatego też, ponieważ nie możemy zagwarantować, kiedy nastąpi aktualizacja, musimy zawsze używać shaderów lub zawsze używać ta sama płaszczyzna graficzna dla tego samego okna.

Projekt atomowego zarządzania trybami wyświetlania w jądrze Linuksa jest dostosowany do różnych zastosowań, od komputera stacjonarnego po smartfony , co ostatecznie zmniejszy rozbieżności między historycznym stosem graficznym Linuksa a tym zmodyfikowanym dla Androida .

Uwagi i odniesienia

  1. Patrick Guignot, „  Wydano Linuksa 2.6.29  ” , linuxfr.org,24 marca 2009
  2. (in) „Linux Kernel 2.6.31-rc1 Released” Michael Larabel, Phoronix,25 czerwca 2009
  3. (w) „Moblin 2.0 To Not Run As X Server Root” Michael Larabel, Phoronix,8 lipca 2009
  4. (in) "  Ustawienie trybu atomowego  " ,1 st lutego 2015

Zobacz też

Powiązane artykuły

Linki zewnętrzne