Changelogs for kernel has the following item included: agp: remove flush_agp_mappings calls from new flush handling code Unfortunately, this seems to break X11-drm (at least the ones in portage). I tested both 20070314 and 20071019. Both fail with following (against gentoo-sources 2.6.25-r1): e... sh ../scripts/create_linux_pci_lists.sh < ../shared-core/drm_pciids.txt make -C /usr/src/linux SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules make[1]: Entering directory `/usr/src/linux-2.6.25-gentoo-r1' CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_auth.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_bufs.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_context.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_dma.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_drawable.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_drv.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_fops.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_ioctl.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_irq.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_lock.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_memory.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_proc.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_stub.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_sysfs.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_pci.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_agpsupport.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_scatter.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_memory_debug.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/ati_pcigart.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_sman.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_hashtab.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_mm.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_object.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_compat.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_fence.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_ttm.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_bo.o CC [M] /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_bo_move.o /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_ttm.c: In function 'drm_set_caching': /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_ttm.c:135: error: implicit declaration of function 'flush_agp_mappings' make[2]: *** [/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_ttm.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [_module_/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.25-gentoo-r1' make: *** [modules] Error 2 * Portage could not build the DRM modules. If you see an ACCESS DENIED error, * this could mean that you were using an unsupported kernel build system. * Only 2.6 kernels at least as new as 2.6.6 are supported. * * ERROR: x11-base/x11-drm-20071019 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 3754: Called src_compile_os * environment, line 3788: Called src_compile_linux * environment, line 3777: Called die_error * environment, line 1145: Called die * The specific snippet of code: * die "Unable to build DRM modules." * The die message: * Unable to build DRM modules. * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/x11-base/x11-drm-20071019/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/x11-base/x11-drm-20071019/temp/environment'. * # emerge info *** Deprecated use of action 'info', use '--info' instead Portage 2.1.4.4 (default-linux/x86/2007.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.24-gentoo-r2 i686) ================================================================= System uname: 2.6.24-gentoo-r2 i686 Intel(R) Pentium(R) M processor 2.00GHz Timestamp of tree: Sat, 19 Apr 2008 13:00:02 +0000 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] app-shells/bash: 3.2_p17-r1 dev-java/java-config: 1.3.7, 2.1.4 dev-lang/python: 2.4.4-r9 dev-python/pycrypto: 2.0.1-r6 dev-util/confcache: 0.4.2-r1 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1 sys-devel/binutils: 2.18-r1 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="-march=pentium-m -O3 -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config" CONFIG_PROTECT_MASK="/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="-march=pentium-m -O3 -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://trumpetti.atm.tut.fi/gentoo/ ftp://trumpetti.atm.tut.fi/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://ds.thn.htu.se/linux/gentoo http://ftp.linux.ee/pub/gentoo/distfiles/ http://gentoo.tiscali.nl/gentoo/" LANG="C" LDFLAGS="-Wl,-O1" LINGUAS="en fi" MAKEOPTS="-j4" 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/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acpi adns aiglx alsa amr amrnb amrwb arts asf async audiofile automount berkdb bluetooth browserplugin bzip2 cairo caps cdparanoia cdr chardet connectionstatus cracklib crypt css cups curl dbus dga divx divx4linux dmx dri dts dvd dvdr dvdread emboss enca encode evo exif fam ffmpeg firefox flac foomaticdb fortran gdbm gif gimp glibc-omitfp glitz glut gmedia gmp gphoto2 gpm gstreamer gtk hal hdaps history i8x0 iconv idn ieee1394 imagemagick imlib ipv6 irda irmc java jpeg jpeg2k justify kde kdeenablefinal kdehiddenvisibility kqemu lame lcms ldap mad madwifi midi mikmod mjpeg mmap mmx mmxext mng mozbranding mp3 mpeg mplayer msn mudflap ncurses netmeeting nls nptl nptlonly nsplugin offensive ogg oggvorbis opengl openmp pam pcmcia pcre pdf perl pic png pnp ppds pppd python qt3 qt3support qt4 quicktime readline real realmedia reflection rtc samba sdl snmp sound spell sse sse2 ssl subtitles svg swat sysfs syslog tcltk tcpd tga theora tiff truetype usb userlocales vcd visualization vorbis wifi win32codecs wireshark wma wmf wmp x264 x86 xcomposite xine xinerama xml xml2 xorg xscreensaver xv xvid xvmc yahoo 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 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" CAMERAS="canon ptp2" ELIBC="glibc" INPUT_DEVICES="keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en fi" USERLAND="GNU" VIDEO_CARDS="i810" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
The post at http://www.mail-archive.com/dri-devel@lists.sourceforge.net/msg34107.html Seems to have a fix for x11-drm packages. Using the information there I created a patch for 20070314 (since 20071009 seems to break my i915).
Created attachment 150347 [details, diff] Patch to fix x11-drm compiling on >= 2.6.25 kernels. Made for 20070314, but should work with others too.
(In reply to comment #2) > Created an attachment (id=150347) [edit] > Patch to fix x11-drm compiling on >= 2.6.25 kernels. Made for 20070314, but > should work with others too. > I have successfully tested the patch with gentoo-sources-2.6.25-r1 on a ~x86 system. I renamed drm.patch to 003_all_unmap_page_from_agp.patch, and I did put this file inside x11-drm-20070314-gentoo-0.1.tar.bz2. DRI is working all right now!
Is it possible to add this piece of work to portage tree? It appears still not present at my rsync last night (at least for x11-drm-20071019).
Confirm the 003_all_unmap_page_from_agp.patch works here on ~x86. I would add the patch and recommend a bump of the ebuild to x11-drm-20071019-r1 so it doesn't slip through the cracks. :-) This is on kernel 2.6.25-gentoo-r1.
(In reply to comment #5) I have the same problem here while trying to restore my system to a consistent Gentoo state, coming down from xorg's master tree. Where can I get x11-drm-20071019-r1? It's not already in the portage tree, as I see currently view it after having synced today.
Created attachment 152377 [details] x11-drm patches including 003_all_unmap_page_from_agp.patch
Comment on attachment 152377 [details] x11-drm patches including 003_all_unmap_page_from_agp.patch As the problem persists in x11-drm-20070314 I am attaching the tarball for the patches including the one that solves the compilation problem. The same can be applied to version 20071019
Created attachment 152951 [details] x11-drm patches including 003_all_unmap_page_from_agp.patch This is the patches tarball for x11-drm-20071019. The compilation of x11-drm-20071019 succeds, but there is a new problem in the install stage, I get a sandbox violation: make -C /usr/src/linux SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules_install make[1]: se ingresa al directorio `/usr/src/linux-2.6.25-gentoo-r2' make[1]: atención: el servidor de tareas no está disponible: se utilizará -j1. Añada `+' a la regla padre del make. ACCESS DENIED mkdir: /lib/modules/2.6.25-gentoo-r2/extra mkdir: no se puede crear el directorio «/lib/modules/2.6.25-gentoo-r2/extra»: Permiso denegado make[1]: *** [_emodinst_] Error 1 make[1]: se sale del directorio `/usr/src/linux-2.6.25-gentoo-r2' make: *** [install] Error 2 --------------------------- ACCESS VIOLATION SUMMARY --------------------------- LOG FILE = "/var/log/sandbox/sandbox-16892.log" mkdir: /lib/modules/2.6.25-gentoo-r2/extra -------------------------------------------------------------------------------- Some traslations from spanish: se ingresa al directorio -> entering directory no se puede crear el directorio -> directory can not be created Permiso denegado -> Access denied
friendly reminder; we'll probably push for 2.6.25 stable within a week or so, it would be great to see this fixed
There has been a version bump, please try again.
I try today with 2.6.25-gentoo-r6 and x11-drm-20071019 compiled fine and working ;) I sitting on 2.6.24-gentoo-r8 before
I see the following warnings: WARNING: //lib/modules/2.6.25.10/x11-drm/i810.ko needs unknown symbol drm_get_dev WARNING: //lib/modules/2.6.25.10/x11-drm/i810.ko needs unknown symbol drm_cleanup_pci Well, i only need the i915 module - but the above sounds like i810 wouldn't load.
Brought 20060608 up to speed, but with a caveat. You must have CONFIG_UNUSED_SYMBOLS=y in the kernel. This will have the kernel export some unused/obsolete symbols. The symbol init_mm, specifically, is needed for x11-drm. I've added an appropriate check for that config option in the ebuild. Unfortunately, if you don't have it, you'll have to rebuild the kernel for it. Thanks.