fbpx
Wikipedia

VESA BIOS Extensions

VESA BIOS Extensions (VBE) is a VESA standard, currently at version 3, that defines the interface that can be used by software to access compliant video boards at high resolutions and bit depths. This is opposed to the "traditional" INT 10h BIOS calls, which are limited to resolutions of 640×480 pixels with 16 colour (4-bit) depth or less. VBE is made available through the video card's BIOS, which installs during boot up some interrupt vectors that point to itself.

Most newer cards implement the more capable VBE 3.0 standard. Older versions of VBE provide only a real mode interface, which cannot be used without a significant performance penalty from within protected mode operating systems. Consequently, the VBE standard has almost never been used for writing a video card's drivers; each vendor has thus had to invent a proprietary protocol for communicating with its own video card. Despite this, it is common that a driver thunk out to the real mode interrupt in order to initialize screen modes and gain direct access to a card's linear frame buffer, because these tasks would otherwise require handling many hundreds of proprietary variations that exist from card to card.

In EFI 1.x systems, the INT 10H and the VESA BIOS Extensions (VBE) are replaced by the EFI UGA protocol. In widely used UEFI 2.x systems, the INT 10H and the VBE are replaced by the UEFI GOP.[1][2]

Standards edit

Early VBE edit

VBE 1.0 (VS891001) was defined in 1989.[3] VBE 1.1 (VS900602) was defined in 1990. VBE 1.2 (VS911022) was defined in 1991.[4] These versions of VBE require real mode to work.

VBE defines several new functions called through INT 10H. The function numbering start with AX=4F00, or (AH=4F, AL=00), for Function 00h. 00h to 05h were defined in VBE 1.0, 06h and 07h in 1.1, and 08h in 1.2.

VESA BIOS Extensions (VBE core) 2.0 (November 1994) edit

This standard provides the primary functionality of the VESA BIOS Extensions. It allows applications to determine the capabilities of the graphics card and provides the ability to set the display modes that are found. VBE 2.0 adds some new features above the prior VBE 1.2 standard including linear framebuffer access and protected mode banking. Some of the VBE Core 2.0[5] features include:

Linear framebuffer access
Enables direct framebuffer access in protected mode as one large area of memory instead of less efficient smaller chunks.
Protected mode banking
Allows access to the framebuffer from protected mode without "thunking" down to real mode. This is implemented using a new Function 0Ah.
Super VGA page flipping
Allows higher performance animation to provide for smooth animation for computer games and other high performance graphics programs.
Super VGA virtual screens
Allows software to set up virtual display resolutions, larger than the actual displayed resolution, and smoothly scroll or pan around the larger image.
High Color and TrueColor modes
Industry standard 16-bit and 24-bit graphics modes for resolutions from 320×200 up to 1600×1200.

VESA BIOS Extensions (VBE core) 3.0 (September 1998) edit

A superset of the VBE 2.0 standard. This standard adds refresh rate control, facilities for stereo glasses, improved multi-buffering and other functions to the VBE 2.0 standard.

Triple buffering
Allows high speed applications to perform multi-buffering with less screen flickering and without having to wait for the graphics controller.
Refresh rate control using GTF timings
This allows applications and operating system utilities to change the refresh rate in a standard way on all VBE 3.0 graphics controllers. Important for stereo applications, since when stereo is enabled, the user's effective refresh rate is cut in half.
Stereo page flipping
When viewing an application using stereo glasses, software needs to page flip twice as often as normal, because it needs to generate separate images for each eye. This new feature allows stereo compatible software to display properly.
Hardware stereo sync
Allows stereo software to determine if there is a connector for stereo glasses on the user's graphics card.

A new "Protected Mode Entry Point" was added as an alternative to Function 0Ah.

VBE/accelerator functions (VBE/AF) (August 1996) edit

VBE/AF provides a low-level, standard interface to common acceleration functions available on most hardware. Some of the functions defined in the standard are access to hardware cursors, Bit Block Transfers (Bit Blt), off screen sprites, hardware panning, drawing and other functions. It is defined to work under 32-bit protected mode. Despite the widespread adoption of VBE Core, very few devices support VBE/AF. The FreeBE/AF project implements free third-party VBE/AF drivers for certain graphics cards.

