Rozšíření VESA BIOS - VESA BIOS Extensions
Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto problémech na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
Rozšíření VESA BIOS (VBE) je VESA standard, aktuálně ve verzi 3, který definuje rozhraní, které může software použít pro přístup ke kompatibilním video deskám ve vysokých rozlišeních a bitových hloubkách. To je na rozdíl od „tradičního“ int 10h BIOS hovory, které jsou omezeny na rozlišení 640 × 480 pixelů s 16 barevnou (4bitovou) hloubkou nebo méně. VBE je k dispozici prostřednictvím BIOS grafické karty, který se instaluje během nastartovat nějaký přerušit vektory, které ukázat na sám.
Většina novějších karet implementuje schopnější standard VBE 3.0. Starší verze VBE poskytují pouze a skutečný režim rozhraní, které nelze použít bez výrazného postihu zevnitř chráněný režim operační systémy. Standard VBE proto téměř nikdy nebyl použit pro zápis ovladačů grafické karty; každý prodejce tak musel vymyslet a proprietární protokol pro komunikaci s vlastní grafickou kartou. Navzdory tomu je běžné, že řidič thunk vyrušení v reálném režimu, aby se inicializovaly režimy obrazovky a získal přímý přístup k kartám vyrovnávací paměť lineárního rámu, protože tyto úkoly by jinak vyžadovaly zpracování mnoha stovek proprietárních variací, které existují na kartě.
v EFI Systémy 1.x, INT 10H a Rozšíření VESA BIOS (VBE) jsou nahrazeny protokolem EFI UGA. V široce používaném UEFI Systémy 2.x, INT 10H a VBE jsou nahrazeny UEFI GOP.[1][2]
Standardy
Brzy VBE
VBE 1.0 (VS891001) byl definován v roce 1989. VBE 1.1 (VS900602) byl definován v roce 1990. VBE 1.2 (VS911022) byl definován v roce 1991. Tyto verze VBE vyžadují pro práci skutečný režim.
VBE definuje několik nových volaných funkcí INT 10H. Číslování funkcí začíná na AX = 4F00, nebo (AH = 4F, AL = 00), pro Funkce 00h. 00h až 05h byly definovány ve VBE 1.0, 06h a 07h v 1.1 a 08h v 1.2.
Rozšíření VESA BIOS (jádro VBE) 2.0 [listopad 1994]
Tento standard poskytuje primární funkce rozšíření VESA BIOS. Umožňuje aplikacím určit schopnosti systému grafická karta a poskytuje možnost nastavit nalezené režimy zobrazení. VBE 2.0 přidává některé nové funkce nad předchozí standard VBE 1.2, včetně lineárních framebuffer přístup a chráněný režim bankovní. Mezi funkce VBE Core 2.0 patří:
- Lineární přístup k framebufferu
- Umožňuje přímý přístup framebufferu v chráněném režimu jako jednu velkou oblast paměti namísto méně efektivních menších bloků.
- Bankovnictví v chráněném režimu
- Umožňuje přístup k framebufferu z chráněného režimu, aniž by došlo k „thunkingu“ dolů na skutečný režim. To je implementováno pomocí nového Funkce 0Ah.
- Super VGA obracející stránku
- Umožňuje animaci s vyšším výkonem zajistit plynulé animace pro počítačové hry a další vysoce výkonné grafické programy.
- Super VGA virtuální obrazovky
- Umožňuje softwaru nastavit virtuální rozlišení displeje, větší než skutečné zobrazené rozlišení, a plynule posouvat nebo posouvat větší obrázek.
- Vysoká barva a Pravdivá barva režimy
- Průmyslový standardní 16bitový a 24bitový grafický režim pro rozlišení od 320 × 200 do 1600×1200.
Rozšíření VESA BIOS (jádro VBE) 3.0 [září 1998]
Nadmnožina standardu VBE 2.0. Tato norma dodává Obnovovací frekvence ovládání, zařízení pro stereofonní brýle, vylepšené vícenásobné ukládání do vyrovnávací paměti a další funkce podle standardu VBE 2.0.
- Trojité ukládání do vyrovnávací paměti
- Umožňuje vysokorychlostním aplikacím provádět vícenásobné ukládání do vyrovnávací paměti s menším blikáním obrazovky a bez nutnosti čekat na grafický řadič.
- Řízení obnovovací frekvence pomocí časování GTF
- To umožňuje aplikacím a nástrojům operačního systému změnit obnovovací frekvenci standardním způsobem na všech grafických řadičích VBE 3.0. Důležité pro stereofonní aplikace, protože když je stereo povoleno, efektivní obnovovací frekvence uživatele se sníží na polovinu.
- Převrácení stereofonní stránky
- Při prohlížení aplikace pomocí stereofonního zvuku brýle, software potřebuje listovat stránkou dvakrát častěji než obvykle, protože potřebuje vygenerovat samostatné obrázky pro každé oko. Tato nová funkce umožňuje správné zobrazení softwaru kompatibilního se stereem.
- Hardwarová stereofonní synchronizace
- Umožňuje stereofonnímu softwaru určit, zda je na grafické kartě uživatele konektor pro stereofonní brýle.
Jako alternativa k byl přidán nový „Vstupní bod chráněného režimu“ Funkce 0Ah.
Funkce VBE / akcelerátoru (VBE / AF) [srpen 1996]
VBE / AF poskytuje standardní rozhraní nízké úrovně pro běžné akcelerační funkce dostupné na většině hardwaru. Některé z funkcí definovaných ve standardu jsou přístup k hardwarovým kurzorům, Bitové blokové převody (Bit Blt), mimo obrazovku skřítci, posouvání hardwaru, kreslení a další funkce. Je definováno, že pracuje v chráněném režimu.
Doplňkové specifikace
Dodatečné specifikace poskytují nezávislé rozhraní zařízení mezi aplikačním softwarem a hardwarem Super VGA. Čísla funkcí přiděluje Výbor pro standardy softwaru VESA (SSC).
Rozšíření pro správu napájení (PM)
DPMS je hardwarový standard, který umožňuje grafickým kartám komunikovat s DPMS monitory prostřednictvím speciálního signalizačního systému, který lze použít se stávajícími grafickými řadiči a kabely monitoru. Tento signalizační systém umožňuje grafické kartě sdělit monitoru, že má přejít do řady různých stavů řízení spotřeby nebo úspory energie, které účinně umožňují, aby se monitor sám vypnul, když se nepoužívá.
Rozšíření plochého rozhraní (FP)
Umožňuje přístup ke speciálním funkcím v řadičích s plochým panelem.
Rozšíření zvukového rozhraní (AI)
Poskytuje standard zvukovým službám.
V současné době (verze 1.00) specifikace VBE / AI definuje tři třídy zařízení: WAVE, MIDI a VOLUME. Nepokryté typy zařízení:
- Ovládání CDROM
- na které se vztahuje Rozšíření CD-ROM společnosti Microsoft.
- Efekty procesorů
- Tato třída zařízení bude v budoucí verzi specifikace VBE / AI rozšířena.
OEM rozšíření
Poskytuje standardní vstup do rozšíření specifických pro dodavatele.
Zobrazit datový kanál (DDC)
The Zobrazit datový kanál nebo DDC je digitální spojení mezi a počítačový displej a a grafický adaptér který umožňuje displeji komunikovat své specifikace s adaptérem. Standard vytvořil VESA.
Serial Control Interface (SCI)
Poskytuje prostředky nezávislé na hardwaru pro operační systém a aplikaci ke čtení a zápisu dat I²C sériové ovládací rozhraní.
Čísla režimu VBE
Ačkoli číslo režimu je 16bitová hodnota, volitelná čísla režimu VBE jsou široká 14 bitů. Bit 15 používá VGA BIOS jako příznak k vymazání nebo uchování paměti displeje. Čísla režimu VBE jsou definována následovně:
Bit | Význam |
---|---|
0–8 | Čísla režimů. Pokud je bit 8 1, jedná se o VBE definovaný režim VESA. |
9-10 | Vyhrazeno pro rozšíření. Musí být nastaveno na 0. |
11 | Ovládání obnovovací frekvence Zvolte. Pokud je nastavena na 1, použijte pro obnovovací frekvenci uživatelem zadané hodnoty CRTC, jinak použijte výchozí obnovovací frekvenci systému BIOS. |
12–13 | Vyhrazeno pro VBE / AF. Musí být nastaveno na 0. |
14 | Výběr vyrovnávací paměti lineárního / plochého rámu. Pokud je nastaveno na 1, použijte vyrovnávací paměť lineárního rámce, jinak použijte vyrovnávací vyrovnávací paměť rámu. |
15 | Zachovat výběr paměti displeje. Pokud je nastaveno na 1, uchovejte paměť displeje, jinak vymažte paměť displeje. |
Počínaje verzí VBE / Core 2.0 již VESA nedefinuje nová čísla režimu VESA a již nevyžaduje zařízení k implementaci starých čísel. Chcete-li správně detekovat informace o režimu obrazovky, použijte Funkce 01h - Vrátit informace o režimu VBE.
Režim 81FFh je speciální režim videa navržený k zachování aktuálního obsahu paměti a umožnění přístupu k celé paměti videa.
Režimy definované VESA
Počínaje standardem VBE 2.0 nebudou VESA definovány žádné nové režimy a staré režimy již nebudou povinné. Použití definovaných režimů by mělo být považováno za zastaralé: moderní grafické karty mohou nebo nemusí používat tato čísla režimů (i když to většina dělá kvůli zpětné kompatibilitě) a moderní software by je neměl používat. Správným způsobem, jak software zjistit dostupné režimy zobrazení, je získat seznam režimů (pomocí „Funkce 00h - Vrátit informace o řadiči VBE“) a poté každý režim (pomocí „Funkce 01h: Vrátit informace o režimu VBE“) najít, dokud nenajde režim / režimy, které vyžaduje.[Citace je zapotřebí ]
Grafické režimy | 320×200 | 640×400 | 640×480 | 800×600 | 1024×768 | 1280×1024 |
---|---|---|---|---|---|---|
16barevná paleta | 258 (0102h), 106 (6Ah) | 260 (0104h) | 262 (0106h) | |||
Paleta 256 barev | 256 (0100h) | 257 (0101h) | 259 (0103h) | 261 (0105h) | 263 (0107h) | |
15bitový (5: 5: 5) | 269 (010Dh) | 272 (0110h) | 275 (0113h) | 278 (0116h) | 281 (0119h) | |
16bitové (5: 6: 5) | 270 (010Eh) | 273 (0111h) | 276 (0114h) | 279 (0117h) | 282 (011Ah) | |
24bitové (8: 8: 8) | 271 (010Fh) | 274 (0112h) | 277 (0115h) | 280 (0118h) | 283 (011Bh) |
Režimy 264–268 jsou textové režimy. 264 (0108h) je 80 sloupců × 60 řádků (80 × 60), 265 (0109h) je 132 × 25, 266 (010Ah) je 132 × 43, 267 (010Bh) je 132 × 50 a 268 (010Ch) je 132 × 60.
Textové režimy | Sloupce | |
---|---|---|
Řádky | 80 | 132 |
25 | 265 (0109h) | |
43 | 266 (010Ah) | |
50 | 267 (010Bh) | |
60 | 264 (0108h) | 268 (010Ch) |
Další běžně dostupné grafické režimy
Níže uvedená tabulka kombinuje režimy definované VESA (hodnoty označené černě) spolu s režimy běžně používanými, které však nemusí fungovat na všech grafických kartách, protože nejsou definovány žádným standardem (označeno červeně).
Grafické režimy | 320×200 | 640×400 | 640×480 | 800×500 | 800×600 | 896×672 | 1,024×640 | 1,024×768 | 1152×720 | 1280×1024 | 1360×768 | 1440×900 | 1600×1200 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
16barevná paleta | [3] | [3] | 258 (0102h), 106 (6 Ah) | 260 (0104h) | 262 (0106h) | ||||||||
Paleta 256 barev | [3] | 256 (0100h) | 257 (0101h) | 367 (016Fh) | 259 (0103h) | 303 (012Fh) | 362 (016Ah) | 261 (0105h) | 357 (0165h) | 263 (0107h) | 352 (0160h) [4] | 284 (011Ch) | |
15bitový (5: 5: 5) | 269 (010Dh) | 289 (0121h) | 272 (0110h) | 368 (0170h) | 275 (0113h) | 304 (0130h) | 363 (016Bh) | 278 (0116h) | 358 (0166h) | 281 (0119h) | 353 (0161h) | 285 (011Dh) | |
16bitové (5: 6: 5) | 270 (010Eh) | 290 (0122h) | 273 (0111h) | 369 (0171h) | 276 (0114h) | 305 (0131h) | 364 (016Ch) | 279 (0117h) | 359 (0167h) | 282 (011Ah) | 978 (03d2h) | 354 (0162h) | 286 (011Eh) |
24bitové (8: 8: 8) | 271 (010Fh) | 291 (0123h) | 274 (0112h) | 370 (0172h) | 277 (0115h) | 306 (0132h) | 365 (016Dh) | 280 (0118h) | 360 (0168h) | 283 (011Bh) | 355 (0163h) | 287 (011Fh) | |
32bitový (8: 8: 8) [5] | 292 (0124h) | 297 (0129h) | 371 (0173h) | 302 (012Eh) | 307 (0133h) | 366 (016Eh) | 312 (0138h) | 361 (0169h) | 317 (013Dh) | 980 (03d4h) | 356 (0164h) | 322 (0142h) [6] |
{{}}
- ^ „Co je efifb? - Dokumentace k jádru Linuxu“. www.kernel.org. Citováno 2020-11-24.
- ^ „Co je vesafb? - Dokumentace k jádru Linuxu“. www.kernel.org. Citováno 2020-11-24.
- ^ A b C Režimy dostupné prostřednictvím tradičního volání systému BIOS za 10 hodin
- ^ 352 (0160h) také se zobrazí pro výběr 1280× 800 (8 bitů) pro displeje různých notebooků
- ^ 32-bit je opravdu (8: 8: 8: 8), ale konečné 8bitové číslo je „prázdný“ alfa kanál. Jinak se rovná 24bitové barvě. Mnoho GPU používá 32bitový barevný režim namísto 24bitového pouze pro rychlejší přístup k video paměti prostřednictvím 32bitových vyrovnání paměti.
- ^ 322 (0142h) je 1 400 × 1 050
Detekce režimu
Bylo napsáno několik nástrojů pro detekci režimů VBE dostupných v systému. Obecně fungují vyvoláním Funkce 01h, což je spolehlivější než předpokládat tabulku rozšířených režimů, protože je součástí samodokumentace zařízení.
- hwinfo je nástroj pro detekci hardwaru používaný v SuSE Linux a v některých dalších Linuxové distribuce.[1] Běh
hwinfo --framebuffer
hlásí grafické informace, včetně režimů VESA, na řádku „Mode“. - mdt je Linux nebo DOS nástroj, který detekuje podporu VBE a tiskne video BIOS informace.[2]
- Rozhraní LRMI (Linux Real Mode Interface) má a
vbetest
program, který tiskne informace VESA. - Software SciTech měl nesouvisející
vbetest
pro DOS, který sahá až do roku 1994. - „PC“ verze x86 GNU GRUB 2 má a
vbeinfo
příkaz pro tisk dostupných video režimů avbetest
za vyzkoušení konkrétního režimu. Místo toho používají vestavěný stůl Funkce 01h. U ostatních platforem, včetně x86 EFI, jsou nahrazeny obecnějšímivideoinfo
avideotest
.
Čísla video režimu Linux
The Linuxové jádro umožňuje uživateli zvolit režim VESA při zavádění předáním kódu v paměti jádru. Zavaděč LILO předá tento kód na základě parametru „vga“ v konfiguračním souboru. Má formu 'vga = XXX', kde XXX je desetinná hodnota, nebo 'vga = 0xHHH', kde HHH je hexadecimální hodnota. Parametr zavaděče „vga =“ však přímo nepřijímá čísla režimu videa VESA; spíše je číslo video režimu Linux číslo VESA plus 512 (v případě desetinné reprezentace) nebo plus 0x200 (v případě hexadecimální reprezentace). Například definovaná hodnota VESA 257 (0x101), představující 640x480 a 256 barev, má ekvivalentní hodnotu video režimu Linuxu 769 (0x301).[3]
Jak již bylo uvedeno dříve, norma VESA definuje omezenou sadu režimů; zejména žádné výše 1280×1024 jsou pokryty a místo toho je jejich implementace pro výrobce grafických adaptérů zcela volitelná. Vzhledem k tomu, že prodejci mohou libovolně využívat libovolné další hodnoty, znamená to, že v níže uvedené tabulce jsou režimy označeno červeně (a vyjádřeno v desítkové formě) se nemusí vztahovat na váš grafický adaptér!
320×200 | 640×400 | 640×480 | 800×500 | 800×600 | 896×672 | 1024×640 | 1024×768 | 1152×720 | 1280×1,024 | 1400×1,050 | 1440×900 | 1600×1,200 | 1920×1200 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
16 barev | 770 0302h | 772 0304h | 774 0306h | |||||||||||
256 barev | 768 0300h | 769 0301h | 879 036Fh | 771 0303h | 815 032Fh | 874 036Ah | 773 0305h | 869 | 775 0307h | 835 | 864 | 796 | 893 | |
15bitový (5: 5: 5) | 781 030Dh | 801 0321h | 784 0310h | 880 0370h | 787 0313h | 816 0330h | 875 036Bh | 790 0316h | 870 | 793 0319h | 865 | 797 | ||
16bitové (5: 6: 5) | 782 030Eh | 802 0322h | 785 0311h | 881 0371h | 788 0314h | 817 0331h | 876 036Ch | 791 0317h | 871 | 794 031Ah | 837 | 866 | 798 | |
24bitové (8: 8: 8) | 783 030 Fh | 803 0323h | 786 0312h | 882 0372h | 789 0315h | 818 0332h | 877 036Dh | 792 0318h | 872 | 795 031Bh | 838 | 867 | 799 | |
32bitový (8: 8: 8)1 | 804 | 809 | 883 | 814 | 819 | 878 | 824 | 873 | 829 | 868 | 834 |
1: 32-bit je opravdu (8: 8: 8: 8), ale konečné 8bitové číslo je „prázdný“ alfa kanál. Jinak se rovná 24bitové barvě. Mnoho GPU používá 32bitový barevný režim namísto 24bitového pouze pro rychlejší přístup k video paměti prostřednictvím zarovnání 32bitové paměti.
vga =864 [352 (0160h)] také se zobrazí pro výběr 1280× 800 (8 bitů) pro displeje různých notebooků.
vga =834 [322 (0142h)] je 1400×1050
Režimy dostupné v Parallels
Emulace systému VESA BIOS v systému Windows Paralely virtuální stroj má jinou sadu nestandardních režimů VESA. Od verze 3214 LRMI vbetest odhaluje tyto režimy:
640×400 | 640×480 | 720×480 | 800×500 | 800×600 | 896×672 | 1024×640 | 1024×768 | 1152×720 | 1280×1,024 | 1440×900 | 1600×1,200 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Paleta 256 barev | 256 (0100h) | 257 (0101h) | 367 (016Fh) | 364 (016Ch) | 259 (0103h) | 297 (0129h) | 358 (0166h) | 261 (0105h) | 355 (0163h) | 263 (0107h) | 352 (0160h) | 284 (011Ch) |
15bitový (5: 5: 5) | 272 (0110h) | 275 (0113h) | 278 (0116h) | 281 (0119h) | 285 (011Dh) | |||||||
16bitové (5: 6: 5) | 289 (0121h) | 273 (0111h) | 368 (0170h) | 365 (016Dh) | 276 (0114h) | 298 (012Ah) | 359 (0167h) | 279 (0117h) | 356 (0164h) | 282 (011Ah) | 353 (0161h) | 286 (011Eh) |
24bitové (8: 8: 8) | 290 (0122h) | 274 (0112h) | 369 (0171h) | 366 (016Eh) | 277 (0115h) | 299 (012Bh) | 360 (0168h) | 280 (0118h) | 357 (0165h) | 283 (011Bh) | 354 (0162h) | 287 (011Fh) |
Viz také
Reference
- ^ zdrojový kód hwinfo na GitHubu
- ^ "mdt". GitHub.
- ^ Viz dokumentace k jádru v Dokumentace / svga.txt a Dokumentace / fb / vesafb.txt.
Další čtení
- VESA Super VGA BIOS Extension 1.0 (Standard # VS891001) 1. října 1989
- Rozšíření VESA BIOS 1.2
- VESA BIOS Extension 2.0
- VESA BIOS Extension 3.0
- Dr. Dobb zkoumá specifikaci VESA VBE 2.0
- Jak používat Super VGA (VESA 1.x nelineární)
- Standard rozhraní sériového ovládání VESA BIOS Extension na Wayback Machine (index archivu)
- Funkce rozšíření / akcelerátoru VESA BIOS (VBE / AF) na Wayback Machine (index archivu)
- Rozhraní VESA BIOS
externí odkazy
- Poznámky programátora SuperVGA / VESA
- Seznam implementačních čipových sad VESA VBE 2.0 / 3.0
- Zachyťte informace o režimu VBE zdrojový balíček vbespy
- Jak používat zdrojový balíček vbespy
- vbetool - aplikace pro provádění kódu BIOS grafické karty