LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 06-01-2007, 02:27 AM   #1
randomshinichi
LQ Newbie
 
Registered: Jun 2005
Posts: 13

Rep: Reputation: 0
mach64 dma idle error!? Please help... DRI is taking my life away!


Okay guys I spent 3 whole days working on this. What a waste of my life! If only I had at least a Radeon 7000... mine's working perfectly well... but no, I have a Rage LT Pro in my PowerBook G3 running Debian.

I started off by looking at dri.freedesktop.org's building page, and got libdrm. Eventually managed to build the drm modules by enabling agpgart (I disabled it because my Rage LT Pro was PCI and I didn't think I needed it). They loaded fine. Now for Mesa. I said to the latest git snapshot: make linux-dri-ppc. Then I copied things over to /usr/lib, and mach64_dri.so to /usr/lib/dri.

Each time I ran glxgears, the computer crashed. Xorg's log would say that direct rendering was enabled, but glxinfo said it wasn't. I messed around a bit more, restored the original Mesa modules, restored the original old libdrm, and it crashed all the same.

I don't know what I did this time. I recompiled it all (except for the drm modules) and installed a fresh copy of Mesa: it complained because drmcloseOnce was not defined: I found out that I needed that libdrm for that, so I installed it again.

Now, direct rendering is finally reported as working by glxinfo.But that's not the end of the story. glxgears hogs 100% CPU, and the gears never seem to move. And it seems from htop that most of these CPU cycles never go to glxgears anyway.... the bar is mostly red, which means that there's more CPU cycles being spent on system process than glxgears (which is supposed to take more CPU cycles than the system).

Checking dmesg, I find this horror:
Quote:
[drm] mach64_ring_idle failed! GUI_STAT=0x00800201
[drm]
[drm] ring contents:
[drm] head_addr: 0x05620b50 head: 724 tail: 1072

[drm] 0x05620000: 0x007ffe48 0x02b70000 0x40000088 0x00000000
[drm] 0x05620010: 0x007ffe48 0x02e2c000 0x40000010 0x00000000
[drm] 0x05620020: 0x007ffe48 0x02e38000 0x400000c4 0x00000000
[drm] 0x05620030: 0x007ffe48 0x02b64000 0x40000080 0x00000000
[drm] ...
[drm] 0x05620b20: 0x007ffe48 0x02ef0000 0x40000048 0x00000000
[drm] 0x05620b30: 0x007ffe48 0x02ee4000 0x400009d8 0x00000000
[drm] 0x05620b40: 0x007ffe48 0x02ef8000 0x40000048 0x00000000
[drm] 0x05620b50: 0x007ffe48 0x02ee8000 0x40000318 0x00000000 (head)
[drm] 0x05620b60: 0x007ffe48 0x02ee0000 0x40000048 0x00000000
[drm] 0x05620b70: 0x007ffe48 0x02ed8000 0x400005a0 0x00000000
[drm] 0x05620b80: 0x007ffe48 0x02ef4000 0x400002d0 0x00000000
[drm] ...
[drm] 0x05621090: 0x007ffe48 0x02b78000 0x40000510 0x00000000
[drm] 0x056210a0: 0x007ffe48 0x02e58000 0x40000048 0x00000000
[drm] 0x056210b0: 0x007ffe48 0x02b74000 0xc00001b0 0x00000000
[drm] 0x056210c0: 0x007ffe48 0x02e1c000 0x400002d0 0x00000000 (tail)
[drm] 0x056210d0: 0x007ffe48 0x0292c000 0x40000048 0x00000000
[drm] 0x056210e0: 0x007ffe48 0x02a00000 0x40000510 0x00000000
[drm] 0x056210f0: 0x007ffe48 0x02928000 0x40000048 0x00000000
[drm] ...
[drm] 0x05623fd0: 0x00000000 0x00000000 0x00000000 0x00000000
[drm] 0x05623fe0: 0x00000000 0x00000000 0x00000000 0x00000000
[drm] 0x05623ff0: 0x00000000 0x00000000 0x00000000 0x00000000
[drm]
[drm]
[drm] BM_GUI_TABLE = 0x05620b60
[drm]
[drm] BM_FRAME_BUF_OFFSET = 0x007ffe48
[drm] BM_SYSTEM_MEM_ADDR = 0x02ee81e8
[drm] BM_COMMAND = 0x40000130
[drm]
[drm] BM_STATUS = 0x130060ca
[drm] BUS_CNTL = 0x7b23a110
[drm] FIFO_STAT = 0x00000000
[drm] GUI_STAT = 0x00800201
[drm] SRC_CNTL = 0x00000f00
[drm:mach64_do_dma_idle] *ERROR* mach64_do_dma_idle failed BM_GUI_TABLE=0x05620b60 tail: 1072
I Googled desperately... this thing is really sucking away my life. I found a post on netbsd.se that came from 2003, and explained what was happening, but not how to fix it. Apparently very few people have had this problem.

Can anybody please explain to me how to fix this? I'm running Debian Etch on a Powerbook G3, Lombard, G3 333MHz, ATi Rage LT Pro (mach64 3D chip), 192MB SDRAM.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
DRI with Mach64 on Ubuntu 5.10 PPC? idumych Linux - Laptop and Netbook 0 05-08-2006 12:38 PM
How to get DRI to work with a Mach64 based card. ned99 Linux - Laptop and Netbook 3 03-14-2006 10:41 PM
DRI stops after reboot (slack10.1, mach64) Brotherswing Linux - Hardware 1 02-24-2005 05:32 PM
dri on mach64, slackware 10.1, laptop Brotherswing Linux - Hardware 7 02-23-2005 03:14 PM
Problem Compiling DRI for ATI Mach64 on 2.6.0 intens Slackware 2 01-09-2004 12:28 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 11:04 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration