FixVideoResolutionHowto

Revision 12 as of 2006-04-15 09:30:43

Clear message

Introduction

This Howto is intended for those who have installed or upgraded to Hoary, and their screen resolution is very low. A possible reason for this is that your hardware (video adapter/monitor) may not have been detected properly. There are several fixes that I have seen in the forum and in the IRC support channel. One solution will work for one person and another solution will work for someone else. I hope to provide several different solutions here, ranked in decending order from what I have seen to be the most popular and successful solution to those solutions that have helped only a few. This way, hopefully it will provide an answer for everyone. Let's start with the most popular fix.

For ATI Users I recommend reading the ATI - Refresh Rate & Resolution Quickfix part on the bottom of this Page.

Run the Autodetect Script Again

I'm not sure that this is the solution that works for the most people actually, but it most certainly is the quickest and easiest one. All we're doing is running the same script that tried to detect your video hardware when you initially installed. Sometimes this does help. Run the following command.

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.custom
sudo sh -c 'md5sum /etc/X11/xorg.conf > /var/lib/xfree86/xorg.conf.md5sum'
sudo dpkg-reconfigure xserver-xorg

After completion, close any open windows or programs you have running on your desktop and press CTRL-ALT-Backspace to restart X. You will be asked to log into your GNOME session again and hopefully everything will be fixed. If not, try the next solution.

Undetected Monitor Specs

Open the file /etc/X11/xorg.conf in your favorite text editor. I'll assume you are using nano for an editor as it is fairly straight forward.

sudo nano /etc/X11/xorg.conf

Now look for a section in that file called Section "Monitor". Once you find this section, look at the lines of text between Section "Monitor" and EndSection. There should be two lines in there that begin with the words HorizSync and VertRefresh. If those lines don't appear there then don't worry. There is a good chance that we've found the problem already!

You will need to gather two bits of information for your monitor now, either from your User's Manual, the command line, or from online. We need the horizontal sync frequency (usually measured in kHz) and the vertical refresh rate (usually in Hz). Finding these values usually just involves searching [http://www.google.com Google] with the model of your monitor. Both of these values are typically given in a range such as "30-98 kHZ" or "50-160 Hz". Write those values down, or otherwise keep them handy. Additionally, if your monitor supports it, you can just run the following command:

sudo ddcprobe | grep monitorrange

The first two values returned are your HorizSync rates, the second pair is your VertRefresh values.

There are two ways to enter your monitor information into the file. One way is to run the following commands which will regenerate the file and ask you for the values in the process.

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.custom
sudo sh -c 'md5sum /etc/X11/xorg.conf > /var/lib/xfree86/xorg.conf.md5sum'
sudo dpkg-reconfigure -plow xserver-xorg

The second way is to simply add those values to our /etc/X11/xorg.conf file with a text editor. But first, lets make a backup of that file just in case an error is made.

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup

Editing this file so that it works involves adding two extra lines to the Section "Monitor" section of that file. For example, mine is shown below.

NOTE: Don't change anything that is written in the file for now. Just add the two lines. The snippet from my file is just an example and may not apply to your hardware.

Section "Monitor"
     Identifier         "FLATRON 995F"
     Option             "DPMS"
     HorizSync          30-96
     VertRefresh        50-160
EndSection

Now save the file, close all open applications, and press CTRL-ALT-Backspace to restart X. Assuming all goes well, you will be prompted to log into your session again.

NOTE: - If you are using XFree86 then you needed to edit /etc/X11/XF86Config-4. Also if you have an issue where only 800x600 is available in the dropdown for screen resolution, then modifying the Modes line within the section in that file called Section "Monitor" and adding the required resolution could solve this.

        SubSection "Display"
                Depth           24
                Modes           "1024x768" "800x600" "640x480"
        EndSubSection

Resolution is not delivered by the vBios

This problem appears sometimes for laptops with "non-standard"-screen resolution in combination with certain Intel graphic-chips. Background: It seems like the Video Bios (vBios) has to deliver the right resolution for the lcd-screen to enable the autoconfiguration to set this resolution. However sometimes the right resolution is not delivered and consequently the right resolution can not be implemented. You can fix the problem by overwriting the vBios setting in the RAM by using a program called 855resolution.

Here is the description of the 855resolution-developer: "855resolution is a software to change the resolution of an available vbios mode for the 855 / 865 / 915 Intel graphic chipset" To install 855-resolution on Ubuntu 5.10 make sure that you have includet the "universe" repository and type:

sudo apt-get install 855resolution

Once the program is installed you can use the program to list all available vBios modes:

sudo 855resolution -l

