SageTV Community  

Go Back   SageTV Community > Hardware Support > Hardware Support

Notices

Hardware Support Discussions related to using various hardware setups with SageTV products. Anything relating to capture cards, remotes, infrared receivers/transmitters, system compatibility or other hardware related problems or suggestions should be posted here.

Reply
 
Thread Tools Search this Thread Display Modes
  #61  
Old 04-07-2009, 10:34 AM
devinteske's Avatar
devinteske devinteske is offline
Sage User
 
Join Date: Jan 2007
Location: Ontario, CA USA
Posts: 69
Send a message via ICQ to devinteske Send a message via AIM to devinteske Send a message via MSN to devinteske Send a message via Yahoo to devinteske
mplayer

Successfully compiled Sage's modified version of mplayer. Here's how (on the PS3):

Code:
./configure --enable-eavios --enable-stv --enable-stream-sagetv --disable-mencoder
make
It's worth noting that mencoder won't link due to undefined references (to sage functions). This could easily be fixed by adding the stream_sagetv module to mencoder's list of required objects (probably just an oversight), but since we don't need mencoder to run, I've simply just disabled it (using --disable-mencoder).

Attached is the output from configure and make (for historical purposes).
Attached Files
File Type: txt configure.txt (10.1 KB, 202 views)
File Type: zip make.zip (23.5 KB, 178 views)
Reply With Quote
  #62  
Old 04-07-2009, 11:14 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,591
Thanks for the configure args. I was having issues rebuilding it on my local pc, I'm going to give those a try
Reply With Quote
  #63  
Old 04-07-2009, 12:19 PM
devinteske's Avatar
devinteske devinteske is offline
Sage User
 
Join Date: Jan 2007
Location: Ontario, CA USA
Posts: 69
Send a message via ICQ to devinteske Send a message via AIM to devinteske Send a message via MSN to devinteske Send a message via Yahoo to devinteske
LoL

For reference (simply to document the dependencies of Sage), the following libraries are required and must provide the following functions:

Code:
libasound.so.2:
        snd_mixer_selem_id_set_name
        snd_mixer_load
        snd_mixer_selem_id_get_index
        snd_mixer_selem_set_playback_volume
        snd_mixer_selem_id_get_name
        snd_mixer_selem_id_set_index
        snd_mixer_selem_get_playback_volume_range
        snd_strerror
        snd_mixer_selem_id_sizeof
        snd_mixer_find_selem
        snd_mixer_selem_register
        snd_mixer_attach
        snd_mixer_selem_get_playback_volume
        snd_mixer_open
        snd_mixer_close
libdl.so.2
        dlopen
libX11.so.6
        XQueryTree
        XSendEvent
        XFree
        XInternAtom
libjawt.so
        JAWT_GetAWT
libc.so.6
        settimeofday
        statfs
        printf
        gettimeofday
        memset
        sprintf
        __cxa_finalize
        _Jv_RegisterClasses

Last edited by devinteske; 04-10-2009 at 06:27 AM. Reason: Redaction
Reply With Quote
  #64  
Old 04-07-2009, 01:05 PM
fyodor fyodor is offline
Sage Advanced User
 
Join Date: Sep 2006
Posts: 224
Kudos on such an ambitious project.

I'm wondering though whether it wouldn't be easier to put together some sort of enhanced version of the Sage web interface. Doesn't the PS3 have a relatively advanced browser? Would it be easier to make some sort of web 2.0 interface (or flash?) that gives you some sort of placeshifter type of experience? You'd be able to use the PS3s existing video acceleration and it would also be usable on other platforms.

F

Quote:
Originally Posted by devinteske View Post
Exactly my sentiments. If I wanted to play video through my PS3, I could just load up TVersity. This has the added benefit of being able to navigate the PS3's GameOS (XBMC) with the Bluetooth "Blu-Ray" remote. In fact, I've even done this, pointing TVersity at the same directories that are used by Sage, essentially allowing me to play anything recorded to the hard-disk. However, this still doesn't give me the ability to do anything with TV (such as watch Live, change channels, record, or surf the guide) or use any of the features (far too many to list) of Sage.

IMHO, Sage is the best. Neither MythTV, Meedio, BeyondTV, Freevo, GbPVR, XBox Media Center, Windows Media Center 2005, and many others even hold a candle to Sage (Vista Media Center comes close).

So, yeah, I'm right there with you. I don't just want to play videos on my PS3. I want to play videos in Sage on my PS3.

