Developers wanted to help port XBMC for Mac to PPC (PowerPC) processor architecture - Printable Version
+- Kodi Community Forum (http://forum.kodi.tv)
+-- Forum: Development (/forumdisplay.php?fid=32)
+--- Forum: Development (/forumdisplay.php?fid=93)
+--- Thread: Developers wanted to help port XBMC for Mac to PPC (PowerPC) processor architecture (/showthread.php?tid=36229)
- monkeyman - 2009-03-18 03:06
Could you submit the diff as a patch? I'd like to review it.
- Beenje - 2009-03-18 08:42
monkeyman Wrote:Could you submit the diff as a patch? I'd like to review it.
Trac ticket created: http://trac.xbmc.org/ticket/6105
- d4rk - 2009-03-18 09:20
The is likely due to the difference in the way ffmpeg's swscale converts YUV to RGB. We instruct it to use PIX_FMT_RGB32, which is endian specific. On PPC, this becomes ARGB instead of BGRA.
Beenje, could you test by replacing PIX_FMT_RGB32 with PIX_FMT_BGR32_1 at line 810 in LinuxRendereGL.cpp, while maintaining GL_UNSIGNED_BYTE in the texture load operations? Thanks.
- Beenje - 2009-03-21 15:20
d4rk Wrote:Beenje, could you test by replacing PIX_FMT_RGB32 with PIX_FMT_BGR32_1 at line 810 in LinuxRendereGL.cpp, while maintaining GL_UNSIGNED_BYTE in the texture load operations? Thanks.
I tried and it works fine. Thanks.
I've proposed a new patch (see http://trac.xbmc.org/ticket/6105).
Have you had a look at the GL extensions available on the PPC Mac mini (http://pastebin.com/m50ca3da9)?
Are we stuck with SW mode?
- davilla - 2009-03-21 23:24
If Macports ever finishes installing, I'll have a dev box up
- waldo22 - 2009-03-27 15:39
Beenje Wrote:I tried and it works fine. Thanks.
So does everything seem to be working on PowerPC via software rendering since your patch has been accepted? Or are there still a lot of weird endian issues and such?
Have you had any luck determining whether all of the GL extensions we need are available on the PPC Mini?
- davilla - 2009-03-27 17:08
OSX PPC patches are in svn. Seems to be working so far. SDL and LibCurl will need to be build manually as the binaries are not in svn.
- Beenje - 2009-03-27 20:18
waldo22 Wrote:So does everything seem to be working on PowerPC via software rendering since your patch has been accepted? Or are there still a lot of weird endian issues and such?
About GL extensions, someone who knows about OpenGL has to look at it...
For ARB shaders support, test is done on "GL_ARB_fragment_program" and it is not present. So I guess it's just no.
GL_ARB_vertex_program is available. I don't know if something can be done with that.
What I have tested so far:
- Video playback: works fine in sw rendering mode (I haven't check many formats - MPEG-4 mainly)
- Music: not tested
- Pictures: I only displayed a few pictures. It looks OK, but I saw endian problem with libexif - gonna try to look at it
- Weather: OK
- Scripts: not tested
- Settings / Menu navigation: looks fine
I haven't really looked at the Library mode either.
So there are many more things to test, but I would say that the "basic" works.
As davilla said, patches are in svn.
It would be great to have feedback from other people.
Anyone has tried to compile/run it on a PPC mac?
- Beenje - 2009-03-28 22:43
I've just submitted a new patch to fix endian issue in libexif.
It looks like the Apple remote does not work anymore in the last revision I compiled (19014).
I had it working with Remote Buddy a while ago (don't remember in which revision).
Is there some work in progress?
Or is there a problem on my machine?
- davilla - 2009-03-29 01:48
no sure about the apple IR remote. another dev reported a problem. looking into it.
go my ppc build working Man is it slow. 800MHz might be too slow for even DVDs.
- ding - 2009-03-30 00:51
Can someone post a good explanation on how to apply a patch and get this built for a total n00b that knows how to compile in xcode? I have four macs and none of them are intel so I have been praying for this for a long time.
EDIT: I am also a little confused as to which branch is best to download from the svn. Is it osx-coreaudio or linuxport? Also to make it clear I read this http://xbmc.svn.sourceforge.net/viewvc/xbmc/branches/linuxport/XBMC/README.osx Im just wondering about how to apply the patch and build for ppc.
- Beenje - 2009-03-30 12:43
ding Wrote:Can someone post a good explanation on how to apply a patch and get this built for a total n00b that knows how to compile in xcode? I have four macs and none of them are intel so I have been praying for this for a long time.
There is no patch to apply. Patches are already in svn.
Just follow the README.osx you mentionned.
Download the branch as explained:
svn checkout https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/linuxport/XBMC
There are 3 more steps needed on ppc:
- run build-libcurl-osx.sh (in xbmc/lib/libcurl)
- sudo port install wget (wget is needed in buildSDL-osx.sh )
- run buildSDL-osx.sh (in xbmc/lib/libSDL-OSX)
If this seems too difficult for you but are really willing to do some testing, I could maybe send you a compiled application.
I recompiled MacPorts this week-end to be 10.4 compatible (as explained in the README.osx). So my version should run on 10.4 and 10.5.
This is still in early stage and you should expect bug/crash...
But I think it would be very good to have some more testing and feedback!
- ding - 2009-03-30 13:05
Thanks for the explanation. I will try it out. Macports takes for f*cking ever though. I am running 10.5.6 so I figured I would try to skip around the 10.4 instructions and just compile for leopard. But if you send me a precompile version I would be very happy.
- davilla - 2009-03-30 17:30
ding Wrote:Macports takes for f*cking ever though
Hehe, you should try building on a 800MHz iBook, just the xbmc build from scratch takes about 2-3 hours.
- davilla - 2009-03-30 17:32
davilla Wrote:Hehe, you should try building on a 800MHz iBook, just the xbmc build from scratch takes about 2-3 hours.
Here's a hint to faster builds, if you have several Mac running the same OS version as your target system, turn on distcc building in Xcode and enable distcc building on the other Macs (they will need Xcode installed).