Spotlight › VESA
Banked VBE desktop
Up to 1024x768, with 8-bit or 16-bit framebuffer output through VESA.DRV.
- Maximum resolution
- 1024 x 768
- RGB565 colour range
- 65,536 colours
- Fill bank-switch overhead
- 0.2%
01 / Supported VBE modes
Supported VBE modes
VESA.DRV enumerates VBE 1.2-or-later modes and keeps supported geometries/depths within its configured limits. It does not support every card that advertises a VESA BIOS. The interface reference is the VBE Core Functions specification.
The driver uses banked framebuffer access rather than a linear framebuffer. Scanline writes switch banks only when required by the reported window layout.
Banked framebuffer
One 64 KiB CPU window onto video memory
Choose a video mode, then drag the page slider to move the CPU window through VRAM. The slider also accepts arrow keys.
640 x 480 x 1 byte = 307,200 bytes / 5 windows
02 / Desktop and native pixels
Desktop and native pixels
Desktop API colours remain indices 0-15. The driver maps them into the selected framebuffer representation. A separate native-pixel path lets PiXEL submit data already in that representation.
On the 16-bit path, PiXEL can preserve the colours of its indexed working image without desktop dithering. The 8-bit desktop path retains the palette-sharing limitation documented by the driver.
03 / Desktop captures
Desktop captures
04 / Driver dispatch and bank cost
Driver dispatch and bank cost
The core dispatches drawing to the loaded display driver when active; the VBE implementation remains outside the resident kernel. The recorded core support cost is 942 bytes. Cursor save-under storage is driver-owned, and BIOS bank calls require a larger interrupt-stack allowance.
On the recorded 86Box 486DX2/66 with Cirrus CL-GD5428, a bank switch took 7 microseconds. A 624x200 fill took 23.3 ms across seven switches: banking was approximately 0.2% of that case. Those figures do not generalise to an arbitrary VBE BIOS or physical card.
05 / Mode and lifecycle limits
Mode and lifecycle limits
No 24/32-bit output and no desktop above 1024x768 in this build. Hibernate and extended dual-display operation are disabled while VESA is primary. The 128KB build omits it.
Validation covers QEMU and the specified 86Box card; physical-card and 15-bit-mode coverage remain absent. The driver's CPU coding floor is separate from the availability and BIOS behaviour of a particular adapter.
06 / Enable VESA.DRV
Enable VESA.DRV
Attach VESA Display from Control Panel > Drivers. The Display page cycles through accepted modes and stores the selection. Use a mode ending in x16 for PiXEL's native 16-bit path; the supplied QEMU and 86Box recipes reproduce the captures.
qemu-system-i386 -machine pc,vmport=off \
-drive file=os8088.img,format=raw,if=floppy -boot a \
-drive file=apps.img,format=raw,if=floppy,index=1 \
-chardev msmouse,id=m0 -serial chardev:m0