VESA VBE Question
This is not a specific Linux question , but I believe some of the Linux users may be familiar with this issue.
I have used VESA functions for a long time , but always to select a preset video mode which is present in the BIOS of the graphics card.
I need to set the graphics mode (using a suitable card) to 1920x1200x8 , but the various graphics cards I have tested provide 1920x1440x8.
1) Can the Set VBE function (VESA 3.0 function 4F02h ) be used to set an arbitrary resolution OR can it only modify the refresh rate?
2) Where can I find an understandable description of how to generate the parameters of function 4F02 ?
It's been long since the last time I had to use VBE modes for anything, and vesa 3.0 has come lately. But as far as I know, the most you can customize a given mode is be changing the refresh rate on 3.0.
Originally Posted by Brian12345
Theoretically, vesa was designed with the idea of having a set of standard vesa modes, aproved by the vesa organization, which should be the only available. In practice, you can use any mode that you graphics bios can handle. So, if your bios supports it, you can use it, regardless of the mode being or not standard. If your bios can't handle it, you can't use it, even if it's supposedly a vesa standard mode.
Even if it's a standard or supported mode, the ID for each mode can vary from bios to bios, so, you first need to probe your video bios for a list of available modes. This is what vbetest and all the vesa drivers do.
Maybe there's a way, I haven't touched vesa for ages, since it's first versions.
EDIT: About the mode detection: look on the pdf about the standard:
On appendix 2 you have many code samples. On a quick view I saw some C code to detect the available modes.