Diskussion:VESA BIOS Extension

aus Wikipedia, der freien Enzyklopädie

Abwärtskompatibilität VBE 3.0

Hallo,

also ich bin mir da fast 100% sicher, das VBE 3.0 zu 2.0 abwärtskompatibel ist ... --80.128.113.241 18:03, 22. Jun. 2007 (CEST)

Bestreitet das jemand?
Im Text heißt es nur, dass mit VBE 2.0 bereits alle Wünsche erfüllt werden. Die wesentliche Neuerung von VBE 3.0 ist ja der Protected Mode Entry Point, der aber in modernen Systemen aus designtechnischen Gründen (es müsste Wechsel in 20 Bit Protected Mode stattfinden) nicht genutzt wird.

Ja, das habe ich dann wohl falsch verstanden. Habe das mal etwas unmissverständlicher formuliert.

-----------

Designtechnische Gründe: Ab dem 80386 kann ebenfalls auch im 16 Bit Protected Mode Segmentgrößen von bis zu 4 GiB verwendet werden, womit auch der LFB(im 4.GiB) adressiert und verwendet werden kann. Der Unterschied zum 32 Bit Protected Mode besteht lediglich nur darin, dass man für Befehle mit 32 Bit-Operanden/Adressen keine Operandsize/Adresssize-Prefixe verwenden darf, aber für Befehle mit 16 Bit-Operanden/Adressen diese Prefixe braucht und sich damit die Anzahl der Bytes im Codesegment ggf. veringert, wenn man überwiegend nur 32 Bit-Operanden/Adressen verwendet. Im 16 Bit Adressmode muss man für Befehle mit 32 Bit-Operanden/Adressen die Operandsize/Adresssize-Prefixe verwenden, aber nicht für 16 Bit-Operanden/Adressen.

Das die VBE-Modi mit 16 Bit Farbtiefe erst mit VBE 2.0 hinzukamen ist falsch. In der alten VBE 1.x-Mode-Liste gab es bereits auch schon vorher verschiedene VBE-Modi mit 16 Bit (5:5:5 und 5:6:5) und auch 24 Bit(8:8:8) Farbtiefe.
10Dh - 320x200 32K (1:5:5:5)
10Eh - 320x200 64K (5:6:5)
10Fh - 320x200 16.8M (8:8:8)
110h - 640x480 32K (1:5:5:5)
111h - 640x480 64K (5:6:5)
112h - 640x480 16.8M (8:8:8)
113h - 800x600 32K (1:5:5:5)
114h - 800x600 64K (5:6:5)
115h - 800x600 16.8M (8:8:8)
116h - 1024x768 32K (1:5:5:5)
117h - 1024x768 64K (5:6:5)
118h - 1024x768 16.8M (8:8:8)
119h - 1280x1024 32K (1:5:5:5)
11Ah - 1280x1024 64K (5:6:5)
11Bh - 1280x1024 16.8M (8:8:8)

Die im Beitrag verwendete "Liste der Modi" für VBE bis 1.x ist ab VBE 2.0 eigentlich gar nicht mehr gültig, bzw. die Hersteller können davon abweichende, eigene Modenummern verwenden, womit ggf. die selben Auflösungen zur Verfügung gestellt werden können, nur halt mit jeweils einer anderen Mode-Nummer. Ab VBE 2.0 kann man sich also nicht mehr darauf verlassen, dass diese alte Liste der VBE 1.x-Modenummern noch die gewünschte Auflösung zur Anzeige bringen. So ist es ab VBE 2.0 erforderlich die Modeliste, die vom Bios selber mitgebracht wird, zu verwenden und diese Liste Modenummer für Modenummer zu überprüfen, welche modespezifischen Eigenschaften damit jeweils vorhanden sind.

Immer noch unerfüllte Wünsche: Die Unterstützung von "secondary" display devices bei modernen GraKas mit 2 Monitor-Anschlüssen, womit man auch den Inhalt vom 2.LFB auf dem 2.Monitor ggf. auch in einer anderen Auflösung angezeigt bekommt. So fehlt auch noch DDC-Read EDID für den zweiten Monitor.

