Indstilling af tilstand - Mode setting

Image
Regulering af adgang til hardware er en grundlæggende kerneopgave. Direct Rendering Manager og KMS er en del af Linux-kernen. KMS udfører kun tilstandsindstillingen.

Modeindstilling er en softwarefunktion, der aktiverer en skærmtilstand (skærmopløsning, farvedybde og opdateringshastighed) for en computers skærmcontroller ved hjælp af VESA BIOS Extensions eller UEFI Graphics extensions (på mere moderne computere).

Visningstilstanden indstilles af kernen. I bruger-rum-tilstand-indstilling (UMS) er skærmen indstillet af en bruger-rum proces.

Indstilling af kernetilstand er mere fleksibel og tillader visning af en fejl i tilfælde af en fatal systemfejl i kernen, selv når du bruger en bruger-plads-skærmserver.

Indstilling af brugerrummetilstand ville kræve superbrugerrettigheder for direkte hardwareadgang, så kernebaseret tilstandsindstilling undgår et sådant krav til grafikserveren for brugerrummet.

Implementering

Microsoft Windows

Microsoft Windows- versioner, der er NT-baserede, bruger indstilling af kernetilstand. Kernefejlvisning muliggjort af indstilling af kernetilstand kaldes officielt "bug check", men mere almindeligt kendt som Blue Screen of Death .

Linux

Rollen som KMS (Kernel mode-setting), Linux-eksempel
Linux Graphics Stack 2013
Wayland-kompositorer kræver KMS (og også OpenGL ES og EGL )
Stedet for visse Linux-kernemoduler
evdev er Linux-kernen modul, der modtager data fra forskellige Inputenheder såsom tastatur, mus, Touch-Pad osv data føres til display-serveren (f.eks X.Org Server eller nogle Wayland compositor kun skal føres videre til den Wayland klienten henholdsvis X klient . Nogle programmer kræver en minimal ventetid

Den Linux-kernen fik forudsætning for indstilling kernel-baserede tilstand ved at acceptere Intel PERLE i version 2.6.28, udgivet i december 2008. Dette vil blive erstattet af Tungstens Graphics TTM (oversættelsestabel Maps) hukommelse leder, der understøtter GEM API. TTM blev udviklet til de gratis og open source- drivere til grafikchipsæt Radeon og S3 Graphics ( se Gratis og open source-grafikdriverenhed ). Understøttelse af Intel GMA grafiske chipsæt blev accepteret i version 2.6.29, udgivet 23. marts 2009. Support til pre-R600 ATI Radeon- grafikkort blev accepteret i version 2.6.31, udgivet 9. september 2009. Support til R600 og R700 var under udvikling inden for DRM og blev fusioneret i version 2.6.32. Support til Evergreen (R800) blev flettet i version 2.6.34. Da Nvidia ikke frigav al den nødvendige dokumentation til sin grafikchip, fortsatte udviklingen under nouveau- projektet, der bruger reverse engineering til at opbygge en fungerende open source-driver til Nvidia-kort. Nouveau blev accepteret i version 2.6.33 af kernen, udgivet 10. december 2009. Kernebaseret tilstandsindstilling understøttes ikke kun af nouveau-driveren, det er påkrævet. Wayland-kompositorer (f.eks. Weston ) og kmscon afhænger af indstilling af kernetilstand via ioctl .

FreeBSD

FreeBSD har understøttelse af både kernebaseret tilstandsindstilling og GEM til senere generationer af Intel GPU'er (IronLake, SandyBridge og IvyBridge) startende med version 9.1.

NetBSD

NetBSD har understøttelse af kernelbaseret tilstandsindstilling og accelereret grafik til Intel- og Radeon-enheder. Denne implementering blev introduceret i version 7.0 ved at porte Linux 3.15 DRM / KMS-koden.

OpenBSD

OpenBSD har kernebaseret tilstandsindstillingsunderstøttelse til Intel og Radeon GPU'er. Fra og med version 5.4 af OpenBSD er understøttelse af Intel GPU'er tilgængelig. Med udgivelsen af ​​version 5.5 er implementeringen blevet udvidet til også at tilføje support til Radeon-chipsæt.

Alternativer

Følgende alternativer er blevet præsenteret under Linux Plumbers Conference 2013:

  • Det blev foreslået at opdele GEM og KMS.
  • Atomic Display Framework, af Googles Android-team.
  • Fælles skærmramme.

Se også

Referencer

eksterne links