Ubuntu – ubuntu 12.04 nvidia breaks resolution

12.04driversnvidiaxorg

i am running ubuntu 12.04 64-bit and i have a nvidia Geforce GT 650m, it was running fine with 1920 x 1024, except a lot of tearing everytime i ran videos. I thought activating the nvidia driver maybe would fix this.

When entering "nvidia X server setting" it says " you do not appear to be using nvidia X driver. Please edit your X configuration file ( just run "nvidia-xconfig" as root), and restart the X server. I did and then the computer reboots with a resolutioin of 640 x 480. How can i restore the previous settings, or preferably get it to show full resolution without tearing ?

When i enter "nvidia X Server Settings" now it still says the same as above, " do not appear to be using nvidia X driver"

when i go to "system settings, additional drivers" it says nvidia_current –> "This driver is activated but not currently in use"

astr0

EDIT: output of xorg.conf

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 304.48  (buildmeister@swio-display-x86-rhel47-05.nvidia.com)  Sun Sep  9 21:29:02 PDT 2012

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Best Answer

You are using a mobile GPU, so i'm assuming you are using it in a laptop, probably in a configuration with a 3rd Gen Intel Core CPU (Ivy Bridge). All mobile versions for the Ivy Bridge feature the Intel HD 4000 graphics as integrated graphics processor (IGP).

Summary

  • Delete /etc/X11/xorg.conf (don't forget to make a backup)
  • Manually switch between IGP and dedicated GPU using either Bumblebee or PRIME.

Background

This configuration has the advantage, that for less graphic intensive applications the IGU can be used which has a lower energy-consumption. However, in my case it meant, that Ubuntu always used the IGU independent of whether I had installed the Nvidia drivers or not. That's why your configuration says This driver is activated but not currently in use.

Low Resolution Problem

You probably have never used your Nvidia card until you asked the question. The xorg.conf generated by nvidia-xconfig expects a Nvidia card to be used, that is not the case, so I guess the X-server uses some failsafe output mode. That Problem can easily be solved by deleting xorg.conf file.

sudo rm /etc/X11/xorg.conf

Than restart your Window Manager (or reboot), e.g.

sudo restart lightdm

You should have your resolution back now.

Switching between IGU and dedicated GPU

There are multiple ways how to approach enabling support for hybrid graphics. The Hybrid Graphics Linux Team (new user max 2 links, google for launchpad+hybrid-graphics-linux) gives a comprehensive overview. From what I've seen the easiest to use and most advanced technologies are Bumblebee and PRIME. In both cases you start the applications that should use the dedicated GPU with a specific prefix.

Bumblebee

Bumblebee either uses the free noveau or the proprietary Nvidia driver. So far I only tried Bumblebee, which seems to be the better working solution for the Intel and Nvidia combination. There is an Ubuntu wiki page (google wiki+ubuntu+Bumblebee), that describes the steps on how to install it. After the installation you can run applications using the dedicated GPU by prefixing them with optirun. E.g.:

optirun glxgears

The Nvidia settings will only work if the card is active so you have to run

optirun nvidia-settings -c :8

to get to the settings. The monitor configuration works via the default tool.

Addendum

PRIME seems to be working good in the combination AMD-IGU with Nvidia GPU. But There does not seem to be much comprehensive reading about it.

The hybrid support is still somewhat early and depending on your specific configuration either PRIME or Bumblebee may be the better solution for you.