-----------

Die wesentlichen Neuerungen von VBE 3.0 (gemäß des kostenlos erhältlichen public documents "vbe3.pdf" von vesa.org) sind:

- VBE-Modi mit eigenen CRTC-Parameter, womit eine höhere Refreshrate (als nur die üblichen 60hz) eingestellt werden kann; (Zweckmässig ist eine vorherige Überprüfung der maximalen Kapazität des verwendeten Monitors über DDC/Read EDID-Funktion(int10h/AX=4F15h)); Zur Berechnung der "CRTC-Parameter" kann man das "VBEHz"-Tool verwenden;

- hardware triple buffering(mit Vsync), wofür 3 verschiedene Adressbereiche als Buffer im Wechsel zur Anzeige gebracht werden;

- die Unterstützung von stereoskopischen Shutterglasses, wofür je ein Speicherbereich zur Anzeige für das rechte und für das linke Auge verwendet wird;

- Protected Mode Entry Point, wofür in den Protected Mode geschaltet werden muss Diese Schnittstelle enthält nur sehr wenige Funktionen (damit ist z.B. kein VBE-Modewechsel möglich); Im 16 bit Adressmode kann schon (ab 80386+ mit 32 Bit Adressregister) der gesamte 4GB-Adressraum (so auch der LFB im 4.GB) vollumfänglich adressiert werden; ... Entgegen den früheren Vermutungen eines bekannten deutschen Computer-Magazins unterstützen auch heute immer noch moderne Grafikkarten wie z.B. mit Radeon 7950-Chipsatz ein VBE3-Bios. Vergleichbare Grafik-Karten unterstützen verschiedene Auflöungen von bis zu 2048x1536 Pixel mit 8, 16, 24 und 32 Bits per Pixel Farben und mit einem Seitenverhältniss der horizontalen und vertikalen Auflösung von 4:3 und 5:4, sowie auch widescreen mit 16:9 und 16:10 (aspect ratio).

Dirk

----------- (nicht signierter Beitrag von 80.171.176.233 (Diskussion) 12:56, 26. Nov. 2013 (CET))

VBE unter Linux / Windows

Der Standard spielt heute jedoch noch unter Linux eine Rolle: Sind Open-Source-Grafikkartentreiber für bestimmte Grafikkarten nicht verfügbar, so können nur durch Verwendung eines Treibers, der die hier beschriebene Funktionalität nutzt, Auflösungen von mehr als 640×480 Pixel bei mehr als 256 Farben verwendet werden. - zwei Anmerkungen / Einwände dazu: 1. Da man unter Linux sowohl Open-Source als auch Closed-Source-Treiber nutzen kann, würde ich dort einfach "Open Source" rausnehmen. 2. Wenn unter Windows kein spezifischer Grafikkartentreiber installiert ist, stehen Funktionalitäten zur Verfügung, die mir doch sehr nach VBE aussehen, d.h. ich vermute doch sehr stark, dass Windows dort genauso vorgeht wie Linux. Kann das jemand nachtragen, der es sicher weiß? --Prauch 02:26, 9. Dez. 2009 (CET)

Was für weitere unterstützte Funktionen waren das?

Im Artikel steht: Sie sind eine üblicherweise im Grafikkarten-BIOS implementierte Programmierschnittstelle (API) die den Programmen Interrupts zur Verfügung stellt, um damit Aktionen wie das Setzen oder Abfragen von Videomodi durchzuführen sowie weitere von der Hardware unterstützte Funktionen anzusprechen.. Frage: Was für weitere Funktionen waren das genau? Gehörten dazu auch schon Beschleunigungsfunktionen wie das Zeichnen von Rechtecken oder Linien oder das Verschieben von Grafikausschnitten im Video-RAM dazu? Der ganze Artikel ist diesbezüglich leider etwas dünn. --95.117.95.40 00:39, 27. Mär. 2013 (CET)

--------

