Translation(s): English - Italiano


Intel System Controller Hub US15W, US15WP and US15WPT, and the Intel Atom Processor E6xx Series

This page was written to show how to install Xorg drivers for graphics controllers found in the US15W (aka SCH Poulsbo), US15WP, and US15WPT system control hubs, and Atom E6XX series. It was written for Debian Squeeze 6.0.

Getting the Linux Drivers

The latest driver is available on the Intel website here:

http://www.intel.com/content/www/us/en/intelligent-systems/intel-embedded-media-and-graphics-driver/emgd-for-intel-atom-systems.html

Disappointingly, Debian Squeeze is not officially supported in version 1.6. The instructions below were written for version 1.5.2 but should still work because the installation gives an option to install non-supported distributions. The key is to have other software (in particular the kernel and xserver-xorg) that are sufficiently recent. Some of the instructions no longer apply: version 1.6 is distributed as a tar ball it is not necessary to use wine-console to extract it. Also, there are no longer any lines containing "deb_version" in the install.sh file, so they do not have to be modified.

It seems there are some issues with version 1.6, (see the bottom of this page) so I guess the best idea is to stick to version 1.5.2.

Version 1.5.2, is available here: (link now broken? may 2013)

http://edc.intel.com/Link.aspx?id=5057

Unfortunately the Linux driver is bundled up inside a file named IEMGD_1_5_2_GOLD_1816_Extract.exe. Fortunately the version of wine in Debian Squeeze will handle the next step. Type:

wineconsole IEMGD_1_5_2_GOLD_1816_Extract.exe

You will get a useful documentation file UsersGuide.pdf as well as a gzip tar file IEMGD_HEAD_Linux.tgz. Extract this in the usual way (tar xzf filename) into something appropriate like /usr/local/src/EMGD_1.5.2.

A pleasant surprise awaits: there is a directory IEMGD_HEAD_Linux/DebianSqueeze.

Installation

Despite all the statements to the contrary, the package can be used with Debian Squeeze -- with some alterations to one file. There is an install script: IEMGD_HEAD_Linux/Utilities/install.sh and if altered correctly it will work.

First of all, make the file executable:

chmod 744 install.sh

Secondly, some lines must be edited, mostly for compatibility with Debian Squeeze.

Change the line:

LSPCI_CMD="/sbin/lspci"

to:

LSPCI_CMD="/usr/bin/lspci"

Change the line:

LSMOD_CMD="/sbin/lsmod"

to:

LSMOD_CMD="/bin/lsmod"

Change the line:

man3x_install_dir="/usr/share/man/man3x/"

to:

man3x_install_dir="/usr/share/man/man3/"

Change the line:

deb_version=`cat ${ISSUEFILE} | grep -i "debian" | awk '{print $3}' | cut -d/ -f1'`

to:

deb_version=`cat ${ISSUEFILE} | grep -i "Debian" | awk '{print $3}' | cut -d/ -f1`

Change the line:

if [[ $deb_version = "squeeze" ]]; then

to:

if [[ $deb_version = "6.0" ]]; then

This last line has to agree with the number in /etc/issue, so when there are updates to Debian Squeeze this number will have to be changed.

Also, comment out the entire section "Check to make sure SELinux is disabled". This section begins with the line "selinuxenabled". Comment out each line by putting a # at the start until the next section ("Global Install/Uninstallation"). Sorry for this lazy hack.

Make sure you have compiling tools and linux kernel headers available on your system, then change to the IEMGD_HEAD_Linux/Utilities directory and compile and install the drivers and related software by typing "./install.sh -v" as root.

After running your system will have a new driver for Xorg: emgd. You can look at the install script to see where new files were added. You can look at the man page for emgd, and there is more documentation in the file UsersGuide.pdf which you can find after running wine.

Configuring Xorg

Next you must edit your /etc/X11/xorg.conf file (as root). Change the "Device" section as shown below. Note that I only give examples for a single head system. Read the documentation if you want something more sophisticated.

To the "Device" section, change the following lines:

You might also have to also change the "Monitor", "Screen" and "ServerLayout" sections to get this modification (and the resulting modes that were previously unavailable) to work on your system.

Issues with version 1.6

When compiling dmgd version 1.6, I got this strange error:

  CC [M]  /root/IEMGD_HEAD_Linux/common/drm/emgd/display/pi/cmn/pi.o
/root/IEMGD_HEAD_Linux/common/drm/emgd/display/pi/cmn/pi.c:1: error: stray ‘\357’ in program
/root/IEMGD_HEAD_Linux/common/drm/emgd/display/pi/cmn/pi.c:1: error: stray ‘\273’ in program
/root/IEMGD_HEAD_Linux/common/drm/emgd/display/pi/cmn/pi.c:1: error: stray ‘\277’ in program
/root/IEMGD_HEAD_Linux/common/drm/emgd/display/pi/cmn/pi.c:1: error: stray ‘#’ in program

There was a similar report on debian forum, but no solution.

Ubuntu packages

A crafty person has created Ubuntu packaged, check out https://launchpad.net/~jools/+archive/emgd-xorg1.9

Seems to build against 3.2.0-4 with some minor changes. Basically all the occurances of "include <drmP.h>" to "include <drm/drmP.h>" and similarly for the other kernel provided drm headers.

Also all the occurances of "#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))" should become "#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))"

Some other useful patches are at https://lists.yoctoproject.org/pipermail/yocto/2012-July/010189.html

Patches for kernel 3.8 are at http://sergeykish.com/linux-poulsbo-emgd

Xorg

Another crafty person from Mandriva has managed to get the xorg drivers to run on more recent versions of X. See http://blino.org/dynamic/blog/mandriva/poulsbo-xserver1.7.html