X server crashes with drm module oops with this call trace: Jun 7 23:56:29 localhost Unable to handle kernel NULL pointer dereference at virtual address 00000000 Jun 7 23:56:29 localhost printing eip: Jun 7 23:56:29 localhost e096fc2e Jun 7 23:56:29 localhost *pde = 1c60c067 Jun 7 23:56:29 localhost *pte = 00000000 Jun 7 23:56:29 localhost Oops: 0000 [#15] Jun 7 23:56:29 localhost Modules linked in: i810 drm snd_pcm_oss snd_mixer_oss snd_seq_oss snd_seq_device snd_seq_midi_event snd_seq intel_agp agpgart snd_intel8x0 snd_ac97_codec snd_ac97_bus snd_pcm snd_timer snd snd_page_alloc Jun 7 23:56:29 localhost CPU: 0 Jun 7 23:56:29 localhost EIP: 0060:[<e096fc2e>] Not tainted VLI Jun 7 23:56:29 localhost EFLAGS: 00013246 (2.6.15-gentoo-r1) Jun 7 23:56:29 localhost EIP is at drm_version+0x7e/0x220 [drm] Jun 7 23:56:29 localhost eax: 00000000 ebx: 00000000 ecx: ffffffff edx: dc864000 Jun 7 23:56:29 localhost esi: df785000 edi: 00000000 ebp: dc865ef4 esp: dc865ee8 Jun 7 23:56:29 localhost ds: 007b es: 007b ss: 0068 Jun 7 23:56:29 localhost Process X (pid: 13420, threadinfo=dc864000 task=dcfc5a90) Jun 7 23:56:29 localhost Stack: dc865ef4 082283f0 00000024 00000000 00000000 00000000 00000000 00000000 Jun 7 23:56:29 localhost 00000000 00000000 00000000 00000000 e096fbb0 00000000 d368bc60 df785028 Jun 7 23:56:29 localhost e096fe72 d6ecf83c d3238480 c0246400 082283f0 dcfc5a90 c012fb10 dc865f44 Jun 7 23:56:29 localhost Call Trace: Jun 7 23:56:29 localhost [<e096fbb0>] drm_version+0x0/0x220 [drm] Jun 7 23:56:29 localhost [<e096fe72>] drm_ioctl+0xa2/0x21e [drm] Jun 7 23:56:29 localhost [<c0246400>] udf_add_entry+0xd60/0xdf0 Jun 7 23:56:29 localhost [<c012fb10>] autoremove_wake_function+0x0/0x60 Jun 7 23:56:29 localhost [<c0246400>] udf_add_entry+0xd60/0xdf0 Jun 7 23:56:29 localhost [<c016d031>] do_ioctl+0x81/0x90 Jun 7 23:56:29 localhost [<c0246400>] udf_add_entry+0xd60/0xdf0 Jun 7 23:56:29 localhost [<c016d1b0>] vfs_ioctl+0x60/0x1f0 Jun 7 23:56:29 localhost [<c0246400>] udf_add_entry+0xd60/0xdf0 Jun 7 23:56:29 localhost [<c016d385>] sys_ioctl+0x45/0x70 Jun 7 23:56:29 localhost [<c0246400>] udf_add_entry+0xd60/0xdf0 Jun 7 23:56:29 localhost [<c010308b>] sysenter_past_esp+0x54/0x75 Jun 7 23:56:29 localhost [<c0246400>] udf_add_entry+0xd60/0xdf0 Jun 7 23:56:29 localhost Code: 40 68 89 44 24 0c 8b 86 f8 02 00 00 8b 40 6c 89 44 24 10 8b 86 f8 02 00 00 8b 40 70 89 44 24 14 8b 86 f8 02 00 00 8b 78 74 89 d8 <f2> ae f7 d1 49 8b 44 24 18 89 ca 39 c1 b9 ff ff ff ff 0f 47 d0 Jun 7 23:56:29 localhost gdm[13395]: gdm_slave_xioerror_handler: Fatal X error - Restarting :0 Jun 7 23:56:29 localhost <3>[drm:drm_release] *ERROR* Device busy: 1 0 un 7 23:56:29 localhost gdm[13285]: deal_with_x_crashes: Running the XKeepsCrashing script intel_agp, agpgart, drm are autoloaded. i810 kernel module is loaded by drm module during X start. The relevant part of the xorg.conf: Section "Device" Identifier "Videocard0" Driver "i810" VendorName "Videocard vendor" BoardName "Intel 815" VideoRAM 16384 Option "NoAccel" "false" Option "DRI" "true" EndSection Relevant kernel config: <M> /dev/agpgart (AGP Support) <M> Intel 440LX/BX/GX, I8xx and E7x05 chipset support < > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) Removing i810 FB support from "graphics drivers" doesn't help. [ebuild R ] x11-base/x11-drm-20051223 VIDEO_CARDS="i810 -mach64 -mga -nv -r128 -radeon -savage -sis -tdfx -via" Does anybody know what's wrong here? And how I can get DRM to work with my i815? Also, please let me know if you need any more information.
alright, the good news is that I just downloaded the snapshot 20060403 and built drm/linux-core/ for i810 only. Copied over the modules i810.ko, drm.ko and everything works. No crashes, and DRM is enabled. Can we get the snapshot 20060403 into portage somehow, even hard masked. I have seen so many posts in gentoo forums with i810 problems and people giving up on x11-drm package and just using the built in kernel DRM. It will be good to have a working i810 in the portage.
A newer x11-drm snapshot has be put into Portage, but apparently it now needs a mesa snapshot to function.