Intel Graphics Media Accelerator X3100

From ThinkWiki
Jump to: navigation, search

Intel Graphics Media Accelerator X3100

This is an Intel video adapter

Features

  • Integrated into the following chipsets:
  • PCI ID: 8086:2A02
  • Uses part 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.10.

Kernel mode setting (KMS)

KMS (Kernel Mode Setting) as the name suggests moves some video setup functions to the kernel. This should have the following benefits over legacy mode setting

  • increased stability, because it removes the current contention between the X server and the kernel
  • ability to show kernel dump screens even when the X server was running
  • rapid mode switching
  • in theory should not allow the X video driver to hang the system
  • early graphical boot display with seamless login
  • should in the future allow for the X server to run without root privileges

Note that KMS does not eliminate the need for the Intel Xorg driver, it just frees that driver from the hardware setup functions.

Status

Right now KMS is still in heavy development, and officially requires at least kernel 2.6.29 with version 2.7 of the Intel driver. But in reality you should really be running at least the 2.6.30.5 kernel and version 2.8 of the Intel driver.

NOTE!
There is a bug in the Intel KMS driver, fixed in kernel 2.6.38, where you get 'random' memory corruption if you have this model Intel video chip, >4GB of memory and hotplug an external display. [commit]

Configuration

In this mode, ideally you do not configure any settings through xorg.conf but by using xrandr, or a graphical front-end to RandR such as gnome-display-settings.

Disabling KMS

If KMS causes you problems, you can disable it and return to user mode setting (UMS) by booting with the nomodeset kernel boot option. Note that this is no longer an option starting with version 2.10 of the Intel Xorg driver as UMS support has been dropped.

User mode setting (UMS)

Linux X.Org driver

Supported by Xorg [1]. The driver supports hardware accelerated 3D via the Direct Rendering Infrastructure (DRI), but only in depths 16 and 24.

Version 2.1.1 of the driver fixes a TV output problem. Use xrandr to view the enabled screens in X.

Linux Intel driver

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


ThinkPad LCD

Display on the internal LCD works as long as you set the monitor settings correct.

External VGA port

Works. Dualhead is supported.

Dynamic configuration: XRandR

Since xorg>=7.3 and 2.2 intel driver, XRandR 1.2 works for adding/removing monitors on the fly. The only hard-coded thing is virtual desktop size in xorg.conf, which must always encompass all monitors and may not be changed at X runtime.

Section "Screen"
   [...]
   SubSection "Display"
      [...]
      Virtual 2048 2048  ## maximum for Compiz Fusion to work. If you don't need it then 3072 3072 or higher recommended.
   EndSubSection 
EndSection

For the rest, see man xrandr, I have a script to turn on dual-head at work (self-explanatory):

xrandr --newmode "1440x900" 106.5 1440 1520 1672 1904 900 901 904 932 -HSync +VSync
xrandr --addmode VGA 1440x900
xrandr --output VGA --mode 1440x900
xrandr --output VGA --right-of LVDS

To disable external (VGA) screen,

xrands --output VGA --off
Static configuration via /etc/X11/xorg.conf

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:

     Be warned that making the following changes to xorg.conf 
     on an X61 with the Intel 465 chipset           
     kills x and must be removed to regain a graphical display. 
   Section "Device"
       Identifier      "Intel Corporation Mobile Integrated Graphics Controller"
       Driver          "intel"
       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          "intel"
       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

Or try:


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      "intel"
 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      "intel"
 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 "intel"
        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

SVideo port

Does not work with Ubuntu 7.10. See https://bugs.launchpad.net/ubuntu/+bug/178910

DVI port

The DVI port on a ThinkPad Advanced Mini Dock is supported and works with dual-head. Follow the notes for the VGA output above, but replace "VGA" with "TMDS-1".

There is almost certainly a way to make the xrandr commands run automatically when you dock or undock. I'll figure it out once I install Hardy (I just tried it with the beta Live CD).

Suspend behaviour

  • Required kernel parameters for suspend to ram: none

Nevertheless, you may get a blank screen on resume (for example on T61 with Ubuntu Gutsy). See launchpad bug for details.

Compiz won't work with external Monitor

As told here Link in Ubuntu 8.10 there is a bug in the MESA driver, that prevents you from using resolutions bigger then 2048x2048. If you connect a second monitor bigger then 1024 compiz (and DRI) won't work.

You can check your system with the command

   ajonat@daphne:~$ glxinfo -l | grep GL_MAX_TEXTURE_SIZE
   GL_MAX_TEXTURE_SIZE = 2048

The number (here 2048) is the resolution limit.

You have to compile the intel x-server (only on ubuntu 8.04) and the mesa driver. here is the whole procedure described.

If you're using Ubuntu 8.10 you can also use the precompiled deb file here

ThinkPads this chip may be found in