Difference between revisions of "Intel Graphics Media Accelerator 950"

From ThinkWiki
Jump to: navigation, search
(The newer "intel" driver)
(The newer "intel" driver)
Line 30: Line 30:
  
 
Section "Screen"
 
Section "Screen"
         Identifier "Default"
+
         Identifier "Default Screen"
 
         Device "Intel Graphics Adapter"
 
         Device "Intel Graphics Adapter"
 
EndSection
 
EndSection
 
</pre>
 
</pre>
  
With some possible embellishments, your distribution's automated installer should probably be able to figure this out for you. Resolution, refresh rate, etc will be auto-detected. If you don't like the auto-detected settings, you can use the xrandr command line utility to adjust them dynamically without having to restart the X server! You can always of course get more sophisticated with the xorg.conf file. Just type <tt>man intel</tt> or read Intel's [http://intellinuxgraphics.org/documentation.html documentation] for more info.
+
With some possible embellishments, your distribution's automated installer should probably be able to figure this out for you. Resolution, refresh rate, etc will be auto-detected. If you don't like the auto-detected settings, you can use the XRandR command line utility to adjust them dynamically without having to restart the X server! You can always of course get more sophisticated with the xorg.conf file. Just type <tt>man intel</tt> or read Intel's [http://intellinuxgraphics.org/documentation.html documentation] for more info.
  
==== External VGA port ====
+
==== External VGA port with XRandR ====
Unfortunately, given the radical changes to the role of the xorg.conf file, old dual-head <tt>xorg.conf</tt> files may not even allow the server to start! To remedy this, remove all the ServerLayout sections and all but the main Screen section in xorg.conf. Which should minimally look something like
+
Unfortunately, given the radical changes to the role of the xorg.conf file, old dual-head <tt>xorg.conf</tt> files may not even allow the server to start! To remedy this, remove all the ServerLayout sections and all but the main Screen section in xorg.conf. The latter should be made to look like the above with the addition of a <tt>"Display"</tt> subsection which specifies the upper bound of the total resolution spanned by the multi-monitor virtual screen. This is necessary because the default virtual screensize is 1280x1280 which is likely too small for any practical multi-monitor setup. If you just want to mirror the displays, this will happen automatically with the above described <tt>xorg.conf</tt> entries and you can skip this step. Please note that the '''videocard does not support DRI with virtual screen size larger than 2048x2048'''.
  
  Section "Screen"
+
<pre>
        Identifier      "Default Screen"
+
Section "Screen"
        Device          "Intel Corporation Mobile Integrated Graphics Controller"
+
    Identifier      "Default Screen"
        Monitor        "Default Monitor"
+
    Device          "Intel Graphics Adapter"
        DefaultDepth    24
+
    SubSection "Display"
        SubSection "Display"
+
            Virtual        2048 2048
                Depth          24
+
    EndSubSection
                Modes          "1024x768"
+
EndSection
                Virtual        2048 2048
+
</pre>
        EndSubSection
 
    EndSection
 
 
 
 
 
After starting into X you can use the new features of XRandR 1.2 so as an example:
 
 
 
    xrandr --output VGA --right-of LVDS --mode 1920x1200
 
 
 
Please note that the '''videocard does not support DRI with virtual screen size larger than 2048x2048'''. If you're going to run any applications which use 3D acceleration (games, Google Earth, etc.), change the config line to the following:
 
 
 
    Virtual        2048 2048
 
 
 
The disadvantage is that you'll be unable to join external display with horizontal resolution larger than 1024, like in the example above. They'll need vertical layout:
 
 
 
    xrandr --output VGA --above LVDS --mode 1920x1200
 
  
