wildcard
April 8th, 2005, 05:18 PM
This is the definitive 855resolution guide for Hoary/Ubuntu, written with the novice in mind...
Using a terminal window, type in the following:
cd /etc/X11
sudo gedit xorg.conf
Make sure that you have modelines and display subsections that show your target resolution. My Dell 700m, on a fresh install, had the 1280x800 resolution already set. Yours may vary-since you're in here, you can add your target resolution in the display subection...
Section "Screen"
Identifier "Default Screen"
Device "Generic Video Card"
Monitor "Generic Monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x800" "1024x768" "800x600" "640x480"
EndSubSection
And for your modelines...
Section "Monitor"
Identifier "Generic Monitor"
HorizSync 30-90
VertRefresh 50-160
Option "DPMS"
Modeline "1280x800_60.00" 83.46 1280 1344 1480 1680 800 801 804 828
-HSync +Vsync
My theory is that X.org is a little smarter that XFree86, so you should have these already present and will not need to modify this xorg.conf file.
The 855resolution patch can be downloaded from here:
http://perso.wanadoo.fr/apoirier/
Save this file to your desktop, then extract it. I'd create a folder named 855rez in your /home/xxx directory (where xxx is the user account you're logged in as)
Go to synaptic package manager and install GCC-you'll need this for the install
Using a terminal window, go to the folder where you extracted the patch (/home/xxx/855rez if you're using my defaults). At the prompt, type in:
make
This will process the patch. At the next prompt type:
sudo make install
This will install the 855resolution files to the /home/xxx/855rez folder. At the next prompt, type:
sudo 855resolution -l
You will see a bunch of resolution modes. This is my output for reference:
VBIOS Version: 3104
Mode 30 : 640x480, 8 bits/pixel
Mode 32 : 800x600, 8 bits/pixel
Mode 34 : 1024x768, 8 bits/pixel
Mode 38 : 1280x1024, 8 bits/pixel
Mode 3a : 1600x1200, 8 bits/pixel
Mode 3c : 1280x800, 8 bits/pixel
Mode 41 : 640x480, 16 bits/pixel
Mode 43 : 800x600, 16 bits/pixel
Mode 45 : 1024x768, 16 bits/pixel
Mode 49 : 1280x1024, 16 bits/pixel
Mode 4b : 1600x1200, 16 bits/pixel
Mode 4d : 1280x800, 16 bits/pixel
Mode 50 : 640x480, 32 bits/pixel
Mode 52 : 800x600, 32 bits/pixel
Mode 54 : 1024x768, 32 bits/pixel
Mode 58 : 1280x1024, 32 bits/pixel
Mode 5a : 1600x1200, 32 bits/pixel
Mode 5c : 1280x800, 32 bits/pixel
Mode 7c : 1280x801, 8 bits/pixel
Mode 7d : 1280x801, 16 bits/pixel
Mode 7e : 1280x801, 32 bits/pixel
As you can see I already have 1280x800 resolutions enabled. Choose a Mode that you will never use for sure, like a ridiculously high resolution that your monitor can't support, and run the patch against it.
At your terminal prompt, type:
sudo 855resolution 5a 1280 800
What that will do is set mode 5a (the one I picked) to a resolution of 1280 800. If you need to set this to something different, use those values..for example, if your monitor is 1440x1000, your line should look like "sudo 855resolution 5a 1440 1000".
At your next prompt, rerun:
sudo 855resolution -l
Check to see that your new modeline is in place. If so, you can restart X windows by hitting the CTRL, ALT, and Backspace keys on your keyboard at the same time...your new resolution should now take effect.
You'll need to run this patch every time you boot, as the BIOS will forget it on reboot. Go to Applications/Text Editor and create a new document with the following line:
855resolution 5a 1280 800 (remember, my example is for the 1280x800 widescreen resolution)
Save this file as "startupscript" on your desktop.
Go into a terminal window again and type:
sudo cp /home/xxx/Desktop/startupscript /etc/init.d/startupscript
This will move the file to where it needs to be. At your next prompt, type in:
cd /etc/init.d
At your next prompt, type in:
sudo chmod a+x startupscript
This sets the script file with the correct permissions.
To have this run at boot, you'll need to use Synaptic Package manager to get rcconf (apt-get install rcconf). Once this is done, go back to a terminal and type:
sudo rcconf
You should see a window with a bunch of choices with * next to them. Scroll down, and you should see startupscript on that list. Use the spacebar to place * next to startupscript, then tab to OK and this should get you back to the terminal window.
Last (and this gets missed a LOT!),the applications in rcconf are loaded in alphanumerical order. Ubuntu's runlevel (used by rcconf) is 2, so at your terminal window, type:
cd /etc/rc2.d
dir
The dir command will give you a list of files, all with names like S00nameoffile. Take note of where the GDM line is. On Hoary 5.04 live, mine shows as S13gdm. Your startupscript file should be in here too, probably as S20startupscript. The issue is that your script needs to run BEFORE GDM starts! To do this, note where the Sxx gaps are...if you go from S05 to S10, you have a range to work with...At your terminal window, type in:
sudo cp /etc/rc2.d S20startupscript /etc/rc2.d S09startupscript
This will place a copy of your startupscript BEFORE GDM in the boot order. If you run:
dir
from the terminal prompt, you should now see your S09startupscript in the directory list.
At this point, restart Ubuntu. While all the verbose parts of your kernel are loading, you should see a line about 855resolution and patch applied to 1280 800 (or whatever target resolution you were gunning for...).
Enjoy!
Using a terminal window, type in the following:
cd /etc/X11
sudo gedit xorg.conf
Make sure that you have modelines and display subsections that show your target resolution. My Dell 700m, on a fresh install, had the 1280x800 resolution already set. Yours may vary-since you're in here, you can add your target resolution in the display subection...
Section "Screen"
Identifier "Default Screen"
Device "Generic Video Card"
Monitor "Generic Monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x800" "1024x768" "800x600" "640x480"
EndSubSection
And for your modelines...
Section "Monitor"
Identifier "Generic Monitor"
HorizSync 30-90
VertRefresh 50-160
Option "DPMS"
Modeline "1280x800_60.00" 83.46 1280 1344 1480 1680 800 801 804 828
-HSync +Vsync
My theory is that X.org is a little smarter that XFree86, so you should have these already present and will not need to modify this xorg.conf file.
The 855resolution patch can be downloaded from here:
http://perso.wanadoo.fr/apoirier/
Save this file to your desktop, then extract it. I'd create a folder named 855rez in your /home/xxx directory (where xxx is the user account you're logged in as)
Go to synaptic package manager and install GCC-you'll need this for the install
Using a terminal window, go to the folder where you extracted the patch (/home/xxx/855rez if you're using my defaults). At the prompt, type in:
make
This will process the patch. At the next prompt type:
sudo make install
This will install the 855resolution files to the /home/xxx/855rez folder. At the next prompt, type:
sudo 855resolution -l
You will see a bunch of resolution modes. This is my output for reference:
VBIOS Version: 3104
Mode 30 : 640x480, 8 bits/pixel
Mode 32 : 800x600, 8 bits/pixel
Mode 34 : 1024x768, 8 bits/pixel
Mode 38 : 1280x1024, 8 bits/pixel
Mode 3a : 1600x1200, 8 bits/pixel
Mode 3c : 1280x800, 8 bits/pixel
Mode 41 : 640x480, 16 bits/pixel
Mode 43 : 800x600, 16 bits/pixel
Mode 45 : 1024x768, 16 bits/pixel
Mode 49 : 1280x1024, 16 bits/pixel
Mode 4b : 1600x1200, 16 bits/pixel
Mode 4d : 1280x800, 16 bits/pixel
Mode 50 : 640x480, 32 bits/pixel
Mode 52 : 800x600, 32 bits/pixel
Mode 54 : 1024x768, 32 bits/pixel
Mode 58 : 1280x1024, 32 bits/pixel
Mode 5a : 1600x1200, 32 bits/pixel
Mode 5c : 1280x800, 32 bits/pixel
Mode 7c : 1280x801, 8 bits/pixel
Mode 7d : 1280x801, 16 bits/pixel
Mode 7e : 1280x801, 32 bits/pixel
As you can see I already have 1280x800 resolutions enabled. Choose a Mode that you will never use for sure, like a ridiculously high resolution that your monitor can't support, and run the patch against it.
At your terminal prompt, type:
sudo 855resolution 5a 1280 800
What that will do is set mode 5a (the one I picked) to a resolution of 1280 800. If you need to set this to something different, use those values..for example, if your monitor is 1440x1000, your line should look like "sudo 855resolution 5a 1440 1000".
At your next prompt, rerun:
sudo 855resolution -l
Check to see that your new modeline is in place. If so, you can restart X windows by hitting the CTRL, ALT, and Backspace keys on your keyboard at the same time...your new resolution should now take effect.
You'll need to run this patch every time you boot, as the BIOS will forget it on reboot. Go to Applications/Text Editor and create a new document with the following line:
855resolution 5a 1280 800 (remember, my example is for the 1280x800 widescreen resolution)
Save this file as "startupscript" on your desktop.
Go into a terminal window again and type:
sudo cp /home/xxx/Desktop/startupscript /etc/init.d/startupscript
This will move the file to where it needs to be. At your next prompt, type in:
cd /etc/init.d
At your next prompt, type in:
sudo chmod a+x startupscript
This sets the script file with the correct permissions.
To have this run at boot, you'll need to use Synaptic Package manager to get rcconf (apt-get install rcconf). Once this is done, go back to a terminal and type:
sudo rcconf
You should see a window with a bunch of choices with * next to them. Scroll down, and you should see startupscript on that list. Use the spacebar to place * next to startupscript, then tab to OK and this should get you back to the terminal window.
Last (and this gets missed a LOT!),the applications in rcconf are loaded in alphanumerical order. Ubuntu's runlevel (used by rcconf) is 2, so at your terminal window, type:
cd /etc/rc2.d
dir
The dir command will give you a list of files, all with names like S00nameoffile. Take note of where the GDM line is. On Hoary 5.04 live, mine shows as S13gdm. Your startupscript file should be in here too, probably as S20startupscript. The issue is that your script needs to run BEFORE GDM starts! To do this, note where the Sxx gaps are...if you go from S05 to S10, you have a range to work with...At your terminal window, type in:
sudo cp /etc/rc2.d S20startupscript /etc/rc2.d S09startupscript
This will place a copy of your startupscript BEFORE GDM in the boot order. If you run:
dir
from the terminal prompt, you should now see your S09startupscript in the directory list.
At this point, restart Ubuntu. While all the verbose parts of your kernel are loading, you should see a line about 855resolution and patch applied to 1280 800 (or whatever target resolution you were gunning for...).
Enjoy!