Gentoo, Intel GMA3100, Xorg and DRI

After stuggling on and off for a week, I have finally managed to get DRI working with Xorg on Gentoo. I was never able to make any headway using the stable version of Xorg, Mesa, and the Intel drivers. I finally succeeded by upgrading to x11-base/xorg-x11-7.4, media-libs/mesa-7.2, and x11-drivers/xf86-video-intel-2.5.1.

In order to do this, I had to add the following entries in my /etc/portage/package.keywords:

~x11-base/xorg-x11-7.4
~x11-base/xorg-server-1.4.2
~x11-libs/libXrender-0.9.4
~media-libs/mesa-7.2
~x11-libs/xtrans-1.0.4
~x11-proto/renderproto-0.9.3
~x11-libs/libdrm-2.3.1
~x11-proto/xextproto-7.0.3
~x11-libs/libXext-1.0.4
~x11-proto/inputproto-1.4.4
~x11-libs/libX11-1.1.5
~x11-proto/xf86driproto-2.0.4
~x11-libs/libXxf86vm-1.0.2
~x11-apps/mesa-progs-7.1
~x11-drivers/xf86-video-intel-2.5.1
~x11-libs/libdrm-2.4.1
~x11-apps/x11perf-1.5
~x11-apps/xev-1.0.3
~x11-apps/mkfontdir-1.0.4
~x11-apps/xprop-1.0.4
~x11-libs/
libXau-1.0.4
~x11-libs/libXrandr-1.2.3
~media-fonts/font-xfree86-type1-1.0.1
~x11-libs/libpciaccess-0.10.3
~x11-apps/xkbcomp-1.0.5
~x11-apps/sessreg-1.0.4
~x11-apps/xset-1.0.4
~x11-apps/mkfontscale-1.0.5
~x11-libs/xtrans-1.2.2
~x11-apps/xdpyinfo-1.0.3
~x11-libs/libXinerama-1.0.3
~x11-libs/libXmu-1.0.4
~x11-apps/xrdb-1.0.5
~x11-libs/libFS-1.0.1
~x11-apps/xwininfo-1.0.4
~x11-apps/xauth-1.0.3
~x11-apps/luit-1.0.3
~x11-misc/util-macros-1.1.6-r1
~x11-misc/xinput-1.3.0
~x11-libs/libSM-1.1.0
~x11-libs/libXfont-1.3.3
~x11-libs/libXv-1.0.4
~x11-apps/xrandr-1.2.3
~x11-libs/libXScrnSaver-1.1.3
~x11-libs/libxkbfile-1.0.5
~x11-libs/libXft-2.1.13
~x11-base/xorg-server-1.5.2
~x11-apps/xwd-1.0.2
~x11-libs/pixman-0.12.0
~x11-proto/xproto-7.0.13
~x11-misc/xkeyboard-config-1.3
~x11-apps/rgb-1.0.3
~x11-apps/xinit-1.0.8-r3
~x11-proto/randrproto-1.2.2
~x11-drivers/xf86-input-keyboard-1.3.1
~x11-drivers/xf86-video-vesa-2.0.0
~x11-drivers/xf86-input-evdev-2.0.6
~x11-drivers/xf86-input-mouse-1.3.
0
~x11-drivers/xf86-input-joystick-1.3.2

I also had to disable the sse2 use flag on x11-libs/pixman by placing the following in my /etc/portage/package.use file.

x11-libs/pixman -sse2

After adding these entries, it was a simple of matter of running

emerge xorg-x11
emerge -1 `eix -I --only-names x11-drivers` #Rebuild drivers against new Xorg
emerge mesa #Rebuild mesa against new Xorg

and then copying the xorg.conf file generated by running

Xorg -configure

to /etc/X11/xorg.conf.