or just overlap a bit (please refer to [http://www.xfree86.org/4.7.0/Xrandr.3.html xrandr manual] for more options).
+
Once you have started X, you should find that your multiple monitors are automatically activated and mirror each other to the extent allowed by their potentially different geometries. If you want them to appear as a "large desktop", you need to adjust their relative position with the XRandR utility. You can get an idea of what you're working with by typing
 +
<pre>xrandr -q</pre>
 +
This will give you a list of outputs and tell you which ones are connected. The external vga port should be called "<tt>VGA</tt>" while the builtin LCD should be called "<tt>LVDS</tt>". If, for example you want to stack your desktops vertically, you might do something like
 +
<pre>xrandr --output LVDS --below VGA</pre>
 +
or
 +
<pre>xrandr --output VGA --below LVDS</pre>
 +
your window manager may treat the two cases differently in terms of where it decides to put things like the toolbar. Ideally, you probably want to put the desired xrandr command someplace that it might get executed before your window manager starts. For example in your ~/.xsession or ~/.xinitrc file.
 +
==== External VGA port with xorg.conf ====
 +
While XRandR eliminates the '''need''' to deal with <tt>xorg.conf</tt>, there might be situations in which you just want to do things the old fashioned way. In this case,
  
 
=== Debian Versions ===
 
=== Debian Versions ===

Revision as of 03:36, 13 December 2007

Intel Graphics Media Accelerator 950

This is an Intel video adapter

Features

  • Integrated into the following chipsets:
  • PCI ID: 8086:27a2
  • Uses up to 224MB of main memory for video usage

Two Drivers One Chip

There are two major version ranges of driver for this chipset: <2.0 and >2.0 correspondingly referred to as "i810" or "intel under the "Device" section of xorg.conf. The newer driver supports dynamic configuration of display parameters including resolution, refresh rate, multiple monitor configuration, etc. through the xrandr command line utility without restarting the Xserver. Essentially, it strives to minimise the necessity of editing the xorg.conf file manually. It does not, however support the old "dual head" (non-xinerama) mode for multiple monitors. Thus, the older driver is better suited to those who prefer this configuration.

The newer "intel" driver

The newer driver is the one currently supported by Intel and for most cases, is the recommended one. It is extensively documented and available for download at http://intellinuxgraphics.org/. It is also likely to be available in the repository of your favourite distribution. Once installed there should also be an "intel" manpage which has information about driver specific options in the xorg.conf file.

xorg.conf

The newer driver comes as a godsend to those who are tired of pulling their hair out over the infamous xorg.conf file. The developers at Intel have strived to downplay the role of this pesky config file as much as possible. The necessity for the "Server Layout" and "Monitor" sections were turfed entirely, and the required lines in the "Device" and "Screen" are minimal. Thus, the basic working starting point for the sections relevant to graphics (excluding any manually loaded modules) is:

Section "Device"
        Identifier "Intel Graphics Adapter"
        Driver     "intel"
EndSection

Section "Screen"
        Identifier "Default Screen"
        Device "Intel Graphics Adapter"
EndSection

With some possible embellishments, your distribution's automated installer should probably be able to figure this out for you. Resolution, refresh rate, etc will be auto-detected. If you don't like the auto-detected settings, you can use the XRandR command line utility to adjust them dynamically without having to restart the X server! You can always of course get more sophisticated with the xorg.conf file. Just type man intel or read Intel's documentation for more info.

External VGA port with XRandR

Unfortunately, given the radical changes to the role of the xorg.conf file, old dual-head xorg.conf files may not even allow the server to start! To remedy this, remove all the ServerLayout sections and all but the main Screen section in xorg.conf. The latter should be made to look like the above with the addition of a "Display" subsection which specifies the upper bound of the total resolution spanned by the multi-monitor virtual screen. This is necessary because the default virtual screensize is 1280x1280 which is likely too small for any practical multi-monitor setup. If you just want to mirror the displays, this will happen automatically with the above described xorg.conf entries and you can skip this step. Please note that the videocard does not support DRI with virtual screen size larger than 2048x2048.

Section "Screen"
     Identifier      "Default Screen"
     Device          "Intel Graphics Adapter"
     SubSection "Display"
            Virtual         2048 2048
     EndSubSection
EndSection

Once you have started X, you should find that your multiple monitors are automatically activated and mirror each other to the extent allowed by their potentially different geometries. If you want them to appear as a "large desktop", you need to adjust their relative position with the XRandR utility. You can get an idea of what you're working with by typing

xrandr -q

This will give you a list of outputs and tell you which ones are connected. The external vga port should be called "VGA" while the builtin LCD should be called "LVDS". If, for example you want to stack your desktops vertically, you might do something like

xrandr --output LVDS --below VGA

or

xrandr --output VGA --below LVDS

your window manager may treat the two cases differently in terms of where it decides to put things like the toolbar. Ideally, you probably want to put the desired xrandr command someplace that it might get executed before your window manager starts. For example in your ~/.xsession or ~/.xinitrc file.

External VGA port with xorg.conf

While XRandR eliminates the need to deal with xorg.conf, there might be situations in which you just want to do things the old fashioned way. In this case,

Debian Versions

The old drivers are currently still available in many distributions. For example 1.7.2-4 is the version used by Debian etch (stable), while the newer driver is available in the lenny (testing) and sid (unstable) repositories. If you have repositories for all three releases of Debian in your /etc/apt/sources.list file, you can specify the version to install using the -t option to apt-get/aptitude. To install the old driver,

aptitude install -t stable xserver-xorg-video-i810

You may of course substitute -t testing or -t unstable to ensure that you go with newer versions instead. As the package manager will try and replace the older driver during regular upgrades, the section of the apt-howto regarding package pinning may be relevant.

Linux X.Org driver

Supported by Xorg http://www.xfree86.org/current/i810.4.html. The driver supports hardware accelerated 3D via the Direct Rendering Infrastructure (DRI), but only in depths 16 and 24.

Linux Intel driver

There is a Graphics driver for the Mobile Intel® 945GM Express Chipset Family at Intels Support Site. This driver is just a snapshot of the Xorg/XFree86 driver.

In my case, the i810 driver recommended by multiple sources for this graphics card did not work, leaving a message of "No device found." Running against the generic vesa drivers solves that problem, but does not allow use of the external VGA port.

In Fedora Core 5 at least, the correct i810 driver can be obtained from the updates (in updates-testing as of Aug 15, 2006). With that, the i810 driver seems to work.

To get a noticeable speedup in GLX/DRI try this in your xorg.conf (tested with the game Sauerbraten on a Z61e):

   Section "Device"
       Identifier      "Intel Corporation Mobile Integrated Graphics Controller"
       Driver          "i810"
       BusID           "PCI:0:2:0"
       VideoRAM 131072
       Option "XAANoOffscreenPixmaps" "true"
       Option "MTRR" "on"
       Option "UseFBDev" "false"
       Option "LinearAlloc" "6144"
       Option "MonitorLayout" "CRT,LFP"
       Option "DevicePresence" "true" 
   EndSection

ThinkPad LCD

Display on the internal LCD should work for most distributions out of the box for both the old and new driver.

External VGA port

Works. Dualhead is supported.

There are two options for running the external VGA port - either as a copy of the LCD (clone) or as a separate workspace. Here is an example for the separate workspace mode for xorg.conf for the X60s:

   Section "Device"
       Identifier      "Intel Corporation Mobile Integrated Graphics Controller"
       Driver          "i810"
       BusID           "PCI:0:2:0"
       Option "MonitorLayout" "CRT,LFP"
       Option "DevicePresence" "true" 
       Screen 1
   EndSection
   Section "Device"
       Identifier      "Intel Corporation Mobile Integrated Graphics Controller External CRT"
       Driver          "i810"
       BusID           "PCI:0:2:0"
       Screen 0
   EndSection
   Section "Monitor"
       Identifier      "LCD"
       Option          "DPMS"
   EndSection
   Section "Monitor"
       Identifier      "External CRT"
       Option          "DPMS"
       HorizSync 28-75
       VertRefresh 43-100
   EndSection
   Section "Screen"
       Identifier      "External Screen"
       Device          "Intel Corporation Mobile Integrated Graphics Controller External CRT"
       Monitor         "External CRT"
       DefaultDepth    24
       SubSection "Display"
               Depth           24
               Modes           "1280x1024"
       EndSubSection
   EndSection
   Section "Screen"
       Identifier      "Default Screen"
       Device          "Intel Corporation Mobile Integrated Graphics Controller"
       Monitor         "LCD"
       DefaultDepth    24
       SubSection "Display"
               Depth           1
               Modes           "1024x768"
       EndSubSection
   EndSection
   Section "ServerLayout"
       Identifier      "Default Layout"
       Screen          0 "Default Screen" 0 0
       Screen          1 "External Screen" RightOf "Default Screen"
       InputDevice     "Generic Keyboard"
       InputDevice     "Configured Mouse"
       InputDevice     "Synaptics Touchpad"
   EndSection

Did not work for me (FC6, x60s) but this one did: (as the x-server crashes at startup if the external port is the primary display you need to change the bios option BIOS>Config>Display>Boot Display Device to "ThinkPad LCD")

Section "ServerLayout"
 Identifier     "Default Layout"
 Option         "Xinerama"
 Screen      0  "Screen0" 0 0
 Screen      1  "Screen1" LeftOf "Screen0"
 InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "InputDevice"
 Identifier  "Keyboard0"
 Driver      "kbd"
 Option	    "XkbModel" "pc105"
 Option	    "XkbLayout" "de"
 Option	    "XkbVariant" "nodeadkeys"
EndSection

Section "Monitor"
 Identifier   "Monitor2"
 ModelName    "Belinea 1905 G1"
 HorizSync    30.0 - 83.0
 VertRefresh  50.0 - 76.0
 Option	    "dpms"
EndSection

Section "Device"
 Identifier  "Videocard0"
 Driver      "i810"
 BusID       "PCI:0:2:0"
 Option      "MonitorLayout" "CRT,LFP"
 Option      "DevicePresence" "true"
 Screen      0
EndSection

Section "Screen"
 Identifier "Screen0"
 Device     "Videocard0"
 DefaultDepth     24
 SubSection "Display"
  Viewport   0 0
  Depth     24
  Modes    "1024x768" "800x600" "640x480"
 EndSubSection
EndSection

Section "Device"
 Identifier  "Videocard1"
 Driver      "i810"
 BusID       "PCI:0:2:0"
 Option      "MonitorLayout" "CRT,LFP"
 Option      "DevicePresence" "true"
 Screen      1
EndSection

Section "Screen"
 Identifier "Screen1"
 Device     "Videocard1"
 DefaultDepth     24
 SubSection "Display"
  Viewport   0 0
  Depth     24
  Modes    "1280x1024" "1024x768" "800x600" "640x480"
 EndSubSection
EndSection

Here is the relevant text for running the VGA port as a true clone (so even things like Xine video playback appears on both screens) of the internal LCD display:

   Section "Device"
        Identifier "Videocard0"
        Driver "i810"
        BusID "PCI:0:2:0"
        Option "MonitorLayout" "NONE,LFP+CRT"
        Option "DevicePresence" "true"
        Option "CheckLid" "false"
        VendorName "Lenovo"
        BoardName "Intel Corporation Mobile Integrated Graphics Controller"
   EndSection

comment

I had to disable dri and glx because of X11 crashes with programs using 3D. see http://ubuntuforums.org/showthread.php?t=289763

Unsupported video modes

Largest video resolution, supported by VESA for T60 is 1280x1024. You can set that for console in grub or lilo by adding vga=794 option.

Default video modes does not support resolution 1400x1050. You can use 915resolution to change that.

# To show supported video modes:
915resolution -l

# To add 1400x1050 support:
915resolution 5a 1400 1050

# You may need to specify 24-bit color:
915resolution 38 1400 1050 24

Xorg will be able to use this resolution after that.

SVideo port

??

DVI port

DVI passthrough is only supported on the T60.

Linux support status is unknown

Suspend behaviour

  • Required kernel parameters for suspend to ram: none
  • Additional notes:
    • switch to/from X11 to reinitialize display properly (stays black)
    • DO NOT use vbetool to save/restore the video mode, this breakes resume!

ThinkPads this chip may be found in