Edit:
I'm not a fan-boy, I'm just loyal to what works (and works damned well). However, it's worth noting that I have come to know-and-love Sage very much over the years that I'm not even going to attempt to get anything else running on the PS3. Yeah, I've seen reports that MythTV is running native on PS3, but who cares? Sage or bust.
Reply With Quote
  #65  
Old 04-07-2009, 01:30 PM
devinteske's Avatar
devinteske devinteske is offline
Sage User
 
Join Date: Jan 2007
Location: Ontario, CA USA
Posts: 69
Send a message via ICQ to devinteske Send a message via AIM to devinteske Send a message via MSN to devinteske Send a message via Yahoo to devinteske
Quote:
Originally Posted by fyodor View Post
I'm wondering though whether it wouldn't be easier to put together some sort of enhanced version of the Sage web interface. Doesn't the PS3 have a relatively advanced browser?
Perhaps. The PS3 does have a browser within the GameOS/XBMC. However, I'm not sure what browser it is (firefox probably) or whether it supports Flash.

On the Linux side, you can run whatever browser you like, as long as it is made available for Linux/PPC (think Opera and Firefox for modern browsers). However, flash is only supported on the PS3 via "gnash", a 3rd-party alternative that comes close to being a decent stand-in. Adobe/Macromedia doesn't make a Linux/PPC build of flash that is compatible with the PS3.

Quote:
Originally Posted by fyodor View Post
Would it be easier to make some sort of web 2.0 interface (or flash?) that gives you some sort of placeshifter type of experience?
See above regarding flash.

Whether through the built-in browser in the GameOS, or a browser running under Linux, we're going to be missing some features that you can only get through a stand-alone application (versus web-apps) such as remote control support. Although to be quite honest, I've learned to navigate the Sage menus via the keyboard arrow/enter keys. A remote would be nice but perhaps not entirely necessary.

Quote:
Originally Posted by fyodor View Post
You'd be able to use the PS3s existing video acceleration and it would also be usable on other platforms.
Update:
Video acceleration is non-existent under the Linux environment and I have no clue whether the browser in the GameOS is accelerated or not (i.e. can it play 720p?) Theoretically if the only tasks were to play an MPEG2 stream, provide an [overlay] interface, and communicate with the server, it might be simple. However, for a web-player, I think that we'd be better off using Java. However, I've no idea of the feasibility of turning Sage into an applet. They wouldn't have to start from scratch per-se, but there would be some intensive work required to make Sage functional in the limited applet VM namespace.

Update:[
Under the GameOS, flash is supported, but Java is not. Under Linux, Java is supported, but Flash is not (basic support for Flash using Gnash, but Gnash is not 100% compatible or robust enough to say that we have Flash support under Linux).

Last edited by devinteske; 04-08-2009 at 02:56 PM. Reason: Details
Reply With Quote
  #66  
Old 04-07-2009, 03:17 PM
devinteske's Avatar
devinteske devinteske is offline
Sage User
 
Join Date: Jan 2007
Location: Ontario, CA USA
Posts: 69
Send a message via ICQ to devinteske Send a message via AIM to devinteske Send a message via MSN to devinteske Send a message via Yahoo to devinteske
JTux

I expect that I'll finish up with porting JTux tomorrow. I'll post the patches that were necessary to port it as well as a zipped binary of the compiled library and a status update as to where we stand as to "what's ported" and "what still needs porting". I hope to port any/all dependencies and then basically leave libSage.so as the only piece left (with a plead to Sage to please re-compile it). I'm hoping that once Sage sees that I've ported everything and have all but that one library working, that they'll be "nice enough" to oblige.
Reply With Quote
  #67  
Old 04-07-2009, 06:42 PM
devinteske's Avatar
devinteske devinteske is offline
Sage User
 
Join Date: Jan 2007
Location: Ontario, CA USA
Posts: 69
Send a message via ICQ to devinteske Send a message via AIM to devinteske Send a message via MSN to devinteske Send a message via Yahoo to devinteske
Thumbs up JTux Porting Procedure

Attached is a patch file that will allow you to compile JTux (libjtux.so) on the PS3 (YDL 6.1).

Instructions:

1, Download JTux
Code:
devin@Lockhart ~ $ wget http://basepath.com/aup/jtux/jtux.tar.gz
2. Download patch 'jtux.PS3-YDL6.1.patch.txt' and place in same directory as 'jtux.tar.gz'.

3. Unpack JTux
Code:
devin@Lockhart ~ $ tar zxf jtux.tar.gz
4. Apply patch
Code:
devin@Lockhart ~ $ cd jtux
devin@Lockhart jtux $ patch -u < ../jtux*.patch.txt
5. Compile
Code:
devin@Lockhart ~ $ make
In addition, I've also attached the compiled DSO and a transcript of the process (for those that are curious but don't yet own a PS3 nor have Linux installed).

Update:
Fixed "jint < dev_t" runtime error. New patch/binary uploaded.
Attached Files
File Type: txt jtux-script.txt (5.9 KB, 313 views)
File Type: txt jtux.PS3-YDL6.1.patch.txt (3.8 KB, 278 views)
File Type: zip jtux.ps3.zip (41.2 KB, 182 views)

Last edited by devinteske; 04-07-2009 at 07:29 PM. Reason: Grammar
Reply With Quote
  #68  
Old 04-07-2009, 07:12 PM
devinteske's Avatar
devinteske devinteske is offline
Sage User
 
Join Date: Jan 2007
Location: Ontario, CA USA
Posts: 69
Send a message via ICQ to devinteske Send a message via AIM to devinteske Send a message via MSN to devinteske Send a message via Yahoo to devinteske
JTux Results

Here is the resultant miniclient.log when running with ported JTux:
Code:
Starting MiniClient
Mon 4/6 21:05:19.494 Detecting cryptography support...
Mon 4/6 21:05:19.973 Sending out discovery packets to find SageTVPlaceshifter Servers...
Mon 4/6 21:05:22.237 Starting SageTVPlaceshifter Client
Mon 4/6 21:05:22.242 Starting main loop
Mon 4/6 21:05:22.257 StorageDeviceDetector started...
Mon 4/6 21:05:24.997 Error discovering servers:java.net.SocketTimeoutException: Receive timed out
Mon 4/6 21:05:26.281 Attempting to connect to server at 10.0.0.2:31099
Mon 4/6 21:05:26.294 Error getting MAC address of:java.io.IOException: java.io.IOException: No such file or directory
Mon 4/6 21:05:26.297 Connection accepted by server
Mon 4/6 21:05:26.297 Connected to media server
Mon 4/6 21:05:26.303 Error getting MAC address of:java.io.IOException: java.io.IOException: No such file or directory
Mon 4/6 21:05:26.305 Connection accepted by server
Mon 4/6 21:05:26.305 Connected to gfx server
Mon 4/6 21:05:26.422 Testing to see if server can do a pull mode streaming connection...
Mon 4/6 21:05:26.423 Server can do a pull-mode streaming connection.
Mon 4/6 21:05:26.431 Loaded
Type size error: sizeof(jint) < sizeof(dev_t)
Jtux error: Java native types don't match POSIX/SUS types.
Mon 4/6 21:05:26.478 Error w/ Media Thread: java.net.SocketException: Socket Closed
So some work is needed and possibly a couple more patches to make the ported code functional on the PS3 (or perhaps any system; JTux doesn't strike me as robust and well-maintained).

On the bright-side, the output looks incredibly clean.

Update:

Patched jtux_util.c to fix the error (updated previous post with new patch and binary). Here's what we're getting in the miniclient.log now:
Code:
Starting MiniClient
Mon 4/6 21:23:41.975 Detecting cryptography support...
Mon 4/6 21:23:42.447 Sending out discovery packets to find SageTVPlaceshifter Servers...
Mon 4/6 21:23:42.459 Starting SageTVPlaceshifter Client
Mon 4/6 21:23:42.464 StorageDeviceDetector started...
Mon 4/6 21:23:42.464 Starting main loop
Mon 4/6 21:23:47.493 Error discovering servers:java.net.SocketTimeoutException: Receive timed out
Mon 4/6 21:23:48.191 Attempting to connect to server at 10.0.0.2:31099
Mon 4/6 21:23:48.206 Error getting MAC address of:java.io.IOException: java.io.IOException: No such file or directory
Mon 4/6 21:23:48.208 Connection accepted by server
Mon 4/6 21:23:48.208 Connected to media server
Mon 4/6 21:23:48.215 Error getting MAC address of:java.io.IOException: java.io.IOException: No such file or directory
Mon 4/6 21:23:48.217 Connection accepted by server
Mon 4/6 21:23:48.217 Connected to gfx server
Mon 4/6 21:23:48.370 Testing to see if server can do a pull mode streaming connection...
Mon 4/6 21:23:48.371 Server can do a pull-mode streaming connection.
Mon 4/6 21:23:48.378 Loaded
Mon 4/6 21:23:48.383 Staring video server
Mon 4/6 21:23:48.387 Starting MiniLIRC
Mon 4/6 21:23:48.401 Exception in MiniLIRC: No such file or directory (ENOENT)
Mon 4/6 21:23:48.457 Temp file:/tmp/sagevideovjozuo
Mon 4/6 21:23:48.460 Trying to accept fd: 12
ERROR loading native lib for UI:java.lang.UnsatisfiedLinkError: libSage: ./libSage.so: ELF file data encoding not big-endian
Mon 4/6 21:23:48.760 GetProperty: GFX_TEXTMODE
Mon 4/6 21:23:48.762 GetProperty: FIRMWARE_VERSION
Mon 4/6 21:23:48.763 GetProperty: GFX_BLENDMODE
Mon 4/6 21:23:48.763 GetProperty: GFX_DRAWMODE
Mon 4/6 21:23:48.764 GetProperty: GFX_SURFACES
Mon 4/6 21:23:48.764 GetProperty: GFX_HIRES_SURFACES
Mon 4/6 21:23:48.765 GetProperty: GFX_VIDEO_UPDATE
Mon 4/6 21:23:48.766 GetProperty: GFX_BITMAP_FORMAT
Mon 4/6 21:23:48.766 GetProperty: GFX_SCALING
Mon 4/6 21:23:48.767 GetProperty: GFX_OFFLINE_IMAGE_CACHE
Mon 4/6 21:23:48.767 GetProperty: GFX_YUV_IMAGE_CACHE
Mon 4/6 21:23:48.768 GetProperty: GFX_SUPPORTED_ASPECTS
Mon 4/6 21:23:48.768 GetProperty: GFX_ASPECT
Mon 4/6 21:23:48.768 GetProperty: VIDEO_ADVANCED_ASPECT_LIST
Mon 4/6 21:23:48.769 GetProperty: GFX_SUPPORTED_RESOLUTIONS
Mon 4/6 21:23:48.769 GetProperty: GFX_SUPPORTED_RESOLUTIONS_DIGITAL
Mon 4/6 21:23:48.770 GetProperty: GFX_RESOLUTION
Mon 4/6 21:23:48.770 GetProperty: GFX_HDMI_MODE
Mon 4/6 21:23:48.771 GetProperty: GFX_COMPOSITE
Mon 4/6 21:23:48.771 GetProperty: GFX_COLORKEY
Mon 4/6 21:23:48.771 GetProperty: AUDIO_OUTPUTS
Mon 4/6 21:23:48.772 GetProperty: AUDIO_OUTPUT
Mon 4/6 21:23:48.772 GetProperty: INPUT_DEVICES
Mon 4/6 21:23:48.773 GetProperty: DISPLAY_OVERSCAN
Mon 4/6 21:23:48.773 GetProperty: VIDEO_CODECS
Mon 4/6 21:23:48.773 GetProperty: AUDIO_CODECS
Mon 4/6 21:23:48.774 GetProperty: PULL_AV_CONTAINERS
Mon 4/6 21:23:48.774 GetProperty: PUSH_AV_CONTAINERS
Mon 4/6 21:23:48.775 GetProperty: STREAMING_PROTOCOLS
Mon 4/6 21:23:48.775 GetProperty: FIXED_PUSH_MEDIA_FORMAT
Mon 4/6 21:23:48.775 GetProperty: DETAILED_BUFFER_STATS
Mon 4/6 21:23:48.776 GetProperty: PUSH_BUFFER_SEEKING
Mon 4/6 21:23:48.776 GetProperty: MEDIA_PLAYER_BUFFER_DELAY
Mon 4/6 21:23:48.777 GetProperty: REMOTE_FS
Mon 4/6 21:23:48.777 GetProperty: IR_PROTOCOL
Mon 4/6 21:23:48.777 GetProperty: VIDEO_ADVANCED_ASPECT
Mon 4/6 21:23:48.778 SetProperty GFX_ASPECT
Mon 4/6 21:23:48.779 GetProperty: CRYPTO_ALGORITHMS
Mon 4/6 21:23:51.134 Error w/ GFX Thread: java.lang.NullPointerException
java.lang.NullPointerException
   at gnu.java.awt.peer.gtk.GtkComponentPeer.setCursor(libgcj.so.7rh)
   at java.awt.Component.setCursor(libgcj.so.7rh)
   at sage.miniclient.GFXCMD2.ExecuteGFXCommand(GFXCMD2.java:219)
   at sage.miniclient.MiniClientConnection.GFXThread(MiniClientConnection.java:843)
   at sage.miniclient.MiniClientConnection.access$200(MiniClientConnection.java:6)
   at sage.miniclient.MiniClientConnection$4.run(MiniClientConnection.java:340)
Mon 4/6 21:23:51.273 Connection error 0, exiting
Mon 4/6 21:23:51.286 Error w/ Media Thread: java.net.SocketException: Socket Closed
java.net.SocketException: Socket Closed
   at java.io.DataInputStream.readFully(libgcj.so.7rh)
   at java.io.DataInputStream.readFully(libgcj.so.7rh)
   at sage.miniclient.MiniClientConnection.MediaThread(MiniClientConnection.java:1923)
   at sage.miniclient.MiniClientConnection.access$100(MiniClientConnection.java:6)
   at sage.miniclient.MiniClientConnection$3.run(MiniClientConnection.java:331)
Mon 4/6 21:23:52.497 Sending out discovery packets to find SageTVPlaceshifter Servers...
There don't appear to be any errors related to JTux, so I think we're in the clear on that dependency.

Up next is JOGL (libjogl.so, libjogl_awt.so and libjogl_cg.so).

Last edited by devinteske; 04-07-2009 at 07:34 PM.
Reply With Quote
  #69  
Old 04-09-2009, 05:54 PM
Madz Madz is offline
Sage User
 
Join Date: Jan 2008
Posts: 68
@devinteske just wanted to add my thanks for the work you've done to date.

So just to make sure I'm following this correctly:

1) the approach you are currently trying is to run everything natively on the PS3? ie no x86 emulation layers? Honestly I think this is key to the eventual success of this.

