VESA BIOS Extensions
Encyclopedia
VESA BIOS Extensions is a VESA
VESA
VESA is an international standards body for computer graphics founded in 1989 by NEC Home Electronics and eight other video display adapter manufacturers.VESA's initial goal was to produce a standard for 800×600 SVGA resolution video displays...

 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
BIOS
In IBM PC compatible computers, the basic input/output system , also known as the System BIOS or ROM BIOS , is a de facto standard defining a firmware interface....

 calls, which are limited to resolutions of 640×480 pixel
Pixel
In digital imaging, a pixel, or pel, is a single point in a raster image, or the smallest addressable screen element in a display device; it is the smallest unit of picture that can be represented or controlled....

s with 16 color (4-bit) depth or less.

VBE is made available through the video adapter's BIOS
Video BIOS
Video BIOS is the BIOS of a graphics card in a computer.Much the way the system BIOS provides a set of functions that are used by software programs to access the system hardware, the video BIOS provides a set of video-related functions that are used by programs to access the video hardware...

, which installs interrupt
Interrupt
In computing, an interrupt is an asynchronous signal indicating the need for attention or a synchronous event in software indicating the need for a change in execution....

 vectors pointing at itself during system startup. Unfortunately, the older versions of VBE (those bundled with older video cards) provided only a real mode
Real mode
Real mode, also called real address mode, is an operating mode of 80286 and later x86-compatible CPUs. Real mode is characterized by a 20 bit segmented memory address space and unlimited direct software access to all memory, I/O addresses and peripheral hardware...

 interface, which could not be used without a significant performance penalty from within protected mode
Protected mode
In computing, protected mode, also called protected virtual address mode, is an operational mode of x86-compatible central processing units...

 operating systems, such as Windows 95
Windows 95
Windows 95 is a consumer-oriented graphical user interface-based operating system. It was released on August 24, 1995 by Microsoft, and was a significant progression from the company's previous Windows products...

 or Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

. This meant that the VBE standard was almost never used for writing video-drivers, and each video board vendor had to invent a proprietary protocol
Proprietary protocol
In telecommunications, a proprietary protocol is a communications protocol owned by a single organization or individual.-Enforcement:Proprietors may enforce restrictions through patents and by keeping the protocol specification a trade secret...

 for communicating with their own boards. Despite this, many existing drivers for these video cards still thunk
Thunk (compatibility mapping)
Thunk refers to the creation of a 16-bit virtual DOS machine within a 32-bit operating platform so that there is backward compatibility for applications using older code or system calls.-OS/2 & Windows 16-bit address hack:...

 out to the real mode interrupt to initialize screen modes and gain direct access to a card's linear frame buffer
Framebuffer
A framebuffer is a video output device that drives a video display from a memory buffer containing a complete frame of data.The information in the memory buffer typically consists of color values for every pixel on the screen...

, tasks which would otherwise require many hundreds of port writes which change from card to card.
Most newer cards implement the more capable VBE 3.0 standard.

VESA BIOS Extensions (VBE core) 2.0 [November 1994]

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
Framebuffer
A framebuffer is a video output device that drives a video display from a memory buffer containing a complete frame of data.The information in the memory buffer typically consists of color values for every pixel on the screen...

 access and protected mode
Protected mode
In computing, protected mode, also called protected virtual address mode, is an operational mode of x86-compatible central processing units...

 banking. Some of the VBE Core 2.0 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
Real mode
Real mode, also called real address mode, is an operating mode of 80286 and later x86-compatible CPUs. Real mode is characterized by a 20 bit segmented memory address space and unlimited direct software access to all memory, I/O addresses and peripheral hardware...

.
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 resolution
Display resolution
The display resolution of a digital television or display device is the number of distinct pixels in each dimension that can be displayed. It can be an ambiguous term especially as the displayed resolution is controlled by all different factors in cathode ray tube , flat panel or projection...

s, 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 right up to 1,600×1,200.

VESA BIOS Extensions (VBE core) 3.0 [September 1998]

A superset of the VBE 2.0 standard. This standard adds refresh rate
Refresh rate
The refresh rate is the number of times in a second that a display hardware draws the data...

 control, facilities for stereo glasses
Stereoscopy
Stereoscopy refers to a technique for creating or enhancing the illusion of depth in an image by presenting two offset images separately to the left and right eye of the viewer. Both of these 2-D offset images are then combined in the brain to give the perception of 3-D depth...

, 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
LCD shutter glasses
Liquid crystal shutter glasses are glasses used in conjunction with a display screen to create the illusion of a three dimensional image, an example of stereoscopy. Each eye's glass contains a liquid crystal layer which has the property of becoming dark when voltage is applied, being otherwise...

, 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.

VBE/accelerator functions (VBE/AF) [August 1996]

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 blit
Bit BLIT is a computer graphics operation in which several bitmaps are combined into one using a raster operator....

 (Bit Blt) , off screen sprites
Sprite (computer graphics)
In computer graphics, a sprite is a two-dimensional image or animation that is integrated into a larger scene...

, hardware panning, drawing and other functions.

Supplemental specifications

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)

see VESA Display Power Management Signaling
VESA Display Power Management Signaling
VESA Display Power Management Signaling is a standard from the VESA consortium for managing the power supply of video monitors for computers through the graphics card e.g.; shut off the monitor after the computer has been unused for some time , to save power.- History :DPMS 1.0 was issued by VESA...


DPMS is a hardware standard that allows graphics cards to communicate with DPMS-compliant monitor
Computer display
A monitor or display is an electronic visual display for computers. The monitor comprises the display device, circuitry, and an enclosure...

