Kodi Community Forum

Full Version: [PATCHES] PPC (PowerPC) Linux support for powerpc-linux and powerpc64-linux targets
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7
Yes, precisely.
If you are really interested in getting this working on ps3 ppc, then do it! Fix the so called "big bug".

There is a reason why it isn't supported on ps3 ppc. But, if you can fix it so it works, then submit a patch.

Otherwise, you are wasting your time if you aren't going to be fixing it yourself.
lucidthinker Wrote:I've read through this thread and several others regarding XBMC on linux/ubuntu for PowerPC. What is the status of this port? Is it ready? It's hard for me to tell from the thread whether it done or if it still has work to do. Thanks!

For those interested, you can compile and try XBMC on ppc linux. Big Grin
If you have a PowerPC box with linux, give it a try! You need r23721 at least.

I tested on a PowerBook G4 with Xubuntu 9.04.
Note that there is a bug in the default kernel (see http://lists.x.org/archives/xorg-devel/2...00825.html), you have to upgrade it.

I only did very basic tests: pictures, music and video playback, python scripts...
Comments are welcome.

Note: this is not intended to run on the PS3! So no need to ask :-)
Anyone interested in trying to get XBMC working on the PS3 should look into Mesa's Cell Driver,
http://www.mesa3d.org/cell.html

I installed Xubuntu 9.10 on my PS3, and managed to get XBMC compiling fine and it even ran (with strange colours, but everything in my Xubuntu install including glxgears runs in strange colours) very very slowly of course.

I then tried to get mesa's cell driver going. Spent 3 or so hours getting it to compile, but in the end, it unfortunately fails with "spu_create_context failed", and looking at the code didn't really help me. Anyone who knows more about this can look into it. It could be because of the way I really hacked around to get it compiling..

