Kodi Community Forum
Developers wanted to help port XBMC for Mac to PPC (PowerPC) processor architecture - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Development (https://forum.kodi.tv/forumdisplay.php?fid=32)
+--- Forum: Kodi Application (https://forum.kodi.tv/forumdisplay.php?fid=93)
+--- Thread: Developers wanted to help port XBMC for Mac to PPC (PowerPC) processor architecture (/showthread.php?tid=36229)

Pages: 1 2 3 4 5 6 7 8


- davilla - 2009-03-09

[email protected] -> follow http://trac.xbmc.org/ticket/6038 and start cranking Smile

There's asm sprinked around. It's x86 asm so these section will have to be re-coded in C/C++ or ppc asm.

Also endian issues abound.


- Beenje - 2009-03-09

[email protected] Wrote:So I figure if someone has this running they got around the assembler issue, probably several others... Is there a branch I could get these files from? Otherwise if someone has gotten alot further along than this and has some better ways I could contribute please let me know..

steve

I mostly made Makefile changes and added #ifdefs around x86 asm code as bitshifter did to compile on PS3 (I started by looking at his patch).
I fixed as well some endian issues to get proper fonts and textures.

If you apply the patch mentioned by davilla, you should be able to compile and start the application.
You have to run the 3 scripts buildSDL-osx.sh, build-libcurl-osx.sh and make-xbmc-lib-osx.sh to create some static libs.

Navigating through the menus works fine.
I even plaid a video with subtitles (srt file)!
But there are many more things to fix. So you are welcome!

Note that it takes about 50% CPU on my PowerBook G4 (1.25GHz)...
The G4 cube is a great machine, but it might be a bit slow... Sad
Give it a try!

Beenje

If you are interested, that's how it looked the first time I managed to start the application Laugh
Image

Here is the current status Big Grin
Image


- davilla - 2009-03-10

Very cool, looks like I need to get busy on this Smile


- davilla - 2009-03-13

patch is in svn. still the manual steps to fix the three libs and the xcode project changes to pickup the libxxxx-powerpc.a libs.

Working on fixing these but have to wait until I get back to a ppc box.


- Beenje - 2009-03-14

davilla Wrote:patch is in svn. still the manual steps to fix the three libs and the xcode project changes to pickup the libxxxx-powerpc.a libs.

Working on fixing these but have to wait until I get back to a ppc box.

Great!
I saw you fixed the Xcode project as well!

Two things about that:
- As long as XBPythonDllFuncs.S is not ported to ppc, we need to link with xbmc/lib/libPython/Python/libpython2.4.a
This file should be added to the internal libs for ppc target
- The path to libportaudio.dylib is relative. It should be changed to the absolute path.


- davilla - 2009-03-14

Beenje Wrote:Great!
I saw you fixed the Xcode project as well!

Two things about that:
- As long as XBPythonDllFuncs.S is not ported to ppc, we need to link with xbmc/lib/libPython/Python/libpython2.4.a
This file should be added to the internal libs for ppc target
- The path to libportaudio.dylib is relative. It should be changed to the absolute path.

great feedback, I'll make these changes when I get a chance. I should be able to crank up a compile on a 800MHz iBook.


- Beenje - 2009-03-15

I compiled XBMC on my MacMini (G4) and video playback works... but picture is blue... Sad

Image

It works fine on my PowerBook.
So I guess the problem comes from the GPU/OpenGL version.

My PowerBook has an ATI Radeon 9600 (OpenGL 2.0).
My MacMini has an ATI Radeon 9200 (OpenGL 1.3).

Is there a way to fix that? Huh


- davilla - 2009-03-16

see if this helps-> http://forum.xbmc.org/showthread.php?tid=45864&highlight=ATI


- Beenje - 2009-03-17

davilla Wrote:see if this helps-> http://forum.xbmc.org/showthread.php?tid=45864&highlight=ATI

Thanks.
But according to the log, ARB (and GLSL) shaders are not supported...
22:02:35 T:2693064752 M: 83415040 NOTICE: GL: Shaders support not present, falling back to SW mode
22:02:35 T:2693064752 M: 83415040 NOTICE: GL: NPOT textures are supported through GL_ARB_texture_rectangle extension

Following GL extensions are listed at start-up: see http://pastebin.com/m50ca3da9

I indeed don't have GL_ARB_fragment_program...

If I choose SW mode, I have the same color pb on my PowerBook.


- davilla - 2009-03-17

Well, it was a shot, OpenGL 1.3 might be too old, I forget the min we support.

Are you running 10.4 or 10.5 on the MacMini?


- Beenje - 2009-03-17

davilla Wrote:Well, it was a shot, OpenGL 1.3 might be too old, I forget the min we support.

Are you running 10.4 or 10.5 on the MacMini?

I'm running 10.5.6
So we can't expect updated drivers from apple...

I don't know much about OpenGL...
Can't the SW render be fixed at least?
Is the color pb a PPC bug?


- waldo22 - 2009-03-17

davilla Wrote:Well, it was a shot, OpenGL 1.3 might be too old, I forget the min we support.

Are you running 10.4 or 10.5 on the MacMini?


...it looks like it's 1.4 + GLSL

http://forum.xbmc.org/showthread.php?tid=42783

http://wiki.xbmc.org/?title=XBMC_for_Windows_specific_FAQ#XBMC_for_Windows_minimum_requirements

Sad

Hope you can get it to work in software...

I'm really excited following this thread.

-Wes


- Beenje - 2009-03-17

waldo22 Wrote:...it looks like it's 1.4 + GLSL

-Wes

Actually I saw on this page http://xbmc.org/download/ that even though the graphics device drivers only support OpenGL 1.2 on Mac with Intel chipset, the OpenGL extensions needed are present in those drivers on Mac OS X.

So I thought it might be the same on the PPC Mac mini (with OpenGL 1.3).
But it seems some needed extensions are not supported in those PPC graphic drivers on the Mac mini. Sad

Will try to look at the SW mode.


- davilla - 2009-03-17

I'll see if I can vector d4rk into this, he's one of our our gl experts.


- Beenje - 2009-03-18

After reading a bit about OpenGL and endianness (here is a good link: OpenGL Universal Binary Programming Guidelines) my understanding is that when using GL_BGRA format, one should use GL_UNSIGNED_INT_8_8_8_8_REV type (and not GL_UNSIGNED_BYTE).

With GL_BGRA format, GL_UNSIGNED_BYTE gives the same as GL_UNSIGNED_INT_8_8_8_8_REV on little-endian system.
But that's not the case on big-endian system!

I tried this fix on my Mac mini and the colors are fine when playing video :-)

Can someone who really knows about OpenGL confirm that it's the right thing to do?