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