Kodi Community Forum
XBMC Linux port questions and answers... - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: General Support (https://forum.kodi.tv/forumdisplay.php?fid=111)
+---- Forum: Linux (https://forum.kodi.tv/forumdisplay.php?fid=52)
+---- Thread: XBMC Linux port questions and answers... (/showthread.php?tid=26097)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26


sandbox? - Gamester17 - 2007-05-09

Very cool! I apologize for all the newbie questions, just very exited about the future potential this inititive could bring, so got a few more:

How about creating a sandbox (isolated runtime enviroment) which XBMC can play in alone so it does not mess with other applications running on the same system. The good thing about that is that it will proactivly solve many future compatibitiy issues, on the other hand it would limited the possibility of XBMC interacting with other software application and hardware devices (unless a function is specificly opened/created for that purpose, which as example it should be for the My Program section by default to allow it to launch other executables/programs). This would create like a virtual system and that combined with SDL will make the envioment very close to the Xbox platform and thus make development easier as the sandbox looks and is limited the same way on all systems with the same parameters.
http://en.wikipedia.org/wiki/Sandbox_%28computer_security%29

Kind of like an game-console emulator, the hardware underneath does not matter for debugging as all 'ROMS' uses the same libraries. Maybe even checkout the unfinished Xbox emulator for ideas, (now I'm not suggestion to copy that stright off, I mearly refering to the concept of running everything within a virtual machine)
http://www.caustik.com/cxbx/

An alternative to a sandbox could be to limited the hardware platform that end-user will be allowed to use, like the Xbox 360, PS3, AppleTV, and/or one chipset like VIA Embedded serie of EPIA motherboards
http://www.via.com.tw/en/products/mainboards/
http://www.via.com.tw/en/products/embedded/

yuvalt Wrote:
Gamester17 Wrote:Question-4: How do/will you now handle multiple output modules/renderers (auto-detect or static on build)? By the way, please keep API open for future Video Acceleration possibilities (for GPU assisted video decoding).
4. As I said video rendering is not done yet. We will need to look into Xv which is the X11 extension for video output, which is accelerated to some extent for NVidia and ATI.
I hadly know anything about Linux (I always been a Microsoft Windows user) so I probebely not comment on this, however I will but I hope you will excuse my ignorance (I am probebely completly wrong here): Maybe it is my missunderstanding based on the screenshot you posted in a other thread showing XBMC GUI running under X Window System (Linux graphical interface, commonly X11 or X); if you are aiming for fast initial startup from a cold power-on boot then isn't X bloat when you will normaly only be running the XBMC GUI in full screen as the sole application running on the computer? I mean you will you have to run X to run XBMC on Linux?, should it not be able to load/run directly the command line? According to wikipedia.org Xv (X video extension) is outdated today and has not been updated updated since December 1994(?)

yuvalt Wrote:
Gamester17 Wrote:Question-7: How well does the DLL loader in XBMC handle loading players such as paplayer, mplayer and the dvdplayer under Linux? Does the players (or the DLL loader) have to be modified or can they be loaded 'as is' under Linux? Maybe a common Win32 registry emulator is needed as well?
Still not implemented.
Emulation of the Xbox DirectX functions may also be interesting for the .vis (visualizations) and .scr (screensavers ) DLLs to be able to run them 'as in' under Windows, (not sure if this DirectX to OpenGL wrapper could be of any help there; http://sourceforge.net/projects/dxglwrap/). Alternativly rewrite each of those induvidual visualizations/screensavers DDLs so that they also support OpenGL (and can detect which type of platform they are running on).


yuvalt Wrote:
Gamester17 Wrote:Question-8: Have you already implemened IR (infrared) remote support under Linux?, if not may I recommend Lirc and Wlirc (maybe add as a library/module to libSDL?). If possible maybe even replace the Xbox IR library (from the XDK) with a ported version of lirc/wlirc to stay consistant across platforms.
That is my plan as well. From looking into lirc, all I can say is that is quite complicated.
Would it be best to implement it through the SDL library, (building it into a plugin module/extention), so that lirc/wlirc talks only to SDL and then translate/parse it to XBMC (so that XBMC do not have to talk directly to lirc/wlirc)?

yuvalt Wrote:So far the GUI seems a bit slow since it's really build to be run with 3D acceleration. We will either need to disable some features or support OpenGL or both.
I believe OpenGL can accelerate both 2D and 3D.
http://www.libsdl.org/opengl/index.php
http://www.libsdl.org/cgi/docwiki.cgi/Using_20OpenGL_20With_20SDL?action=highlight&value=opengl
However according to wikipedia.org, also Xv feature hardware scaling and YUV acceleration (2D hardware acceleration), Xv also XVideo feature hardware overlays, and XvMC support motion compensation and iDTC for video decoding.
http://en.wikipedia.org/wiki/X_video_extension
http://en.wikipedia.org/wiki/XvMC

Big Grin


SDL for XBMC_PC as well? - Gamester17 - 2007-05-09

Slightly of topic; would it be a good idea to implement SDL in XBMC_PC (XBMC for Win32) in the same way for consistancy?


- spiff - 2007-05-10

opengl can only do 3d. opengl es can do 2d as well.

however that's not a big issue at all - after all we use direct3d already on the xbox.

yes xv is nice, however xv will be the equivalent of using the hardware overlay renderer on the xbox now - no transparencies.


- stickman - 2007-05-11

I've built and tested what's ready so far and I'm astonished you managed to get this thing working.

Even though it doesn't do anything so far, it looks promising. I neve though I'd see the xbmc interface working in a computer.

I'll be building it everyday to check for improvements. I think it's really worth it Smile


- dogk1cker - 2007-05-11

This is AWESOME, even if I am the last one to say it. I give my toast and will further drink to these guys. If they ran for president, I'd vote for them!

Ok, since my sucking up is done I can offer some humble requests/opinions. First, I really like my xbox and the major reason is that it is an appliance. I push a button and it turns on and the OS doesn't get infected or needs patching every other day. Technically, it's a static hardware state and all the insides are all the same from one to another xbox. Now we are all looking for the XBMC 2 platform.

I am a lover of linux but I dread the fact that I'd have to build another machine and find all the required hardware including the HDMI card(which is a must). Seems to me, to further continue the appliance idea with all the necessary components in one nice package, it should be another gaming platform or the iTV.

Whatever you guys choose, it should have HDMI because that's what I am missing from the current xbox running XBMC. But, looking at the options the iTV is the cheapest of the appliance solutions. The only draw back is that you can't play hacked games on it. For me, I bought my 6 Xboxs' so I could put XBMC on it, not to play games.

Love me or flame me.. I am stickin to it!

Dogk1cker
------------------
-Dooood you take my bone?!


- jmarshall - 2007-05-11

Quote:I neve though I'd see the xbmc interface working in a computer.

It's been on win32 for ages :p

But yeah, great progress has been made by yuvalt + vulkanr.

Cheers,
Jonathan


- yuvalt - 2007-05-11

dogk1cker Wrote:I am a lover of linux but I dread the fact that I'd have to build another machine and find all the required hardware including the HDMI card(which is a must). Seems to me, to further continue the appliance idea with all the necessary components in one nice package, it should be another gaming platform or the iTV.
That's exactly what I had in mind. I thought we build a computer built on top of something like the Fatality F-i90HD which has everything on boad and develop some kind of live CD or USB memory that one can just boot from without any installation.

-Yuval


- Geeba - 2007-05-11

Hmm... I dunno... think I'm dreadding the thought of this in some ways? Less xbox development.... swapping my xbox that is pretty much silent and works fantastically well for possably a bulky PC back in the lounge with untold hardware variations or if it goes to Sony which I hate possably more than M$.. for the way they have their own expensive version of everything.. (how can they still be selling a 8 year old console for £100!!!) Guess the Atv would be good... but no disk player and I cant see Mr Jobs going down without a fight with the hackers... Eek

Still things change I guess.


- Gamester17 - 2007-05-11

spiff Wrote:xv will be the equivalent of using the hardware overlay renderer on the xbox now - no transparencies.
Bummer!, what other options/libraries are there available that also support transparencies?


yuvalt Wrote:I thought we build a computer built on top of something like the Fatality F-i90HD
Though I agree that limiting the 'new' hardware platform for the Linux port is probebely the best way to go, as if everyone use the same 'static' hardware platform it will help developers debug problem and optimize the code. However I'm not sure I agree that a normal x86 motherboard such as the (Fatality F-i90HD) is the way to go in the long run; sure such motherboard probebely give you a lot processing power and bang for you buck, however the lifecycle of normal motherboard models are not that very long. Instead if you want to go for longetivity then we should look into VIA Embedded serie of EPIA motherboards, they are a little more expensive but it is a very tightly controlled platform which will benifit the developers, (and the VIA EPIA/EDEN community is has and offer a great wast array of tools, source code (including drivers), help and support. ...other modern tightly controlled platforms are Xbox 360, PS3 and AppleTV but those are not as open or as supported by the manufacturer as VIA's embedded platform.


Geeba Wrote:I'm dreadding the thought of this in some ways? Less xbox development.... swapping my xbox that is pretty much silent and works fantastically well for possably a bulky PC back in the lounge with untold hardware variations or if it goes to Sony which I hate possably more than M$.. for the way they have their own expensive version of everything.. (how can they still be selling a 8 year old console for £100!!!) Guess the Atv would be good... but no disk player and I cant see Mr Jobs going down without a fight with the hackers.
We are not talking about a fork to separate the Linux port from the Xbox code version, we are talking about making a cross-platform XBMC which mean that the same core code will build/compile for both Xbox and Linux (and Win32). So in the future when for an example a developer adds a feature/function to the GUI then that same feature/function is 'automaticly' implemented for all operating-systems/platforms that XBMC can be compiled for. To futher understand this concept you can take a look at VLC (VideoLAN) which is a good example of a cross-platform media-player.

As for bulky and untold hardware variations please see my comments/suggetions above about limiting support to the VIA Embedded platform, and also my previous suggestion about creating a sandbox bubble for the XBMC application to run alone in.


- spiff - 2007-05-11

if we want transparencies we'll do the same as we do on the xbox now - we'll use a pixel shader to do the csc (i.e. the equivalent of the current rgb renderers).


Limiting support to one 'static' hardware platform - Gamester17 - 2007-05-11

I'm told the that next Mac mini from Apple that they said will come out in October this year will be built on Intel Santa Rosa chipset (with integrated DirectX 10 graphics) and feature a HDMI/HDCP output port (that supports 1080p). If so then that Mac mini would also make a nice 'static' hardware platform for XBMC if it will run Linux nativly, as that version will feature built-in; Intel x86 Core 2 Duo CPU, DVD-ROM/±RW drive, 2,5" harddrive, 1GB network-port, 802.11n wireless-network, Bluetooth 2.0+EDR, optical digital audio out/in, and even a remote control. All that in a 5.08cm (high) x 16.51cm (wide) x 16.51cm (deep) case. Sure that will come at a high price, probebely even higher than a complete computer based on a VIA EPIA motherboard with the same specifications (with the exception of the processor which is slower on EPIA). Apple Mac computers also have a long lifecycle (meaning the manufacture and sell the same model for many years), and even though I would prefer it in black I have to admit it is a beautiful design, timeless. ...so maybe by the time that new Mac mini comes out this fall it might also be time to lock-down support of the XBMC Linux port to one platform (that is, if it has matured enough to merit full support to all end-users). Anyways, dreaming is nice.


- pike - 2007-05-11

I just did a little investigating on the EPIA stuff
Seems like CL266 (or something similar sounding) is the currently latest chipset for these boards. They are not workhorses, I'd go out on a limb and say they don't have much better performance than a Xbox1


- Gamester17 - 2007-05-11

pike Wrote:I just did a little investigating on the EPIA stuff: Seems like CL266 (or something similar sounding) is the currently latest chipset for these boards. They are not workhorses, I'd go out on a limb and say they don't have much better performance than a Xbox1
CL266 is an older/outdated model, but you are correct that they are not workhorses in the sence of generic x86 CPU processing power, however the newer models such as the EPIA EX motherboard models based on the CX700M2 chipset like the EX15000G which features a VIA C7 x86 1.5Ghz GPU (and up to 1GB RAM) sure got more resource power to call than the old Xbox. The integrated graphic can assist in decoding MPEG-2, MPEG-4 ASP, VC-1 (WMV9) at 1080p. But I read though that VIA is comming out with new embedded chipsets and EPIA motherboard models this fall which will also be able to decode MPEG-4 AVC (H.264) at 1080p and feature HDMI/HDCP output ports. VIA also provide something they call "VIA Media SDK" for Linux and Windows with libraries/code to allow easy access to such functions as GPU accelerated video decoding, etc.

More EPIA information:
http://www.via.com.tw/en/downloads/brochures/mainboards/07_catalogue_q2.pdf
http://www.viaarena.com
http://www.epiacenter.com
http://www.logicsupply.com

Anyhow, I guess it is really moot for us to decide on a definite platform already when a mature version of the XBMC Linux port is probebely many months away(?), and new hardware technology and products continue to be announced almost every week, but it is always fun to speculate and dream.


- ashlar - 2007-05-11

dogk1cker Wrote:Whatever you guys choose, it should have HDMI because that's what I am missing from the current xbox running XBMC.
DVI gives the same exact result, down to offering HDCP support if you would need it for whatever reason. Unless you have an HDMI receiver, in which case it could transport sound as well but, for me, that's really not a big deal.


- Gamester17 - 2007-05-11

@ashlar, FYI; not all DVI ports (chips) support HDCP (in fact most do not), but you can connect a HDMI=>DVI adapter on any HDMI ports converting it into a DVI port, so in that respect HDMI is prefered over DVI if you can not have both, (plus the fact that HDMI features digital video and audio in the same cable).

Wikipedia is you friend:
http://en.wikipedia.org/wiki/DVI
http://en.wikipedia.org/wiki/High-Definition_Multimedia_Interface