XBMC Linux port questions and answers... - Printable Version
+- XBMC Community Forum (http://forum.xbmc.org)
+-- Forum: Help and Support (/forumdisplay.php?fid=33)
+--- Forum: XBMC General Help and Support (/forumdisplay.php?fid=111)
+---- Forum: Linux and Live support (/forumdisplay.php?fid=52)
+---- Thread: XBMC Linux port questions and answers... (/showthread.php?tid=26097)
Apple TV: GPU assisted hardware accelereated video decoding is the key... - Gamester17 - 2007-05-13 22:28
pike Wrote:does linux for AppleTV have 3d accelerated drivers ?The nice thing about Apple TV is that unlike the old Xbox (which uses customized chipset and GPU) Apple simply took a standard Mobile Intel Centrino 915PM Express chipset (featuring Intel ICH7 7.1 High Definition Audio) and a standard NVIDIA GeForce Go 7300 GPU (graphic processor chip), making the Apple TV basically just a laptop computer with a proprietary operating-system and without a built-in keyboard/trackpad and display that normally is attached to laptop computer. So we can just use the normal proprietary binary device drivers that NVIDIA provides for Linux, (or we can choose to use the open source drivers if we clike, but I doubt those are as good as the closed source one NVIDIA provides, at least not yet, though I'm not sure what the license sais about distributing the proprietary binary device drivers from NVIDIA on Live CD).
The NVIDIA GeForce Go 7300 GPU also supports NVIDIA's PureVideo™ technology for H.264, WMV, and MPEG-2 Hardware Acceleration, NIVIDIA does unfortunatly not yet provide a Linux library or SDK for accessing that PureVideo API, (nor have I heard of NIVIDIA releasing any specifications or technical documentation for it, so as far as I know no one in the open source community have tried reverse engineering to gain access to it for adding support to it via XvMC), however motion compensation (mo comp) and iDCT (Inverse Discrete Cosine Transform) is probably still supported via XvMC, at least for MPEG-2 (I don't know the current development state of XvMC and MPEG-4. XvMC is open source after all, maybe can look at The Unichrome Project and The openChrome Project provide code patched which adds MPEG-4 hardware acceleration to FFmepg and MPlayer via XvMC). Alternativly maybe our developers or FFmpeg/MPlayer developers can write pixel-shaders for Shader Model 3.0 using the Cg (C for graphics) programming language which NVIDIA do provide a lot of developer tools and documentation for, (maybe by using the Lib Sh or other existing open source GPGPU library/code as a base). The GPGPU and the GPU programming community is pretty big, I'm sure a solution can be found somewhere. I think the different codec decoding processes that could possible be accelerated that way in are; Motion Compensation (mo comp), Inverse Transform (iDCT), inverse quantization (IQ), in-loop deblocking, bitstream processing (CAVLC/CABAC), Variable-Length Decoding (VLD), and de-interlacing. Who knows now, offload all those together on the GPU (plus all CPU optimizations available) then we might even someday be able to pull off native 1080p H.264 video, which is probably the most demanding video codec we got today. By then maybe NVIDIA will decide to open up the PureVideo API, that would be irony for you, hehe
Even though Apple as currently limited Apple TV to 1080i as the maximum output resolution, the hardware does support 1080p as the maximum output resolution. It is possible to speculate that Apple will do like Microsoft did with the Xbox 360 and release a firmware update that will enable 1080p output on all Apple TV boxes. I don't even know if Linux on Apple TV is limited, it depends if the restriction is hardcoded in the firmware/BIOS or if it is just a limitation set in the Apple TV operating-system.
_max_ Wrote:You CANT lock down xbmc to a specific motherboard, motherboards arn't sold for more than 6-12 months (6 if noone buys them, even less, 12 if they are _really_ popular..) What happens after 12 months? support the next montherboard with an entire different sb/nb chipset? its stupid trying to get xbmc on a computer, the only thnig it would work on for longer than 12 months is a console.@_max_, you quoted my whole post but it does not sound like you actually read more than the first section, if you would have read the whole thing then you would know that that also suggest Apple TV has that primary locked-down computer hardware platform, and yes Apple TV is a computer and yes it has a motherboard inside of it and yes Apple will sell it for years to come, (they might come with an updated model in a couple of year but then we just have to support that new model of Apple TV as well and the old one). I also suggested VIA EPIA embedded motherboard which also have a very long life-cycle because they are designed to be used in applienses, so VIA manufactures each model for 5-years+ (and by then it is probably time for XBMC to support a new hardware platform anyhow). Besides, you will be able to run XBMC on any Linux dist on any hardware you like and add any drivers you like yourself, as long as you do not ask for support in these forums or our official IRC-channel if and when you run into problems with it on.
mace Wrote:The A TV is a nice box and i would love to see it as a XBMC box but as I reed the specs, it does require a TV with DVI/HDMI input. Isn't that a little tough demand on the low-end alternative?If you TV that only supports SCART or S-Video then why not just stick with the old Xbox for XBMC?, your not going to get high-definition via SCART or S-Video anyway. Anyhow, the Apple TV box does features component video (RGB) ports as well, and many television sets, especially in Europe and Japan, utilize RGB via the SCART connector. If your TV supports RGB via SCART then all you need is a RGB to SCART adapter, one of those doesn't cost much and are not hard to find. There are also RGB to S-Video, and RGB to Composit, and RGB to VGA media converter available to buy.
- _max_ - 2007-05-13 23:34
pike Wrote:@ _max_: your quoting skillz leave alot to be desired. don't repeat this mistake or I will have to take measures. thanks for the apology though
Im sorry, he spread the info that was relevant over the entire post.
@developers, please look at the tool/library I just found here! - Gamester17 - 2007-05-13 23:54
Quote:HLSL2GLSL is a command line tool that translates DirectX 9 High Level Shader Language (HLSL) shaders into the OpenGL Shading Language (GLSL)If it does the same for DirectX 8 shaders then could this tool be used to help you port the pixel shader renderers for XBMC video players (MPlayer and DVDPlayer) to OpenGL?
Quote:HLSL2GLSL can be used as a stand-alone command-line tool to directly translate shader source from HLSL to GLSL. In addition, a library version of the tool is provided (along with full source-code) that can be used by a developer in their application. The library is designed to work with input HLSL shaders up to Shader Model 3.0. The tool generates either GLSL v1.10.59 desktop OpenGL shaders or shaders that can be used with the OpenGL ES Shading Language v1.00. Also available as binaries for Mac OS X and Win32.By the way, does SDL support OpenGL ES (2D OpenGL)?
- Ph03n1x - 2007-05-14 00:07
Amazing progress so far, however I have to agree with nate12o6 - I think it's a little too early to be discussing h/w specs right now. We should wait until the devs have a fairly quick and stable build and base a spec around that.
Hopefully the h/w backend will be left open so people can add support for their own setup. The XBMC team could then define a recommended/minimum spec and create/support builds based on that architecture.
- mace - 2007-05-14 18:51
As I see it there are three major reasons for going the A-TV way instead of going Xbox even with an old telly.
1. Xboxes are staring to become rare. A used one is about $250-300 here. A new modded Xbox costs as much as a A-TV does and then you will have to get a remote to the Xbox.
2. The A-TV will allow for fanless operations
3. the A-TV could possibly allow for HDTV in the future
So i started to look into the output issue, Component vill send Y Pb Pr and a RGB scart tv can't handle that since it expects RGB. There seems to be some Tellys wich have compoent over scart inputs but the seems to be rare.
However I found this thread on the Apple forum http://discussions.apple.com/thread.jspa?threadID=906299
it points to this converter as a solution http://www.keene.co.uk/electronics/multi.php?mycode=RGB2C
I also found http://www.svideo.com/appletv2tv.html
for them who doesn't have a RGB scart so
another god page that lists some converters are http://www.woggledog.com/mac/index.asp?subject=yuv
Therefore I now think this is a no issue. It can be handled by a converter and since the A-tv is around $300-$400 (Depending on country) it will even fit the $500 budget with a converter
Enough of-topic from me:
And now to a more important question: -What can i do to help?
I'm not a C programmer, I can make a hello world but thats about it. However I can test and i can help with docs if there is need. I do got hardware for Linux boxes
- ultrabrutal - 2007-05-14 19:41
1. Where do you live? There are sold so many Xboxes you will be able to buy them for the next 20 years kind of like you still can buy Commodore 64's. A used Xbox here (Denmark) is like $60-$70
2. Xbox needs a fan but you can swap stock with low noise or have it auto ajust so it's pretty much always at 2% speed
3. Xbox does HD pretty good at 720p via component
if you are gone use scart then stay on Xbox. A new playform will bring you nothing interresting really
Why a new platform will be needed:
a. 1080i/p playback. x264 content
b. possible playback of hd-dvd and blu-ray down the line, just like we have DVD playback now
c. HDMI/DVI output (lets go for 1.3/1.3a)
d. smaller and fanless
e. less power drained
f. possible to turnon without walking (yes can be done with modded xbox)
g. possible to buy a decent wireless controller again (the logitech xbox controllers are gone)
h. and so on
A downside will be the price as the Xbox will never be beaten in that department plus it's pretty easy to code for being an almost static platform (few hw revs)
- finas - 2007-05-14 21:43
Gamester17 Wrote:Even though Apple as currently limited Apple TV to 1080i as the maximum output resolution, the hardware does support 1080p as the maximum output resolution.
1080i actually has 20% more information than 1080p
- pike - 2007-05-14 23:06
and let's not forget, we need something to run this linux version on!
But I am abit sceptical about those apple-tv converters. I will probably remain sceptical until I get an idea of the output quality
- deeceefar2 - 2007-05-15 00:56
I'm going to agree with the Apple TV idea. Another reason to go with the apple tv that may not have been discussed yet, developer budget friendly. It is cheap @ only $300 so it is conceivable that with a small donation drive you could outfit current XBMC developers with apple TVs and jump start the development effort a bit. The platform is static just like the Xbox, though I could see Apple trying to pull some of the hardware revision crap Microsoft did to stop the modding community, but that never really worked for them anyway did it. With a future mac mini in the pipeline, it is highly likely that it will use a similar nVidia graphics chip as the apple TV making a perfect platform to expand on to in the future. Apple TV has a high retail availability meaning it could be snapped up by testers all over the world quickly, and the modding community for this device is already booming. Although the apple TV lacks a built in cd/dvd/hd-dvd/blu-ray drive it seems relatively easy to add that or any number of other peripherals via the USB port, including my dream, a DVB-S2 USB adapter. I really can't think of a much better device to port it to. The apple TV is sold a complete unit meaning it wouldn't take more then about 30 minutes to get up and running with the apple TV and XBMC. This is the perfect platform to seize some more of the media center market share; it would provide a great way to pull XBMC into the main stream.
The downside I see for the Apple TV is that processor is not fast enough to do full software decoding of high resolution video codecs. Without an nVidia linux driver that supports purevideo and the lack of a fast processor, you could end up with a device that is only marginally faster for high def video then the original xbox. Perhaps with an OS X driver already out for pure video perhaps it would be better to start with a port to OS X until their is linux purevideo support. I'm just not sure if there is enough documentation to port it to the apple TV under OS X The upshot to linux development however is that should you end up hitting a brick wall iwith the driver you could always just shift platforms and up the CPU requirements without having to change much if any code at all.
I think if anything the apple TV at least makes an attractive development platform. Besides if the processor from the apple tv turned out to be too slow you could easily push the project onto the mac mini without missing a step. A couple months down the line when the XBMC port starts becoming usable make a release, you could open up donations and get people to help provide developers with a solid test bed for getting everything running smoothly. Keep up the great work.
- seaweed - 2007-05-15 01:12
This seems like a great project, i hope you will find a way for the xbmc port to add support for usb hd-dvd/blueray external players.