2007-05-09, 21:37
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_%28...ecurity%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/
http://www.libsdl.org/opengl/index.php
http://www.libsdl.org/cgi/docwiki.cgi/Us...lue=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
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_%28...ecurity%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: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(?)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.
yuvalt Wrote: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).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.
yuvalt Wrote: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)?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.
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/Us...lue=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