Supplemental specifications edit

Supplemental specifications provides device independent interface between application software and Super VGA hardware. Function numbers are assigned by VESA Software Standards Committee (SSC).

Power management extensions (PM) edit

DPMS is a hardware standard that allows graphics cards to communicate with DPMS-compliant monitors via a special signalling system that can be used with existing graphics controllers and monitor cables. This signalling system allows the graphics card to tell the monitor to go into a number of different power management or power saving states, which effectively allow the monitor to turn itself off when it is not in use.

Flat panel interface extensions (FP) edit

Allows access to special features in flat panel controllers.

Audio interface extensions (AI) edit

Provides standard to audio services.

Currently (version 1.00), the VBE/AI specification defines three device classes: WAVE, MIDI, and VOLUME. Device types not covered:

CDROM control
which is covered by the Microsoft's CD-ROM Extensions.
Effects processors
This class of device will be expanded in future version of the VBE/AI specification.

OEM extensions edit

Provides standard entry to vendor-specific extensions.

Display Data Channel (DDC) edit

The Display Data Channel or DDC is a digital connection between a computer display and a graphics adapter that allows the display to communicate its specifications to the adapter. The standard was created by VESA.

Serial Control Interface (SCI) edit

Provides hardware independent means for operating system and application to read and write data over I²C serial control interface.

VBE mode numbers edit

Although mode number is a 16-bit value, the optional VBE mode numbers are 14 bits wide. Bit 15 is used by VGA BIOS as a flag to clear or preserve display memory. VBE defined mode numbers as follows:

Bit Meaning
0–8 Mode numbers. If bit 8 is 1, it is a VESA defined VBE mode.
9-10 Reserved for expansion. Must be set to 0.
11 Refresh rate control Select. If set to 1, use user specified CRTC values for refresh rate, otherwise use BIOS default refresh rate.
12–13 Reserved for VBE/AF. Must be set to 0.
14 Linear/Flat Frame Buffer Select. If set to 1, use linear frame buffer, otherwise use banked frame buffer.
15 Preserve Display Memory Select. If set to 1, preserve display memory, otherwise clear display memory.

Starting in VBE/Core 2.0, VESA no longer defines new VESA mode numbers and no longer requires a device to implement the old numbers. To properly detect information of a screen mode, use Function 01h - Return VBE Mode Information.

Mode 81FFh is a special video mode designed to preserve current memory contents and give access to the entire video memory.

Modes defined by VESA edit

Beginning with the VBE 2.0 standard, no new modes will be defined by VESA, and old modes are no longer mandatory. The use of defined modes should be considered deprecated: modern video cards may or may not use these mode numbers (even though most do for backward compatibility), and modern software should not use them. The correct way for software to discover available display modes is to obtain a list of modes (using "Function 00h - Return VBE Controller Information") and then to check each mode (using "Function 01h: Return VBE Mode Information") until it finds the mode/s it requires.[citation needed]

Graphics modes 320×200 640×400 640×480 800×600 1024×768 1280×1024
16-color palette 258 (0102h), 106 (6Ah) 260 (0104h) 262 (0106h)
256-color palette 256 (0100h) 257 (0101h) 259 (0103h) 261 (0105h) 263 (0107h)
15-bit (5:5:5) 269 (010Dh) 272 (0110h) 275 (0113h) 278 (0116h) 281 (0119h)
16-bit (5:6:5) 270 (010Eh) 273 (0111h) 276 (0114h) 279 (0117h) 282 (011Ah)
24-bit (8:8:8) 271 (010Fh) 274 (0112h) 277 (0115h) 280 (0118h) 283 (011Bh)

Modes 264–268 are text modes. 264 (0108h) is 80 columns × 60 rows (80×60), 265 (0109h) is 132×25, 266 (010Ah) is 132×43, 267 (010Bh) is 132×50 and 268 (010Ch) is 132×60.

