Diff for "FixVideoResolutionHowto"


Differences between revisions 26 and 27
Revision 26 as of 2007-02-17 11:11:59
Size: 13940
Editor: mt01-2
Comment:
Revision 27 as of 2007-02-17 11:26:53
Size: 13866
Editor: mt01-2
Comment:
Deletions are marked like this. Additions are marked like this.
Line 128: Line 128:
The best fix is provided by the software "915resolution"

https://h
elp.ubuntu.com/community/i915Driver
The best fix is provided by the software "915resolution". See [i915Driver]
Line 133: Line 131:

[Can I archive this on a separate page?]

Introduction

This Howto is intended for those who have problems with resolution or screen refresh rate (flickering), regardless of how they got to this situation. A possible reason for this is that your hardware (video adapter/monitor) may not have been detected properly.

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, especially if the video card or monitor is different from when you installed Ubuntu. Run the following command. If you open a sudo session first by entering sudo -v, you can then simply copy and paste the text below.

For Ubuntu 6.06 (Dapper Drake):

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

For Ubuntu 5.10 (Breezy Badger) and earlier:

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

A configuration page will appear, asking if you want to autodetect video hardware. Select yes, and you should be able to just hit enter a bunch of times to accept the autodetected configurations. 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, 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 Monitor User's Manual, the command line, or from online. Finding these values usually just involves searching [http://www.google.com Google] with the model of your monitor. One extensive list is at the [http://forum.linux-sevenler.org/index.php/topic,866.0.html?PHPSESSID=238b3fe295b404d31020ac23777c8a6f Lapis forum]

We need the horizontal sync frequency (usually measured in kHz) and the vertical refresh rate (usually in Hz). Both of these values are typically given in a range such as "30-98 kHZ" or "50-160 Hz".

Alternatively, 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. More importantly if your monitor is not detectable the Identifier will be called "Generic Monitor". In which case, don't change the Identifier to anything else otherwise X will fail to load and report that it can't find the a Monitor.

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

Intel Graphics driver (i810) won't use high screen resolutions

There is a common issue with Intel graphics resulting in screen resolutions not being available even after adding them to the xorg.conf file.

This problem appears sometimes for laptops with "non-standard"-screen resolution in combination with certain Intel graphic-chips. Background: It seems that 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.

The best fix is provided by the software "915resolution". See [i915Driver]

An older fix is provided by an earlier version of the software: "855resolution":

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 included 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 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 with the fglrx driver, 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 than your Desktop, you can scroll to the bottom of this Page to: "GDM uses a different Resolution than 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, completing 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 than my Desktop

This problem is easily 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.

You use the "nvidia" driver (Binary drivers)

It would seem that xorg cannot detect the possible resolutions when using the "nvidia" driver. For me, the only resolution I could use was my LCD's native resolution (1680x1050).

Here's how you fix this:

1) Make a backup of your /etc/X11/xorg.conf as shown in the previous examples

2) Open /etc/X11/xorg.conf as shown in the previous examples

3) Add the following line to your existing "Screen" section:

Option "UseEdidFreqs" "false"

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.


CategoryCleanup

FixVideoResolutionHowto (last edited 2011-11-04 22:07:48 by ckimes)