I don't have time to play with this for a couple of weeks, but what I'd recommend trying
- install Yellow Dog Linux (since it's the recommended distro)
- install the official Cell SDK tools from IBM's page
- get the latest version of mesa-3d using git (I tried to use a 7.6 source package rather than bleeding edge)

Now see if you can get mesa's driver going in this case (eg, see how well glxgears work compared to without the driver). If it seems to be working, then you might want to try and get XBMC compiled (it takes about an hour and a half on the PS3). I am hoping the performance is bearable using mesa's driver, but of course, I got nowhere today!
How do I go about getting the patch and compiling it for Ubuntu Lucid?

Thank you Smile
you fetch svn and compile.
I couldn't find where it is in the svn... That's why I was asking...
If you could point me to the directory holding it, that would be great...

Also, is there a manual on compiling it?

Thanks!
http://sf.net/projects/xbmc

README.xxxx in the repo has instructions (where xxxx is linux, ubuntu, osx etc)

finally;

http://lmgtfy.com/?q=xbmc+svn&l=1
I just compiled xbmc on a ppc mac mini running Ubuntu 9.10 and the compile process worked fine. However, when running, it consumes all available cpu (i.e. hovering around 99.5% and the fan is in highest gear)

I tried setting the altivec compile flags, but it still burns all cpu without even watching anything.

My compile procedure included below.

Anyone have any idea on what to tweak?

-------------- compile procedure

apt-get install subversion make g++ gcc gawk pmount libtool nasm automake cmake gperf unzip bison libsdl-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libfribidi-dev liblzo2-dev libfreetype6-dev libsqlite3-dev libogg-dev libasound2-dev python-sqlite libglew-dev libcurl3 libcurl4-openssl-dev x11proto-xinerama-dev libxinerama-dev libxrandr-dev libxrender-dev libmad0-dev libogg-dev libvorbisenc2 libsmbclient-dev libmysqlclient-dev libpcre3-dev libdbus-1-dev libhal-dev libhal-storage-dev libjasper-dev libfontconfig-dev libbz2-dev libboost-dev libfaac-dev libenca-dev libxt-dev libxtst-dev libxmu-dev libpng12-dev libjpeg-dev libpulse-dev mesa-utils libcdio-dev libsamplerate-dev libmms-dev libmpeg3-dev libfaad-dev libflac-dev libiso9660-dev libass-dev libssl-dev gdc libwavpack-dev libmpeg2-4-dev libmicrohttpd-dev libmodplug-dev libssh-dev gettext cvs checkinstall


svn co https://xbmc.svn.sourceforge.net/svnroot...-testing2/
cd pvr-testing2

./bootstrap

env \
CFLAGS="-maltivec -mabi=altivec" \
CXXFLAGS="-maltivec" \
./configure --prefix=/usr

make

version=`awk -F\" '/#define VERSION/{print $2}' config.h`
release=`svn info | awk '/^Revision:/ {print $2}'`

dpkg --purge xbmc

checkinstall --backup=no \
--nodoc \
--pkgname=xbmc \
--pkgversion=$version \
--pkgrelease="pvr-testing2-svn"$release
using OpenGL for rendering ? or software rendering. xbmc.log will show which is used. any particular reason why pvr-testing branch and not trunk ?
davilla Wrote:using OpenGL for rendering ? or software rendering. xbmc.log will show which is used.

I looked in the xbmc.log file (posted here: http://pastebin.com/QMEmgwfu) and it definitely looks like GL is used for rendering.

Note however that the above session only covers starting up xbmc and shutting it down, i.e. the CPU is consumed without actually watching anything except the default interface.

Quote:any particular reason why pvr-testing branch and not trunk ?

it's a good question. I used the pvr branch since I'm hoping to use my mac mini as a frontend to tvheadend.

By the way, I have disabled rss feeds (which reduces cpu load from 99.9% down to 99.6% and makes it possible to navigate the ui although very slowly) and vertical screen blanking (which doesn't seem to make much difference).

To make xbmc usable, i need to bring down CPU load to around 25% which means it can run without a fan.

Where should I be looking? compiler flags. graphic card options (using the radeon driver), xbmc config options or a more lightweight skin?

Many thanks for any further pointers/ideas!
Success!

I downloaded and installed the xTV skin:

http://code.google.com/p/xbmc-repo-wyrm/..._v0.96.zip

With this skin (instead of using the default confluence skin), CPU goes down from 99.6% to the 25-30% range. So, I'm basically there in terms of the target CPU load during idle.

I now need to fix this skin so that "Live TV" can be used (because it is not included in the menu options) before I can test cpu consumption during TV play. I also haven't tested movie playback yet.

I'll be back with more information as soon as I have this fine tuned.

Meanwhile, further ideas about tuning the performance related to compiling, xbmc configuration or video card configuration are most gratefully received.
Failure...

I tried to watch movies with xbmc on my ppc mac mini and it crashes. Here are the logs:

crashlog: http://pastebin.com/igUNP2tB
xbmc log: http://pastebin.com/4DWq4Xwk

The files were mkv files which play very well on xbmc running on my ubuntu laptop and they were mounted as a samba share as well as through sshfs.

Any idea on the crash and, more importantly, what I can try to do to fix it?
need symbols. but it looks to be a bug in the ffmpeg altivec dsp code.
spiff Wrote:need symbols. but it looks to be a bug in the ffmpeg altivec dsp code.

Ok. I've tried to compile both with and without the altivec compile flags, i.e.

PHP Code:
env CXXFLAGS="-maltivec -mabi=altivec"
CFLAGS="-maltivec -mabi=altivec"
FFMPEG_CFLAGS="-maltivec -mabi=altivec"
./configure --prefix=/usr 

and
PHP Code:
env ./configure --prefix=/usr 

but these two compile methods make no difference; xbmc still crashes in the same way.

I also tried to compile xbmc using external ffmpeg, but I then get the following compile error:

PHP Code:
/usr/bin/ccache g++ -MD --maltivec -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 --D_DEBUG -Wall -O2 -D_LINUX -D_FILE_DEFINED -D__STDC_CONSTANT_MACROS -DBIN_INSTALL_PATH="\"/usr/lib/xbmc\"" -DINSTALL_PATH="\"/usr/share/xbmc\"" -DHAS_SDL_JOYSTICK -D'SVN_REV="35160M"' -D_POWERPC -DHAVE_CONFIG_H  -I../../../.. -I. -I.. -I../.. -I../../../ -I../../../utils -I../../../linux -I../../../../guilib -DDBUS_API_SUBJECT_TO_CHANGE -D_GNU_SOURCE=-D_REENTRANT -I/root/software/xbmc/pvr-testing2 -I/usr/include/ -I/usr/include/SDL -I/usr/include/alsa -I/usr/include/dbus-1.0 -I/usr/include/freetype2 -I/usr/include/fribidi -I/usr/include/glib-2.0 -I/usr/include/hal -I/usr/include/libpng12 -I/usr/include/lzo -I/usr/include/mysql -I/usr/lib/dbus-1.0/include -I/usr/lib/glib-2.0/include DVDDemuxPVRClient.cpp -o DVDDemuxPVRClient.o
DVDDemuxPVRClient
.cppIn member function ‘void CDVDDemuxPVRClient::RequestStreams():
DVDDemuxPVRClient.cpp:159error‘CODEC_ID_DVB_TELETEXT’ was not declared in this scope
make
[1]: *** [DVDDemuxPVRClient.oError 1
make
[1]: Leaving directory `/root/software/xbmc/pvr-testing2/xbmc/cores/dvdplayer/DVDDemuxers'
make: *** [xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxers.a] Error 2 

So, where to go from here? Trying alternat compile flags for ffmpeg or struggling further with trying to get the external ffmpeg to compile?

How do i get the symbols that you need?
Pages: 1 2 3 4 5 6 7