Text modes Columns
Rows 80 132
25 265 (0109h)
43 266 (010Ah)
50 267 (010Bh)
60 264 (0108h) 268 (010Ch)

Other commonly available graphics modes edit

The table below combines the modes defined by VESA (the values denoted in black) along with modes commonly used, but which may not work on all graphics cards as they are not defined by any standard (denoted in red).

Graphics modes 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
16-color palette [6] [6] 258 (0102h),
106 (6Ah)
260 (0104h) 262 (0106h)
256-color palette [6] 256 (0100h) 257 (0101h) 367 (016Fh) 259 (0103h) 303 (012Fh) 362 (016Ah) 261 (0105h) 357 (0165h) 263 (0107h) 352 (0160h) [7] 284 (011Ch)
15-bit (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)
16-bit (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)
24-bit (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)
32-bit (8:8:8) [8] 292 (0124h) 297 (0129h) 371 (0173h) 302 (012Eh) 307 (0133h) 366 (016Eh) 312 (0138h) 361 (0169h) 317 (013Dh) 980 (03d4h) 356 (0164h) 322 (0142h) [9]

Mode detection edit

A few tools have been written to detect VBE modes available on a system. They generally work by invoking Function 01h, which is more reliable than assuming a table of extented modes as it's part of the device's self-documentation.

  • hwinfo is the hardware detection tool used in SuSE Linux and in some other Linux distributions.[10] Running hwinfo --framebuffer reports graphics information, including VESA modes on a "Mode" line.
  • mdt is a Linux or DOS tool that uses VESA BIOS functions to read monitor data.[11]
  • The Linux Real Mode Interface (LRMI) has a vbetest program that prints out VESA info.
  • SciTech Software had a unrelated vbetest for DOS that dates back to 1994.
  • The x86 "PC" version GNU GRUB 2 has a vbeinfo command for printing out available video modes and vbetest for trying a specific mode. They use a built-in table instead of Function 01h. For other platforms, including x86 EFI, they are replaced by the more generic videoinfo and videotest.

Linux video mode numbers edit

The Linux kernel allows the user to select the VESA mode at boot time by passing a code in memory to the kernel. The LILO boot loader passes this code based on a "vga" parameter in its configuration file. It takes the form 'vga=XXX', where XXX is the decimal value, or 'vga=0xHHH', where HHH is the hexadecimal value. However, the 'vga=' boot loader parameter does not directly accept VESA video mode numbers; rather, the Linux video mode number is the VESA number plus 512 (in the case of the decimal representation) or plus 0x200 (in the case of the hexadecimal representation). For example, the defined VESA value of 257 (0x101), representing 640x480 and 256 colours, has an equivalent Linux video mode value of 769 (0x301).[12]