4 Replies to “Gentoo, Intel GMA3100, Xorg and DRI”

  1. Followed this exactly, but still have broken DRI.

    LIBGL_DEBUG=verbose glxinfo > /dev/null

    libGL: XF86DRIGetClientDriverName: 1.9.0 i915 (screen 0)
    libGL: OpenDriver: trying /usr/lib64/dri/tls/i915_dri.so
    libGL: OpenDriver: trying /usr/lib64/dri/i915_dri.so
    libGL error: __driCreateNewScreen_20050727 not defined in i915_dri.so!
    Your driver may be too old for this libGL.
    libGL error: unable to load driver: i915_dri.so
    —-
    Is your system using the i915_dri.so or 965?

    My only working configuration is (all newer versions of mesa cause the above error):

    <=media-libs/mesa-7.0.3
    <=x11-apps/mesa-progs-7.0.3
    <x11-base/xorg-server-1.5
    <x11-drivers/xf86-input-evdev-2.1.0
    <x11-drivers/xf86-video-intel-2.5
    x11-drivers/xf86-input-keyboard
    x11-libs/libXrender
    x11-libs/pixman
    x11-proto/renderproto
    x11-proto/xf86driproto

  2. Hi Nick – I’m using 2.6.28, also tried with 2.6.27.

    This is on a G33 motherboard, which uses Intel’s GMA 3100 video chipset. When the ‘intel’ driver is used in xorg.conf, it automatically looks for i915_dri.so. (http://en.wikipedia.org/wiki/Intel_GMA#GMA_3000)

    I have a dell e1405, which uses Intel’s GMA 950 video chipset, and DRI, GLX, Composite, etc.. all work fine with all the latest ~amd64 xorg packages.

    1. I’ve been using those kernels as well. I received an error similar to yours when I was experimenting with older versions of mesa and intel drivers, but I haven’t seen it since I started using mesa-7.2 and xf86-video-intel-2.5.1. I’m not sure where your problem lies.

      Here my emerge –info and xorg.conf in case they might be helpful.

      ————emerge –info——————————————-
      Portage 2.1.6.4 (default/linux/x86/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.28-gentoo i686)
      =================================================================
      System uname: Linux-2.6.28-gentoo-i686-Intel-R-_Core-TM-2_Quad_CPU_Q6600_@_2.40GHz-with-glibc2.0
      Timestamp of tree: Wed, 31 Dec 2008 02:10:01 +0000
      app-shells/bash: 3.2_p33
      dev-java/java-config: 1.3.7-r1, 2.1.6-r1
      dev-lang/python: 2.5.2-r7
      dev-util/cmake: 2.6.2
      sys-apps/baselayout: 1.12.11.1
      sys-apps/sandbox: 1.2.18.1-r2
      sys-devel/autoconf: 2.13, 2.61-r2
      sys-devel/automake: 1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
      sys-devel/binutils: 2.18-r3
      sys-devel/gcc-config: 1.4.0-r4
      sys-devel/libtool: 1.5.26
      virtual/os-headers: 2.6.23-r3
      ACCEPT_KEYWORDS=”x86″
      CBUILD=”i686-pc-linux-gnu”
      CFLAGS=”-O2 -march=i686 -pipe”
      CHOST=”i686-pc-linux-gnu”
      CONFIG_PROTECT=”/etc /usr/share/config”
      CONFIG_PROTECT_MASK=”/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d”
      CXXFLAGS=”-O2 -march=i686 -pipe”
      DISTDIR=”/usr/portage/distfiles”
      FEATURES=”distlocks fixpackages protect-owned sandbox sfperms strict unmerge-orphans userfetch”
      GENTOO_MIRRORS=”http://gentoo.osuosl.org/ http://csociety-ftp.ecn.purdue.edu/pub/gentoo/ http://gentoo.chem.wisc.edu/gentoo/ http://cudlug.cudenver.edu/gentoo/ http://gentoo.mirrors.pair.com/ http://gentoo.netnitco.net
      LANG=”en_US.UTF-8″
      LC_ALL=”en_US.UTF-8″
      LDFLAGS=”-Wl,-O1″
      LINGUAS=”en_US en”
      MAKEOPTS=”-j5″
      PKGDIR=”/usr/portage/packages”
      PORTAGE_RSYNC_OPTS=”–recursive –links –safe-links –perms –times –compress –force –whole-file –delete –stats –timeout=180 –exclude=/distfiles –exclude=/local –exclude=/packages”
      PORTAGE_TMPDIR=”/var/tmp”
      PORTDIR=”/usr/portage”
      PORTDIR_OVERLAY=”/usr/portage/local/layman/sunrise /usr/portage/local/myoverlay”
      SYNC=”rsync://rsync.gentoo.org/gentoo-portage”
      USE=”X aac acl alsa bash-completion berkdb bindist branding bzip2 cairo cdr cli cracklib crypt cups dbus dri dv dvd dvdr encode exif ffmpeg firefox fortran gdbm gif glitz gnutls gpm gtk2 hal iconv ieee1394 imagemagick imap inotify ipv6 isdnlog jpeg kde lame matroska mbox midi mmx mp3 mp4 mpeg mudflap ncurses nls nptl nptlonly offensive ogg opengl openmp pam pcre pdf perl png pppd python qt4 quicktime readline reflection samba scanner session smp spell spl sqlite sse ssl svg sysfs tcpd theora tiff truetype unicode usb vorbis x264 x86 xcomposite xine xorg xscreensaver xulrunner xvid zlib”
      ALSA_CARDS=”ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci” ALSA_PCM_PLUGINS=”adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol” APACHE2_MODULES=”actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias” ELIBC=”glibc” INPUT_DEVICES=”keyboard mouse evdev joystick” KERNEL=”linux” LCD_DEVICES=”bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text” LINGUAS=”en_US en” USERLAND=”GNU” VIDEO_CARDS=”intel vesa”
      Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

      ——————–xorg.conf——————————————————
      Section “ServerLayout”
      Identifier “X.org Configured”
      Screen 0 “Screen0” 0 0
      InputDevice “Mouse0” “CorePointer”
      InputDevice “Keyboard0” “CoreKeyboard”
      EndSection

      Section “ServerFlags”
      #Option “AIGLX” “on”
      #Option “AllowMouseOpenFail” “on”
      #Option “ZapWarning” “on”
      EndSection

      Section “Files”
      FontPath “/usr/share/fonts/misc/”
      FontPath “/usr/share/fonts/TTF/”
      FontPath “/usr/share/fonts/OTF”
      FontPath “/usr/share/fonts/Type1/”
      FontPath “/usr/share/fonts/100dpi/”
      FontPath “/usr/share/fonts/75dpi/”
      EndSection

      Section “Module”
      Load “extmod”
      Load “record”
      Load “xtrap”
      Load “glx”
      Load “dri”
      Load “dbe”
      Load “GLcore”
      Load “freetype”
      Load “type1”
      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”
      #DisplaySize 410 260 # mm
      Identifier “Monitor0”
      VendorName “DEL”
      ModelName “DELL SE198WFP”
      ### Comment all HorizSync and VertRefresh values to use DDC:
      #HorizSync 30.0 – 83.0
      #VertRefresh 56.0 – 75.0
      Option “DPMS”
      EndSection

      Section “Device”
      ### Available Driver options are:-
      ### Values: : integer, : float, : “True”/”False”,
      ### : “String”, : “ Hz/kHz/MHz”
      ### [arg]: arg optional
      #Option “NoAccel” # []
      #Option “SWcursor” # [
      ]
      #Option “ColorKey” #
      #Option “CacheLines” #

      #Option “Dac6Bit” # []
      #Option “DRI” # [
      ]
      #Option “NoDDC” # [
      ]
      #Option “ShowCache” # [
      ]
      #Option “XvMCSurfaces” #
      #Option “PageFlip” # []
      #Option “AccelMethod” “exa”
      #Option “RenderAccel” “true”
      #Option “EnablePageFlip” “true”
      #Option “MigrationHeuristic” “greedy”
      #Option “ExaNoComposite” “false”

      Identifier “Card0”
      Driver “intel”
      VendorName “Intel Corporation”
      BoardName “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

      Section “DRI”
      #Group “video”
      #Mode 0666
      EndSection

      Section “Extensions”
      #Option “Composite” “on”
      EndSection

Leave a Reply

Your email address will not be published. Required fields are marked *