# DRM not working anymore [SOLVED]

## nyk

After a kernel update to 2.6.22, DRM stopped working with my Intel Mobile 945GM/GMS/940GML card.

This is the error from the Xorg log:

```

(II) intel(0): Kernel reported 363776 total, 1 used

(II) intel(0): I830CheckAvailableMemory: 1455100 kB available

(==) intel(0): VideoRam: 262144 KB

(II) intel(0): Attempting memory allocation with tiled buffers and 

               large DRI memory manager reservation:

(II) intel(0): Allocating 5112 scanlines for pixmap cache

(II) intel(0): Success.

(II) intel(0): Memory allocation layout:

(II) intel(0): 0x00000000-0x0001ffff: ring buffer (128 kB)

(II) intel(0): 0x00020000-0x00029fff: HW cursors (40 kB, 0x5f820000 physical)

(II) intel(0): 0x0002a000-0x00031fff: logical 3D context (32 kB)

(II) intel(0): 0x00032000-0x00032fff: overlay registers (4 kB, 0x5f832000 physical)

(II) intel(0): 0x00040000-0x01837fff: front buffer (24544 kB)

(II) intel(0): 0x007bf000:            end of stolen memory

(II) intel(0): 0x01838000-0x01847fff: xaa scratch (64 kB)

(II) intel(0): 0x01c00000-0x01ffffff: back buffer (4096 kB)

(II) intel(0): 0x02000000-0x023fffff: depth buffer (4096 kB)

(II) intel(0): 0x02400000-0x043fffff: DRI memory manager (32768 kB)

(II) intel(0): 0x04400000-0x063fffff: textures (32768 kB)

(II) intel(0): 0x10000000:            end of aperture

(II) intel(0): front buffer is not tiled

(II) intel(0): back buffer is tiled

(II) intel(0): depth buffer is tiled

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

[drm] failed to load kernel module "i915"

(II) intel(0): [drm] drmOpen failed

(EE) intel(0): [dri] DRIScreenInit failed. Disabling DRI.

(II) intel(0): Page Flipping disabled

(==) intel(0): Write-combining range (0xd0000000,0x10000000)

(II) intel(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000

(II) intel(0): Using XFree86 Acceleration Architecture (XAA)

```

...now I try it myself:

```

thinkpad nyk # modprobe i915

FATAL: Error inserting i915 (/lib/modules/2.6.22-gentoo-r8/x11-drm/i915.ko): Unknown symbol in module, or unknown parameter (see dmesg)
```

...and look at dmesg:

```

i915: Unknown symbol drm_fence_usage_deref_unlocked

i915: Unknown symbol drm_fence_handler

i915: Unknown symbol drm_bo_same_page

i915: Unknown symbol drm_mm_put_block

i915: Unknown symbol drm_bo_mem_space

i915: Unknown symbol drm_bo_move_ttm

i915: Unknown symbol drm_calloc

i915: Unknown symbol drm_agp_init_ttm

i915: Unknown symbol drm_bo_kmap

i915: Unknown symbol drm_get_dev

i915: Unknown symbol drm_bo_driver_init

i915: Unknown symbol drm_bo_kunmap

i915: Unknown symbol drm_getsarea

i915: Unknown symbol drm_fence_buffer_objects

i915: Unknown symbol drm_lookup_buffer_object

i915: Unknown symbol drm_fence_flush_old

i915: Unknown symbol drm_fence_add_user_object

i915: Unknown symbol drm_bo_handle_validate

i915: Unknown symbol drm_cleanup_pci

i915: Unknown symbol drm_bo_offset_end

i915: Unknown symbol drm_bo_move_accel_cleanup

i915: Unknown symbol drm_bind_ttm

i915: Unknown symbol drm_bo_move_memcpy

i915: Unknown symbol drm_bo_usage_deref_locked

```

Which is very strange. Any ideas?

Some more info:

```

thinkpad nyk # emerge -av x11-drm mesa

[ebuild   R   ] x11-base/x11-drm-20071019  VIDEO_CARDS="i810 -mach64 -mga -nv -r128 -radeon -savage -sis (-sunffb) -tdfx -via" 0 kB 

[ebuild   R   ] media-libs/mesa-6.5.2-r1  USE="motif nptl -debug -doc -hardened -xcb" VIDEO_CARDS="i810 -mach64 -mga -none -r128 -radeon -s3virge -savage -sis (-sunffb) -tdfx -trident -via" 0 kB 

thinkpad nyk # cat /etc/make.conf

CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"

CHOST="i686-pc-linux-gnu"

MAKEOPTS="-j3"

USE="X a52 aac acpi alsa apache2 asf bluetooth bzip2 cpudetection ctype dbus

     dv enca encode examples exif fam ffmpeg flac gcj gd gif gnome gphoto2 gtk

     hal hdaps imagemagick imap java jpeg jpeg2k libnotify mad mjpeg mmx motif

     mp2 mp3 mp4 mpeg mpeg2 musepack mysql nsplugin ogg opengl oss pdf png

     posix postgres ppds qt-static qt3 qt3support qt4 quicktime real sdl slang

     spell srt svg tetex theora threadsafe timidity tk truetype usb v4l v4l2

     vim vorbis wifi win32codecs wma wxwindows x264 xml xosd xv xvid -berkdb

     -ipv6 -isdnlog"

GENTOO_MIRRORS="ftp://mirror.switch.ch/mirror/gentoo/ http://mirror.switch.ch/mirror/gentoo/ ftp://ftp.solnet.ch/mirror/Gentoo"

INPUT_DEVICES="keyboard mouse"

VIDEO_CARDS="i810 vesa"

ALSA_CARDS="hda-intel"

```