Diese unter "Blitting" bezeichneten "Accelerator Functions"(VBE/AF) z.B. für 2D Polygon Rendering sind nur über einen entsprechenden Treiber verfügbar. Siehe dazu auch "VBE-AF07.pdf" von vesa.org und "the free VBE/AF driver project": http://www.talula.demon.co.uk/freebe/

Die im Bios enthaltenen weiteren Funktionen sind:
SAVE/RESTORE STATE
DISPLAY WINDOW CONTROL (man nimmt lieber den FAR-Jump zur Bankumschalt-Funktion, oder bestenfalls die Portadresse wenn bekannt)
SET/GET LOGICAL SCAN LINE LENGTH (ein Teil der jeweiligen scan line kann sich ausserhalb des sichtbaren Bereiches befinden)
SET/GET DISPLAY START (für scrolling und buffering)
SET/GET DAC PALETTE FORMAT (für 4 und 8 Bit-Farb-Modi)
SET/GET PALETTE DATA (für 4 und 8 Bit-Farb-Modi)
GET/SET PIXEL CLOCK (für Modi mit eigenen CRTC-Parameter)
Dirk

Defekter Weblink

GiftBot (Diskussion) 08:01, 3. Dez. 2015 (CET)

„… wird von den meisten modernen nVidia-Grafikkarten unterstützt“

Wie aktuell sind die Informationen im Artikel? Meine Nvidia (sic!) GeForce GT 1030 hat jedenfalls kein VESA-BIOS. Und die ist immerhin schon rund vier Jahre alt. Ich gehe davon aus, dass VBE heutzutage relativ bedeutungslos ist, und dass die Hersteller kaum noch Entwicklungsaufwand darin investieren. --Winof (Diskussion) 13:09, 13. Jan. 2021 (CET)

Ja, das sollte man wohl überarbeiten. VBE ist eine "BIOS Extension", das ist allein schon deshalb veraltet, weil heute UEFI eingesetzt wird. Betriebssysteme, die ein BIOS erfordern, sind alte Betriebssysteme. Grafiktreiber und Programme, die VBE benützen, waren eigentlich durchwegs Fallback-Grafiktreiber (etwa unter Linux, wenn nichts besseres – "accelerated" – verfügbar war) und grafische DOS-Programme/-Spiele.
Andreas 13:18, 13. Jan. 2021 (CET)
Habe den Artikel angepasst und UEFI GOP als Nachfolger der VBE erwähnt. Nvidia in dem Satz zu erwähnen (aber ATI/AMD nicht) war eigentlich dort unsinnig, das habe ich gelöscht... ‣Andreas 14:11, 13. Jan. 2021 (CET)
Ich danke Dir; das sieht jetzt schon viel besser aus!
Wird GOP eigentlich vom UEFI des Mainboards implementiert, oder kommt das von der Firmware der Grafikkarte? Ersteres ist schwer vorstellbar, da das Mainboard-UEFI ja kaum Treiber für alle möglichen GPUs enthalten kann – maximal für die Onboard-GPU, falls es eine gibt (mein aktuelles Mainboard hat z.B. keine). Also müsste GOP eher aus der Firmware der Grafikkarte kommen, was wiederum die Frage aufwirft, welche Grafikkarten das unterstützen. In den üblichen Datenblättern, die man so auf Hersteller-Web-Seiten findet, wird so etwas nicht erwähnt. --Winof (Diskussion) 15:33, 13. Jan. 2021 (CET)
Soweit ich weiß haben Grafikkarten immer noch ein Grafik-BIOS (oder eben eine Grafik-Firmware). Bei modernen Grafikkarten ist neben den BIOS-Funktionen wohl auch soetwas ähnliches für UEFI dabei. Oder aber es gibt einen UEFI-Standard, den die Grafikkarten ihrerseits implementieren. So oder so, GOP funktioniert als Framebuffer sehr gut, in allerlei Grafikmodi.
Ich konnte auch keine genauen Informationen dazu finden...
Andreas 16:09, 13. Jan. 2021 (CET)