When I install an intel driver > 2.7.1, I get a horrible 2D performance in X. For example, when scrolling in a terminal, it'll "scroll in waves". Or opening a file manager, each line or icon is drawn after another. Normally, it'll be painted in a fraction of a second, now it takes several seconds till a file manager window showing $HOME is drawn completely (lets say 15 lines with ls -l output + icons and colors)... Switching back to 2.7.1 and restarting X solves the problem. I use a up-to-date ~amd64 (Core2 Duo) system with an Intel 965GM Chipset. My xorg.conf is very basic, just use "intel" driver and enable RandR, no special opts. I'm happy to try out any tests to help to debug what's the problem. Reproducible: Always root@localhost> emerge --info /home/horn Portage 2.1.6.13 (default/linux/amd64/2008.0, gcc-4.3.3, glibc-2.10.1-r0, 2.6.30-gentoo-r3 x86_64) ================================================================= System uname: Linux-2.6.30-gentoo-r3-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T8100_@_2.10GHz-with-gentoo-2.0.1 Timestamp of tree: Wed, 22 Jul 2009 16:45:02 +0000 app-shells/bash: 4.0_p24 dev-java/java-config: 2.1.8-r1 dev-lang/python: 2.5.4-r2, 2.6.2-r1 dev-util/cmake: 2.6.4 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.4.3-r3 sys-apps/sandbox: 2.0 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.5, 1.8.5-r3, 1.9.6-r2, 1.10.2, 1.11 sys-devel/binutils: 2.19.1-r1 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.30 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=core2 -O2 -pipe -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-march=core2 -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo http://de-mirror.org/distro/gentoo/ " LANG="en_US.UTF-8" LDFLAGS="-Wl,-z,now" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" 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/local/portage/layman/sunrise /usr/local/portage/layman/emacs /usr/local/overlays/private" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X acl acpi alsa amd64 aspell avahi berkdb bzip2 cairo caps cleartype cli consolekit cracklib crypt cups dbus djvu dri dvi emacs exif ffmpeg flac fortran gdbm gif gnutls gpm gtk hal iconv idn imagemagick ioctl ipv6 isdnlog jpeg libnotify midi mmap mmx mng mp3 mpeg mudflap multilib ncurses nls nptl nptlonly nsplugin ntp ogg opengl openmp pam pango pcre pdf perl png policykit pppd python qt3 qt3support qt4 readline reflection samba sdl session slp smp spl sse sse2 ssl ssse3 startup-notification svg sysfs syslog t1lib taglib tcpd theora tiff truetype unicode vorbis x264 xcb xcomposite xft xine xinerama xorg xpm xrandr xulrunner zeroconf zlib zsh-completion" 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 authn_alias authn_anon 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 deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="intel" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Sounds like the bug I reported upstream just a few days ago. If you could confirm this : 1) use layman to grab the x11 overlay 2) unmask xf86-video-intel-9999 3) add xf86_video_intel_LIVE_TREE="e386e7b14b139f15205e14b173e8222bf38d9e18" to make.conf 4) build xf86-video-intel-9999 That commit is just a day or two before .902 and should be better. Please do let me know if that solves your problem as soon as possible. Right now, the upstream bug is only about 855 but if newer chips are impacted as well, the bug has a much better chance of getting looked at. Thanks
Hey Remi, I'm afraid, but using the 9999 ebuild and that specific commit doesn't resolve the issue. It's still as slow as the 2.8.0 version...
Alrighty then, let's do this the old way :) Please attach your xorg.conf, your Xorg.0.log and the output of emerge -pv libdrm xorg-server xf86-video-intel mesa Thanks
root@localhost> emerge -pv libdrm xorg-server xf86-video-intel mesa /var/log These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] x11-libs/libdrm-2.4.12 USE="-debug" 0 kB [?=>0] [ebuild R ] media-libs/mesa-7.5-r2 USE="nptl xcb -debug -doc -motif -pic" VIDEO_CARDS="intel -mach64 -mga -none -r128 -radeon -radeonhd -s3virge -savage -sis (-sunffb) -tdfx -trident -via" 0 kB [?=>0] [ebuild R ] x11-base/xorg-server-1.6.2-r1 USE="hal ipv6 nptl sdl xorg -debug -dmx -kdrive -minimal -tslib" INPUT_DEVICES="evdev synaptics -acecad -aiptek -citron -elographics -fpit -hyperpen -joystick -keyboard -mouse -mutouch -penmount -tslib -virtualbox -vmmouse -void -wacom (-calcomp%) (-digitaledge%) (-dmc%) (-dynapro%) (-elo2300%) (-jamstudio%) (-magellan%) (-microtouch%) (-palmax%) (-spaceorb%) (-summa%) (-tek4957%) (-ur98%)" VIDEO_CARDS="intel -apm -ark -ast -chips -cirrus -dummy -epson -fbdev -fglrx (-geode) -glint -i128 (-i740) (-impact) (-imstt) -mach64 -mga -neomagic (-newport) -nv -nvidia -r128 -radeon -radeonhd -rendition -s3 -s3virge -savage -siliconmotion -sis -sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx) -tdfx -tga -trident -tseng -v4l (-vermilion) -vesa -via -virtualbox -vmware -voodoo (-xgi)" 0 kB [?=>0] [ebuild R ] x11-drivers/xf86-video-intel-9999 USE="dri -debug" 0 kB [1] Total: 4 packages (4 reinstalls), Size of downloads: 0 kB Portage tree and overlays: [0] /usr/portage [1] /usr/local/portage/layman/x11 [?] indicates that the source repository could not be determined
Created attachment 198897 [details] I fired up another X with the 2.8.0 driver, so Xorg.1.conf
Created attachment 198898 [details] The X configuration
from your Xorg.0.log : [...] (WW) intel(0): DRI2: failed to open drm device (**) intel(0): Framebuffer compression disabled (**) intel(0): Tiling enabled (**) intel(0): SwapBuffers wait enabled (EE) intel(0): Failed to initialize kernel memory manager [...] That's pretty bad and it would explain the slowdown. Could you attach the full output of dmesg? Thanks
Created attachment 198908 [details] The complete dmesg output
Ok, so you're missing the i915 kernel driver. Either you forgot to add it to your .config, or something is failing to load it. Please make sure it is correctly built : Device Drivers -> Graphics support -> Direct Rendering Manager -> Intel 830M, 845G, ... -> i915 driver Here's what "dmesg | grep drm" shows on my box : [drm] Initialized drm 1.1.0 20060810 [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0 Here's what it shows on yours : [drm] Initialized drm 1.1.0 20060810 Thanks
Indeed, some time ago I disabled the i915 driver in the kernel, cause I've thought it was an older version of xf86-video-intel, just like there's drm in the kernel and x11-drm in the portage tree. Now I've reenabled it, and the 2.8.0 intel driver works with normal performance. Here's the new dmesg output: Linux agpgart interface v0.103 agpgart-intel 0000:00:00.0: Intel 965GM Chipset agpgart-intel 0000:00:00.0: detected 7676K stolen memory agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xe0000000 [drm] Initialized drm 1.1.0 20060810 i915 0000:00:02.0: power state changed by ACPI to D0 i915 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 i915 0000:00:02.0: setting latency timer to 64 mtrr: type mismatch for e0000000,10000000 old: write-back new: write-combining [drm] MTRR allocation failed. Graphics performance may suffer. i915 0000:00:02.0: irq 29 for MSI/MSI-X allocated 1280x800 fb: 0x007df000, bo ffff88013baf0000 [drm] LVDS-8: set mode 1280x800 f Console: switching to colour frame buffer device 160x50 fb0: inteldrmfb frame buffer device So except the MTRR allocation it seems to work properly. And the best thing: I got a framebuffer console for free!
Great, glad that it works. About the MTRR error, you might want to open a bug in FreeDesktop's bugzilla [1] about that, I don't think this is too much of an issue, but just in case... (please paste the url here once you do) Closing INVALID since this wasn't a bug :) Thanks [1] http://intellinuxgraphics.org/how_to_report_bug.html