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
  #21  
Old 02-18-2009, 03:40 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 stanger89 View Post
The issue is I have serious doubts about being able to take a PC/Mac placeshifter and get it to do anything useful on a Blu-ray player. I think you're more likely to get it to run directly on a PS3, but even that I would expect to be problematic.
That's a good point. What happens when you stick this supposed SageTV BD-J disc into a standard BluRay player (not a PS3)? Well, if the BluRay player supports the 1.1 spec of the BluRay format, then the player should have support for BD-Live (network access). Although, a standard player won't have likely have a built-in hard disk but it will likely have an HDMI output and some built-in RAM for buffering the data from the disc.

I hypothesize that it actually may just be possible to create a BD-J version of SageTV's Placeshifter that could actually run on ANY BluRay player (given BD-Live support). Surely, the Placeshifter will have to be modified slightly to remove any possible features that don't coincide with what a normal player provides (for example, a standard player will probably have less RAM than the PS3... if that's even possible).

If you think about it really, as long as the BD-J version of Placeshifter was re-written to strictly adhere to BD-J VM API, then I don't see how the Placeshifter *wouldn't* work on any ol' BluRay player that supports BD-J. After all, the only advantage that a PS3 would offer over a standard player is of course the built-in HD and beefier graphics (assuming BD-J apps have full 2D/3D acceleration via RSX, unlike apps running under Linux on the PS3 which are hardware-locked against using the RSX). This is of course only speaking on differences between the environment that BD-J apps would run in compared between a PS3 and stand-alone 1.1 BluRay player.

If that ends up being the case (and I'm sure that some simple testing can be done to make sure that it is possible), then I would argue that SageTV has a LOT to gain in writing a BD-J Placeshifter. Imagine, as though you were the CTO of Frey Technologies, if you could increase your potential market share to include anybody/everybody that owns a stand-alone BluRay player? Even better is that stand-alone BluRay players are not in every house-hold yet (good chance to get in before the competition gets too hot).

How many people do you think own both a computer and a BD player? How many of those people would like to play content from their computer in the living room via that BD player? With little more than a purchase of SageTV for the computer and one placeshifter license, they could stream content from the PC to any BD-J compliant BluRay player (including the PS3).

Now, on another note, I now believe that the Mac Placeshifter may indeed work natively in Yellow Dog Linux 6.1 on the PS3. Now, the only thing left to do before I start coding SageTV for the PS3 is... getting up the nerve to wipe out my PS3's hard disk to make room for the OtherOS boot loader (kboot). I've got over 60 million fans on Rock Band 2 that I don't want to lose months of stats and character building. Not really a topic for the SageTV forums... but does anybody happen to know off the top of their head if it's possible to back up the contents of the HD before wiping it and then restore backups into new partition? I guess I could just use gParted to resize the disk to make room for the OS, but haven't seen anybody try that before (what file system format is the thing in anyways? ext2?)

I'm reassured that this just may be possible by positive reports that others have got mplayer running decently on the PS3 at Full HD. Unfortunately, I don't think the Mac Placeshifter uses mplayer, but I know that the Linux Placeshifter does. So we may end up running the Linux Placeshifter under QEMU (x86 emulator for PPC). There have been reports of success on running x86 code on the PS3 under QEMU (heck, there's even been reports of being able to load WinXP onto the PS3 via QEMU, lol; albeit extremely slow).

Of all the Linux distributions currently available for the PS3, I think that Yellow Dog (YDL) looks to be the best if nothing more than for ps3vram which allows you to use the PS3's video memory as a swap space (which, pending real-time tests, should give us a marginal performance increase over using no swap or the internal HD for swap). Not only having more memory (more than the 196MB of usable XDR RAM seen by YDL) will help but having an additional bank of low-latency high-bandwidth memory for numerous read/write ops-per-sec will help greatly.

UItimately, I'd like to get FreeBSD running on the PS3 ( ^_^ ) but that looks to be a more concerted effort. It's just my personal belief (and part religion, being a FreeBSD developer) that SageTV would run better under FreeBSD on the PS3 (oh, and we'd have support for ZFS).
Reply With Quote
  #22  
Old 02-18-2009, 03:56 PM
stanger89's Avatar
stanger89 stanger89 is offline
SageTVaholic
 
Join Date: May 2003
Location: Marion, IA
Posts: 15,186
Quote:
Originally Posted by devinteske View Post
That's a good point. What happens when you stick this supposed SageTV BD-J disc into a standard BluRay player (not a PS3)? Well, if the BluRay player supports the 1.1 spec of the BluRay format, then the player should have support for BD-Live (network access). Although, a standard player won't have likely have a built-in hard disk but it will likely have an HDMI output and some built-in RAM for buffering the data from the disc.
A BD-Live (2.0) player is required to have local storage and network access, I think 1GB but I don't remember for sure. A BD-Live player should have more than enough hardware to run a Sage client, they're very hardware similar to the HD200 (some may be running the same chipset).

Quote:
I hypothesize that it actually may just be possible to create a BD-J version of SageTV's Placeshifter that could actually run on ANY BluRay player (given BD-Live support). Surely, the Placeshifter will have to be modified slightly to remove any possible features that don't coincide with what a normal player provides (for example, a standard player will probably have less RAM than the PS3... if that's even possible).
I actually believe that it would not be hard (technically) for SageTV to tweak the extender miniplayer to run as a BD-J app on any BD-Live BD player. Indeed they already showed this capability last year at CES when they had SageTV software (of some sort) running on a Pioneer Blu-ray player. The real problem there would be logistical/political, that is SageTV managing to get their extender licensed/signed to run on a BD player.

Quote:
If that ends up being the case (and I'm sure that some simple testing can be done to make sure that it is possible), then I would argue that SageTV has a LOT to gain in writing a BD-J Placeshifter. Imagine, as though you were the CTO of Frey Technologies, if you could increase your potential market share to include anybody/everybody that owns a stand-alone BluRay player? Even better is that stand-alone BluRay players are not in every house-hold yet (good chance to get in before the competition gets too hot).
But this isn't really what we're talking about here, at least that's not what we "detractors" are disagreeing with. The discussion is if end users could take the released Placeshifter and get it to run (in a useful way) on a PS3 or other BD player. That I don't think is likely, at least not as a BD-J app.
Reply With Quote
  #23  
Old 02-18-2009, 04:24 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 stanger89 View Post
But this isn't really what we're talking about here, at least that's not what we "detractors" are disagreeing with. The discussion is if end users could take the released Placeshifter and get it to run (in a useful way) on a PS3 or other BD player. That I don't think is likely, at least not as a BD-J app.
First off, I'd like to say that I have no intention of even *attempting* to turn the SageTV Placeshifter into a BD-J app. That's a job for Frey and the developers. If we had the source-code to the Placeshifter, then I'd say sure... no problem (have the thing working in a week or two). However, it just seems to be impossible unless you somehow decompile the Java byte-code and then augment it with new PS3-specific Java APIs to escalate privilege and use the local resources (there is a special API to use the local disk, network etc.). That's a bit beyond my expertise (were it a C program, no prob... but I'm not even sure if jars can be decompiled, changed and then recompiled properly).

So where I stand now is understanding that SageTV Placeshifter will likely never run on a PS3 unless we do it ourself under Linux or (sarcasm) convince Frey to release the code they used in CES on that Pioneer BD player.

And thus far, I haven't seen overwhelming evidence that we CAN'T get Placeshifter running on YDL on the PS3.

Can you think of anything that simply just won't work or where there isn't a decent work-around?
Reply With Quote
  #24  
Old 02-20-2009, 10:12 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
Found this: Debian LiveCD for PS3

http://www.keshi.org/moin/PS3/Debian/Live

I almost can't resist putting FreeBSD onto my PS3, lol. Should be pretty simple, ... have kboot load memdisk (from the syslinux folks) as the kernel which will then mount the initrd image which will then execute the FreeBSD loader from the MBR of the image (standard floppy emulation). If kboot provides a correct boot_info struct to memdisk (as it should, memdisk only cares to be treated as a Linux kernel and to the best of my knowledge doesn't require any special flags, hooks, or other).

Should be fun to see if I can be the first person to get FreeBSD running on a PS3. Might take some kernel hacking, but that's not difficult for me (at all) as that's what I do for a living.

However, even if I do get FreeBSD running, I'll either end up dumping it for YDL (which can utilize more RAM on the PS3 than another other distro currently) or try to port ps3vram from YDL. Another major concern would be to get FreeBSD access to the SPEs.

I almost wish I had enough money to buy a second PS3 so I could do concurrent FreeBSD/Linux builds, but meh... I'll start off with a few tests on Debian LiveCD (just to play with the architecture), then move to YDL and finally FreeBSD.
Reply With Quote
  #25  
Old 02-22-2009, 01:03 AM
Madz Madz is offline
Sage User
 
Join Date: Jan 2008
Posts: 68
This is a really interesting discussion, I'd love to see some sort of solution - came across it as I was googling for this very thing - a way to use the PS3 as a Sage Extender. Would love to see a reply from one of the Sage crew on their thoughts on all this.

@devinteske: I'm sure your testing efforts will be appreciated by a lot of us, regardless of the outcome, but I'd hate to see you lose all your data - I guess you don't want to pull the covers off your PS3, but I was wondering if one option wouldn't be to disconnect your HDD and connect a different HDD when you want to play with this??
Reply With Quote
  #26  
Old 02-22-2009, 02:20 AM
Madz Madz is offline
Sage User
 
Join Date: Jan 2008
Posts: 68
Been doing a bit of reading on this and I really like the idea of the Blu Ray disc as the OP was suggesting, but given we probably need some help from Sage to get this happening, our best bet might be to plead with them...

In the meantime, as far as running Sage under linux on the PS3, looking at this page: http://www.sagetv.com/linuxOEMinstallAdv.html
It sounds like there is a linux version of the sage client - in which case why isn't it just as simple as installing linux on the PS3 and then installing this client? Aren't the architecture issues (cell instead of x86) all masked by the OS itself? I gather the linux distros that install on there all include a whole lot of apps, open office etc and surely there aren't cell specific compiles of all them?

I'm also pretty sure from what I've read that HDMI is supported by the video "hardware" presented to linux as are the USB ports so presumably we could get something like the MCE remote working. However from what I've been reading the biggest issue (even assuming we can actually get Sage to work) would be the speed of the linux VM, particularly in the video space. Seems like there aren't any linux drivers optimised for the hypervisor hardware - a few guys have been working on things, but nothing that sounds stable yet and unfortunately most of what I came across seemed a bit dormant?
http://forums.ps2dev.org/viewforum.php?f=29
http://code.google.com/p/cell-mpeg2-decoder

Last edited by Madz; 02-22-2009 at 05:10 AM.
Reply With Quote
  #27  
Old 02-22-2009, 08:13 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,430
Quote:
It sounds like there is a linux version of the sage client - in which case why isn't it just as simple as installing linux on the PS3 and then installing this client?
Nope.... Linux needs to be compiled for the achitecture on which it will run... including al applications.
Quote:
I gather the linux distros that install on there all include a whole lot of apps, open office etc and surely there aren't cell specific compiles of all them?
Linux on the ps3 will require that all binaries be compiled for the hardware on which it runs. But, because linux is open source, then doing this is sometimes trivial and other times not. In most cases, the developers that work on these large linux projects know that their stuff will need to run on lots of different hardware, so that they design their code to be used in that way. In short, if Open Office runs on the PS3, then it was compiled to run on the cell processor. Linux in not a vm.

The issue with the sage placeshifter is that it uses several native libraries, so each of those libraries would need to be ported to cell linux in order to work. Without the source, this is hard to do.

While I think the sage on ps3 linux is interesting, I don't see it as being a viable long term solution (although I'd still like to see it done). I think that the blu-ray solution holds much more long term potential. But the drawback to both of these solutions is that you have to boot into a separate application in order to watch tv/movies.
Reply With Quote
  #28  
Old 02-23-2009, 03:11 AM
panteragstk's Avatar
panteragstk panteragstk is offline
SageTVaholic
 
Join Date: Oct 2008
Location: New Braunfels, TX
Posts: 3,311
This idea appeals to me quite a bit. However, I don't think the linux/sagetv route is going to be the way to do it. Neither is the bd-j route. The best possible solution would be to get a ps3 version of sagetv. I doubt this would be possible because sony would be unlikely to let sagetv have rights to it's gpu/video processor. All of this is great "in theory" but to put it into practice just doesn't seem possible. Having a ps3 to game on and the open up my sagetv app on the ps3 menu to watch tv or play movies sounds great, but I just don't see it happening. Installing a linux distro and then getting the mac version of sage to run on it just seems like too many workarounds to be practical. I'd love to see this project come through though, there are just a lot of hurtles to jump for this to come to light.
Reply With Quote
  #29  
Old 02-23-2009, 04:41 AM
Madz Madz is offline
Sage User
 
Join Date: Jan 2008
Posts: 68
If it wasn't for the PlayTV I'd say Sony wouldn't have any problems licensing it the same way as any other game. But the PlayTV changes the mix a bit.

It's frustrating as the PS3 would be the perfect extender....
Reply With Quote
  #30  
Old 02-23-2009, 08:48 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
@devinteske: I'm sure your testing efforts will be appreciated by a lot of us, regardless of the outcome, but I'd hate to see you lose all your data - I guess you don't want to pull the covers off your PS3, but I was wondering if one option wouldn't be to disconnect your HDD and connect a different HDD when you want to play with this??
I'm going to pull the drive out and attach it to my PC and run gParted on it. That should allow me to shrink and move the existing partition and create a new partition to install kboot onto. Then, having kboot installed will allow me to boot off an external USB drive or CD-ROM. Using a rewritable should allow things to move smoother and more efficiently (for testing purposes anyway). I'm thinking about starting off the Debian LiveCD.
Reply With Quote
  #31  
Old 02-23-2009, 09:23 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
It sounds like there is a linux version of the sage client - in which case why isn't it just as simple as installing linux on the PS3 and then installing this client? Aren't the architecture issues (cell instead of x86) all masked by the OS itself?
The hypervisor makes the Cell's main PPE processor appear and act identical to a late-model [IBM] PowerPC RISC processor. x86 Linux won't work on the PPC architecture without emulation. Linux/UNIX distributions that either cater to the PPC architecture (think Yellow Dog Linux) and/or those that can be compiled on PPC (Ubuntu, Gentoo, Debian, RedHat, CentOS, BSD, Darwin) are candidates for Sony's Playstation 3. However, though compiling for the PPC architecture will give you a usable Linux environment on the PS3, kernel/system additions are required to make full use of the PS3 hardware. Currently, Yellow Dog Linux (YDL) has the most functional support for the PS3's additional non-standard hardware.

In addition to the PPC processor (capable of running two threads, appearing to Linux as two logical CPUs), the PS3 has 8 cell processors called SPEs. YDL can make limited use of these SPEs while other distributions no not of their existence nor make use of them.

Another reason to use YDL is that they've figured out how to make use of the video RAM in the PS3 as a swap device, giving you more memory. This is rather important because the PS3 makes use of XDR (from the makers of Rambus RAM) that is permanently soldered onto the mother-board. There are essentially 4 banks of 256MB of super-fast XDR. Under the Linux environment, the hypervisor gives you approximately 196MB of usable RAM. That's hardly enough to do anything with. By slimming down the Linux environment by using Tom's Window Manager (twm) instead of Gnome/KDE and other tweaks, I can get just over 100MB of free memory that can be allocated to SageTV. But using YDL's special "ps3vram" utility, we can allocate the video memory as swap space and gain approximately another 300MB. Case-in-point, with YDL we can provide SageTV with enough memory, processing power, network bandwidth, and disk space to smoothly run SageTV Placeshifter WITHOUT needing access to the RSX 2D/3D graphic acceleration (which Sony has prevented by implementing the hypervisor to lock the hardware, preventing such homebrew as an ISO loader or custom dashboard that could load pirated discs).

However, YDL may not provide the most friendly environment to getting SageTV Placeshifter running. For that, I'm now thinking Darwin PPC. Darwin is open-source and designed to run the PowerPC architecture. Further, Darwin provides the core frameworks common with Mac OS X such as CoreServices providing the Carbon API, et cetera. This would be integral if it becomes discovered that the Mac version of Placeshifter makes use of any Carbon or Cocoa APIs (however doubtful).

Quote:
Originally Posted by Madz View Post
I'm also pretty sure from what I've read that HDMI is supported by the video "hardware" presented to linux as are the USB ports so presumably we could get something like the MCE remote working.
I actually like the MCE remote very much and have been using it on a multitude of systems for years now. I love the way it feels in my hand and it has all the buttons that I need. Although, wouldn't it be more advantageous to try to get the PS3 Bluetooth BluRay remote to work (I bought one of these just to watch BluRay movies... works well and I like that it can be pointed anywhere as it is not Infrared/IR based).

I do have a book on writing Linux kernel drivers, so it's not unforeseeable that we could have the MCE remote working (although I have a sneaking suspicion that somebody already has the MCE remote working on Linux). Could even write a FreeBSD driver, but I've never written a Darwin driver (for those that know, Darwin makes use of the Carnegie Mach Micro-Kernel architecture prevalent to the ol' NeXT system). So that could be a dodgy prospect (writing a kext for darwin... anybody know a good book?).

Quote:
Originally Posted by Madz View Post
However from what I've been reading the biggest issue (even assuming we can actually get Sage to work) would be the speed of the linux VM, particularly in the video space.
See my points above about YDL. I've seen other projects able to produce 1080p smooth video with the power available.

Quote:
Originally Posted by Madz View Post
Seems like there aren't any linux drivers optimised for the hypervisor hardware - a few guys have been working on things, but nothing that sounds stable yet and unfortunately most of what I came across seemed a bit dormant?
http://forums.ps2dev.org/viewforum.php?f=29
http://code.google.com/p/cell-mpeg2-decoder
Actually, Sony has been providing code to the makers of YDL to support additional components such as the 8 SPEs and additional video.

It's highly likely that Sony will NEVER unlock the RSX for 2D/3D acceleration, however. Doing so would almost immediately mean success in the homebrew world and unlock a flood of piracy (of PS3 games, ROM emulators for other consoles, and more).
Reply With Quote
  #32  
Old 02-23-2009, 09:40 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 stuckless View Post
The issue with the sage placeshifter is that it uses several native libraries, so each of those libraries would need to be ported to cell linux in order to work. Without the source, this is hard to do.
You don't necessarily need to port to the Cell. The Hypervisor acts as a go-between in the layer above the Cell processor, articulating the PowerPC instruction set. ALL programs on the PS3 run on the PPE and the SPEs are there for support (IF your distribution can make use of them). This is essentially why we have Ubuntu (and all of its variants), Gentoo, Suse, Debian, YellowDog, and many other Linux distributions currently usable on the PS3. As a straight PowerPC build of the distribution will work on the PS3, it is not always necessary to have the source.

Those native libraries that you claim to be required are just that... native. A Linux distribution compiled for PPC will have those native libraries just as the x86 variant.

Naturally, some things will need to be worked around. For example, we could start off with the Linux miniclient (Placeshifter). Naturally, we could expect the Java to work as the JRE will correctly translate the VM byte-code into platform-specific byte-code to be run on the PPC architecture (which the hypervisor then translates for the PPE). However, there is some x86 code required by miniclient such as mplayer. Getting mplayer compiled under PPC is trivial and has even been shown to work on the PS3. However, I'll have to take a look to see if SageTV uses any C/C++ binaries/libraries. Generally speaking, decompilation does not work so well (you usually end up with x86 specific optimizations that hinder both compilation and performance on other platforms). So we may end up just throwing all the x86 binaries at QEMU (an x86 emulator for PPC).

As long as we can maintain a minimum of 100MB of allocated RAM to SageTV (including VRAM swap and possibly additional [slower] disk-based swap) with QEMU running, we should be able to get the performance that we need. Although I still wonder about the viability of using SageTV + Darwin to achieve a no-emulation native execution for best performance results.
Reply With Quote
  #33  
Old 02-23-2009, 09:49 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 panteragstk View Post
I doubt this would be possible because sony would be unlikely to let sagetv have rights to it's gpu/video processor.
Not necessary. Others have shown that there is plenty of performance in the Linux environment, even with RSX access disallowed by the hypervisor.

Quote:
Originally Posted by panteragstk View Post
All of this is great "in theory" but to put it into practice just doesn't seem possible. Having a ps3 to game on and the open up my sagetv app on the ps3 menu to watch tv or play movies sounds great, but I just don't see it happening.
Ah, young grasshopper. Anything is possible and nothing improbable when you master the requisite kung-fu. The only question at play here is how to best implement it. The fact is that this is very real and very possible. In fact, SageTV demonstrated running SageTV on a Pioneer BluRay player just this last year. Now, granted that they have the resources available to do this with ease (or ate least more-so than us whom do not work for the company), but it is far from impossible.

Quote:
Originally Posted by panteragstk View Post
Installing a linux distro and then getting the mac version of sage to run on it just seems like too many workarounds to be practical.
You may be right. I fully expect to get it working, but what the outcome will be I can't say. It may end up being too sluggish or buggy. The fact, however will remain, that we have no way of knowing until we try it.
Reply With Quote
  #34  
Old 02-23-2009, 11:30 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
Linux Placeshifter Analysis

I took a look at the Linux Placeshifter (miniclient) just now to see how things would fair in PPC Linux land.

These are the types of files distributed with the miniclient:

Code:
jogl.jar:           Zip archive data, at least v2.0 to extract
libjogl_awt.so:     ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped
libjogl_cg.so:      ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped
libjogl.so:         ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped
libjtux.so:         ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped
libSage.so:         ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped
MiniClient.jar:     Zip archive data, at least v1.0 to extract
mplayer:            ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.4.1, dynamically linked (uses shared libs), not stripped
sageclient.sh:      Bourne shell script text executable
Further, within jogl.jar, we have numerous "compiled Java class data, version 48.0" files (supporting "Mac OS X", "X11", and "Windows"). This Java archive should be cross-platform and functional in our PPC Linux environment without modification. Same goes for MiniClient.jar.

As for each of the shared objects (which have invariably been compiled for Intel x86), a few are available as open source and thus can be re-compiled for PPC. For example, we can recompile libjtux.so by downloading the source from:

http://freshmeat.net/projects/jtux/

JTux can be compiled for the PPC Linux architecture using the Java SDK.


For the files libjogl_awt.so, libgjogl_cg.so, and libjogl.so, we can do the same. These are from the Java OpenGL project JOGL available here:

http://freshmeat.net/projects/jogl/

I'm curious if this library can be ported since the hypervisor locks us out of the RSX. There is a slight chance that OGL calls are implemented in YDL to run on the PPE, otherwise we'll be hoping that the miniclient can make use of the X11/hypervisor framebuffer. We'll see.

Edit: OpenGL API is indeed supported under Linux on the PS3. As I guessed, it is a software implementation only but it is great to know that we will be able to port JOGL to the PS3, re-compiling with the JDK.

Here's the killer... libSage.so

Would be nice, if say, I could collaborate with the Sage dev-team on this one. Perhaps I could provide them with an ISO of the environment I'm working in (complete with ported libraries) to have them test to see if a straight re-compile of this shared object would work. That way, if it worked, they could simply share the compiled object with me to incorporate it into a no-emulation miniclient distro. However, I'm not going to hold my breath.

The only other way would be to use a decompiler to get the source but, as I said in an earlier post, decompilers never produce the same code as was used to generate the compiled object. This is because when the compiler (such as gcc) transforms the C/C++ code into 32-bit x86 machine-code, optimizations are added. These optimizations will wreak havoc on the decompilation, often causing oddities that weren't in the original code. When dealing with a relatively small object, this can be a trivial task (decompile, clean up as best you can, and re-compile). When you start getting above a few thousands lines is when things get daunting.

Now, we could sit here and ponder near-impossible, incredibly difficult tasks (like reverse engineering libSage.so to provide our own library that satisfies the required symbols) to achieve our goal (which could be fun) but I think that the simplest and easiest answer is still going to be QEMU.

Edit:

If we can get a Proof-of-Concept (PoC) running with the combination of PS3/YDL/QEMU/Placeshifter, regardless of how fast or efficient it operates, we could likely get the attention of the developers. In that case, we may be able to convince them to do a simple re-compile so that we can remove the emulation layer (QEMU).

Last edited by devinteske; 02-23-2009 at 11:42 AM.
Reply With Quote
  #35  
Old 02-23-2009, 12:01 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
Did some more research on QEMU today.

It appears that QEMU offers two types of emulation, including the one that we want. Many people on the web are already using QEMU on the PS3 to do such odd things as run Windows 95/98 (and even XP). However, we have no need to emulate an entire operating system (though we could).

It should be possible to perform User emulation (emulation of user code to launch a Linux process) to execute the x86 Linux Placeshifter. This solution should provide us with a light-weight emulation layer that may be fast enough to actually be usable!

Now, if that doesn't work, then I see absolutely no reason whatsoever why we couldn't (albeit at the cost of performance) emulate an entire x86 Linux OS under QEMU to execute the Placeshifter without a single modification to SageTV's miniclient.
Reply With Quote
  #36  
Old 02-24-2009, 04:15 AM
Madz Madz is offline
Sage User
 
Join Date: Jan 2008
Posts: 68
@devinteske: your enthusiasm is fantastic! It would be so great to get this working and I really don't want to be a wet blanket on this - but the night I spent reading up on this stuff didnt leave me as optomistic as you....

I don't have much idea about linux and what we'd have to do to get Sage working, it sounds like you all are over that side of things anyway. I was more interested in the performance limitations of the linux "VM" Sony has left us with via the hypervisor.

Before I found SageTV I used MythTV on Linux for a few months. So that was the angle I researched from as these guys, like us, are trying to run the PS3 as their front end. They have the advantage over us that MythTV is open source so they can load it up no problems. But from everything I read the performance just wasn't satisfactory. I even found posts discussing the fact that the old xbox (running xbmc) performs better than the PS3. I gather HD is basically out of the question.

I agree with you that Sony will never open up the video to linux - why would they? The sell the consoles at a loss and rely on the sales of games. If we all bought them to run linux on they'd be screwed I also agree with you though that the PS3 has enough grunt to do what we need without the video chip. The problem is it needs custom drivers/media libraries to be written to multithread stuff out to the SPEs otherwise like you say all you are using is the single general purpose PPE which doesn't have the grunt to do what we need. This means a LOT of work, particularly if we have to learn how to write these things as we go. From what I found, some guys have had a stab at writing drivers and codec? libraries to do various things but everything I came across was at an alpha/beta stage and didn't seem to be being actively developed.

Anyway, this is just from a night's googling, so maybe there's stuff out there that I missed, but I'm thinking before you go to the trouble of trying to get Sage running, maybe we need to get linux on a PS3 and run some tests just playing back media files manually - use ffmpeg or whatever it is that sage uses, but then we can get an idea of whether the hardware is up to the job and evaluate some different drivers and stuff for stability and performance.

Re the MCE remote on linux: http://www.mythtv.org/wiki/MCE_Remote. From what I remember the remote the stuff is pretty flexible and you could probably get the other one working at some stage...
Reply With Quote
  #37  
Old 02-24-2009, 10: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 Madz View Post
The problem is it needs custom drivers/media libraries to be written to multithread stuff out to the SPEs otherwise like you say all you are using is the single general purpose PPE which doesn't have the grunt to do what we need. This means a LOT of work, particularly if we have to learn how to write these things as we go.
It's already been done for us.

See the following git repo:
http://mandos.homelinux.org/~glaurung/git/

That's the code that I'll be incorporating into a custom Linux kernel.

Here's discussion on the code:
http://forums.ps2dev.org/viewtopic.php?t=9479


In essence, we now not only have extended swap space by using the GPU as a gopher to tap into the VRAM, but we now have 2D acceleration via RSX (!!)

Is it starting to sound a bit more plausible now?

Quote:
Originally Posted by Madz View Post
Re the MCE remote on linux: http://www.mythtv.org/wiki/MCE_Remote. From what I remember the remote the stuff is pretty flexible and you could probably get the other one working at some stage...
That's great news! I'll definitely be incorporating that into the build.

In addition (and mentioned previously), I'll be slimming down the environment as best I can to give Sage as much usable RAM as possible. I'll be doing something along these lines (but more):

http://www.ibm.com/developerworks/li...l-linux-ps3-1/
http://www.ibm.com/developerworks/li...l-linux-ps3-2/
http://www.ibm.com/developerworks/li...l-linux-ps3-3/

Quote:
Originally Posted by Madz View Post
maybe we need to get linux on a PS3 and run some tests just playing back media files manually - use ffmpeg or whatever it is that sage uses, but then we can get an idea of whether the hardware is up to the job and evaluate some different drivers and stuff for stability and performance.
See the following discussion on AfterDawn. There are many reports in the wild of the PS3 running Linux able to play Full HD (1080p) smoothly without any tweaks:

http://forums.afterdawn.com/thread_view.cfm/627817

Now, if you add in the ps3vram module, ps3rsx module, slim down the X11 memory footprint, and add more swap and you should have a rather descent environment that should easily be able to handle executing the SageTV Placeshifter under QEMU.
Reply With Quote
  #38  
Old 02-25-2009, 05:26 AM
Madz Madz is offline
Sage User
 
Join Date: Jan 2008
Posts: 68
I'm pretty sure from what I've read they shut the RSX access down in later firmwares on the PS3 (2.10+). Anyway, if you're willing to stick linux on and have a play you'll soon know how well it can handle itself - I still reckon you want to try this before sinking too much time into getting sage working. Keep us posted with your testing - looking forward to it!!
Reply With Quote
  #39  
Old 03-15-2009, 05:08 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
Disaster Strikes but opportunity knocks

Well, this project is about to get under way due to some unfortunate circumstances.

I'd been dying to play Turok on the PS3 (who wouldn't love to kill some flesh-eating dinosaurs in High Definition?), so I rented it from Blockbuster over the weekend.

No more than 3 hours into the game, my PS3 locked up. Audio was still playing, but I could tell that it was just a very long loop, meanwhile the video was frozen. I let the thing sit there for a while (about a half an hour) before powering it down by holding the power switch.

Surprise, surprise, when I powered on my PS3 this morning, I was greeted with the error message "Cannot Start. Correct hard disk not found."

The PS3 is going back to the factory for service on an RMA and when I get it back, I'll make sure to format the hard disk for kboot and a Linux distribution.

Since I've lost everything, there's nothing holding me back now. Before, I was hesitant to re-format because I was close to ranking in the top-500 for the Rock Band 2 online leaderboard and didn't want to lose my progress (hopefully the scores are tied to my online PSNetwork account).
Reply With Quote
  #40  
Old 03-31-2009, 12:14 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
And AWAY we go!

Got my PS3 back from Sony (in Laredo, TX) yesterday. My worst fears were confirmed when I got Rock Band 2 re-installed, my band profile along with an accumulated 90M fans was... gone.

Good news is that the hard disk is now formatted with 10GB allocated for Linux. The project of getting Sage running on the PS3 is now under way.

In the amount of time that has gone by in my gearing up for this project, I've found evidence of others successfully being able to produce flawless 480/720/1080p video playback under mplayer. The key still seems to be to slim down the user-land environment as much as possible (for example, running a light-weight window manager such as tvtwm, xfce, or windowmaker). It's also worth noting that playback over SMB does not work well and we should stick to NFS (it will be fun to try to get NFS working on my Windows XP Sage Server by installing Microsoft SFU).
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 02:37 PM.


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