s via a special signaling system that can be used with existing graphics controllers and monitor cables. This signaling 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)

Allows access to special features in flat panel controllers.

Audio Interface Extensions (AI)

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 CDROM Extensions.
Effects processors: This class of device will be expanded in future version of the VBE/AI specification.

Display Data Channel (DDC)

The Display Data Channel or DDC is a digital connection between a computer display
Computer display
A monitor or display is an electronic visual display for computers. The monitor comprises the display device, circuitry, and an enclosure...

 and a graphics adapter that allows the display to communicate its specifications to the adapter. The standard was created by VESA
VESA
VESA is an international standards body for computer graphics founded in 1989 by NEC Home Electronics and eight other video display adapter manufacturers.VESA's initial goal was to produce a standard for 800×600 SVGA resolution video displays...

.

Serial Control Interface (SCI)

Provides hardware independent means for operating system and application to read and write data over I²C
I²C
I²C is a multi-master serial single-ended computer bus invented by Philips that is used to attach low-speed peripherals to a motherboard, embedded system, cellphone, or other electronic device. Since the mid 1990s, several competitors I²C ("i-squared cee" or "i-two cee"; Inter-Integrated Circuit;...

 serial control interface.

VBE mode numbers

Although mode number is a 16-bit value, the optional VBE mode numbers are 14 bits wide. Bit 7 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
Hexadecimal
In mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...

 - 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

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.
Graphics modes 320×200 640×400   640×480 800×600 1,024×768 1,280×1,024
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)

Text modes Columns
Rows 80 132
25 109h
43 10Ah
50 10Bh
60 108h 10Ch

Other commonly available modes

The modes below other than the ones in the previous table are commonly used, but may not work on all graphics cards as they are not defined by any standard.
320×200 640×400 640×480 800×500 800×600 896×672 1,024×640 1,024×768 1,152×720 1,280×1,024 1,440×900 1,600×1,200
16-color palette 258 (0102h) 260 (0104h) 262 (0106h)
256-color palette 256 (0100h) 257 (0101h) 367 (016Fh) 259 (0103h) 303 (012Fh) 362 (016Ah) 261 (0105h) 357 (0165h) 263 (0107h) 352 (0160h) 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) 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) 292 (0124h) 297 (0129h) 371 (0173h) 302 (012Eh) 307 (0133h) 366 (016Eh) 312 (0138h) 361 (0169h) 317 (013Dh) 356 (0164h) 322 (0142h)



vga=864 (352) (0160h) also appears to select 1,280×800 (8-bit) for various laptops' displays. vga=834 (322) (0342h) is 1,400×1,050

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.

Linux video mode numbers

The Linux kernel allows user configuration of VESA modes at boot time using the 'vga' kernel parameter. This parameter does not directly accept VESA video mode numbers; the Linux video mode number is simply the VESA number plus 512.

The value can be passed to the kernel in the form 'vga=XXX', where XXX is the decimal value, or in form 'vga=0xHHH', where HHH is the hexadecimal value.

As already stated, the modes above 1,280×1,024 are not covered by the standard, and every graphics card manufacturer uses its own codes. This means the modes, , may not apply to your graphics card !
!
! 320
×

200
! 640
×

400
! 640
×

480
! 800
×

500
! 800
×

600
! 896
×

672
! 1,024
×

640
! 1,024
×

768
! 1,152
×

720
! 1,280
×

1,024
! 1,400
×

1,050
! 1,440
×

900
! 1,600
×

1,200
! 1,900
×

1,200
|-
!16 colors
|
|
|
|
| 770
|
|
| 772
|
| 774
|
|
|
|
|-
! 256 colors
|
| 768
| 769
| 879
| 771
| 815
| 874
| 773
|
| 775
|
|
|
|
|-
! 15-bit (5:5:5)
| 781
| 801
| 784
| 880
| 787
| 816
| 875
| 790
|
| 793
|
|
|
|
|-
! 16-bit (5:6:5)
| 782
| 802
| 785
| 881
| 788
| 817
| 876
| 791
|
| 794
|
|
|
|
|-
! 24-bit (8:8:8)
| 783
| 803
| 786
| 882
| 789
| 818
| 877
| 792
|
| 795
|
|
|
|
|-
! 32-bit (8:8:8)1
|
| 804
| 809
| 883
| 814
| 819
| 878
| 824
|
| 829
|
|
|
|>

1: 32-bit
32-bit
The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295. Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory....

 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.

Alternative Method

hwinfo is the hardware detection tool used in SuSE Linux and may be available in other GNU/Linux distributions. To use hwinfo to get the actual mode number that you need to pass as a parameter to the kernel:

hwinfo --framebuffer

The command should be run as root. Pick the number corresponding to the desired resolution. The modes reported by hwinfo are in hexadecimal. Use them with the '0x' prefix or convert them to decimal.

Modes available in Parallels

The VESA BIOS emulation in the Parallels
Parallels Desktop for Mac
Parallels Desktop for Mac by Parallels, Inc., is software providing hardware virtualization for Macintosh computers with Intel processors.-Overview:Parallels, Inc...

 virtual machine has a different set of non-standard VESA modes. As of build 3214, vbetest reveals these modes:
!
! 640

×

400
! 640

×

480
! 720

×

480
! 800

×

500
! 800

×

600
! 896

×

672
! 1,024

×

640
! 1,024

×

768
! 1,152

×

720
! 1,280

×

1,024
! 1,440

×

900
! 1,600

×

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)>

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK