Does drm/dri currently work on PPC? (SUCCESS!)
andreast-list at fgznet.ch
Fri Oct 26 18:51:56 UTC 2012
On 26.10.12 16:31, Nathan Whitehorn wrote:
> On 10/25/12 23:55, matt wrote:
>>> It was working without DRM "out-of-the-box". Of course I've made a mess
>>> trying different versions of both Xorg and the radeon driver. I'm in the
>>> process of getting back to the working config so I can be sure any test
>>> changes work/don't work.
>>> OpenBSD's mpi@ apparently did a lot recently over there getting DRM to
>>> work on the G4 mini. We already had about half of the commits I see at
>>> freshbsd, in one way or another...Our rmb/wmb() I think has had PPC
>>> barriers since earlier this year? He did #define __BIG_ENDIAN, which
>>> apparently was a big deal for the drm code (it's ifdef'd in a couple
>>> places), not sure if we are already doing that.
>>> If someone has a G4 radeon mini they could test to see if drm works for
>>> them or not, to rule out AGP issues (I guess they are PCI?).
>>> I'm not sure how the OpenBSD attachment process works vs ours, some of
>>> the other commits of note were related to passing the BAR and memory
>>> regions from the vgapci to drm. When I kldload drm after compiling it,
>>> it doesn't do anything...but if I kldload radeon.ko, it recognizes agp
>>> memory and being related to vgapci at the correct pci address...I'm not
>>> sure if we "are there" or not. I also didn't have DRM on OpenBSD either.
>>> I think if radeon had drm on *any* big-endian platform it should rule
>>> out endian issues in drm or radeon. Not sure if this is the case, I
>>> guess macppc would be the most likely.
>> So I removed WITH_NEW_XORG, deinstalled a ton of ports, and reinstalled
>> Xorg. I rebuild drm with __BIG_ENDIAN defined (not sure if this
>> matters). I previously put a lot of WERROR= and NO_WERROR= into various
>> drm makefiles to get gcc to shut up about unused return values. X
>> -configure worked, and the xorg log indicates the drm device was
>> successfully opened and I have drm on PPC.
>> mesa-demos is marked broken for PPC, haven't tried glxinfo or glxgears yet.
>> The good news is it works!
>> The bad news:
>> -Cannot switch back to syscons, screen gets corrupted then the system
>> hard locks
>> -WITH_NEW_XORG breaks it somehow
>> Thanks to mpi at openbsd.org, Justin & Nathan!
>> freebsd-ppc at freebsd.org mailing list
>> To unsubscribe, send any mail to "freebsd-ppc-unsubscribe at freebsd.org"
> Great to hear! I checked in some code to define __BIG_ENDIAN if needed
> in -CURRENT's drm (Linux uses a different number of underscores than we
> do for perverse reasons).
Thank you very much all!
I can confirm it works here too (G5 32-bit):
[helium:~] andreast% dmesg |grep drm
drm0: <ATI Radeon AR 9600 XT> on vgapci0
info: [drm] Initialized radeon 1.31.0 20080613
info: [drm] Setting GART location based on new memory map
info: [drm] Loading R300 Microcode
info: [drm] Num pipes: 1
info: [drm] writeback test succeeded in 1 usecs
and glxgears gives around 1250FPS vs. 52FPS w/o dri.
More information about the freebsd-x11