หลังอัปเกรดเป็น Xorg 6.8/6.8.1 พบว่า FPS ของ glxgears ลดลงไปเกือบครึ่ง ทีแรกเข้าใจว่าเป็นเพราะ Xorg มันช้าเอง .. แต่พอมาเห็น syslog ถึงได้รู้ว่าไดรเวอร์ DRM ของ i830 ในเคอร์เนลมันมีปัญหา เวลาจะโหลดทำงานจะเกิด Oops! .. พอ i830 DRM มันโหลดไม่ได้ Direct Rendering เลยไม่ทำงาน ..
อาการก็จะประมาณนี้
Sep 19 12:05:51 peorth kernel: [drm:i830_dma_initialize] *ERROR* can not find dma buffer map! Sep 19 12:05:51 peorth kernel: [drm:i830_irq_emit] *ERROR* i830_irq_emit called without lock held Sep 19 12:05:51 peorth kernel: mtrr: 0x98000000,0x8000000 overlaps existing 0x98000000,0x200000 Sep 19 12:05:51 peorth kernel: Unable to handle kernel paging request at virtual address f000e2d3 Sep 19 12:05:51 peorth kernel: printing eip: Sep 19 12:05:51 peorth kernel: b023b091 Sep 19 12:05:51 peorth kernel: *pde = 00000000 Sep 19 12:05:51 peorth kernel: Oops: 0000 [#1] Sep 19 12:05:51 peorth kernel: Modules linked in: ipv6 ohci1394 ieee1394 usbhid yenta_socket uhci_hcd usbcore snd_intel8x0 snd_ac97_codec snd_pcm snd_timer snd_page_alloc snd_mpu401_uart snd_rawmidi snd_seq_device snd soundcore orinoco_cs ds pcmcia_core orinoco hermes e100 sg scsi_mod Sep 19 12:05:51 peorth kernel: CPU: 0 Sep 19 12:05:51 peorth kernel: EIP: 0060:[] Not tainted Sep 19 12:05:51 peorth kernel: EFLAGS: 00013296 (2.6.8.1-ck6) Sep 19 12:05:51 peorth kernel: EIP is at i830_kernel_lost_context+0x11/0x70 Sep 19 12:05:51 peorth kernel: eax: f000e2c3 ebx: 00000000 ecx: 00000010 edx: bf15cc10 Sep 19 12:05:51 peorth kernel: esi: b03f76a0 edi: bedbe000 ebp: b03f7820 esp: bedbeed0 Sep 19 12:05:51 peorth kernel: ds: 007b es: 007b ss: 0068 Sep 19 12:05:51 peorth kernel: Process X (pid: 1027, threadinfo=bedbe000 task=bf15cc10) Sep 19 12:05:51 peorth kernel: Stack: 00000000 b023d207 b03f76a0 affff718 00003286 00000000 b03f76a0 b02372e3 Sep 19 12:05:51 peorth kernel: b03f76a0 b03f7d0c b03f7d14 b014d8c0 bedbef14 08806bf0 00000000 00000001 Sep 19 12:05:51 peorth kernel: 0000000a 00000000 bf15cc10 b01163f0 00000000 00000000 beeb7d80 bf2d01e8 Sep 19 12:05:51 peorth kernel: Call Trace: Sep 19 12:05:51 peorth kernel: [] i830_dma_quiescent+0x17/0xb0 Sep 19 12:05:51 peorth kernel: [] i830_lock+0x203/0x2b0 Sep 19 12:05:51 peorth cups-config-daemon: cups-config-daemon startup succeeded Sep 19 12:05:51 peorth kernel: [] do_sync_read+0x80/0xb0 Sep 19 12:05:51 peorth kernel: [] default_wake_function+0x0/0x20 Sep 19 12:05:51 peorth kernel: [] default_wake_function+0x0/0x20 Sep 19 12:05:51 peorth kernel: [] i830_ioctl+0xe4/0x160 Sep 19 12:05:51 peorth kernel: [] sys_ioctl+0xc9/0x240 Sep 19 12:05:51 peorth kernel: [] sysenter_past_esp+0x52/0x71 Sep 19 12:05:51 peorth kernel: Code: 8b 40 10 8b 90 34 20 00 00 81 e2 fc ff 1f 0 0 89 51 14 8b 43
และถ้าดูด้วย glxinfo หรือ xdriinfo โปรแกรมก็จะรายงานว่า direct rendering มันไม่ทำงาน
ทางแก้ เท่าที่หาเจอเวลานี้ มีสองทาง
ติดตั้งเคอร์เนล >= 2.6.9 RC2 ซึ่งรวมไดรเวอร์ตัวใหม่เข้าไปแล้ว ไดรเวอร์ใหม่นี้ชื่อ i915 รองรับกราฟิกชิปของอินเทล ตระกูล 830 845G 852GM 855GM 865G 915G เป็นไดรเวอร์ที่ใช้กับ Xorg >= 6.8 และ XFree86 > 4.4 .. ส่วน Xorg < 6.8 และ XFree86