Patch the Video BIOS
From openSUSE
| This article should be included in the Support Database! This article should be polished to adhere to the Support Database (SDB) standards, and then moved to the SDB. |
| Version: 10.2
| The information below is for openSUSE 10.2 and older. For newer releases, the intel X-server should be used instead of i810 and should no longer require the patching described here. |
Contents |
Introduction ("The Problem")
In contrast to Microsoft Windows graphics drivers, the Linux X.org server respects the supported VESA video modes as listed in the Video BIOS.
On some newer laptops with Intel chipsets and non-standard resolutions, the hardware vendors don't include the native resolution of the LCD display in the list of supported resolutions. It seems the reason is that these resolutions are not standard VESA-modes.
The result is that X.org refuses to start in the native resolution on such devices. However, operating LCD displays in non-native resolutions is not recommended as the result is either "black bars" or an interpolated, blurred picture.
The Solution
To work around this problem, the tools 855resolution and the newer 915resolution are available which temporary changes the list of supported resolutions in the RAM copy of the video BIOS. This has to be done on each boot before starting the X.org server. It also has to be repeated during resume from suspend to disk.
The current SUSE releases (from 10.1 on) not only include that package (855resolution in 10.1/SLED10, 915resolution since 10.2), but also an infrastructure to have it called automatically during normal boot.
Both pm-utils (10.2 and newer) and powersaved (in 10.1 and SLED10) use this infrastructure to re-patch the BIOS during resume, so you should not need to care about this. For older releases you might need to configure this manually.
The boot script /etc/init.d/boot.videobios does the actual work. The configuration is stored in /etc/sysconfig/videobios.
Configuration
Note: it is normally not necessary to set this manually, since sax2 takes care of configuring this.
To use this feature, please follow this description:
- Become root
- Ensure that the boot.videobios service is activated by running chkconfig boot.videobios.
- If it is "off", enable it with insserv boot.videobios.
- Run 855resolution -l or 915resolution -l to read the list of supported modes from the RAM copy of the video BIOS.
- Identify a resolution (mode) which you won't use normally. Note the resolution number (the hexadecimal number after Mode).
- Identify the native resolution of your LCD display. Should be available on the internet, product sheets, and from your manual.
- Edit /etc/sysconfig/videobios. Set VIDEOBIOS_PATCH to yes and VIDEOBIOS_PARAMETERS to the mode followed by X and Y resolution. For example, if you identified the mode 3c and have a native resolution of 1400x1050, you could set:
VIDEOBIOS_PATCH="yes" VIDEOBIOS_PARAMETERS="3c 1400 1050"

