System reverts to 87Hz refresh rate at every startup after I have installed nvidia drivers

Every time the system starts the screen's refresh rate reverts to 87Hz which results in a pixelated and flickery screen At every boot up which I have to manually correct every time by either selecting 60Hz as my refresh rate. Manually Changing o 60Hz

I have tried "save to X configuration files" and even tried by making the changes as Root but to no avail as it again reverts to 87Hz on every system startup The same result

The Open Source Drivers are Okay for regular Unity but many games don't work on it hence I had to install the nvidia drivers. I have been facing this since the Beta Phase although this is on a fresh installation of 12.04 final release. I am also providing my Xorg.conf file just in case it might help http://paste.ubuntu.com/952196/

Also for some reason Displays shows my CRT monitor as Laptop but on open source drivers it was mentioning it as a 14" CRT only enter image description here

This bug is also present on Edubuntu 12.04 Edubuntu

This is not present on Xubuntu 12.04 :-) I had selected to install updates and 3rd party software on the install and was greeted with a correct refresh rate screen on the Boot Up. I like Xubuntu.


Solution 1:

None of the mentioned proccedures will work for you properly.the same prob makes my 12.04 upgrade a hell too. i just got rid of this prob & i m gonna share my soln with u. Hope it 'll help u the best:

A. first u need to set lightdm res.

1. Type/copy this command in terminal to show your display details:

   xrandr -q 

    If you only have one monitor you will see a line in the output like the following ( probably with some different values, its the identifier at the start we are after):

   VGA-1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm


2. Now you need to create a bash script:

   Open up your favourite text editor, lets use gedit for this example, press alt+f2 and type ”gedit”          
   Type/copy this line (replacing “1024x768″ with your desired resolution): 

   #!/bin/sh

   xrandr --output VGA-0 --primary --mode 1024x768

  Save this on your home folder as ”lightdmxrandr.sh”.
  You should test this script before you put it into practice. 

3. Now make it executable (by chmod command or from property dialog box)

4. Now run it:

 ./lightdmxrandr.sh 

5. If everything goes right move the script somewhere more appropriate:

    sudo mv ~/lightdmxrandr.sh /usr/share/ 

6. now run this in lightdm, navigate to lightDM  folder & Open up the lightDM conf file:

   sudo gedit /etc/lightdm/lightdm.conf

7. Now add the line below after the last line and save – this instructs LightDM to use the resolution script you just made:

   display-setup-script=/usr/share/lightdmxrandr.sh

B. Now reboot or restart LightDM and the correct resolution should be set on your LightDM log in screen & display.

C. 1. Now install nvidia driver 

   2. set proper display resolution & save the configuration file:

   sudo nvidia-settings

USE VALUES ACCORDING TO YOUR SYSTEM. VALUES USED HERE ARE ACCORDING TO MY SYSTEM .

*********************************************************************************** Enjoy!

Solution 2:

In Xubuntu(since it is working) Type xrandr in terminal to get a list of screen modes. There will be a star next to the current used mode something like

1024x760 60* 87

It might also list several other refresh rates, what we need to do is edit the xorg.conf file so that Unity will not use rates your screen does not support, so type in terminal-

gksudo gedit /etc/X11/xorg.conf

The section we want to change is the upper limit of the VertRefresh here

Section "Monitor"

# HorizSync source: edid, VertRefresh source: edid
Identifier     "Monitor0"
VendorName     "Unknown"
ModelName      "LG Electronics 500G"
HorizSync       30.0 - 54.0
VertRefresh     50.0 - 120.0
Option         "DPMS"
EndSection

Try changing the VertRefresh range to something like 50 - 75 so that it excludes the mode of 87Hz when Unity starts, Save the file and restart, then try xrandr to see the list of screen modes again. Lastly change the session to Unity to see if it was successful.