I'm having problems with lockups while using dri with the mga driver. I
can easily reproduce the problems by doing any of the following:
1) Run gears, then minimize the window its running in and then maximize
it. Actually, it seems to crash if I click on any other window while its
running.
2) Try to switch to another virtual console, .i.e ctrl-alt-f1
3) While running armagetron (switch video modes from in a window to full
screen or vice versa)
In all cases I get the following message in syslog
kernel: [drm:mga_fire_primary] *ERROR* num_dwords == 0 when dispatched
It will be repeated until I can ssh into the machine and kill the process
using openGL. Once the process is killed I regain control of my console.
I'll see a message in syslog regarding the killed process like this:
Process 319 dead (ctx 3, d_s = 0x00)
note: The ctx and d_s are always the same values.
If I try to run a program again, it locks immediately, but doesn't display
the kernel message listed above. However, if I kill the process from the
remote machine it will display the message "process xxx dead (ctx 3, d_s =
0x00)
I'm running XFree86 4.0.3 on a Debian (sid) system. I've tried the stock
mga driver and the one from Matrox, both give the same results.
lspci shows the following
vision:/home/mledet# lspci
00:00.0 Host bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133] (rev
02)
00:01.0 PCI bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133 AGP]
00:04.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South]
(rev 22)
00:04.1 IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 10)
00:04.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 10)
00:04.3 USB Controller: VIA Technologies, Inc. UHCI USB (rev 10)
00:04.4 Host bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI]
(rev 30)
00:0a.0 Multimedia audio controller: Ensoniq 5880 AudioPCI (rev 02)
00:0b.0 Ethernet controller: 3Com Corporation 3c595 100BaseTX [Vortex]
00:11.0 Unknown mass storage controller: Promise Technology, Inc. 20265
(rev 02)
01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP (rev
04)
I also looked through the code the code and enabled debugging.
Here is what I saw when it crashed after running gears.
May 31 02:20:30 vision kernel: Debug [drm:mga_fire_primary] PRIMPTR in
mga_fire_primary
May 31 02:20:30 vision kernel: [drm:mga_fire_primary] *ERROR* num_dwords
== 0 when dispatched
May 31 02:20:30 vision kernel: Debug [drm:mga_fire_primary] PRIMPTR in
mga_fire_primary
May 31 02:20:30 vision kernel: [drm:mga_fire_primary] *ERROR* num_dwords
== 0 when dispatched
May 31 02:20:30 vision kernel: Debug [drm:mga_lock] 1 interrupted
May 31 02:20:38 vision last message repeated 457 times
I noticed the following message when trying to restart gears after it had crashed
once.
May 31 02:21:27 vision kernel: Debug [drm:mga_dma_quiescent] exit,
dispatch_status = 0x00
May 31 02:21:27 vision kernel: Debug [drm:mga_lock] _DRM_LOCK_QUIESCENT
May 31 02:21:27 vision kernel: Debug [drm:mga_dma_quiescent]
dispatch_status = 0x00
May 31 02:21:27 vision kernel: Debug [drm:mga_dma_quiescent] quiescent
status : 800e0024
May 31 02:21:27 vision kernel: Debug [drm:mga_dma_quiescent] exit,
dispatch_status = 0x00
May 31 02:21:27 vision kernel: Debug [drm:mga_lock] _DRM_LOCK_QUIESCENT
May 31 02:21:27 vision kernel: Debug [drm:mga_dma_quiescent]
dispatch_status = 0x00
May 31 02:21:27 vision kernel: Debug [drm:mga_dma_quiescent] quiescent
status : 800e0024
May 31 02:21:27 vision kernel: Debug [drm:mga_dma_quiescent] exit,
dispatch_status = 0x00
May 31 02:21:27 vision kernel: Debug [drm:mga_lock] _DRM_LOCK_QUIESCENT
Michael Ledet
Spire Network Services
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/dri-devel