[mythtv-users] PS3 Patches - anyone want to test them?

ryan patterson ryan.goat at gmail.com
Thu Jun 21 12:28:19 UTC 2007


On 6/21/07, Mark Kendall <mark.kendall at gmail.com> wrote:
>
> As I'm off for a week from tomorrow, I thought it was about time I
> shared my work on ps3 video playback. The patch is against the
> mythtv-vid branch but this will work fine with a recent version of svn
> head on your backend. All installed on top of Yellow Dog Linux 5
> though I see no reason why it shouldn't work with any other PS3 linux
> distro.
>
> Hopefully I've covered off most of the detail in the brain dump below
> but in general it's working pretty well - some of the 720p playback is
> about as good I've seen anywhere and all without the extensive grief
> of buggy drivers, xorg.conf files etc etc.
>
> Relevant files are:-
>
> http://www.btinternet.com/~mark_kendall/mythtvps3.diff
> http://www.btinternet.com/~mark_kendall/joystickmenurc
> http://www.btinternet.com/~mark_kendall/revert.cpp
>
> Any and all feedback much appreciated and I'll get back to it when I'm
> back from my travels.
>
> Regards
>
> Mark
>
>
> Sanity warning
>
> The kernel process that controls the framebuffer is disabled during
> playback. If mythtv crashes during this time (and remember, this patch
> is a work in progress), you will be left with a seemingly unresponsive
> ps3. In reality the framebuffer is not being updated. Rather than
> using control-alt-backspace, download and compile this short program
> and install it in your path (instructions below). Run
> mythtv/mythfrontend from a console and if it crashes it should return
> you to the text prompt (although you won't be able to see it) - just
> type revert to restore your desktop.
>
> cd ~
> mkdir revert
> cd revert
> wget http://www.btinternet.com/~mark_kendall/revert.cpp
> g++ -o revert revert.cpp
> su
> cp revert /usr/bin/revert
>
>
> What's New
>
> - new configure option --enable-ps3
> - new, configurable exit option to boot into the game os. Switch
> seemlessly between wasting your time gaming and wasting your time
> watching tv:)
> - new video output method and vertical sync that accesses the ps3
> framebuffer directly. This defaults to using ffmpeg for software
> colour conversion and scaling.
> - if libspe2 is detected, deinterlacing, yuv to rgb colour conversion
> and scaling are offloaded to (some of) the PS3s 'SPE's.
>
>
> Performance/Setup
>
> Once installed, Go to Settings->TV Settings->Playback->Playback
> Profiles and setup 1 or more profiles using ps3fb as the renderer.
> Turn off OSD fade and enable Adaptive x2 as the default deinterlacer
> (unless it gives you problems - see below).
>
> If playback is poor (ie low framerate), you've either not compiled
> with libspe2 support and it's falling back to ffmpeg
> conversion/scaling (check your logs for lack of SPU type messages and
> recompile) or mythtv is using the xvideo display method and falling
> back to software/x-lib scaling (check your logs and adjust your
> display profiles).
>
> Without the patches, the ps3 is almost unusable as a frontend for even
> standard definition. Using the 'accelerated' video output, I can
> comfortably play 720p and 1080i mpeg2 material. I don't have any 1080p
> mpeg2 source clips so can't test. The only playback that is currently
> erratic for me is 1080i displayed downscaled to 720p using the double
> frame rate deinterlacer - and this looks like it's a limitation with
> the main processor/memory rather than the spe's. Hidef h.264 playback
> does not work.
>
> I'd recommend using a lightweight window manager, lightweight mythtv
> theme and turning off as many unnecessary services as you can. This
> will save memory and speed up menu navigation, playback startup etc.
> It may just make things that much more stable as well as any
> instability seems to be memory related.
>
> Alternatively, try qt-embedded (video output works just as well
> without X). I've run it successfully using qt-embedded-3.3.5.
>
>
> Using the sixaxis controller
>
> With YDL 5.0, the sixaxis controller works 'out of the box' when
> connected via usb. I've put together a simple joystick config file
> that you'll need to copy to ~/.mythtv - It's useful if you do try
> qt-embedded as setting up the mouse/keyboard can be a pain.
>
> http://www.btinternet.com/~mark_kendall/joystickmenurc
>
>
> Issues
>
> Generally it seems to be pretty stable - but re-read the sanity
> warning above:) Otherwise the main, obvious issue is that the program
> guide/watch recordings/find programs screens are not rendered properly
> when called from playback (livetv or recording). There are also
> occasional issues with videomode validation - especially when using
> vesa modes in fullscreen (this appears to be a driver/ioctl bug but
> you shouldn't need to select a vesa mode using the -f option anyway as
> they are already fullscreen). I'd recommend you use something like
> 720p in fullscreen to get you going and experiment from there.
>
>
> To Do
>
> Code clean up - especially a re-write of mythspuhandler...
> Performance management - currently hardcoded to share the load between
> 2 of the 6 available spu's. This should be adjusted on the fly.
> xrandr/display res support - should be simple enough to enable display
> resolution switching but I want to extend the mythtv code to support
> interlaced modes as well.
> deinterlacer - the inbuilt deinterlacer is OK but there should be
> plenty of horsepower available for better quality.
>
>
> Requirements (over and above a normal mythtv installation from source)
>
> - libspe2 and libspe2-devel (which enable access to the spe's). You
> can download these from:-
>
> http://www.bsc.es/projects/deepcomputing/linuxoncell/cellsimulator/sdk2.0/libspe2-2.0.1-1.ppc.rpm
>
> http://www.bsc.es/projects/deepcomputing/linuxoncell/cellsimulator/sdk2.0/libspe2-devel-2.0.1-1.ppc.rpm
>
> - the spu development toolchain. If you have spu-gcc and embedspu,
> you're there...
>
> Installation
>
> cd ~
> svn co http://svn.mythtv.org/svn/branches/mythtv-vid
> cd mythtv-vid
> wget http://www.btinternet.com/~mark_kendall/mythtvps3.diff
> patch -p 1 -i mythtvps3.diff
> chmod +x libs/libmythtv/cell/make_spu.sh
> libs/libmythtv/cell/make_spu.sh
> ./configure --enable-ps3
> qmake mythtv.pro
> make
> sudo make install
>
> Installation notes
>
> - be patient, it takes a couple of hours to compile...
> - do not try and speed things up by using make -j 2 or similar -
> you'll just slow it down due to the lack of memory.
> - you might want to disable a number of the backend options (e.g.
> --disable-dvb etc) to shorten compile times.
> _______________________________________________


Looks interesting.   I will give it a shot this weekend.  But I might not be
able to get it working based on your instructions alone.  I've never
compiled MythTV before.  Just install it from ubuntu packages.  The one time
I tried compiling a SVN version I must have done something wrong because it
very much didn't work.

-- 
_____________
Ryan Patterson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mythtv.org/pipermail/mythtv-users/attachments/20070621/15974e9f/attachment.htm 


More information about the mythtv-users mailing list