2) The outstanding issue is the custom sage libraries which need to be recompiled for PPC? The only reason I think Sage will be reluctant to do this is the ongoing maintenance and support burden it might create - ie they need to setup to be able to compile (and presumably test) PPC libraries with each update. Do they need a PS3 to perform this compile or can it be done on a normal machine? I'd make clear in any comms that we would take on the testing - ie be willing to accept untested code under the assumption the logic will be correct, but we'd be performing PPC compatibility testing.

3) If we could get this done we (you!!) will hopefully have Sage running on the PS3 - a world first Based on your testing I gather you expect at this point it would be quite usable for SD video, but won't cope with HD video?

4) To take it into the HD world, we'd then need to look into PS3 specific (optimised) video drivers, codecs, mplayer, anything else?

Thanks again and the doco and work your are doing is really top-shelf stuff....
Reply With Quote
  #70  
Old 04-10-2009, 09:15 AM
devinteske's Avatar
devinteske devinteske is offline
Sage User
 
Join Date: Jan 2007
Location: Ontario, CA USA
Posts: 69
Send a message via ICQ to devinteske Send a message via AIM to devinteske Send a message via MSN to devinteske Send a message via Yahoo to devinteske
Quote:
Originally Posted by Madz View Post
1) the approach you are currently trying is to run everything natively on the PS3? ie no x86 emulation layers? Honestly I think this is key to the eventual success of this.
Yes, that is my current goal/approach. Even though there is a brick-wall at the end of this path (the proprietary libSage.so library will need to be recompiled for Linux/PPC), I feel that this approach will unleash more possibilities in the long-run than running the code in an emulated Linux/x86 environment (though 100% possible).

Quote:
Originally Posted by Madz View Post
2) The outstanding issue is the custom sage libraries which need to be recompiled for PPC? The only reason I think Sage will be reluctant to do this is the ongoing maintenance and support burden it might create - ie they need to setup to be able to compile (and presumably test) PPC libraries with each update. Do they need a PS3 to perform this compile or can it be done on a normal machine? I'd make clear in any comms that we would take on the testing - ie be willing to accept untested code under the assumption the logic will be correct, but we'd be performing PPC compatibility testing.
I believe that the status of the Linux/x86 Placeshifter is that it's almost provided AS-IS. Surely they do support it in the forums but I doubt that they perform a full regression test on every build. Rather, I believe that they rely on the "trial by fire" method of testing for some of the Linux code. I'm lead to believe this because of the "No Video on Playback" bug status mentioned in another thread (quoted here):

Quote:
Originally Posted by dranockcir View Post
SageTV is aware of the problem. I bug reported it and had a few emails back and forth with logs but no solution yet. I am able to run version 6.4.8 Placeshifter fine on the same hardware but not the latest 6.5 versions. I have an Asus eeePC 900 (have to turn off desktop effects) and a Dell Inspiron 710m that have no audio or video BUT do show that data is streaming in the status bar.
So regarding a re-compile, I -- as a Linux user -- don't imagine a lot of balking from users if it doesn't work 100% given that (a) the number of people using it would likely be the minority of their market share and (b) Linux users are used to maintaining their environment perhaps more-so than Windows or Mac users.

Also, it should be sufficient to recompile the native library on any Linux/PPC distribution running on any hardware. They won't need to recompile on a Sony PS3. For example, if they were to, say, install Yellow Dog Linux on a Mac (or an emulator) and re-compile, we would have a Linux/PPC build that could then run on the PS3.

Quote:
Originally Posted by Madz View Post
3) If we could get this done we (you!!) will hopefully have Sage running on the PS3 - a world first Based on your testing I gather you expect at this point it would be quite usable for SD video, but won't cope with HD video?
I've tested DivX, Xvid, H.264 and x264 720p movies. Some experienced smooth playback for the first few minutes and then when the scenes got "busy", began to exhibit video lag and mplayer would throw up the infamous "you're computer is too slow to play this" warning. While one of the movies refused to play without skipping even from the start. However, that movie (720p MKV of Stargate Atlantis episode) has problems playing on all my systems except for the beefiest of them (I suspect that it's a bad encoding and needs to be remuxed).

However, yet to be seen is how well transcoded 720p content plays. That is to say, I've tested native codec playback on the PS3 using a native build of mplayer, but I believe that the SageTV Server transcodes to MPEG-2 in realtime prior to sending to the Placeshifter. So the Placeshifter may be able to play the transcoded stream more efficiently than mplayer can play the non-transcoded files. Maybe somebody with more info on this can confirm or deny if Sage transcodes 720p content to MPEG-2 in realtime and whether MPEG-2 playback requires more or less resources than DivX/Xvid/H.264/x264 et cetera.

Native mplayer build on the PS3 was able to play any/all SD video flawlessly. I watched The Sopranos under Linux on my PS3 last night and it looks/sounds great.

Quote:
Originally Posted by Madz View Post
4) To take it into the HD world, we'd then need to look into PS3 specific (optimised) video drivers, codecs, mplayer, anything else?
Will need an optimized mplayer (and maybe a custom kernel). I've been looking at the IBM Cell/B.E. development resources which allow programmers to take advantage of running code on the SPE cores. The code is rather simple and straight-forward (similar to forking a child process or instantiating a POSIX thread) and allows the programmer to utilize 6 additional "processors." The key to optimizing mplayer will be to profile where it is spending all its time while playing back HD content. Using a high-profile debugger such as Purify could allow us to drill down into mplayer's runtime environment to see which functions and sub-routines are called most often and which of those spend the most time in the CPU. Once we have identified the bottle-necks, it is a simple (but arduous) task to extend those routines to spin-off tasks to the SPUs. This is actually how the Cell Broadband Engine was designed to be used.

In all honesty, the IBM Cell/B.E. makes a horrible desktop computing architecture when compared to standard preemptive CPU architectures such as PowerPC and x86. This is because the Cell Synergistic Processing Engines are not designed to be preemptable. Rather, the SPE cores are designed to perform a task from start-to-finish. This works great for video games which must render millions of polygons-per-second, scientific software which must perform millions of calculations, and statistics software which must derive meaning from data sets. So the SPUs are fundamentally different than the PPE in both form and function. I believe that adding custom code to mplayer to offload some of the more intensive tasks, such as YUGV color calculations, to the SPEs will allow us to achieve even 1080p smooth playback. We may be locked out of the RSX by the hypervisor but we're definitely allowed, encouraged even, to develop applications that use the SPUs.

Last edited by devinteske; 04-10-2009 at 09:22 AM. Reason: grammar
Reply With Quote
  #71  
Old 04-10-2009, 01:16 PM
devinteske's Avatar
devinteske devinteske is offline
Sage User
 
Join Date: Jan 2007
Location: Ontario, CA USA
Posts: 69
Send a message via ICQ to devinteske Send a message via AIM to devinteske Send a message via MSN to devinteske Send a message via Yahoo to devinteske
Talking libSage.so not required?

I'm not so sure that we even need libSage.so. If you delete it and re-launch Placeshifter, everything appears to still work. I tested this on my Linux/x86 CentOS 4 system and was still able to connect to the server.

However, a full regression test will need to be done to determine what features, if any, will be absent or broken by not loading libSage.so.

I'm more optimistic now about getting Placeshifter to run natively without the need to either re-compile this library or spend weeks (if not months) performing binary translation or writing my own. I feel that there's a very high likelihood that once I get JOGL ported that I'll have a functional client.

SageTV Linux/x86 Placeshifter Dependencies:

Java: Came packaged with YDL (functional)
MPlayer: Compiled from source and functional
JTux: Ported from source and functional
ALSA: Came packaged with YDL (functional)
JAWT: Came packaged with YDL (functional)
X11: Came packaged with YDL (functional)
JOGL: Porting

As you can see, we're on the final leg here. The final dependency (JOGL) is also looking good. I found a PPC RPM of JOGL-1.1 the other day, so that proves that it can be compiled on PowerPC.

Shouldn't be much longer. However, WAF is hindered by this project since I do my development on our main 52" LCD in the living room. I tend to get the most done while she's at school

Update:

I know that you may be tempted to think that it somehow found or recreated libSage.so, but I can assure you that's not the case. miniclient.log shows a Java error where it was unable to load the Sage library. So this shows us that libSage.so -- the only native library that is not open-source -- is both (a) dynamically loaded at runtime and (b) perhaps not required, as a fatal exception is not thrown if it can't be loaded.

Last edited by devinteske; 04-10-2009 at 04:42 PM.
Reply With Quote
  #72  
Old 04-11-2009, 01:54 AM
devinteske's Avatar
devinteske devinteske is offline
Sage User
 
Join Date: Jan 2007
Location: Ontario, CA USA
Posts: 69
Send a message via ICQ to devinteske Send a message via AIM to devinteske Send a message via MSN to devinteske Send a message via Yahoo to devinteske
Exclamation Handy Trick for Windows Users

A lot of the *.txt files that I'm attaching are in UNIX format (meaning that when you open them on Windows, it appears as one really long line).

Rename to end in .wri so that it will open in WordPad which correctly displays the file.
Reply With Quote
  #73  
Old 04-14-2009, 02:01 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,591
Is this of any value, I just stumbled across it... H.264 on Cell
Reply With Quote
  #74  
Old 04-14-2009, 05:11 PM
devinteske's Avatar
devinteske devinteske is offline
Sage User
 
Join Date: Jan 2007
Location: Ontario, CA USA
Posts: 69
Send a message via ICQ to devinteske Send a message via AIM to devinteske Send a message via MSN to devinteske Send a message via Yahoo to devinteske
It's dated (2007), but I'll definitely have a look.
Reply With Quote
  #75  
Old 04-17-2009, 06:28 AM
mikejaner's Avatar
mikejaner mikejaner is offline
Sage Icon
 
Join Date: Oct 2003
Location: Chantilly VA
Posts: 2,087
Send a message via MSN to mikejaner
Pretty much everything you are talking about is way over my head, as I only dabble in Linux, but I hope you do get the SageTV client/placeshifter working well natively on the PS3!! I have YellowDog loaded right now, and really don't use it because of the lack of flash etc..... If you get this working, you definitely have to submit this to the SageTV guys to see if they will release, and or maintain the code as yet another platform they support. They could only win with this situation.
Do you have the ability to optimize a distro to be as stripped down as possible to only run SageTV on X? If so, packaging it that way would be awsome.
__________________
Mike Janer
SageTV HD300 Extender X2
Sage Server: AMD X4 620,2048MB RAM,SageTV 7.x ,2X HDHR Primes, 2x HDHomerun(original). 80GB OS Drive, Video Drives: Local 2TB Drive GB RAID5
Reply With Quote
  #76  
Old 04-17-2009, 08:09 AM
devinteske's Avatar
devinteske devinteske is offline
Sage User
 
Join Date: Jan 2007
Location: Ontario, CA USA
Posts: 69
Send a message via ICQ to devinteske Send a message via AIM to devinteske Send a message via MSN to devinteske Send a message via Yahoo to devinteske
Quote:
Originally Posted by mikejaner View Post
Do you have the ability to optimize a distro to be as stripped down as possible to only run SageTV on X? If so, packaging it that way would be awsome.
Yeah, that's not a problem and should be trivial. Since the YDL installer uses anaconda (just like RHEL, FC, and CentOS), it is also a trivial matter to script the installation to the point that the user need only boot off the disc and let the scripted installation run to-completion. Further, it would be simple to package up all the re-compiled dependencies and the Placeshifter itself into a few RPMs (which can be automatically installed via the anaconda script).

The great thing is that we can really dial in the distro to the PS3 since it is "standardized hardware". So we can automate all the optimizations that will be required.

Based on my experience with, the resultant ISO should be between 200MB and 250MB.
Reply With Quote
  #77  
Old 04-17-2009, 11:44 AM
mikejaner's Avatar
mikejaner mikejaner is offline
Sage Icon
 
Join Date: Oct 2003
Location: Chantilly VA
Posts: 2,087
Send a message via MSN to mikejaner
Quote:
Originally Posted by devinteske View Post
Yeah, that's not a problem and should be trivial. Since the YDL installer uses anaconda (just like RHEL, FC, and CentOS), it is also a trivial matter to script the installation to the point that the user need only boot off the disc and let the scripted installation run to-completion. Further, it would be simple to package up all the re-compiled dependencies and the Placeshifter itself into a few RPMs (which can be automatically installed via the anaconda script).

The great thing is that we can really dial in the distro to the PS3 since it is "standardized hardware". So we can automate all the optimizations that will be required.

Based on my experience with, the resultant ISO should be between 200MB and 250MB.

I can't wait!!
__________________
Mike Janer
SageTV HD300 Extender X2
Sage Server: AMD X4 620,2048MB RAM,SageTV 7.x ,2X HDHR Primes, 2x HDHomerun(original). 80GB OS Drive, Video Drives: Local 2TB Drive GB RAID5
Reply With Quote
  #78  
Old 04-20-2009, 07:29 AM
devinteske's Avatar
devinteske devinteske is offline
Sage User
 
Join Date: Jan 2007
Location: Ontario, CA USA
Posts: 69
Send a message via ICQ to devinteske Send a message via AIM to devinteske Send a message via MSN to devinteske Send a message via Yahoo to devinteske
Small Update

Been swamped with other projects. It's going to take a little more time to get JOGL ported since it uses a build process I'm not familiar with. I've used "make" for years on-end, but have never used "ant" before (a make-like utility used to build JOGL from source).

Currently, I am in the throws of porting ANTLR (an ant module) so that I can port JOGL. I've successfully built ANTLR several times now on the PS3 but for some reason JOGL is refusing to recognize the installed ANTLR java classes This problem is far from being difficult to solve, it's just going to take more time so that I can find out how to properly install ANTLR so that it is recognized by the ant.
Reply With Quote
  #79  
Old 05-20-2009, 10:04 PM
panteragstk's Avatar
panteragstk panteragstk is offline
SageTVaholic
 
Join Date: Oct 2008
Location: New Braunfels, TX
Posts: 3,312
So, any updates. I know many including myself are very interested in this project. I just wish I had the knowledge to help. Don't give up.
__________________
SageTV Server: unRAID Docker v9, S2600CPJ, Norco 24 hot swap bay case, 2x Xeon 2670, 64 GB DDR3, 3x Colossus for DirecTV, HDHR for OTA
Living room: nVidia Shield TV, Sage Mini Client, 65" Panasonic VT60
Bedroom: Xiomi Mi Box, Sage Mini Client, 42" Panasonic PZ800u
Theater: nVidia Shield TV, mini client, Plex for movies, 120" screen. Mitsubishi HC4000. Denon X4300H. 7.4.4 speaker setup.
Reply With Quote
  #80  
Old 05-22-2009, 07:36 AM
devinteske's Avatar
devinteske devinteske is offline
Sage User
 
Join Date: Jan 2007
Location: Ontario, CA USA
Posts: 69
Send a message via ICQ to devinteske Send a message via AIM to devinteske Send a message via MSN to devinteske Send a message via Yahoo to devinteske
Updates

I've been utterly swamped with coding projects at work with sharp deadlines. In addition, several other projects have crept up on me like 2-3 cocoa obj-c projects on Mac OS X/iPhone, a CSS/Perl Web-App, a new FreeBSD kernel, and some other fluff.

The current status of SageTV on the PS3 is actually pretty good. JOGL remains to be the only hurdle left in the dependency list. Everything else required to run the Placeshifter (miniclient) on the PS3 under Linux is either available online or attached to messages in this forum. Currently, building JOGL on the PS3 bombs out during the configure stage, claiming that ANTLR, a dependency listed in the documentation, is not installed. Since ANTLR is listed rather prominently in the JOGL build-documentation, I feel fairly confident that all other dependencies are satisfied and that getting ANTLR, an Apache ANT module, installed will allow us to successfully build JOGL.

I definitely encourage any impatient souls to set up Linux on their PS3 using the resources and methods mentioned in this thread. I'll help you along the way to get as far as I have. The interface launches, I can add a SageTV Server to the placeshifter main menu, etc. Of course, without JOGL, logging into the server works but the interface won't render. Once JOGL is successfully ported (which, we know is possible since YDL has a binary port of jogl-1.1.1 in the yum database), the interface should render and we should be able to play STD definition video smoothly.
Reply With Quote
Reply

Tags
bd-j, bdj, client, extender, ps3


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
SageTV, the HD Homerun, and a PS3 Keenan Hardware Support 0 04-02-2008 01:28 PM
SageTV Client on PS3 (under linux)? bjkiller SageTV Linux 2 11-25-2007 10:35 AM
PS3 ChePazzo General Discussion 4 12-21-2006 04:40 AM
Sage on PS3 Possible? VikingCrown SageTV Linux 18 10-21-2006 12:45 PM


All times are GMT -6. The time now is 07:14 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.