As you might have seen on another post, I recently picked up a Gateway 3018gz laptop. It’s a great laptop, but there are a few problems with it. The windows driver bit was somewhat excusable, but in addition to that the video bios does not have a video mode for the supplied 1280x768 resolution screen, resulting in fugly XFree86 until it can be prodded into the correct resolution. As a result, it is necessary to use a little magic to fix it by patching the bios in memory.
Update: The instructions below should probably no longer be needed when using Xorg.
1) Pick up a copy of 855resolution, conveniently available at http://perso.wanadoo.fr/apoirier/.
tar xzvf 855resolution-0.3.tgz
cd 855resolution
make && make install
2) Add the magic modeline (generated from our handy gtf) to the /etc/X11/XF86Config file:
Modeline “1280x768″ 80.14 1280 1344 1480 1680 768 769 772 795 -HSync +Vsync
3) Pick a resolution to overwrite and select that one for use
855resolution -l
In this case, I have something like:
Mode 3c : 1920x1440, 8 bits/pixel
Mode 4d : 1920x1440, 16 bits/pixel
Mode 5c : 1920x1440, 32 bits/pixel
I’m unlikely to use this, so I chose them to be replace, but it is a personal preference which to use:
855resolution 3c 1280 768
855resolution 4d 1280 768
855resolution 5c 1280 768
4) Finish setting up XFree86 as you would with any other installation. Note that these settings are not static and the bios must be patched by your init scripts each time the machine is started up. I did this on my Debian box with the following script:
#! /bin/sh
# Put me in /etc/init.d/855resolution
for i in 3c 4d 5c; do /usr/sbin/855resolution $i 1280 768 > /dev/null; done
And then:
chmod +x /etc/init.d/855resolution
update-rc.d 855resolution defaults 80