Results 1 to 10 of 11

Thread: Intel Video Drivers & Xorg Resolution Guide (Ubuntu 10.04) [H67 Chipset Sandy Bridge]

Threaded View

  1. #1
    Join Date
    Jul 2009
    Beans
    98

    Intel Video Drivers & Xorg Resolution Guide (Ubuntu 10.04) [H67 Chipset Sandy Bridge]

    Native Resolution Support Ubuntu?

    I had all sorts of problems trying to get my Ubuntu 10.04 Lucid installation to use the correct resolution on my widescreen monitor. My native resolution didn't even show up in the display settings, and my monitor couldn't be detected. It was shown as unknown. After following countless guides, I couldn't get it to detect my monitor or use its native resolution. I installed intel drivers, but after installing them, they were not being used by Xorg. I think it's because my system uses Sandy Bridge hardware, and as such, there are a few bugs in Ubuntu 10.04. After spending 8+ hours, I got it to work.

    This guide should work for motherboards using integrated intel video with the H67 chipset (sandy bridge)

    My system specs just in case it is hardware related:

    Code:
    Intel i7 2600k CPU
    ZOTAC H67ITX-C-E LGA 1155 Intel H67 Mini ITX Intel Motherboard
    8GB of DDR3
    1TB Hard Drive
    Blu-ray Burner
    Integrated Intel Graphics
    Quick Note on Kernel Version

    Note, you may need to download and use the latest Kernel for Ubuntu 10.04. You can do this by listing the newest kernels available:

    Code:
    apt-cache search linux-image
    To install the latest, use the following:

    Code:
    sudo apt-get install linux-image-[LATEST] linux-headers-[LATEST]
    #Where LATEST = the most recent kernel version listed by using the above command.
    Guide for Installing Video Drivers and Setting Resolution (Ubuntu 10.04)

    Add the following PPA to the system's software sources by first loading the list:

    Code:
    sudo nano /etc/apt/sources.list
    Then, add the following lines to the bottom of the file:

    Code:
    
    deb http://ppa.launchpad.net/glasen/intel-driver/ubuntu lucid main 
    deb-src http://ppa.launchpad.net/glasen/intel-driver/ubuntu lucid main
    Save the file and exit. Now run:

    Code:
    sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 066ADE1D
    sudo apt-get update
    sudo apt-get upgrade
    Right, the intel drivers have been installed, but the vesa drivers are still in use.

    Before we restart your computer, let's get some information about the resolution mode we'll create later by running this command:

    Code:
    cvt [width] [height]  
    # where width is your desired screen resolution width 
    # where height is your desired screen resolution height.
    You should get a line that looks similar to:

    Code:
    eric@i7ubuserver:~$ cvt 1440 900
    # 1440x900 59.89 Hz (CVT 1.30MA) hsync: 55.93 kHz; pclk: 106.50 MHz
    Modeline "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync
    All LCD monitors use a refresh rate of 60Hz by default. However, we need the exact refresh rate for later... write down the resolution and the refresh rate (in my case it was 1440x900_60.00).

    [Following SECTION Assumes You Are Logged In as Root in Recovery Mode]

    Restart your system. Boot up into recovery mode by getting the boot menu to show by holding down the Shift key. Choose the kernel with (recovery) in parenthesis. Once the "terminal" loads, you'll be logged in as root. Now generate the Xorg.conf file by:

    Code:
    sudo Xorg -configure
    The xorg file is created and located here:

    /root/xorg.conf.new

    Edit the config:

    Code:
    sudo nano /root/xorg.conf.new
    By default, it should look similar to this:

    Code:
    Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
    EndSection
    
    Section "Files"
        ModulePath   "/usr/lib/xorg/modules"
        FontPath     "/usr/share/fonts/X11/misc"
        FontPath     "/usr/share/fonts/X11/cyrillic"
        FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
        FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
        FontPath     "/usr/share/fonts/X11/Type1"
        FontPath     "/usr/share/fonts/X11/100dpi"
        FontPath     "/usr/share/fonts/X11/75dpi"
        FontPath     "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
        FontPath     "built-ins"
    EndSection
    
    Section "Module"
        Load  "dri2"
        Load  "dbe"
        Load  "record"
        Load  "extmod"
        Load  "glx"
        Load  "dri"
    EndSection
    
    Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
    EndSection
    
    Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option        "Protocol" "auto"
        Option        "Device" "/dev/input/mice"
        Option        "ZAxisMapping" "4 5 6 7"
    EndSection
    
    Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
    EndSection
    
    Section "Device"
            ### Available Driver options are:-
            ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
            ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
            ### [arg]: arg optional
            #Option     "AccelMethod"            # [<str>]
            #Option     "DRI"                    # [<bool>]
            #Option     "ColorKey"               # <i>
            #Option     "VideoKey"               # <i>
            #Option     "FallbackDebug"          # [<bool>]
            #Option     "Tiling"                 # [<bool>]
            #Option     "Shadow"                 # [<bool>]
            #Option     "SwapbuffersWait"        # [<bool>]
            #Option     "XvMC"                   # [<bool>]
            #Option     "XvPreferOverlay"        # [<bool>]
            #Option     "DebugFlushBatches"      # [<bool>]
            #Option     "DebugFlushCaches"       # [<bool>]
            #Option     "DebugWait"              # [<bool>]
            #Option     "HotPlug"                # [<bool>]
        Identifier  "Card0"
        Driver      "intel"
        VendorName  "Intel Corporation"
        BoardName   "Sandy Bridge Integrated Graphics Controller"
        BusID       "PCI:0:2:0"
    EndSection
    
    Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
            Viewport   0 0
            Depth     1
        EndSubSection
        SubSection "Display"
            Viewport   0 0
            Depth     4
        EndSubSection
        SubSection "Display"
            Viewport   0 0
            Depth     8
        EndSubSection
        SubSection "Display"
            Viewport   0 0
            Depth     15
        EndSubSection
        SubSection "Display"
            Viewport   0 0
            Depth     16
        EndSubSection
        SubSection "Display"
            Viewport   0 0
            Depth     24
        EndSubSection
    EndSection
    Make sure driver is set to intel in this section

    Code:
    Identifier  "Card0"
        Driver      "intel"
        VendorName  "Intel Corporation"
        BoardName   "Sandy Bridge Integrated Graphics Controller"
        BusID       "PCI:0:2:0"
    OK, that's done, but now we need to specify the resolutions that your monitor supports for each mode.

    Add your monitor's supported resolutions to the xorg.conf file. Make sure you use the resolution settings you received earlier when you ran the cvt command. It should look like this:

    Code:
    Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
            Viewport   0 0
            Depth     1
            Modes        "1440x900_60.00" "1280x1024_60.00" "1024x768_60.00" "800x600_60.00"
        EndSubSection
        SubSection "Display"
            Viewport   0 0
            Depth     4
            Modes        "1440x900_60.00" "1280x1024_60.00" "1024x768_60.00" "800x600_60.00"
        EndSubSection
        SubSection "Display"
            Viewport   0 0
            Depth     8
            Modes        "1440x900_60.00" "1280x1024_60.00" "1024x768_60.00" "800x600_60.00"
        EndSubSection
        SubSection "Display"
            Viewport   0 0
            Depth     15
            Modes        "1440x900_60.00" "1280x1024_60.00" "1024x768_60.00" "800x600_60.00"
        EndSubSection
        SubSection "Display"
            Viewport   0 0
            Depth     16
            Modes        "1440x900_60.00" "1280x1024_60.00" "1024x768_60.00" "800x600_60.00"
        EndSubSection
        SubSection "Display"
            Viewport   0 0
            Depth     24
            Modes        "1440x900_60.00" "1280x1024_60.00" "1024x768_60.00" "800x600_60.00"
        EndSubSection
    EndSection
    As you can see, I added my resolution to the Modes line for each subsection. You can add as many as you want (assuming your monitor will support that resolution). Just separate them with a space as shown above. All resolutions should be specified with the refresh rate appended to the end of the resolution by using "_" followed by the refresh rate you received from the cvt command. If you omit the refresh rate, it will display a black screen and not display properly when we're done configuring a few more things.

    My entire xorg config looks like this:

    Code:
    Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
    EndSection
    
    Section "Files"
        ModulePath   "/usr/lib/xorg/modules"
        FontPath     "/usr/share/fonts/X11/misc"
        FontPath     "/usr/share/fonts/X11/cyrillic"
        FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
        FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
        FontPath     "/usr/share/fonts/X11/Type1"
        FontPath     "/usr/share/fonts/X11/100dpi"
        FontPath     "/usr/share/fonts/X11/75dpi"
        FontPath     "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
        FontPath     "built-ins"
    EndSection
    
    Section "Module"
        Load  "dri2"
        Load  "dbe"
        Load  "record"
        Load  "extmod"
        Load  "glx"
        Load  "dri"
    EndSection
    
    Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
    EndSection
    
    Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option        "Protocol" "auto"
        Option        "Device" "/dev/input/mice"
        Option        "ZAxisMapping" "4 5 6 7"
    EndSection
    
    Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
    EndSection
    
    Section "Device"
            ### Available Driver options are:-
            ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
            ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
            ### [arg]: arg optional
            #Option     "AccelMethod"            # [<str>]
            #Option     "DRI"                    # [<bool>]
            #Option     "ColorKey"               # <i>
            #Option     "VideoKey"               # <i>
            #Option     "FallbackDebug"          # [<bool>]
            #Option     "Tiling"                 # [<bool>]
            #Option     "Shadow"                 # [<bool>]
            #Option     "SwapbuffersWait"        # [<bool>]
            #Option     "XvMC"                   # [<bool>]
            #Option     "XvPreferOverlay"        # [<bool>]
            #Option     "DebugFlushBatches"      # [<bool>]
            #Option     "DebugFlushCaches"       # [<bool>]
            #Option     "DebugWait"              # [<bool>]
            #Option     "HotPlug"                # [<bool>]
        Identifier  "Card0"
        Driver      "intel"
        VendorName  "Intel Corporation"
        BoardName   "Sandy Bridge Integrated Graphics Controller"
        BusID       "PCI:0:2:0"
    EndSection
    
    Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
            Viewport   0 0
            Depth     1
            Modes        "1440x900_60.00" "1280x1024_60.00" "1024x768_60.00" "800x600_60.00"
        EndSubSection
        SubSection "Display"
            Viewport   0 0
            Depth     4
            Modes        "1440x900_60.00" "1280x1024_60.00" "1024x768_60.00" "800x600_60.00"
        EndSubSection
        SubSection "Display"
            Viewport   0 0
            Depth     8
            Modes        "1440x900_60.00" "1280x1024_60.00" "1024x768_60.00" "800x600_60.00"
        EndSubSection
        SubSection "Display"
            Viewport   0 0
            Depth     15
            Modes        "1440x900_60.00" "1280x1024_60.00" "1024x768_60.00" "800x600_60.00"
        EndSubSection
        SubSection "Display"
            Viewport   0 0
            Depth     16
            Modes        "1440x900_60.00" "1280x1024_60.00" "1024x768_60.00" "800x600_60.00"
        EndSubSection
        SubSection "Display"
            Viewport   0 0
            Depth     24
            Modes        "1440x900_60.00" "1280x1024_60.00" "1024x768_60.00" "800x600_60.00"
        EndSubSection
    EndSection
    Save your xorg file and quit nano.

    Before we move the xorg file into the proper directory, we need to make a few more changes to different files.

    Use this command to set the KMS mode for i915 (intel video only).

    Code:
    
    echo options i915 modeset=1 | sudo tee /etc/modprobe.d/i915-kms.conf
    
    Then do:

    Code:
    update-initramfs -u
    Next, we're going to force the grub boot loader to use the i915 modeset by first editing the default/grub.conf file:

    Code:
    nano /etc/default/grub
    Find the line where it says:

    Code:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    And replace it with:
    Code:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.modeset=1"
    Now run the following command:

    Code:
    update-grub
    We did the above to force the i915.modeset because if we don't, our Xorg will not start properly and complain with a message similar to this when booting (which I received several times):

    Code:
    [   719.236] (--) using VT number 8
    [   719.386] (EE) No devices detected.
    [   719.386] 
    Fatal server error:
    [   719.386] no screens found
    [   719.386] 
    Please consult the The X.Org Foundation support 
         at http://wiki.x.org
    Let's copy the xorg file into the proper directory:

    Code:
    cp /root/xorg.conf.new /etc/X11/xorg.conf
    Restart your computer by using Control-Alt-Delete.

    Your computer should boot into Linux and use your monitor's native resolution. Your monitor should also be detected. If you are redirected to a terminal, rename the xorg file and restart to allow Ubuntu to choose the best settings, or edit the xorg.conf again using nano. Make changes and reboot. If you have any problems, I'd be happy to try and assist. I hope this guide helps. Please comment and I should be around to edit

    It's a frustrating process, and I can't believe it's so hard to configure, change resolutions, and use the proper drivers in linux for the display. Windows gets it right in about 2 seconds.... (still a linux fanboy, but come on!)

    References:

    http://www.freebsd.org/doc/handbook/x-config.html
    http://ubuntu-tutorials.com/2010/05/...up-workaround/
    https://wiki.ubuntu.com/X/KernelModeSetting
    https://launchpad.net/~glasen/+archive/intel-driver
    http://www.howtoforge.com/how-to-ins....04-lucid-lynx
    Last edited by own3mall; November 13th, 2011 at 08:07 AM.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •