i810 1.7.4 driver lockups

Roderick Greening roderick_greening at hotmail.com
Thu Feb 1 12:11:55 PST 2007


Ok,

I build the latest from git, removed the file as indicated. Copied the *.ko 
files to proper lib dir.

Rebuild libdrm and x11-drm packages.

Now, system boots and the new modules seem to be loading. glxgears works 
with a 50% increase in fps.

Now, I try to run some 3D accellerated apps and I get visual corruption. 
Tried Neverwinter Nights (native game) and then I tried some games via Wine 
(which previously worked - opengl based like Jedi Outcast). All received 
with some form of corruption/crash.

Do I need to rebuild any other parts of X/Mesa or the xf86-video-i810 or 
should I just wait until a newer kernel and X packages are published?



>From: Thomas Hellström <thomas at tungstengraphics.com>
>To: Roderick Greening <roderick_greening at hotmail.com>
>CC: andrew.james.barr at gmail.com,  xorg at lists.freedesktop.org
>Subject: Re: i810 1.7.4 driver lockups
>Date: Thu, 01 Feb 2007 19:51:40 +0100
>MIME-Version: 1.0
>Received: from lin5.shipmail.org ([82.182.75.118]) by 
>bay0-mc1-f8.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.2444); Thu, 1 
>Feb 2007 10:51:43 -0800
>Received: from [127.0.0.1] (localhost [127.0.0.1])by lin5.shipmail.org 
>(Postfix) with ESMTP id AC30A3565E1;Thu,  1 Feb 2007 19:51:40 +0100 (CET)
>X-Message-Info: LsUYwwHHNt3660MmjhEvYg2f34OAemlK3oXsmRrh6gU=
>User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.8) 
>Gecko/20050511
>X-Accept-Language: sv, en-us, en
>References: <BAY116-F19AF8C9C308AD6000B1EDB84A40 at phx.gbl>
>Return-Path: thomas at tungstengraphics.com
>X-OriginalArrivalTime: 01 Feb 2007 18:51:43.0540 (UTC) 
>FILETIME=[04282F40:01C74632]
>
>Roderick Greening wrote:
>
>>Thanks for the info. I cloned a copy of the repo, and built the modules. I 
>>copied them to the correct location and updated the dependencies.
>>
>>Tried a reload, however, got the following:
>>
>>Feb  1 14:52:24 prometheus drm: disagrees about version of symbol 
>>agp_bind_memory
>>Feb  1 14:52:24 prometheus drm: Unknown symbol agp_bind_memory
>>Feb  1 14:52:24 prometheus drm: disagrees about version of symbol 
>>agp_enable
>>Feb  1 14:52:24 prometheus drm: Unknown symbol agp_enable
>>Feb  1 14:52:24 prometheus drm: disagrees about version of symbol 
>>agp_find_bridge
>>Feb  1 14:52:24 prometheus drm: Unknown symbol agp_find_bridge
>>Feb  1 14:52:24 prometheus drm: disagrees about version of symbol 
>>agp_backend_acquire
>>Feb  1 14:52:24 prometheus drm: Unknown symbol agp_backend_acquire
>>Feb  1 14:52:24 prometheus drm: disagrees about version of symbol 
>>agp_free_memory
>>Feb  1 14:52:24 prometheus drm: Unknown symbol agp_free_memory
>>Feb  1 14:52:24 prometheus drm: disagrees about version of symbol 
>>agp_allocate_memory
>>Feb  1 14:52:24 prometheus drm: Unknown symbol agp_allocate_memory
>>Feb  1 14:52:24 prometheus drm: disagrees about version of symbol 
>>agp_unbind_memory
>>Feb  1 14:52:24 prometheus drm: Unknown symbol agp_unbind_memory
>>Feb  1 14:52:24 prometheus drm: disagrees about version of symbol 
>>agp_copy_info
>>Feb  1 14:52:24 prometheus drm: Unknown symbol agp_copy_info
>>Feb  1 14:52:24 prometheus drm: disagrees about version of symbol 
>>agp_backend_release
>>Feb  1 14:52:24 prometheus drm: Unknown symbol agp_backend_release
>>Feb  1 14:57:02 prometheus drm: disagrees about version of symbol 
>>agp_bind_memory
>>Feb  1 14:57:02 prometheus drm: Unknown symbol agp_bind_memory
>>Feb  1 14:57:02 prometheus drm: disagrees about version of symbol 
>>agp_enable
>>Feb  1 14:57:02 prometheus drm: Unknown symbol agp_enable
>>Feb  1 14:57:02 prometheus drm: disagrees about version of symbol 
>>agp_find_bridge
>>Feb  1 14:57:02 prometheus drm: Unknown symbol agp_find_bridge
>>Feb  1 14:57:02 prometheus drm: disagrees about version of symbol 
>>agp_backend_acquire
>>Feb  1 14:57:02 prometheus drm: Unknown symbol agp_backend_acquire
>>Feb  1 14:57:02 prometheus drm: disagrees about version of symbol 
>>agp_free_memory
>>Feb  1 14:57:02 prometheus drm: Unknown symbol agp_free_memory
>>Feb  1 14:57:02 prometheus drm: disagrees about version of symbol 
>>agp_allocate_memory
>>Feb  1 14:57:02 prometheus drm: Unknown symbol agp_allocate_memory
>>Feb  1 14:57:02 prometheus drm: disagrees about version of symbol 
>>agp_unbind_memory
>>Feb  1 14:57:02 prometheus drm: Unknown symbol agp_unbind_memory
>>Feb  1 14:57:02 prometheus drm: disagrees about version of symbol 
>>agp_copy_info
>>Feb  1 14:57:02 prometheus drm: Unknown symbol agp_copy_info
>>Feb  1 14:57:02 prometheus drm: disagrees about version of symbol 
>>agp_backend_release
>>Feb  1 14:57:02 prometheus drm: Unknown symbol agp_backend_release
>>Feb  1 14:57:07 prometheus drm: disagrees about version of symbol 
>>agp_bind_memory
>>Feb  1 14:57:07 prometheus drm: Unknown symbol agp_bind_memory
>>Feb  1 14:57:07 prometheus drm: disagrees about version of symbol 
>>agp_enable
>>Feb  1 14:57:07 prometheus drm: Unknown symbol agp_enable
>>Feb  1 14:57:07 prometheus drm: disagrees about version of symbol 
>>agp_find_bridge
>>Feb  1 14:57:07 prometheus drm: Unknown symbol agp_find_bridge
>>Feb  1 14:57:07 prometheus drm: disagrees about version of symbol 
>>agp_backend_acquire
>>Feb  1 14:57:07 prometheus drm: Unknown symbol agp_backend_acquire
>>Feb  1 14:57:07 prometheus drm: disagrees about version of symbol 
>>agp_free_memory
>>Feb  1 14:57:07 prometheus drm: Unknown symbol agp_free_memory
>>Feb  1 14:57:07 prometheus drm: disagrees about version of symbol 
>>agp_allocate_memory
>>Feb  1 14:57:07 prometheus drm: Unknown symbol agp_allocate_memory
>>Feb  1 14:57:07 prometheus drm: disagrees about version of symbol 
>>agp_unbind_memory
>>Feb  1 14:57:07 prometheus drm: Unknown symbol agp_unbind_memory
>>Feb  1 14:57:07 prometheus drm: disagrees about version of symbol 
>>agp_copy_info
>>Feb  1 14:57:07 prometheus drm: Unknown symbol agp_copy_info
>>Feb  1 14:57:07 prometheus drm: disagrees about version of symbol 
>>agp_backend_release
>>Feb  1 14:57:07 prometheus drm: Unknown symbol agp_backend_release
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_open
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_fasync
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_fence_handler
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_poll
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_core_get_reg_ofs
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_calloc
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_agp_init_ttm
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_pci_alloc
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_irq_uninstall
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_get_dev
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_ioctl
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_bo_driver_init
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_exit
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_debug
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_core_get_map_ofs
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_get_drawable_info
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_init
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_fence_flush_old
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_locked_tasklet
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_vbl_send_signals
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_cleanup_pci
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_pci_free
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_mmap
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_core_reclaim_buffers
>>Feb  1 14:57:07 prometheus i915: Unknown symbol drm_release
>>
>>Perhaps I did something wrong... I'll try again...
>>
>After  installing the new agpgart you need to remove the kernel source 
>"Module.symvers" and
>rebuild drm. The "Module.symvers" file still contains the old agpgart 
>symbols.
>
>
>
>/Thomas
>
>
>>
>>>From: Thomas Hellström <thomas at tungstengraphics.com>
>>>To: "Andrew J. Barr" <andrew.james.barr at gmail.com>
>>>CC: Roderick Greening <roderick_greening at hotmail.com>,  
>>>xorg at lists.freedesktop.org
>>>Subject: Re: i810 1.7.4 driver lockups
>>>Date: Thu, 01 Feb 2007 19:19:32 +0100
>>>MIME-Version: 1.0
>>>Received: from lin5.shipmail.org ([82.182.75.118]) by 
>>>bay0-mc7-f19.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.2444); Thu, 
>>>1 Feb 2007 10:19:33 -0800
>>>Received: from [127.0.0.1] (localhost [127.0.0.1])by lin5.shipmail.org 
>>>(Postfix) with ESMTP id 5C9433565E1;Thu,  1 Feb 2007 19:19:32 +0100 (CET)
>>>X-Message-Info: txF49lGdW41F6lUqTqIeHQE2Srdt6UEqZyxF+4q5F5I=
>>>User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.8) 
>>>Gecko/20050511
>>>X-Accept-Language: sv, en-us, en
>>>References: <BAY116-F13BF76FE4B25CAB570838684A40 at phx.gbl> 
>>><1170352303.6665.4.camel at localhost>
>>>Return-Path: thomas at tungstengraphics.com
>>>X-OriginalArrivalTime: 01 Feb 2007 18:19:34.0366 (UTC) 
>>>FILETIME=[864797E0:01C7462D]
>>>
>>>Andrew J. Barr wrote:
>>>
>>>>On Thu, 2007-02-01 at 14:04 -0330, Roderick Greening wrote:
>>>>
>>>>
>>>>>I went back trough my logs, and I located this in /var/log/messages:
>>>>>
>>>>>Feb  1 11:26:59 prometheus BUG: unable to handle kernel NULL pointer 
>>>>>dereference at virtual address 00000029
>>>>>Feb  1 11:26:59 prometheus printing eip:
>>>>>Feb  1 11:26:59 prometheus f9080503
>>>>>Feb  1 11:26:59 prometheus *pde = 00000000
>>>>>Feb  1 11:26:59 prometheus Oops: 0002 [#1]
>>>>>Feb  1 11:26:59 prometheus PREEMPT SMP
>>>>>Feb  1 11:26:59 prometheus Modules linked in: i915 drm snd_rtctimer 
>>>>>snd_pcm_oss snd_mixer_oss snd_seq_oss snd_seq_midi_event snd_seq 
>>>>>snd_usb_audio snd_usb_lib snd_rawmidi snd_seq_device snd_hwdep video 
>>>>>thermal processor fan button battery ac sbs i2c_ec acerhk usbhid 
>>>>>ipw3945(F) ieee80211 ieee80211_crypt yenta_socket rsrc_nonstatic r8169 
>>>>>firmware_class pcmcia_core snd_hda_intel snd_hda_codec psmouse snd_pcm 
>>>>>snd_timer snd pcspkr i2c_i801 intel_agp agpgart soundcore 
>>>>>snd_page_alloc
>>>>>Feb  1 11:26:59 prometheus CPU:    1
>>>>>Feb  1 11:26:59 prometheus EIP:    0060:[<f9080503>]    Tainted: GF     
>>>>>VLI
>>>>>Feb  1 11:26:59 prometheus EFLAGS: 00210246   (2.6.19-gentoo-r5 #1)
>>>>>Feb  1 11:26:59 prometheus EIP is at drm_agp_bind_ttm+0x83/0xb0 [drm]
>>>>>Feb  1 11:26:59 prometheus eax: 00000001   ebx: f5ae21c0   ecx: 
>>>>>00000000   edx: 0000e000
>>>>>Feb  1 11:26:59 prometheus esi: 00000000   edi: c223ebe0   ebp: 
>>>>>00000000   esp: f74bdd78
>>>>>Feb  1 11:26:59 prometheus ds: 007b   es: 007b   ss: 0068
>>>>>Feb  1 11:26:59 prometheus Process glxgears (pid: 10103, ti=f74bc000 
>>>>>task=f760a560 task.ti=f74bc000)
>>>>>Feb  1 11:26:59 prometheus Stack: f9084301 00000001 0000e000 00000000 
>>>>>00000100 f51539c0 f5ae21c0 f90843a9
>>>>>Feb  1 11:26:59 prometheus f731b0c0 f71d0800 0000e000 00000000 f71d0c98 
>>>>>00000000 f71d081c f731b0c0
>>>>>Feb  1 11:26:59 prometheus f71d0800 f9086621 00000000 f9081d38 f713b8c0 
>>>>>03000000 f731b0c0 00000000
>>>>>Feb  1 11:26:59 prometheus Call Trace:
>>>>>Feb  1 11:26:59 prometheus [<f9084301>] drm_set_caching+0xa1/0xf0 [drm]
>>>>>Feb  1 11:26:59 prometheus [<f90843a9>] drm_bind_ttm+0x59/0x1f0 [drm]
>>>>>Feb  1 11:26:59 prometheus [<f9086621>] drm_bo_move_buffer+0xc1/0x190 
>>>>>[drm]
>>>>>Feb  1 11:26:59 prometheus [<f9081d38>] drm_ht_find_item+0x8/0x20 [drm]
>>>>>Feb  1 11:26:59 prometheus [<f9086976>] 
>>>>>drm_buffer_object_validate+0x286/0x2e0 [drm]
>>>>>Feb  1 11:26:59 prometheus [<f9085dee>] 
>>>>>drm_lookup_buffer_object+0x1e/0x90 [drm]
>>>>>Feb  1 11:26:59 prometheus [<f9087497>] drm_bo_ioctl+0x837/0x870 [drm]
>>>>>Feb  1 11:26:59 prometheus [<c011bab0>] default_wake_function+0x0/0x10
>>>>>Feb  1 11:26:59 prometheus [<f9086c60>] drm_bo_ioctl+0x0/0x870 [drm]
>>>>>Feb  1 11:26:59 prometheus [<f907b12e>] drm_ioctl+0xae/0x210 [drm]
>>>>>Feb  1 11:26:59 prometheus [<c030fdaa>] schedule+0x32a/0x910
>>>>>Feb  1 11:26:59 prometheus [<c030fddc>] schedule+0x35c/0x910
>>>>>Feb  1 11:26:59 prometheus [<f9086c60>] drm_bo_ioctl+0x0/0x870 [drm]
>>>>>Feb  1 11:26:59 prometheus [<c0177a48>] do_ioctl+0x78/0x90
>>>>>Feb  1 11:26:59 prometheus [<c0177abc>] vfs_ioctl+0x5c/0x2b0
>>>>>Feb  1 11:26:59 prometheus [<c0177d82>] sys_ioctl+0x72/0x90
>>>>>Feb  1 11:26:59 prometheus [<c01032c1>] sysenter_past_esp+0x56/0x79
>>>>>Feb  1 11:26:59 prometheus =======================
>>>>>Feb  1 11:26:59 prometheus Code: f9 89 44 24 04 c7 04 24 30 9f 08 f9 e8 
>>>>>47 2d 0a c7 89 d8 8b 74 24 10 8b 5c 24 0c 8b 7c 24 14 8b 6c 24 18 83 c4 
>>>>>1c c3 90 89 43 08 <c6> 46 29 01
>>>>>8b 47 10 eb b4 8d 74 26 00 b8 53 80 08 f9 89 44 24
>>>>>Feb  1 11:26:59 prometheus EIP: [<f9080503>] drm_agp_bind_ttm+0x83/0xb0 
>>>>>[drm] SS:ESP 0068:f74bdd78
>>>>>
>>>>>I assume this will help someone determine where the problem lies.
>>>>>
>>>>>
>>>>
>>>>Just a simple sanity check, but you could check to see what patches
>>>>Gentoo applies to that version of the kernel. See if they touch any of
>>>>the DRM code or drivers.
>>>>
>>>>Andrew
>>>>
>>>>
>>>>
>>>The error is caused by the fact that the new drm memory manager is used 
>>>with the wrong agpgart
>>>version. Newer drm versions detect this and abort without an oops, but it 
>>>is quite tricky to
>>>make the i810 xorg driver detect this early enough and revert to legacy 
>>>3D.
>>>
>>>The correct agpgart version to use (0.102) can be found in the latest -mm 
>>>kernel or at
>>>
>>>git://git.freedesktop.org/git/mesa/linux-agp-compat.
>>>
>>>/Thomas
>>>
>>>
>>
>>
>





More information about the xorg mailing list