Difference between revisions of "Intel Graphics Media Accelerator 950"

From ThinkWiki
Jump to: navigation, search
m (added SVideo section)
(cleanup, i810 driver is irrelevant by now, add comments on KMS)
Line 13: Line 13:
 
|}
 
|}
  
== Two Drivers One Chip ==
+
== Intel video driver ==
There are two major version ranges of driver for this chipset: <2.0 and >2.0  correspondingly referred to as <tt>"i810"</tt> or <tt>"intel"</tt> under the <tt>"Device"</tt> section of <tt>xorg.conf</tt>. The newer driver supports dynamic configuration of display parameters including resolution, refresh rate, multiple monitor configuration, etc. through the <tt>xrandr</tt> 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 Intel opensource videodriver is maintained by Intel at [http://intellinuxgraphics.org/ intellinuxgraphics.org].
 +
Intel releases a new driver once per quarter. The latest stable release is 2.7 and a 2.8 release is available as beta.
 +
 
 +
There are two ways to configure the driver, either the 'old fashion' way through xorg.conf, or using xrandr (either from the cmd line or through a display utility such as gnome-display-properties).
  
== 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 "<tt>intel</tt>" manpage which has information about driver specific options in the xorg.conf file.
 
 
=== xorg.conf ===
 
=== xorg.conf ===
The newer driver comes as a godsend to those who are tired of pulling their hair out over the infamous <tt>xorg.conf</tt> file. The developers at Intel have strived to downplay the role of this pesky config file as much as possible. The necessity for the <tt>"Server Layout"</tt> and <tt>"Monitor"</tt> sections was turfed entirely (though the latter may still be needed to properly configure multiple pointing devices), and the required lines in the <tt>"Device"</tt> and <tt>"Screen"</tt> are minimal. Thus, the basic working starting point for the sections relevant to graphics (excluding any manually loaded modules) is:
+
The basic working starting point for the sections relevant to graphics (excluding any manually loaded modules) is:
  
 
<pre>
 
<pre>
Line 33: Line 34:
 
</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.
+
But with modern distributions even the above is not necessarily needed as the video chipset, 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 display with XRandR ===
 +
Unfortunately, given all the radical changes to the Intel driver, and especially now with KMS, external display support has been rather in flux.
 +
 
 +
One of the issues encountered is that the maximum virtual screensize depending on driver version (or in the case of KMS, the kernel). This is important if you want to have an extended desktop (dual-display), but not for Mirror mode. If your using KMS, depending on what patches made it into the kernel the maximum virtual screensize is either 2048x2048 or 4096x4096. If your not using KMS, depending on the Intel driver version it will be either 1280x1280 or 2048x2048. 4096x4096 is not possible without KMS, and even then you might have to add this patch http://lists.freedesktop.org/archives/intel-gfx/2009-July/003353.html to your kernel to enable it.  
  
=== External VGA port with XRandR ===
+
To see what your virtual screensize is, simply run xrandr from a cmdline and look for something like this
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 <tt>"ServerLayout"</tt> sections (or at least remove dual-head specific settings from them) 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'''.
+
Screen 0: minimum 320 x 200, current 1400 x 1050, maximum 4096 x 4096
 +
As you can see in the above example the maximum virtual screensize is 4096x4096 which is ideal, and again, only possible in combination with KMS. If your getting 1280x1280 instead, your running an older Intel driver and have to add the Virtual line as shown below to your xorg.conf
  
 
<pre>
 
<pre>
Line 50: Line 57:
 
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
 
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>
 
<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
+
This will give you a list of outputs and tell you which ones are connected. The external display port should be called "<tt>VGA</tt>" or "<tt>DVI</tt>" (or "<tt>VGA1</tt>" or "<tt>DVI1</tt>" in case of KMS) while the builtin LCD should be called "<tt>LVDS</tt>". (or "<tt>LVDS1</tt>" in case of KMS). If, for example you want to stack your desktops vertically, you might do something like
 
<pre>xrandr --output LVDS --below VGA</pre>
 
<pre>xrandr --output LVDS --below VGA</pre>
 
or
 
or
Line 87: Line 94:
 
More info can be found at http://www.intellinuxgraphics.org/dualhead.html
 
More info can be found at http://www.intellinuxgraphics.org/dualhead.html
 
----
 
----
 
== Old "i810" Driver ==
 
The old driver might be preferred by those who like the old style non-xinerama dual-head setup or for whatever reason can't get their hardware or software to work with the new driver. The old driver is currently still available in the repositories of many distributions.
 
=== Debian ===
 
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 <tt>/etc/apt/sources.list</tt> file, you can specify the version to install using the <tt>-t</tt> option to <tt>apt-get</tt>/<tt>aptitude</tt>. To install the old driver,
 
<pre>
 
aptitude install -t stable xserver-xorg-video-i810
 
</pre>
 
As the package manager will try and replace the older driver during regular upgrades, the section of the apt-howto regarding [http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.en.html#s-pin package pinning] may be relevant.
 
 
=== Fedora ===
 
In Fedora Core 5 at least, the i810 driver can be obtained from the updates (in updates-testing as of Aug 15, 2006). With that, the i810 driver seems to work.
 
 
=== Tweaks ===
 
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
 
 
=== 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
 
 
=== 915 Resolution ===
 
Default video modes does not support resolution 1400x1050. You can use [http://www.geocities.com/stomljen/ 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.
 
 
=== Other Quirks ===
 
I had to disable dri and glx because of X11 crashes with programs using 3D.
 
see http://ubuntuforums.org/showthread.php?t=289763
 
  
 
== VESA (console) resolution ==
 
== VESA (console) resolution ==

Revision as of 21:57, 13 July 2009

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

Intel video driver

The Intel opensource videodriver is maintained by Intel at intellinuxgraphics.org. Intel releases a new driver once per quarter. The latest stable release is 2.7 and a 2.8 release is available as beta.

There are two ways to configure the driver, either the 'old fashion' way through xorg.conf, or using xrandr (either from the cmd line or through a display utility such as gnome-display-properties).

xorg.conf

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

But with modern distributions even the above is not necessarily needed as the video chipset, 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 display with XRandR

Unfortunately, given all the radical changes to the Intel driver, and especially now with KMS, external display support has been rather in flux.

One of the issues encountered is that the maximum virtual screensize depending on driver version (or in the case of KMS, the kernel). This is important if you want to have an extended desktop (dual-display), but not for Mirror mode. If your using KMS, depending on what patches made it into the kernel the maximum virtual screensize is either 2048x2048 or 4096x4096. If your not using KMS, depending on the Intel driver version it will be either 1280x1280 or 2048x2048. 4096x4096 is not possible without KMS, and even then you might have to add this patch http://lists.freedesktop.org/archives/intel-gfx/2009-July/003353.html to your kernel to enable it.

To see what your virtual screensize is, simply run xrandr from a cmdline and look for something like this

Screen 0: minimum 320 x 200, current 1400 x 1050, maximum 4096 x 4096

As you can see in the above example the maximum virtual screensize is 4096x4096 which is ideal, and again, only possible in combination with KMS. If your getting 1280x1280 instead, your running an older Intel driver and have to add the Virtual line as shown below to your xorg.conf

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 display port should be called "VGA" or "DVI" (or "VGA1" or "DVI1" in case of KMS) while the builtin LCD should be called "LVDS". (or "LVDS1" in case of KMS). 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 in posititioning your screens, you may just want them to be laid out correctly from the outset. In this case, you can specify the default orientation of the displays in the xorg.conf file (which you can still change later with XRandR). This involves adding a "Monitor" section for each physical display output specifying its position. You must also tell the driver which "Monitor" belongs to which output (VGA,LVDS,etc) with the associated "monitor-..." option.

Section "Device"
        Identifier "Intel 945GM"
        Driver     "intel"
	Option     "monitor-VGA"  "External VGA"
	Option     "monitor-LVDS" "Builtin LCD"
EndSection

Section "Monitor"
     Identifier "Builtin LCD"
     Option "Below" "External VGA"
EndSection

Section "Monitor"
     Identifier "External VGA"
     Option "Above" "Builtin LCD"
EndSection

Section "Screen"
        Identifier "Screen Dual"
        Device "Intel 945GM"
	SubSection "Display"
                Virtual 2048 2048
	EndSubSection
EndSection

More info can be found at http://www.intellinuxgraphics.org/dualhead.html


VESA (console) resolution

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.

SVideo port

The SVideo Port can be activated using xrandr. run

xrandr --verbose

to see if there is a TV section. The supported TV_FORMATs and other options are listed. The parameters TOP, RIGHT, BOTTOM ans LEFT are used to control the TV-overscan.

#set the TV format
xrandr --output TV --set TV_FORMAT PAL
#set the overscan (adjust fitting your TV)
xrandr --output TV --set TOP 20
xrandr --output TV --set RIGHT 20
xrandr --output TV --set BOTTOM 0
xrandr --output TV --set LEFT 40
#turn on the TV output
xrandr --output TV --auto
#turn off...
xrandr --output TV --off

This works for my Thinkpad R60, running Debian Lenny


DVI port

DVI passthrough is only supported on the T60 in combination with a docking station. Maximum resolution is 2048x1536

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