As indicated earlier, the VESA standard defines a limited set of modes; in particular, none above 1280×1024 are covered and, instead, their implementation is completely optional for graphics adapter manufacturers. As vendors are free to utilize whatever additional values they please, this means that, in the table below, the modes denoted in red (and expressed in decimal form) may not apply to every graphics adapter!

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×1080 1920×1200
16 colors 770 0302h 772 0304h 774 0306h
256 colors 768 0300h 769 0301h 879 036Fh 771 0303h 815 032Fh 874 036Ah 773 0305h 869 775 0307h 835 864 796 893
15-bit (5:5:5) 781 030Dh 801 0321h 784 0310h 880 0370h 787 0313h 816 0330h 875 036Bh 790 0316h 870 793 0319h 865 797
16-bit (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
24-bit (8:8:8) 783 030Fh 803 0323h 786 0312h 882 0372h 789 0315h 818 0332h 877 036Dh 792 0318h 872 795 031Bh 838 867 799
32-bit (8:8:8)1 804 809 883 814 819 878 824 873 829 868 834 980
03D4h

1: 32-bit is really (8:8:8:8), but the final 8-bit number is an "empty" alpha channel. It is otherwise equal to 24-bit colour. Many GPUs use 32-bit colour mode instead of 24-bit mode merely for faster video memory access through 32-bit memory alignment.

VGA=864 [ 352 (0160h)] also appears to select 1280×800 (8-bit) for various laptops' displays.
VGA=834 [ 322 (0142h)] is 1400×1050

Modes available in Parallels edit

The VESA BIOS emulation in the Parallels virtual machine has a different set of non-standard VESA modes. As of build 3214, LRMI vbetest reveals these modes:

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
256 color palette 256 (0100h) 257 (0101h) 367 (016Fh) 364 (016Ch) 259 (0103h) 297 (0129h) 358 (0166h) 261 (0105h) 355 (0163h) 263 (0107h) 352 (0160h) 284 (011Ch)
15-bit (5:5:5) 272 (0110h) 275 (0113h) 278 (0116h) 281 (0119h) 285 (011Dh)
16-bit (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)
24-bit (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)

Modes available in VirtualBox edit

The VESA BIOS emulation in the VirtualBox virtual machine has a different set of non-standard VESA modes. As of 6.1.38_Ubuntu build r153438, the VESA BIOS function AX=0x4F01 reveals these modes (See also VBETables-gen.c):

320x200 640×400 640×480 800×600 1024×768 1152×864 1280×1024 1600×1200
4-bit palette 260

(0104h)

262

(0106h)

256 color palette 326

(0146h)

256

(0100h)

257

(0101h)

259

(0103h)

261

(0105h)

328

(0148h)

263

(0107h)

15-bit (5:5:5) 269

(010dh)

272

(0110h)

275

(0113h)

278

(0116h)

329

(0149h)

281

(0119h)

16-bit (5:6:5) 270

(010eh)

273

(0111h)

276

(0114h)

279

(0117h)

330

(014ah)

282

(011Ah)

24-bit (8:8:8) 271

(010fh)

274

(0112h)

277

(0115h)

280

(0118h)

331

(014bh)

283

(011Bh)

32-bit (x:8:8:8) 320

(0140h)

321

(0141h)

322

(0142h)

323

(0143h)

324

(0144h)

332

(014ch)

325

(0145h)

327

(0147h)

See also edit

References edit

  1. ^ "What is efifb? — The Linux Kernel documentation". kernel.org. Retrieved 24 November 2020.
  2. ^ "What is vesafb? — The Linux Kernel documentation". kernel.org. Retrieved 24 November 2020.
  3. ^ . 11 December 2013. Archived from the original on 11 December 2013. Retrieved 27 December 2022.
  4. ^ . 22 October 1991. Archived from the original on 14 January 2009. Retrieved 27 December 2022.
  5. ^ . 11 December 2008. Archived from the original on 11 December 2008. Retrieved 27 December 2022.
  6. ^ a b c Modes available via the traditional 10h BIOS call
  7. ^ 352 (0160h) also appears to select 1280×800 (8-bit) for various laptops' displays
  8. ^ 32-bit is really (8:8:8:8), but the final 8-bit number is an "empty" alpha channel. It is otherwise equal to 24-bit color. Many GPUs use 32-bit color mode instead of 24-bit mode merely for faster video memory access through 32-bit memory alignment.
  9. ^ 322 (0142h) is 1,400×1,050
  10. ^ hwinfo source code on GitHub
  11. ^ "mdt". GitHub.
  12. ^ See the kernel documentation in Documentation/svga.txt and Documentation/fb/vesafb.txt.

Further reading edit

  • (Standard # VS891001) 1 October 1989
  • VESA BIOS Extension 3.0
  • Dr. Dobb's Examining the VESA VBE 2.0 Specification
  • at the Wayback Machine (archived 2005-12-21)
  • at the Wayback Machine (archived 2008-12-09)
  • VESA BIOS interface

External links edit

  • SuperVGA/VESA programmer's notes
  • Capture VBE mode info vbespy source package 22 July 2011 at the Wayback Machine
  • How to use vbespy source package
  • The VBETOOL - an (meanwhile archived) application for executing video card BIOS code

vesa, bios, extensions, redirects, here, other, uses, disambiguation, this, article, multiple, issues, please, help, improve, discuss, these, issues, talk, page, learn, when, remove, these, template, messages, this, article, tone, style, reflect, encyclopedic,. VBE redirects here For other uses see VBE disambiguation This article has multiple issues Please help improve it or discuss these issues on the talk page Learn how and when to remove these template messages This article s tone or style may not reflect the encyclopedic tone used on Wikipedia See Wikipedia s guide to writing better articles for suggestions May 2015 Learn how and when to remove this template message This article includes a list of general references but it lacks sufficient corresponding inline citations Please help to improve this article by introducing more precise citations February 2011 Learn how and when to remove this template message Learn how and when to remove this template message VESA BIOS Extensions VBE is a VESA standard currently at version 3 that defines the interface that can be used by software to access compliant video boards at high resolutions and bit depths This is opposed to the traditional INT 10h BIOS calls which are limited to resolutions of 640 480 pixels with 16 colour 4 bit depth or less VBE is made available through the video card s BIOS which installs during boot up some interrupt vectors that point to itself Most newer cards implement the more capable VBE 3 0 standard Older versions of VBE provide only a real mode interface which cannot be used without a significant performance penalty from within protected mode operating systems Consequently the VBE standard has almost never been used for writing a video card s drivers each vendor has thus had to invent a proprietary protocol for communicating with its own video card Despite this it is common that a driver thunk out to the real mode interrupt in order to initialize screen modes and gain direct access to a card s linear frame buffer because these tasks would otherwise require handling many hundreds of proprietary variations that exist from card to card In EFI 1 x systems the INT 10H and the VESA BIOS Extensions VBE are replaced by the EFI UGA protocol In widely used UEFI 2 x systems the INT 10H and the VBE are replaced by the UEFI GOP 1 2 Contents 1 Standards 1 1 Early VBE 1 2 VESA BIOS Extensions VBE core 2 0 November 1994 1 3 VESA BIOS Extensions VBE core 3 0 September 1998 1 4 VBE accelerator functions VBE AF August 1996 1 5 Supplemental specifications 1 5 1 Power management extensions PM 1 5 2 Flat panel interface extensions FP 1 5 3 Audio interface extensions AI 1 5 4 OEM extensions 1 5 5 Display Data Channel DDC 1 5 6 Serial Control Interface SCI 2 VBE mode numbers 2 1 Modes defined by VESA 2 2 Other commonly available graphics modes 2 3 Mode detection 2 4 Linux video mode numbers 2 5 Modes available in Parallels 3 Modes available in VirtualBox 4 See also 5 References 6 Further reading 7 External linksStandards editEarly VBE edit VBE 1 0 VS891001 was defined in 1989 3 VBE 1 1 VS900602 was defined in 1990 VBE 1 2 VS911022 was defined in 1991 4 These versions of VBE require real mode to work VBE defines several new functions called through INT 10H The function numbering start with AX 4F00 or AH 4F AL 00 for Function 00h 00h to 05h were defined in VBE 1 0 06h and 07h in 1 1 and 08h in 1 2 VESA BIOS Extensions VBE core 2 0 November 1994 edit This standard provides the primary functionality of the VESA BIOS Extensions It allows applications to determine the capabilities of the graphics card and provides the ability to set the display modes that are found VBE 2 0 adds some new features above the prior VBE 1 2 standard including linear framebuffer access and protected mode banking Some of the VBE Core 2 0 5 features include Linear framebuffer access Enables direct framebuffer access in protected mode as one large area of memory instead of less efficient smaller chunks Protected mode banking Allows access to the framebuffer from protected mode without thunking down to real mode This is implemented using a new Function 0Ah Super VGA page flipping Allows higher performance animation to provide for smooth animation for computer games and other high performance graphics programs Super VGA virtual screens Allows software to set up virtual display resolutions larger than the actual displayed resolution and smoothly scroll or pan around the larger image High Color and TrueColor modes Industry standard 16 bit and 24 bit graphics modes for resolutions from 320 200 up to 1600 1200 VESA BIOS Extensions VBE core 3 0 September 1998 edit A superset of the VBE 2 0 standard This standard adds refresh rate control facilities for stereo glasses improved multi buffering and other functions to the VBE 2 0 standard Triple buffering Allows high speed applications to perform multi buffering with less screen flickering and without having to wait for the graphics controller Refresh rate control using GTF timings This allows applications and operating system utilities to change the refresh rate in a standard way on all VBE 3 0 graphics controllers Important for stereo applications since when stereo is enabled the user s effective refresh rate is cut in half Stereo page flipping When viewing an application using stereo glasses software needs to page flip twice as often as normal because it needs to generate separate images for each eye This new feature allows stereo compatible software to display properly Hardware stereo sync Allows stereo software to determine if there is a connector for stereo glasses on the user s graphics card A new Protected Mode Entry Point was added as an alternative to Function 0Ah VBE accelerator functions VBE AF August 1996 edit VBE AF provides a low level standard interface to common acceleration functions available on most hardware Some of the functions defined in the standard are access to hardware cursors Bit Block Transfers Bit Blt off screen sprites hardware panning drawing and other functions It is defined to work under 32 bit protected mode Despite the widespread adoption of VBE Core very few devices support VBE AF The FreeBE AF project implements free third party VBE AF drivers for certain graphics cards Supplemental specifications edit Supplemental specifications provides device independent interface between application software and Super VGA hardware Function numbers are assigned by VESA Software Standards Committee SSC Power management extensions PM edit Further information VESA Display Power Management Signaling DPMS is a hardware standard that allows graphics cards to communicate with DPMS compliant monitors via a special signalling system that can be used with existing graphics controllers and monitor cables This signalling system allows the graphics card to tell the monitor to go into a number of different power management or power saving states which effectively allow the monitor to turn itself off when it is not in use Flat panel interface extensions FP edit Allows access to special features in flat panel controllers Audio interface extensions AI edit Provides standard to audio services Currently version 1 00 the VBE AI specification defines three device classes WAVE MIDI and VOLUME Device types not covered CDROM control which is covered by the Microsoft s CD ROM Extensions Effects processors This class of device will be expanded in future version of the VBE AI specification OEM extensions edit Provides standard entry to vendor specific extensions Display Data Channel DDC edit Main article Display Data Channel The Display Data Channel or DDC is a digital connection between a computer display and a graphics adapter that allows the display to communicate its specifications to the adapter The standard was created by VESA Serial Control Interface SCI edit Provides hardware independent means for operating system and application to read and write data over I C serial control interface VBE mode numbers editAlthough mode number is a 16 bit value the optional VBE mode numbers are 14 bits wide Bit 15 is used by VGA BIOS as a flag to clear or preserve display memory VBE defined mode numbers as follows Bit Meaning 0 8 Mode numbers If bit 8 is 1 it is a VESA defined VBE mode 9 10 Reserved for expansion Must be set to 0 11 Refresh rate control Select If set to 1 use user specified CRTC values for refresh rate otherwise use BIOS default refresh rate 12 13 Reserved for VBE AF Must be set to 0 14 Linear Flat Frame Buffer Select If set to 1 use linear frame buffer otherwise use banked frame buffer 15 Preserve Display Memory Select If set to 1 preserve display memory otherwise clear display memory Starting in VBE Core 2 0 VESA no longer defines new VESA mode numbers and no longer requires a device to implement the old numbers To properly detect information of a screen mode use Function 01h Return VBE Mode Information Mode 81FFh is a special video mode designed to preserve current memory contents and give access to the entire video memory Modes defined by VESA edit Beginning with the VBE 2 0 standard no new modes will be defined by VESA and old modes are no longer mandatory The use of defined modes should be considered deprecated modern video cards may or may not use these mode numbers even though most do for backward compatibility and modern software should not use them The correct way for software to discover available display modes is to obtain a list of modes using Function 00h Return VBE Controller Information and then to check each mode using Function 01h Return VBE Mode Information until it finds the mode s it requires citation needed Graphics modes 320 200 640 400 640 480 800 600 1024 768 1280 1024 16 color palette 258 0102h 106 6Ah 260 0104h 262 0106h 256 color palette 256 0100h 257 0101h 259 0103h 261 0105h 263 0107h 15 bit 5 5 5 269 010Dh 272 0110h 275 0113h 278 0116h 281 0119h 16 bit 5 6 5 270 010Eh 273 0111h 276 0114h 279 0117h 282 011Ah 24 bit 8 8 8 271 010Fh 274 0112h 277 0115h 280 0118h 283 011Bh Modes 264 268 are text modes 264 0108h is 80 columns 60 rows 80 60 265 0109h is 132 25 266 010Ah is 132 43 267 010Bh is 132 50 and 268 010Ch is 132 60 Text modes Columns Rows 80 132 25 265 0109h 43 266 010Ah 50 267 010Bh 60 264 0108h 268 010Ch Other commonly available graphics modes edit The table below combines the modes defined by VESA the values denoted in black along with modes commonly used but which may not work on all graphics cards as they are not defined by any standard denoted in red Graphics modes 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 16 color palette 6 6 258 0102h 106 6Ah 260 0104h 262 0106h 256 color palette 6 256 0100h 257 0101h 367 016Fh 259 0103h 303 012Fh 362 016Ah 261 0105h 357 0165h 263 0107h 352 0160h 7 284 011Ch 15 bit 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 16 bit 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 24 bit 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 32 bit 8 8 8 8 292 0124h 297 0129h 371 0173h 302 012Eh 307 0133h 366 016Eh 312 0138h 361 0169h 317 013Dh 980 03d4h 356 0164h 322 0142h 9 Mode detection edit A few tools have been written to detect VBE modes available on a system They generally work by invoking Function 01h which is more reliable than assuming a table of extented modes as it s part of the device s self documentation hwinfo is the hardware detection tool used in SuSE Linux and in some other Linux distributions 10 Running hwinfo framebuffer reports graphics information including VESA modes on a Mode line mdt is a Linux or DOS tool that uses VESA BIOS functions to read monitor data 11 The Linux Real Mode Interface LRMI has a vbetest program that prints out VESA info SciTech Software had a unrelated vbetest for DOS that dates back to 1994 The x86 PC version GNU GRUB 2 has a vbeinfo command for printing out available video modes and vbetest for trying a specific mode They use a built in table instead of Function 01h For other platforms including x86 EFI they are replaced by the more generic videoinfo and videotest Linux video mode numbers edit The Linux kernel allows the user to select the VESA mode at boot time by passing a code in memory to the kernel The LILO boot loader passes this code based on a vga parameter in its configuration file It takes the form vga XXX where XXX is the decimal value or vga 0xHHH where HHH is the hexadecimal value However the vga boot loader parameter does not directly accept VESA video mode numbers rather the Linux video mode number is the VESA number plus 512 in the case of the decimal representation or plus 0x200 in the case of the hexadecimal representation For example the defined VESA value of 257 0x101 representing 640x480 and 256 colours has an equivalent Linux video mode value of 769 0x301 12 As indicated earlier the VESA standard defines a limited set of modes in particular none above 1280 1024 are covered and instead their implementation is completely optional for graphics adapter manufacturers As vendors are free to utilize whatever additional values they please this means that in the table below the modes denoted in red and expressed in decimal form may not apply to every graphics adapter 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 1080 1920 1200 16 colors 770 0302h 772 0304h 774 0306h 256 colors 768 0300h 769 0301h 879 036Fh 771 0303h 815 032Fh 874 036Ah 773 0305h 869 775 0307h 835 864 796 893 15 bit 5 5 5 781 030Dh 801 0321h 784 0310h 880 0370h 787 0313h 816 0330h 875 036Bh 790 0316h 870 793 0319h 865 797 16 bit 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 24 bit 8 8 8 783 030Fh 803 0323h 786 0312h 882 0372h 789 0315h 818 0332h 877 036Dh 792 0318h 872 795 031Bh 838 867 799 32 bit 8 8 8 1 804 809 883 814 819 878 824 873 829 868 834 98003D4h 1 32 bit is really 8 8 8 8 but the final 8 bit number is an empty alpha channel It is otherwise equal to 24 bit colour Many GPUs use 32 bit colour mode instead of 24 bit mode merely for faster video memory access through 32 bit memory alignment VGA 864 352 0160h also appears to select 1280 800 8 bit for various laptops displays VGA 834 322 0142h is 1400 1050 Modes available in Parallels edit The VESA BIOS emulation in the Parallels virtual machine has a different set of non standard VESA modes As of build 3214 LRMI vbetest reveals these modes 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 256 color palette 256 0100h 257 0101h 367 016Fh 364 016Ch 259 0103h 297 0129h 358 0166h 261 0105h 355 0163h 263 0107h 352 0160h 284 011Ch 15 bit 5 5 5 272 0110h 275 0113h 278 0116h 281 0119h 285 011Dh 16 bit 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 24 bit 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 Modes available in VirtualBox editThe VESA BIOS emulation in the VirtualBox virtual machine has a different set of non standard VESA modes As of 6 1 38 Ubuntu build r153438 the VESA BIOS function AX 0x4F01 reveals these modes See also VBETables gen c 320x200 640 400 640 480 800 600 1024 768 1152 864 1280 1024 1600 1200 4 bit palette 260 0104h 262 0106h 256 color palette 326 0146h 256 0100h 257 0101h 259 0103h 261 0105h 328 0148h 263 0107h 15 bit 5 5 5 269 010dh 272 0110h 275 0113h 278 0116h 329 0149h 281 0119h 16 bit 5 6 5 270 010eh 273 0111h 276 0114h 279 0117h 330 014ah 282 011Ah 24 bit 8 8 8 271 010fh 274 0112h 277 0115h 280 0118h 331 014bh 283 011Bh 32 bit x 8 8 8 320 0140h 321 0141h 322 0142h 323 0143h 324 0144h 332 014ch 325 0145h 327 0147h See also editnouveau software UniVBEReferences edit What is efifb The Linux Kernel documentation kernel org Retrieved 24 November 2020 What is vesafb The Linux Kernel documentation kernel org Retrieved 24 November 2020 SUPER VGA BIOS EXTENSION Standard VS891001 Gemixtes 11 December 2013 Archived from the original on 11 December 2013 Retrieved 27 December 2022 VBE Version 1 2 22 October 1991 Archived from the original on 14 January 2009 Retrieved 27 December 2022 VBE Core 2 0 Standard 11 December 2008 Archived from the original on 11 December 2008 Retrieved 27 December 2022 a b c Modes available via the traditional 10h BIOS call 352 0160h also appears to select 1280 800 8 bit for various laptops displays 32 bit is really 8 8 8 8 but the final 8 bit number is an empty alpha channel It is otherwise equal to 24 bit color Many GPUs use 32 bit color mode instead of 24 bit mode merely for faster video memory access through 32 bit memory alignment 322 0142h is 1 400 1 050 hwinfo source code on GitHub mdt GitHub See the kernel documentation in Documentation svga txt and Documentation fb vesafb txt Further reading editVESA Super VGA BIOS Extension 1 0 Standard VS891001 1 October 1989 VESA BIOS Extension 1 2 VESA BIOS Extension 2 0 VESA BIOS Extension 3 0 Dr Dobb s Examining the VESA VBE 2 0 Specification How To Use Super VGA VESA 1 x Non Linear VESA BIOS Extension Serial Control Interface Standard at the Wayback Machine archived 2005 12 21 VESA BIOS Extension Accelerator Functions VBE AF at the Wayback Machine archived 2008 12 09 VESA BIOS interfaceExternal links editSuperVGA VESA programmer s notes List of VESA VBE 2 0 3 0 implementing chipsets Capture VBE mode info vbespy source package Archived 22 July 2011 at the Wayback Machine How to use vbespy source package The VBETOOL an meanwhile archived application for executing video card BIOS code Retrieved from https en wikipedia org w index php title VESA BIOS Extensions amp oldid 1210710267, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.