Repository with current DRM setup code
For those interested, I'm currently working on bringing DRI support to radeonhd. I've just pushed my current working repository to git://people.freedesktop.org/~mhopf/radeonhd so that everybody can download and play with the code (and probably run away in disgust due to the current code quality) - but be advised, that DRI isn't working yet. DRM initializes fine on RS690 (which has a 3D core that is very close to a r3xx card, actually), but I assume something in the initialization is still wrong, because I don't get any updates of 3D apps on the screen, and double buffered OpenGL programs hang in glxSwapBuffers(). Oh well. So be prepared, that *anytime* code in this repro might not work, might even not compile, and might not end up in the same way in the main repro. Ah, and it doesn't work together with 2D acceleration. Yet. You'll also notice that I've been working for quite a while on that now, but I have been sidetracked every now and then. :-( Hopefully I'll have this finished in the next few weeks. Have fun Matthias -- Matthias Hopf <mhopf@suse.de> __ __ __ Maxfeldstr. 5 / 90409 Nuernberg (_ | | (_ |__ mat@mshopf.de Phone +49-911-74053-715 __) |_| __) |__ R & D www.mshopf.de -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
On May 02, 08 16:29:42 +0200, Matthias Hopf wrote:
For those interested, I'm currently working on bringing DRI support to radeonhd. I've just pushed my current working repository to
git://people.freedesktop.org/~mhopf/radeonhd
Success! DRI is now working on RS690, have been playing torcs yesterday evening :-))) Performance is actually pretty decent. There is still a number of issues remaining, the first three being major showstoppers, so it will keep sitting in my private repro ATM: - Not working with acceleration yet. - Registers not saved/restored, to be done for Save/Restore to work. - Extreme ugliness of code. - Cleanup isn't correct yet. - Memory map changes aren't reflected in the driver yet. This is important. - Untested on other GPUs, but should(!) work fine on all r5xx with latest Mesa. - Watermarks seem to be set wrong, display glitches when 3D is rendering. - MoveWindow not implemented. Considered unnecessary by me due to OpenGL specs. - Page Flipping not implemented yet. CU and happy playing Matthias -- Matthias Hopf <mhopf@suse.de> __ __ __ Maxfeldstr. 5 / 90409 Nuernberg (_ | | (_ |__ mat@mshopf.de Phone +49-911-74053-715 __) |_| __) |__ R & D www.mshopf.de -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
On Thu, 2008-05-08 at 15:22 +0200, Matthias Hopf wrote:
On May 02, 08 16:29:42 +0200, Matthias Hopf wrote:
For those interested, I'm currently working on bringing DRI support to radeonhd. I've just pushed my current working repository to
git://people.freedesktop.org/~mhopf/radeonhd
Success!
DRI is now working on RS690, have been playing torcs yesterday evening :-))) Performance is actually pretty decent.
There is still a number of issues remaining, the first three being major showstoppers, so it will keep sitting in my private repro ATM:
- Not working with acceleration yet. - Registers not saved/restored, to be done for Save/Restore to work. - Extreme ugliness of code. - Cleanup isn't correct yet. - Memory map changes aren't reflected in the driver yet. This is important. - Untested on other GPUs, but should(!) work fine on all r5xx with latest Mesa. - Watermarks seem to be set wrong, display glitches when 3D is rendering. - MoveWindow not implemented. Considered unnecessary by me due to OpenGL specs. - Page Flipping not implemented yet.
CU and happy playing
Matthias
Matthias, Does this need the latest drm, mesa, xorg-server sources from git? Or can it work with the latest X.org release? -- Coleman Kane
On Thu, 2008-05-08 at 13:45 -0400, Coleman Kane wrote:
On Thu, 2008-05-08 at 15:22 +0200, Matthias Hopf wrote:
On May 02, 08 16:29:42 +0200, Matthias Hopf wrote:
For those interested, I'm currently working on bringing DRI support to radeonhd. I've just pushed my current working repository to
git://people.freedesktop.org/~mhopf/radeonhd
Success!
DRI is now working on RS690, have been playing torcs yesterday evening :-))) Performance is actually pretty decent.
There is still a number of issues remaining, the first three being major showstoppers, so it will keep sitting in my private repro ATM:
- Not working with acceleration yet. - Registers not saved/restored, to be done for Save/Restore to work. - Extreme ugliness of code. - Cleanup isn't correct yet. - Memory map changes aren't reflected in the driver yet. This is important. - Untested on other GPUs, but should(!) work fine on all r5xx with latest Mesa. - Watermarks seem to be set wrong, display glitches when 3D is rendering. - MoveWindow not implemented. Considered unnecessary by me due to OpenGL specs. - Page Flipping not implemented yet.
CU and happy playing
Matthias
Matthias,
Does this need the latest drm, mesa, xorg-server sources from git? Or can it work with the latest X.org release?
NM, dumb question as I forgot that this repo only has the X.org driver (I still need the drm and mesa-dri "drivers" for it too). -- Coleman Kane
On May 08, 08 13:45:36 -0400, Coleman Kane wrote:
git://people.freedesktop.org/~mhopf/radeonhd
Success!
DRI is now working on RS690, have been playing torcs yesterday evening :-))) Performance is actually pretty decent.
Does this need the latest drm, mesa, xorg-server sources from git? Or can it work with the latest X.org release?
There are a few components involved: - Xserver: version pretty much irrelevant, should work with old ones - libdrm: AFACS doesn't have to be top of line either - drm: The kernel modules must be recent, other don't have RS690 support - radeonhd: The private repository mentioned above :-) - Mesa: Since Friday (or so) the last patch I sent to the mailing list was included by Alex. This is necessary on *some* RS690s. Even if it's not necessary, you need a *very* recent Mesa git. HTH Matthias -- Matthias Hopf <mhopf@suse.de> __ __ __ Maxfeldstr. 5 / 90409 Nuernberg (_ | | (_ |__ mat@mshopf.de Phone +49-911-74053-715 __) |_| __) |__ R & D www.mshopf.de -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
On Wed, 2008-05-14 at 12:36 +0200, Matthias Hopf wrote:
On May 08, 08 13:45:36 -0400, Coleman Kane wrote:
git://people.freedesktop.org/~mhopf/radeonhd
Success!
DRI is now working on RS690, have been playing torcs yesterday evening :-))) Performance is actually pretty decent.
Does this need the latest drm, mesa, xorg-server sources from git? Or can it work with the latest X.org release?
There are a few components involved:
- Xserver: version pretty much irrelevant, should work with old ones - libdrm: AFACS doesn't have to be top of line either - drm: The kernel modules must be recent, other don't have RS690 support - radeonhd: The private repository mentioned above :-) - Mesa: Since Friday (or so) the last patch I sent to the mailing list was included by Alex. This is necessary on *some* RS690s. Even if it's not necessary, you need a *very* recent Mesa git.
HTH
Matthias
I got it all installed on my FreeBSD 8.0 system. I had to make some changes to the drm sources, as the BSD side of the kernel drivers haven't kept up the pace of the Linux drivers: http://www.cokane.org/cgi-bin/gitweb.cgi?p=drm.git (cokane-master branch) The fd-master branch is what I pull down from fd.o. The driver seems to get set up properly in the kernel: drm0: <ATI Radeon RS690 X1270 IGP> on vgapci0 info: [drm] Initialized radeon 1.28.0 20060524 info: [drm] Setting GART location based on new memory map bus_dmamem_alloc failed to align memory properly. info: [drm] Loading RS690 Microcode info: [drm] Num pipes: 1 info: [drm] writeback test succeeded in 1 usecs drm0: [ITHREAD] And my Xorg.0.log is attached. When I try running glxgears, I get the following output: Warning, RS690 detected, 3D support is incomplete. Error: couldn't get an RGB, Double-buffered visual I am also attaching my glxinfo -v output as well. I've prodded the BSD radeon kernel driver a lot. and it probably lags behind the linux kernel module somewhat. If the problems I am experiencing are related to the features not being available in the kmod, perhaps you could point me at the linux driver code that I could look at to get an idea of what needs implementing on FreeBSD. Your above message (about playing torcs) leads me to believe that I should be able to get GL apps running here (if I have everything else working alright). I have found that if I run the glxgears_fbconfig demo, it actually runs but it displays a solid black window. The software does seem to be running and taking stats, but there's no visual output. The framerate on this runs about 2500 fps. I did install the latest mesa, libdrm, drm, from fd.o git. I also had to install dri2proto. -- Coleman Kane
On May 14, 08 17:23:43 -0400, Coleman Kane wrote:
I got it all installed on my FreeBSD 8.0 system. I had to make some
Uh-oh. FreeBSD might take some additional tweaking.
The driver seems to get set up properly in the kernel: drm0: <ATI Radeon RS690 X1270 IGP> on vgapci0 info: [drm] Initialized radeon 1.28.0 20060524 info: [drm] Setting GART location based on new memory map bus_dmamem_alloc failed to align memory properly. info: [drm] Loading RS690 Microcode info: [drm] Num pipes: 1 info: [drm] writeback test succeeded in 1 usecs drm0: [ITHREAD]
Looks good.
When I try running glxgears, I get the following output:
Warning, RS690 detected, 3D support is incomplete. Error: couldn't get an RGB, Double-buffered visual
That's rather strange.
Your above message (about playing torcs) leads me to believe that I should be able to get GL apps running here (if I have everything else working alright). I have found that if I run the glxgears_fbconfig demo,
glxgears worked fine. torcs is the simplest app I know that uses textures, thus I tried that one, and it worked out-of-the-box after glxgears was running. fglrxgears or whatever it is called uses pbuffers, and that could still be broken in Mesa.
I did install the latest mesa, libdrm, drm, from fd.o git. I also had to install dri2proto.
Ah, right. Forgot about that one (fire and forget). Strictly speaking it is only necessary to compile mesa AFAIR.
(EE) RADEONHD(0): R5xx2DIdleLocal: FIFO Timeout 0x9001C100. (EE) RADEONHD(0): R5xxFIFOWaitLocal: Timeout 0x9000C100. (EE) RADEONHD(0): R5xxFIFOWaitLocal: Timeout 0x9000C100. (EE) RADEONHD(0): R5xxFIFOWaitLocal: Timeout 0x9000C100. (EE) RADEONHD(0): R5xxFIFOWaitLocal: Timeout 0x9000C100. (EE) RADEONHD(0): R5xxFIFOWaitLocal: Timeout 0x9000C100. (EE) RADEONHD(0): R5xx2DIdleLocal: FIFO Timeout 0x9000C100.
That doesn't look good. I have no idea ATM what's going on there. Maybe try Option "Accelmethod" "NoAccel" - maybe the logic for disabling acceleration is borked. CU Matthias -- Matthias Hopf <mhopf@suse.de> __ __ __ Maxfeldstr. 5 / 90409 Nuernberg (_ | | (_ |__ mat@mshopf.de Phone +49-911-74053-715 __) |_| __) |__ R & D www.mshopf.de -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
On Wed, 2008-05-14 at 12:36 +0200, Matthias Hopf wrote:
On May 08, 08 13:45:36 -0400, Coleman Kane wrote:
git://people.freedesktop.org/~mhopf/radeonhd
Success!
DRI is now working on RS690, have been playing torcs yesterday evening :-))) Performance is actually pretty decent.
Does this need the latest drm, mesa, xorg-server sources from git? Or can it work with the latest X.org release?
There are a few components involved:
- Xserver: version pretty much irrelevant, should work with old ones - libdrm: AFACS doesn't have to be top of line either - drm: The kernel modules must be recent, other don't have RS690 support - radeonhd: The private repository mentioned above :-) - Mesa: Since Friday (or so) the last patch I sent to the mailing list was included by Alex. This is necessary on *some* RS690s. Even if it's not necessary, you need a *very* recent Mesa git.
HTH
Matthias
I got it all installed on my FreeBSD 8.0 system. I had to make some changes to the drm sources, as the BSD side of the kernel drivers haven't kept up the pace of the Linux drivers: http://www.cokane.org/cgi-bin/gitweb.cgi?p=drm.git (cokane-master branch) The fd-master branch is what I pull down from fd.o. The driver seems to get set up properly in the kernel: drm0: <ATI Radeon RS690 X1270 IGP> on vgapci0 info: [drm] Initialized radeon 1.28.0 20060524 info: [drm] Setting GART location based on new memory map bus_dmamem_alloc failed to align memory properly. info: [drm] Loading RS690 Microcode info: [drm] Num pipes: 1 info: [drm] writeback test succeeded in 1 usecs drm0: [ITHREAD] And my Xorg.0.log is attached. When I try running glxgears, I get the following output: Warning, RS690 detected, 3D support is incomplete. Error: couldn't get an RGB, Double-buffered visual I am also attaching my glxinfo -v output as well. I've prodded the BSD radeon kernel driver a lot. and it probably lags behind the linux kernel module somewhat. If the problems I am experiencing are related to the features not being available in the kmod, perhaps you could point me at the linux driver code that I could look at to get an idea of what needs implementing on FreeBSD. Your above message (about playing torcs) leads me to believe that I should be able to get GL apps running here (if I have everything else working alright). I have found that if I run the glxgears_fbconfig demo, it actually runs but it displays a solid black window. The software does seem to be running and taking stats, but there's no visual output. The framerate on this runs about 2500 fps. I did install the latest mesa, libdrm, drm, from fd.o git. I also had to install dri2proto. -- Coleman Kane
On May 08, 08 15:22:07 +0200, Matthias Hopf wrote:
- Not working with acceleration yet.
I mean 2D acceleration, of course :-] DRI means direct rendering, so this *has* to be accelerated ;-) Just for clarification Matthias -- Matthias Hopf <mhopf@suse.de> __ __ __ Maxfeldstr. 5 / 90409 Nuernberg (_ | | (_ |__ mat@mshopf.de Phone +49-911-74053-715 __) |_| __) |__ R & D www.mshopf.de -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
participants (2)
-
Coleman Kane
-
Matthias Hopf