The result should look similar to:

855resolution version 0.4, by Alain Poirier

Chipset: Unknown (id=0x25908086)
VBIOS type: 2
VBIOS Version: 3412

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 : 1400x1050, 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 : 1400x1050, 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 : 1400x1050, 32 bits/pixel

If the resolution of your sceen is not present then you can permanently overwrite a unused mode by the value of you screen. For example if you want to overwrite the mode 41 by the resolution 2400x1600 edit the the file /etc/default/855resolution

sudo gedit /etc/default/855resolution

Your file should look similar to: {{{} # # 855resolution default # # find free modes by /usr/sbin/855resolution -l # and set it to MODE # MODE=41 # # and set resolutions for the mode. XRESO=2400 YRESO=1600 }}} This will ensure that the vBios mode 41 is overwritten in the RAM at boot-time, before initializing the X-windows. Since the resolution is now available in the vBios your system should automatically be able to set the right resolution after rebooting.

Incorrect DefaultDepth

Sometimes the automatic X configuration sets the colour depth to a value higher than some hardware can properly handle. To see if this is the case for you, first backup your /etc/X11/xorg.conf file.

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup

Now open the file in your favourite text editor. I'll assume you'll use nano for now since it is relatively simple to use, but you can use whatever text editor you like.

sudo nano /etc/X11/xorg.conf

Search for the word DefaultDepth (notice it is one word) in that file. The default colour depth set by Hoary is typically "24", but as mentioned, some hardware may not be able to use a value that high. It's pretty safe to change it to something like "16" just to test whether it solves your video problems or not. If this change does not solve anything, it is just as simple to change it back the way it was.

Once the value of DefaultDepth is changed, save the file, close all open windows on your desktop, and press CTRL-ALT-Backspace to restart X. Assuming all goes well, you will be prompted to log into GNOME again, hopefully at a higher resolution.

ATI - Refresh Rate & Resolution QuickFix

For those of you who run an ATI card, try running (In a Terminal):

sudo aticonfig

Follow the on-screen Instructions. This should fix the issue after restarting GDM. For Instance on a Setup with:

° 1 CRT Monitor ° No TV-Out

I would be running these commands:

sudo  aticonfig --initial --input=/etc/X11/xorg.conf
sudo  aticonfig --resolution=1600x1200,1280x1024,1024x768
sudo  aticonfig --force-monitor=crt1,notv

After you ran your aticonfig commands, you need to restart GDM, to restart GDM use the following command:

/etc/init.d/gdm restart

That should fix it for good! If you experience a different Resolution being used for GDM then your Desktop, you can scroll to the bottom of this Page to: "GDM uses a different Resolution then my Desktop" to fix the issue.

GDM looks right, but Gnome looks wrong

This problem occured on a vanilla installation of 5.10 that -- somewhat unnaturally -- was running under VirtualPC. Because this was not a normal device, I set the device to VESA and the resolution to 1024x768 in the configuration manager by:

sudo dpkg-reconfigure xserver-xorg

Naturally, make sure you configure these settings properly for your hardware.

These settings allowed GDM to present a normal login screen. However, completely login caused the display to fail.

Fix this by running the gconf-editor tool as a normal user and altering the screen settings within Gnome's XML configuration registry to equal the /etc/X11/xorg.conf settings:

startx gconf-editor

Browse the editor to /desktop/gnome/screen/default/%d where %d will probably be 0. Select this node and change the resolution to your resolution of choice, and make sure rate is something functional for your display device as well.

Exit the editor, and try logging in through GDM again.

GDM uses a different Resolution then my Desktop

This problem is easerly solvable, to fix it do the following:

1) Make a Backup of your xorg.conf

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

2) Open xorg.conf

sudo gedit /etc/X11/xorg.conf

3) Locate your Screen Entry

Section "Screen"

You will find multiple entries similar to:

        SubSection "Display"
                Depth     24
                Modes    "1280x1024" "1024x768"
        EndSubSection

The First Entry in the "Modes" Line is what GDM will use, so change it to something lower/higher (Please make sure you know that your monitor and Graphic Card BOTH support this Resolution).

Save the file and close all running applications, restart GDM (/etc/init.d/gdm restart) and look if everything went fine.

If not you can always use:

sudo cp /etc/X11/xorg.conf.bak /etc/X11/xorg.conf

To restore your system to the previous State

The End

So far, this is all of the possible solutions I've collected for this problem. If none of the above corrected your situation, consider posting your question in the [http://www.ubuntuforums.org Ubuntu Support Forum] or in the #ubuntu IRC support channel on the irc.freenode.net network.

CategoryDocumentation