Home page | EN-US English | RU Russian | Other projects (EN-US English)
Key features :
Planned features :
This driver is intended for using in case when your have some new or unknown video card(s) and you don't have drivers for it. It's better to contact manufacturer of your video card or search THE WEB for the drivers. ONLY if you finally cannot find driver for your video card I recommend you to use mine (vbemp.sys). My driver does not provide any kind of 3D hardware acceleration (DirectX & OpenGL). For this purpose third-party libraries can be used.
If your card made by AMD-ATI Technologies and this card is detected as two devices ("Radeon xxxx" and "Radeon xxxx Secondary") only "Manual" or "legacy" version may work with it.
My driver does NOT support multiple video cards and/or displays connected simultaneously and this feature is NOT planned.
My driver does NOT support any editions of Windows Vista/Windows 7 and newer.
Before installing VBEMP.SYS I recommend removing any display drivers installed including any previous or newer driver versions and switching to the standard VGA mode 640x480x16colors.
* If you have problems installing VBEMP or any other driver in Windows NT 4.0 (and NT 3.51) - blank screen, system hang after restart - read this MS Article. Details here: MSKB: AGP Video Support for Windows NT 3.51 and 4.0 (Q174567). Install Service Pack 3 or later for Windows NT 4.0, and Q174567 Hotfix for Windows NT 3.51 to solve this problem.
** Windows XP/Windows 2003 version is not necessarily needed because basic functionality of it is also included in standard VGA.SYS. Comparing to my driver, VGA.SYS:
BIOS Buglist from Windows XP SP3 VGA.SYS Brookdale-G Graphics Controller ATI S1-370TL ArtX I Voodoo4 4500 Voodoo3 3000 LC Voodoo3 2000 LC 3Dfx Banshee MGA-G100 SiS 5597 NVidia Corporation NV11 (GeForce2) Board Chip Rev B2 Version 3.11.01.24N16
OS |
Version |
Description |
Link |
Windows NT, |
Release version |
Universal VBE30 & VBE20 versions.**, |
|
Windows NT, |
Release version |
Universal VBE30 & VBE20 versions.**, |
|
Windows XP, |
Release version |
Universal VBE30 & VBE20 versions.** |
|
Windows NT, |
Release version |
Universal VBE30 & VBE20 versions.** |
Windows NT, |
Release version |
Universal VBE30 & VBE20 versions.** |
Windows NT, |
Release version |
Universal VBE30 & VBE20 versions.** |
|
Windows NT, |
"STABLE" |
Universal VBE30 & VBE20 versions.** |
|
Windows NT clones - ALL of them |
Release version |
Hardware driver for Cirrus Logic chips: CL-GD542x, CL-GD543x, CL-GD544x, CL-GD546x, CL-GD5480, including qemu emulated CL-GD5446. With 2Mb+ cards 32-bit color modes are supported. |
|
Windows NT clones - ALL of them |
Release version |
Hardware driver for Cirrus Logic chips: CL-GD542x, CL-GD543x, CL-GD544x, CL-GD546x, CL-GD5480, including qemu emulated CL-GD5446. With 2Mb+ cards 32-bit color modes are supported. |
|
Windows NT clones - ALL of them |
Release version |
Hardware driver for Cirrus Logic chips: CL-GD542x, CL-GD543x, CL-GD544x, CL-GD546x, CL-GD5480, including qemu emulated CL-GD5446. With 2Mb+ cards 32-bit color modes are supported. |
|
Windows NT clones - ALL of them |
Debug version * 2009.01.03 |
IBM Graphics driver works with any IBM EGA/VGA-compatible cards (mono, 16, 256 colors). |
|
Windows NT 4.0 only |
Release version |
VGAMONO USWC special driver which emulates true color modes via dithering in 1,2 or 4-plane color modes, works with any VBE-compatible cards. |
|
Windows NT 3.51, |
Release version |
Universal VBEMP control panel extension. |
|
Windows NT 3.5x, |
Release version |
FRAMEVBE shadow buffer accelerated library. |
|
Windows NT 3.5x, |
Release version |
FRAMEBUF library fixed for 15-bpp support. |
|
Windows NT clones - ALL of them (up to Windows 7) |
Release version |
Special driver for VirtualBox made by Michal Necasek. |
|
Windows NT clones - ALL of them (up to Windows 7) |
Release version 2 |
Special driver for VirtualBox made by Michal Necasek. |
|
Windows NT clones - ALL of them (up to Windows 7) |
Release version 3 |
Special driver for VirtualBox made by Michal Necasek. |
Installation note 1: If your card is working slowly and screen is flickering with driver installed, especially when moving large windows and scrolling texts you may improve it:
Installation note 2: Starting from version dated 10.19.2007, vbemp?.zip contains these variants of driver:
Installation note 3: As you can see, there are two versions of driver for Windows 2000/XP/2003/PE - PnP and LEGACY. And there are VBE20 and VBE30 driver types. What is it for:
Installation note 4: By default, any Plug'n'Play video cards will be detected CORRECTLY by 2000/XP/2003 version of my driver. But if you wish, you MAY add your video card's PCI VENDOR/DEVICE ID in vbemppnp.inf so your card will named as it is or you can select the driver manually when Windows firstly find an unknown device. This is an optional operation!
Sample:
; vbemp5.inf ; ; Installation file (.inf) for the VBE Miniport device. ; ; (c) Copyright 2006 AnaPa Corp ; . . . . . . . . . . . . [AnaPa.Mfg] VBE Miniport = Vbemp, NOPNP VBE Miniport - Standard PCI Graphics Adapter (VGA) = Vbemp, PCI\CC_0300 VBE Miniport - Standard PCI Graphics Adapter (XGA) = Vbemp, PCI\CC_0301 VBE Miniport - Standard PCI Graphics Adapter = Vbemp, PCI\CC_0380 VBE Miniport - Standard Graphics Adapter (VGA) = Vbemp, *PNP0900 VBE Miniport - VGA = Vbemp, *PNP0917 VBE Miniport - SVGA = Vbemp, NOPNP VBE Miniport - 1394 = Vbemp,1394\& VBE Miniport (ATI, AMD) = Vbemp, PCI\VEN_1002&CC_0300 VBE Miniport (Intel) = Vbemp, PCI\VEN_8086&CC_0300 VBE Miniport (nVidia) = Vbemp, PCI\VEN_10DE&CC_0300 VBE Miniport (ATI Rage 128PRO 4x pri) = Vbemp, PCI\VEN_1002&DEV_5046 VBE Miniport (Intel D845G) = Vbemp, PCI\VEN_8086&DEV_2562&SUBSYS_52478086 Your card name = Vbemp, PCI\VEN_xxxx&DEV_yyyy&SUBSYS_zzzzzzzz ; card template, see below . . . . . .
To create a string you may use Craig Hart's PCI32 tool mentioned below, here is a sample listing:
. . . . . . Bus 1 (AGP), Device Number 0, Device Function 0 Vendor 1002h ATI Technologies Inc Device 4966h Radeon 9000 Series (RV250) Command 0187h (I/O Access, Memory Access, BusMaster, Wait Cycles, System Errors) Status 02B0h (Has Capabilities List, Supports 66MHz, Supports Back-To-Back Trans., Medium Timing) Revision 01h, Header Type 80h, Bus Latency Timer FFh Minimum Bus Grant 08h, Maximum Bus Latency 00h Self test 00h (Self test not supported) Cache line size 32 Bytes (8 DWords) PCI Class Display, type VGA Subsystem ID 4F721002h Radeon 9000 Series (RV250) Subsystem Vendor 1002h ATI Technologies Inc . . . . . .
Installation note 5: My driver does not provide any support for running fullscreen DOS applications in VESA graphics modes. VGA.SYS controls it and in most cases it traps i/o ports and prevents VESA-based programs to run correctly. There are third-party patches - WinXPFix Utility (http://www.nomissoft.com/service.html#as2downloads) and 'Videoport driver patch for VESA in NTVDM' (http://www.volny.cz/martin.sulak/, direct download videoprt.zip) that fixes VGA.SYS behaviour. Try them if you need to run DOS programs in Windows. I am not affiliate with author(s) of these programs.
Installation note 6: By default system core Microsoft-made FRAMEBUF.DLL driver used in conjunction with VBEMP driver as usermode component. But there is a problem - it filters 15-bpp modes. There are three options to resolve this problem:
Installation note 7: If you trying to use VBEMP driver with ISA/MCA/VLB card in most cases you must play with the following BIOS Setup options:
* To get RELEASE-version of this driver (which is more stable, smaller & faster than DEBUG-version) you should contact me by e-mail & send me report generated by INFOVBE.EXE tool, so I could send you RELASE-version of the driver by e-mail. I recommend this version after you get completely sure that DEBUG-version works with your card properly.
** If universal version does not work with your card, you may try Manual version. To get such version you should contact me by e-mail & send me report generated by INFOVBE.EXE, so I could send you personal driver for your video card by e-mail.
*** How to install VBEMP driver in Windows PE environment:factory.exe -winpeThis line will start the driver.
Hive : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Vbemp\Device0 or HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Vgasave\Device0 in legacy mode Note that HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet is a virtual hive and it linked to one of these hives: Hive : HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX\Services\Vbemp\Device0 or HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX\Services\Vgasave\Device0 in legacy mode where XXX may be 001, 002, 003 ...Here are the values:
It depends on selected hardware configuration according to "Current" value from here: HKEY_LOCAL_MACHINE\SYSTEM\Select In Windows XP and later these keys are doubled: Hive : HKLM\SYSTEM\CurrentControlSet\Control\Video\{yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy}\XXXX or HKLM\SYSTEM\CurrentControlSet\Control\Video\{23A77BF7-ED96-40EC-AF06-9B1F4867732A}\0000 in legacy mode Note that HKLM\SYSTEM\CurrentControlSet\Control\Video is a "multi-device" hive and it linked to one of these hives: where XXXX may be 0000, 0001, 0002, 0003 ... It depends on selected graphics output device number starting from 0. {yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy} value depends on hardware configuration according to "Service" value from here: HKLM\SYSTEM\CurrentControlSet\Control\Video\{yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy}\Video which is must be equal to "vbemp" or "Vgasave" in legacy mode
Key : Acceleration.Level Value : (REG_DWORD) video acceleration level (0 - 5, lowest is 5)Meaning : if "0"-"4" or key is not exists Shadow Buffering is disabled. if "5" - enabled. This value has meaning for all versions of VBEMP, working under Windows2000 and later (XP/2003). Recommended setting is 5.
Key : VBE_GREY Value : (REG_DWORD) 1 or 0Meaning : if "0" or key is not exists VBEMP in 256-color modes uses standard palette, if "1" - greyscaled one.
Key : VBE_VENDORID Value : (REG_DWORD) PCI vendor ID, only these values are allowed:Meaning : This value has meaning only for ISA/MCA/VLB cards. (first appear in may2007 version!).
1. 0x100C (Tseng Labs Inc) 2. 0x1013 (Cirrus Logic) 3. 0x5333 (S3 Inc) 4. 0x1023 (Trident Microsystems Inc)
Key : VBE_MEMBASE Value : (REG_DWORD) frame buffer memory base, for example: 1. 0x100000 to 0x00F00000, step is 0x100000 (1Mb) (for Cirrus Logic cards) 2. 0x100000 to 0x03F00000, step is 0x100000 (1Mb) (for Trident cards) 3. 0x400000 to 0x3FC00000, step is 0x400000 (4Mb) (for Tseng Labs cards) 4. 0x100000 to 0xFFF00000, step is 0x100000 (1Mb) (for S3 Inc cards)Meaning : This value has meaning only for ISA/MCA/VLB cards. You get this value from video card documentation or you must know it definitely and have some options:
Key : VBE_USWC Value : (REG_DWORD) 1 or 0Meaning : if "0" or key is not exists Write Combining feature (USWC) is disabled, if "1" - enabled. (first appear in june2007 version!).
Key : VBE_ALIGN Value : (REG_DWORD) 2, 1 or 0Meaning : if "0" or key is not exists frame buffer memory is aligned to 64Kb boundary, if "1" - aligned to 4Mb boundary, if "2" - all adapter memory allocated at once. "1" setting is recommended when Write Combining feature (USWC) is enabled. (first appear in june2007 version!).
Key : VBE_VSYNC Value : (REG_DWORD) 1 or 0Meaning : if "0" or key is not exists Vertical sync polarity is negative, if "1" - positive. (first appear in june2007 VBE30 version only!).
Key : VBE_HSYNC Value : (REG_DWORD) 1 or 0Meaning : if "0" or key is not exists Horizontal sync polarity is negative, if "1" - positive. (first appear in june2007 VBE30 version only!).
The settings for the HSync and VSync polarity need to be obtained from the monitors papers. As a guideline you can assume that the 640 x 400 mode uses -Hsync and +Vsync, the 640 x 480 modes mainly use +Hsync and +Vsync and all higher modes (800 x 600 and above) mainly use -Hsync and -Vsync polarities.
Key : VBE_FILTER Value : (REG_BINARY) maximum 32 lines of 8 bytes = 256 bytes Samples: 08,00,06,00,00,00,00,00 - disable all 800x600 modes 08,00,06,00,00,00,00,56 - disable all 800x600 modes with frequency above 56hz 08,00,06,00,00,70,00,85 - disable all 800x600 modes with frequency above 85hz and below 70hz 00,00,00,00,00,00,01,00 - disable all modes with frequency above 100hzMeaning : if key is not exists VBEMP does use mode filtering. (first appear in july2007 version!).
Key : VBE_DDC Value : (REG_DWORD) 1 or 0Meaning : if "0" or key is not exists VBEMP does not detect PNP display using PnP-manager, if "1" - detects it. (first appear in june2007 version! Not for legacy-mode drivers!).
Key : VBE_EDID Value : (REG_DWORD) 1 or 0Meaning : if "0" or key is not exists VBEMP does not detect PNP display using internal driver routines, if "1" - detects it. (first appear in july2007 version!).
Key : VBE_RAWEDID Value : (REG_BINARY)Meaning : When VBE_EDID = 1, EDID block is written here. (first appear in july2007 version!).
Key : VBE_NVSCALE Value : (REG_DWORD) 2, 1 or 0Meaning : if "0" or key is not exists display scaling is on, if "1" - display scaling off and centered, if "2" - display scaling off and top left corner. This value has meaning only for nVidia cards connected to LCD display via DVI. (first appear in january2009 version!).
Key : VBE_RGB555 Value : (REG_DWORD) 1 or 0Meaning : if "0" or key is not exists R5G5B5 modes reported as 15-bpp and R5G6B5 - as 16-bpp, if "1" - R5G5B5 modes reported as 16-bpp and R5G6B5 - as 15-bpp. This change needs for correct Microsoft FRAMEBUF.DLL driver, which cannot use mode when it reported as 15-bpp. (first appear in june2010 version!).
\%WINDOWS_DIR%\SYSTEM32\DRIVERS\VBEMP.SYS \%WINDOWS_DIR%\INF\oem?.inf \%WINDOWS_DIR%\INF\oem?.pnf where ? may be 1,2,3,4..... oem?.inf contents must be equal to: vbemp4.inf (in Windows NT 4.0) vbempnp.inf (in Windows 2000/XP/2003) \%WINDOWS_DIR%\SYSTEM32\oemvio?.inf where ? may be 1,2,3,4..... oemvio?.inf contents must be equal to: oemsetup.inf (in Windows NT 3.x)
All: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Vbemp Windows XP/2003 only: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy} where {yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy} is described above in Registry settings
#define SIZE_OF_80387_REGISTERS 80 typedef struct _FLOATING_SAVE_AREA { ULONG ControlWord; ULONG StatusWord; ULONG TagWord; ULONG ErrorOffset; ULONG ErrorSelector; ULONG DataOffset; ULONG DataSelector; UCHAR RegisterArea[SIZE_OF_80387_REGISTERS]; ULONG Cr0NpxState; } FLOATING_SAVE_AREA; typedef struct _CONTEXT { ULONG ContextFlags; ULONG Dr0; ULONG Dr1; ULONG Dr2; ULONG Dr3; ULONG Dr6; ULONG Dr7; FLOATING_SAVE_AREA FloatSave; ULONG SegGs; ULONG SegFs; ULONG SegEs; ULONG SegDs; ULONG Edi; ULONG Esi; ULONG Ebx; ULONG Edx; ULONG Ecx; ULONG Eax; ULONG Ebp; ULONG Eip; ULONG SegCs; // MUST BE SANITIZED ULONG EFlags; // MUST BE SANITIZED ULONG Esp; ULONG SegSs; } CONTEXT; typedef CONTEXT *PCONTEXT; NTSTATUS Ke386CallBios ( IN ULONG BiosCommand, IN OUT PCONTEXT BiosArguments );
Official VESA BIOS Extensions 2.0 standard information - http://www.vesa.org/public/vbe/vbe20.pdf.
Official VESA BIOS Extensions 3.0 standard information - http://www.vesa.org/public/vbe/vbe3.pdf.
Official VESA BIOS Extensions 3.0 standard information - http://www.vesa.org/public/vbe/vbecore3.pdf.
Official VESA BIOS AF Extensions standard information - http://www.vesa.org/public/vbe/VBE-AF07.pdf.
Official VESA BIOS DDC Extensions 1.1 standard information - http://www.vesa.org/public/vbe/VBEDDC11.pdf.
THE VESA GENERALIZED TIMING FORMULA (GTF) Excel™ spreadsheet - http://www.vesa.org/Public/GTF/GTF_V1R1.xls.
VESA COORDINATED VIDEO TIMING (CVT) GENERATOR Revision 1.1 Excel™ spreadsheet - http://www.vesa.org/Public/CVT/CVTd6r1.xls.
Help file "Display and print devices: Windows XP DDK" (Built on Friday, February 18, 2005) - [?],[?].
SciTech Software Inc released commercial version of a similar driver (SciTech SNAP Graphics changelog) for Windows, OS/2, QNX & Linux. These versions are 21-day trial.
A more recent Personal (6-month trial) version you may get after FREE registering at http://my.scitechsoft.com/navigate.php.
Visit http://et6000.narod.ru/, which contains driver & sources of Tseng Labs ET6000, ET6100 and ET6300 PCI video cards for Windows 2000/XP.
VIDEOSIM.SYS frame buffer simulator sample videodriver source from Windows NT 4.0 DDK [?],[?].
MIRROR.SYS frame buffer mirror sample videodriver source from Windows 2000 DDK [?],[?].
Visit ReactOS operating system 'tm subversion repository to review the sources of its most recent video drivers - http://svn.reactos.org/.../miniport/
Visit VirtualBox 'tm subversion repository to review the sources of most recent driver for virtual videoadapter - http://www.virtualbox.de/.../WINNT/Graphics?rev=1
Here you can find some tests and benchmarks which I use to test performance of my driver - [?],[?]
Here are the list of third party software, which is compatible with VBEMP driver and provides limited support of 3D acceleration. This list also covers Windows XP/2003 and later with VGA.SYS driver.
Name |
Owner |
API |
Compatibilty |
Notes |
Reference Rasterizer (DitectX SDK) |
Microsoft |
DX8, DX9 |
Same as DirectX, x86/x64 |
Supports shaders, Slow |
RGB Rasterizer (DitectX SDK) |
Microsoft |
DX8, DX9 |
Same as DirectX, x86/x64 |
No shaders support, Faster than reference |
Pixomatic |
RAD Game Tools |
DX8, DX9 |
Windows9x/NT4 and later |
Supports SMP. No shaders support, Faster than MS RGB Rasterizer |
SwiftShader 2.0/3.0 |
TransGaming |
DX8, DX9 |
Windows 2000 and later |
Supports SMP. Since v 3.0 supports x64, but Windows 2000 is dropped. Some slower than Pixomatic. Shaders support. Problems with FFP rendering. |
Mesa3D |
open-source |
OpenGL |
Windows9x/NT4 and later |
Newer versions supports Windows XP and later. |
Visit VOGONS Vintage Driver Library for Mesa3D, SwiftShader drivers.
Here is an older wrappers, renderers which are tested: Realtech VR DXGL Wrapper, AltOpenGL, TechLand Soft OpenGL, mesaFX OpenGL, SciTech Software GLDirect.
When you have problems with driver, there are two basics scenarios:
Before debugging try these actions, provided below:
To start debugging process you MUST request a LOGGED-version (for method 1) or a DEBUG-version (for methods 2,3) of driver from me by e-mail. For methods 2,3 you MUST READ this article WinDbg basics HOWTO for QA engineers to understand which debug method is suitable in your case. Here are the solutions in brief:
C: [Enter] cd C:\DbgDump [Enter] DbgPrintLog -wd C:\ --drv:inst 1 --svc:inst A --drv:opt DoNotPassMessagesDown 1 --drv:opt StopOnBufferOverflow 0 BootVbe.log [Enter]
C: [Enter] cd C:\DbgDump [Enter] net stop DbgPrintLog.exe [Enter] DbgPrintLog --drv U --svc U [Enter]
MSKB: How to set up a remote debug session using a null modem cable (Q151981) 9-Pin NULL Modem Cabling Remote host serial port connector Host system serial port connector Signal 3 2 Transmit Data 2 3 Receive Data 7 8 Request to Send 8 7 Clear to Send 6, 1 4 Data Set Ready and Carrier Detect 5 5 Signal Ground 4 6, 1 Data Terminal Ready 25-Pin NULL Modem Cabling 2 3 Transmit Data 3 2 Receive Data 4 5 Request to Send 5 4 Clear to Send 6 20 Data Set Ready and Carrier Detect 7 7 Signal Ground 20 6 Data Terminal Ready
[boot loader] timeout=30 multi(0)disk(0)rdisk(0)partition(2)\WINNT [operating systems] multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows NT Version 4.00" multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows NT Version 4.00 [VGA mode]" /basevideo /sosAfter:
[boot loader] timeout=30 multi(0)disk(0)rdisk(0)partition(2)\WINNT [operating systems] multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows NT Version 4.00" multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows NT Version 4.00 [VGA mode]" /basevideo /sos multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows NT Version 4.00 DBG" /debug /baudrate:19200 /debugport:COM2When starting target PC you must select in menu "Windows NT Version 4.00 DBG" line for debugmode activation.
[Version] signature="$Windows NT$" ClassGUID={00000000-0000-0000-0000-000000000000} . . . . . . . . . . . . OsLoadOptions ="/fastdetect /minint /noguiboot" . . . . . .After:
[Version] signature="$Windows NT$" ClassGUID={00000000-0000-0000-0000-000000000000} . . . . . . . . . . . . OsLoadOptions ="/fastdetect /minint /noguiboot /debug /baudrate:19200 /debugport:COM2" . . . . . .
@del *.log @cls @rem Specify which com port to use. (Default = com1) @set _NT_DEBUG_PORT=com2 @rem Specify the baud rate used by debugging serial port. (Default = 19200) @set _NT_DEBUG_BAUD_RATE=19200 @rem If specified, all output will be written to this file from offset 0. @set _NT_DEBUG_LOG_FILE_OPEN=vbe.log @i386kd.exe -v -failinc
After you produce logs from driver you can give me additional information about your system and video adapter. This step is optional!!! Without driver logs this information is meaningless for me!!!
Collect VESA BIOS and system information :
INFOVBE.EXE > vbe.txt
PCI32.EXE -R -D > devpci.txt pci_w.exe -R -D -P -M -5 > devpci.htmPlease send me vbe.txt, devpci.txt, devpci.htm in compressed view (rar, zip, 7z...) by e-mail.
For ISA/MCA/VLB card owners: There are new tools - lfb_det.exe/lfb.exe, which can automatically detect linear frame buffer address of your card in system address space. They are distrubuted only by request via e-mail. Read pp.3 ("Collect system information"), make logs and I will send you these tools.
Cards (chips) affected |
Description |
Intel 845G, 855G, 865G, 915G and later |
PRB: Cannot set native resolutions i.e. 1024x600, 800x480, 1280x800, mostly on notebooks with Intel integrated graphics.
|
Intel 845G, 855G, 865G, 915G and later |
PRB: Cannot set resolution higher than 800x600x8bits and 640x480x16bits.
|
Intel 810E, 815E series |
PRB: Cannot use linear frame buffer, but card identifies itself as VBE 3.0 compatible.
|
ATI Radeon Xkkkk series (starting with X700) |
PRB: Cannot use custom screen refresh rates, but card identifies itself as VBE 3.0 compatible.
|
nVidia GeForce 5xxx/6xxx/7xxx (and newer ones) |
PRB: Cannot use custom screen refresh rates, but card identifies itself as VBE 3.0 compatible.
|
Intel 7/8 Seies Chipset Graphics (and newer ones) |
PRB: Cannot use custom screen refresh rates, but card identifies itself as VBE 3.0 compatible.
|
nVidia GeForce 5xxx/6xxx/7xxx (and newer ones) |
PRB: Cannot set any resolution higher than 800x600.
|
VESA 1.x cards |
PRB: When accessing fullscreen textmode, computer "hangs".
|
Different VESA cards |
PRB: When calling VBE functions, highword bits of EAX register and may be others (i.e. 0x????0000) may contain garbage.
|
Matrox, Trident, TsengLabs cards |
PRB: When calling VBE functions, 16-bit R5G5B5 and R5B6G5 modes both reported as 16-bit. In some cases it confuses VESA programs - if I choose 16-bpp mode, which color model (555 or 565) will be used?
|
[!] Important [+] New [-] Fixed error [*] Changes [?] Comments 2005.05.07 [!] initial "Manual" version. later revised 2005.07.12 [!] pre-release "Universal" version. later revised 2006.02.20 [!] initial "Universal" version. 2006.11.09 [*] no vbe 3.0, i.e. no refresh rates - COMMENTED [*] no child devices (w2k+ all) - COMMENTED [!] vbe oem strings & modelist broken on some video cards [?] svga memory size=0 broken ? in vbe 1.02 (use split videomodeptr?) [!] vbe 1.x modes > 64 kb does not work [+] only 320x200x8bit in vbe 1.02 [?] no fullscreen text mode in vbe 1.02 cards, why? on 80486sx33/16mb - works... 2006.11.11 [!] try isa lfb at 0x0F00000 ? suckz! [!] _NT_DEBUGGING_EXTENSION_PATH ? ... Loaded dbghelp extension DLL The call to LoadLibrary(ext) failed, Win32 error 127 "The specified procedure could not be found." Please check your debugger configuration and/or network access. ... what is it? = use latest? version of WinDbg 2006.11.18 [*] Map all memory or a part of it, like in 640x480x4 - map needed part only [*] disable Uncached Speculative Write Combining (USWC) feature [+] use low res modes? - YES [+] crop biosregs.eax to 0x0000ffff ? - YES [!] nt3 is about to ioctl_share_memory/unshare (640x480x4) for DCI - NO [*] XMill/YMill from ROS 0.3.0 - YES [*] temp. removed all vbe 1.02 code!!! 2006.11.19 [!] remove TrampolineMemory2 & man.added +0x200 - ? [!] on Radeon 9000 vbe4 and vbe3 not working, "hangs" PC 2006.11.28 [?] got a rare VBE 1.02 PCI CL5446 SVGA... 1996yr - ?? LFB NOT WORKING [+] hack PhysBasePtr & ModeAttributes - YES [+] more sophisticated check for vbe 1.02 cards and LFB, ISA/?VLB/PCI [!] when going to textmode some ISA cards "hangs" PC 2006.11.30 [?] add vbe text modes, like 132x60 ? - NOT WORKING AT ALL [!] /maxmem=128 in boot.ini cures Radeon9000 on NT4 2006.12.01 [?] MapBankedMemory via c000:xxxx ? [?] MapBankedMemory tested.... check is framebuf/vga256/vga64k is needed? [?] mapmemory a000:0000 = 0x20000 bytes, getbankselectcode via vga256/vga64k. [+] sort modes by number (100 max) - YES [+] vbe strings and modelists shifted on some VGAs - fixed [*] remove "| 0x4000" for vbe 1.02 cards - fixed [+] new INFOVBE tool - another way to enumerate videomodes (slower but accurate) [*] MapBankedMemory removed from code due to erroneous vbe 1.02 - YES 2006.12.02 [?] use USWC ...P6_SPACE_CACHE, linear frame align to 4 mb or no ? - NO [+] rebuild MANUAL version of vbemp to synchronize changes in UNIVERSAL version. 2006.12.09-10 [?] 15bit to 16 bit ? [?] USWC works even on ISA cards :). [-] intel 82815e vbe 3.0 v/o lfb (fbptr = 0) - OK [?] offscreen memory for dx3? - may be for w2k+ [?] no mmx dll's for dx3 in nt4 d3drg24x.dll? - NO [?] on riva128zx 8mb reports as 4mb? - OK 2006.12.11 [!] ATI RADEON XPRESS 200M series (16 mb, vbe 2.0) works with manual version [+] add benches to site ? (dx/gl) - OK [+] two versions of UNIVERSAL vbemp for NT4+ avalable now: USWC and normal. 2006.12.26 [!] only 100 videomodes supported in all vbemp drivers except for 20feb06 builds [!] how to detect child devices - badly works? [!] how to check AGP capabilities - W2K+? [!] remember agp rate switching - XP+? [!] pci/agp/pci-e id's duplicating in XP? - use LEGACY driver model 2007.01.07 [!] first vbe 3.00 version is made [+] mode table = 43,56,60,70,72,75,85,90,100,120,200Hz [+] powermanagement NT5.0+ is made FULL (HwVidGet/Set...Power...) [+] powermanagement NT4.0 is made REQUEST ONLY (IOCTL_VIDEO_GET/SET...POWER...) [+] in future 2k/xp/2003 versions will be as 2in1: PnP and LEGACY [?] in legacy-mode APM, CHILDS & MonitorDDC features are not used. [?] ddc query disabled in w2k. :( [?] directdraw? [?] Ke386callbios crashes frequently on NT4, some on W2K. (But OK in nt3.x/XP) ? [?] how to switch sync+/-, doublescan+/-, interlaced+/-? [?] how to see/use "hardware default refresh" in PnP mode.? = 50Hz (1Hz?) [?] vbe strings in desk.cpl applet? for nt4 (w2k? xp?) [?] how to switch uswc+/-, full mem access+/-. (mtrr n/a in 3.x)? 2007.01.17 [!] changed some strings in mapmemory [+] new ref rates table (56-87-240) [?] in *.h/*.c - vberegcallback (testing) [?] rem'ed ioctl_set_color_registers 2007.02.18 [+] xp_2k3 version: reboot now not needed to install vbemp!!! hackhack!!! [?] it was (Failed to allocate virtual memory (Status c000009a)) [?] all: tested HalDisplayString(PCHAR) = (call InbvEnableDisplayString(TRUE) before it) [+] all: changed VbeFindAdapter() to accurate pci_agp_pcie cards detection.. 2007.02.20 [!] ifdef'ed: #POWERON for nt5+ only!!! [!] agp/pci detection renew'ed [!] in nt5+ only agp/apm caps displayed!!! 2007.04.19 [!] found & fixed memory allocation bug. in xp/2003 version - all ok 2007.04.22 [!] in SetCurrentMode() removed unneeded comments [-] nt_2k version: VBE30 refresh rate switching works better in Window NT 3.x [-] nt_2k version: Monitor detection code rewritten for W2K & uncommented [!] version from 19.04.2007 uses another addressing scheme for ES:EDI calls !!! (0x2000:0x0200) 2007.04.27 [!] re-arranged Result/status in VBEStartIO() [*] "Map all memory" fix removed, it was for DirectX only (no dx support now) [-] nt_2k version: finaly merged vbe20/vbe30 in vbe30safe driver (no-bugs). method#2 2007.05.04 [+] new VBE3TEST tool simulates VBE30 API (640x400x8 75Hz) and tests different refresh polarities (h/v +/-) [*] INFOVBE now shows Power management, Monitor & DDC info 2007.05.17 [+] pre-alfa support for VBE 1.x ISA/MCA/VLB/PCI cards with lfb [*] 50hz added to refresh rates list for vbe3.0, 55hz means std VBE2.0 mode [*] vbe20 / vbe30 versions for XP and NT-line is back again [*] vga13h is uptodate according to vbempnte 2007.06.03 [+] legacy-model drivers for w2k/xp/2003 is available now. [*] pci/agp/pnp/pci-e bus detection code is more accurate now [*] uswc, mem-alignment, hsync and vsync polarity now configurable by registry 2007.06.17 [+] pre-alfa drivers for nt31 is available now. [!] windows nt 3.5 now officially supported by vbemp [-] solved incompatibility problem with Microsoft VirtualPC 2004 [*] pnp display support now configurable by registry [-] eisa bus detection bug fixed 2007.07.15 [+] control panel extension for vbemp (first release) available now. 2007.07.21 [*] infovbe tool rewritten to accurate edid parsing process. 2007.07.22 [+] manual mode filtering and edid parsing added. [*] now vbemp can parse edid in legacy mode. [+] vbemp stores edid block in registry (VBE_RAWEDID parameter). 2007.08.17 [!] shadow buffer gdi acceleration now enabled by default in win2k and later 2007.10.06 [!] framevbe.dll: new shadow buffer accelerated library for windows nt4 2007.10.07 [*] small bug with VBE_ALIGN in vbemp.cpl fixed 2007.10.14 [*] prefast fix: mode filtering code [*] prefast fix: memory allocation [*] prefast fix: monitor edid parsing [-] mca bus detection bug fixed 2007.10.19 [*] removed unneeded debug messages [*] xp_2003 version is now vbe30safe (no-bugs). method#2 2007.12.06 [!] announced development of win9x version of vbemp. :) 2007.12.07 [*] "uswc"/"shadowbuffer acceleration" options now enabled by default (NT4/2k/XP/2003) 2008.03.05 [*] framevbe.dll: more accurate gdi raster operations handling - no more garbage! 2008.04.16-19 [+] xp_2003 version: banked framebuffers are supported now (i.e. intel810/815 chips) [-] all: vesa bios ver 1.00/1.01 now accepted (previously onlty 1.02 or above) [+] all: support for trident VBE 1.x ISA/MCA/VLB/PCI cards with lfb [+] w2k and later: agplimit is recorded in log [-] all: fixed stdvga mode 13h definition [*] all: uswc now can work in banked modes [!] ros vbemp port delayed for some reason 2008.04.26 [!] note that not all PCI Bus VESA 1.x cards are supported [+] xp_2003 version: intel 810/815 vesa 3.0 refresh rates support is done [*] rearranged DPRINT stuff [*] all vbemp debug versions deleted from site 2008.04.29 [*] infovbe tool updated 2008.05.05 [*] infovbe tool updated 2008.10.05 [*] 2k_xp_2003 version: hibernation support [+] 2k_xp_2003 version: added 320x240x8 mode support via MODEX.DLL driver, details here [-] all: fixed bug that lastly enumerated VESA mode is always unaccessible [-] all: fixes in mode querying routine 2008.11.05 [+] unified h/w accelerated driver project for CirrusLogic 54xx chips (with qemu support) started as branch of vbemp project 2008.11.16 [!] in winnt 4.0 only first ~296-297 enumerated modes are used with ANY videodriver, others are cutted down, no way to fix it [!] in winnt 3.51 only first ~310-350 enumerated modes are used with ANY videodriver, others are cutted down, no way to fix it [+] xp_2003 version: vga256.dll and vga64k.dll now not loaded by default in inf-file [-] all (vbe30): more strict/accurate vesa (gtf) refresh rate calculation [-] all (vbe30): fixed bugs with doublescan (< 640x400) and interlaced modes [!] driver package now including txtsetup.oem for unattended or textmode driver installation [-] broken oemsetup.inf for nt 3.x/3.5x installation corrected 2008.11.30 [!] framevbe.dll library now supports winnt 3.5x 2008.12.19 [!] vbemp.cpl control panel extension now supports Windows xp/2003 2009.01.03 [*] vga13h: now it supports ibm ega/vga monochrome modes 2009.01.08 [*] cl54xx: do not allow MCLK to be less than default value [*] cl54xx: in debug output GRx registers also listed [-] cl54xx: GD542x family now correctly supports 16/24-bit color [-] cl54xx: enable only 4 planes, as it mention in datasheets [*] cl54xx: correct PCLK for 1Mb GD5446 cards, they are different from 2Mb+ cards [*] cl54xx: 32-bit modes is enabled on GD543x/4x/6x/80 families only [*] cl54xx: removed 320x400 mode [*] cl54xx: doublescan modes only use 75Hz refresh rate [*] cl54xx: lowres modes cannot use > 75Hz refresh rate [-] cl54xx: h_clk rounded correctly [*] cl54xx: reset to vga_text_mode using direct i/o (good idea for vbemp also) [-] cl54xx: read/write ATC registers as it defined in STDVGA 2009.01.14 [*] infovbe: now it shows VESA save states, multidisplay and VBE/SCI options [*] vbemp: any mode >= 1024x768 supports 43, 48 Hz interlaced [*] vbemp: in nVidia cards with DVI-connected LCD display now can control scaling 2010.07.05 [+] framebuf: support now both 15 (R5G5B5) and 16 (R5G6B5) bit modes [*] framevbe: support now both 15 (R5G5B5) and 16 (R5G6B5) bit modes 2010.07.09 [*] vbemp: with matrox, trident, tsenglabs 16-bpp (R5G5B5) modes now reported as 15-bit [*] vbemp: 15-bpp with ati, cirruslogic, vbox, bochs, qemu, s3, intel (845G and before) cards [*] vbemp: 15-bpp with matrox, trident, tsenglabs cards [*] vbemp: support now both 15 (R5G5B5) and 16 (R5G6B5) bit modes [*] vbemp: on start shows copyright and driver version info [*] vbemp: first release of amd64, ia64 version, some NT banked "stuff" removed 2015.01.01 [-] vbemp: totally rewritten buggy monitor capabilities EDID parsing [*] vbemp: commented nonworking bankswitch VESA 1.x code (nt/w2k version) [+] vbemp: added 50 Hz refresh rate treated as interaced [?] vbemp: planned support for direct TV output using VGA-SCART cable and 25/30 Hz interaced modes [*] vbemp: reduced and optimized refresh rates count (mostly for NT due to low total modes hardwired limit) [*] vbemp: removed color bars on startup (w2k/xp/2003) :( [*] vbemp: removed unused power management code from legacy versions [+] vbemp: alternative display detection using reading SCL/SDA clock lines if read EDID fails (w2k/xp/2003) [*] vbemp: synchronized source code between nt/w2k version and xp/2003 version [*] vbemp: one shared code for i386, amd64 and IA64 architectures (xp/2003) [+] vbemp: in device manager videocard manufacturer is now shown (w2k/xp/2003) [-] vbemp: fixed memory leak in mode tables allocation code (vbe20 version) [*] vbemp: removed 5 second start delay [*] vbemp: corrected class 0x0301 detection [*] vbemp: corrected VLB detection code [*] vbemp: detect and call VESA bios before all other checks [*] cl54xxmp: reduced and optimized refresh rates count (mostly for NT due to low total modes hardwired limit) [+] cl54xxmp: implemented VESA DDC display detection using SCL/SDA clock lines [+] cl54xxmp: videocard model is shown in device manager (w2k/xp/2003) 2019.12.01 [?] vbemp: to do ... [?] cl54xxmp: to do ...
* term abbreviated to driver below.
Thank you for using driver.
Bearwindows and AnaPa Corporation