Last edited by nyk on Sat Nov 03, 2007 8:42 pm; edited 1 time in total

----------

## WakkaDojo

I have a 915G, and DRI is working for me, but strangely enough I am getting similar errors:

```
wakka ~ # modprobe i915

WARNING: Error inserting drm (/lib/modules/2.6.22-gentoo-r8-wakka/x11-drm/drm.ko): Invalid module format

FATAL: Error inserting i915 (/lib/modules/2.6.22-gentoo-r8-wakka/x11-drm/i915.ko): Unknown symbol in module, or unknown parameter (see dmesg)
```

```
wakka ~ # dmesg | grep drm

[drm] Initialized drm 1.1.0 20060810

[drm] Initialized i915 1.6.0 20060119 on minor 0

drm: exports duplicate symbol drm_order (owned by kernel)

i915: Unknown symbol drm_fence_handler

i915: Unknown symbol drm_mm_put_block

i915: Unknown symbol drm_bo_mem_space

i915: Unknown symbol drm_bo_move_ttm

i915: Unknown symbol drm_calloc

i915: Unknown symbol drm_agp_init_ttm

i915: Unknown symbol drm_get_dev

i915: Unknown symbol drm_bo_driver_init

i915: Unknown symbol drm_fence_flush_old

i915: Unknown symbol drm_cleanup_pci

i915: Unknown symbol drm_bo_move_accel_cleanup

i915: Unknown symbol drm_bind_ttm

i915: Unknown symbol drm_bo_move_memcpy

```

But... dri works for me. Strange. I wonder where we differ. Perhaps you are trying to use the xorg dri drivers?

----------

## nyk

One difference I see here:

```

thinkpad nyk # dmesg | grep drm

[drm] Initialized drm 1.1.0 20060810

i915: Unknown symbol drm_fence_usage_deref_unlocked

i915: Unknown symbol drm_fence_handler

i915: Unknown symbol drm_bo_same_page

i915: Unknown symbol drm_mm_put_block

i915: Unknown symbol drm_bo_mem_space

i915: Unknown symbol drm_bo_move_ttm

i915: Unknown symbol drm_calloc

i915: Unknown symbol drm_agp_init_ttm

i915: Unknown symbol drm_bo_kmap

i915: Unknown symbol drm_get_dev

i915: Unknown symbol drm_bo_driver_init

i915: Unknown symbol drm_bo_kunmap

i915: Unknown symbol drm_getsarea

i915: Unknown symbol drm_fence_buffer_objects

i915: Unknown symbol drm_lookup_buffer_object

i915: Unknown symbol drm_fence_flush_old

i915: Unknown symbol drm_fence_add_user_object

i915: Unknown symbol drm_bo_handle_validate

i915: Unknown symbol drm_cleanup_pci

i915: Unknown symbol drm_bo_offset_end

i915: Unknown symbol drm_bo_move_accel_cleanup

i915: Unknown symbol drm_bind_ttm

i915: Unknown symbol drm_bo_move_memcpy

i915: Unknown symbol drm_bo_usage_deref_locked

```

How do I know if I use the xorg dri drivers and select the ones from the kernel?

I something wrong in my xorg.conf? http://www.nyk.ch/code/x60/xorg.conf or my kernel config http://www.nyk.ch/code/x60/config-2.6.22-gentoo-r8 ?

----------

## nyk

I tried both the x11 and the kernel drivers now and followed all the hints from the howto here:

http://gentoo-wiki.com/HARDWARE_Intel_945G.

But still it doesn't work, I get the Unknown symbol errors when trying to modprobe the i915 module.

What can I possibly do? 

Also tried the ~i386 version of mesa and re-emerged it as well as xorg-server.

Edit: Removed the x11-drm and recompiled the kernel, and now it works.

I'm very positively surprised!  :Smile:  But dont really know why it works. Must have been the newer mesa, then re-emerging xorg-server, and finally recompiling the kernel module. But the first two steps alone didn't help.

----------

## WakkaDojo

If you have the drivers compiled into the kernel and attempt to emerge x11-drm you get an error, but if you have x11-drm and compile the drivers into the kernel afterwards there is no dependency error check. You probably did the latter: emerged x11-drm then compiled the drivers into the kernel. So the two drivers conflicted. Glad it's working!

----------

## nyk

Yes, that must have been the reason! 

(or that I used the old mesa...)

The collision detection system of portage should also take the .config options of the current kernel into account when trying to emerge x11-drm.

----------

