XBMC Community Forum
[LINUX] XBMC for Linux port to ARM architecture CPU and SoC chips? - Printable Version

+- XBMC Community Forum (http://forum.xbmc.org)
+-- Forum: Development (/forumdisplay.php?fid=32)
+--- Forum: Feature Suggestions (/forumdisplay.php?fid=9)
+--- Thread: [LINUX] XBMC for Linux port to ARM architecture CPU and SoC chips? (/showthread.php?tid=35139)



- EsOsO - 2008-08-17 20:05

Hi Soju, any updates on this project? It sounds good!!

What about this:
http://beagleboard.org/

Quote:Product Details

The USB-powered Beagle Board is a low-cost, fan-less single board computer that unleashes laptop-like performance and expandability without the bulk, expense, or noise of typical desktop machines.
OMAP3530 processor highlights:

* Over 1,200 Dhrystone MIPS using the superscalar ARM Cortex-A8 with highly accurate branch prediction and 256KB L2 cache running at up to 600MHz
* OpenGL© ES 2.0 capable 2D/3D graphics accelerator capable of rendering 10 million polygons per second
* HD video capable TMS320C64x+ DSP for versatile signal processing at up to 430MHz
* USB power via complete chip-set with minimal additional power-consuming logic

Expansion capability and power options to satisfy your imagination:

* DVI-D for connecting digital computer monitors
* Compatibility with a huge collection of USB peripherals including hubs, keyboards, mice, WiFi, Bluetooth, web cameras, and much more
* MMC+/SD/SDIO interface for memory or wireless connectivity
* S-Video out for connecting your NTSC or PAL television or wearable visor
* Stereo audio in and out for a microphone and headphones or speakers
* Power via typical USB chargers for cell phones from your laptop, from an automobile adapter, from batteries, or even from a solar backpack



- Soju - 2008-08-18 20:26

EsOsO,

Thats a nice board. I'm mulling this over (waiting to see how the Via Nano/Intel Atom make a splash and if the Nvidia Tegra platform is successful and is ported to Linux). I think I agree with Gamester17 in that, at least initially, choosing an appropriate HW platform and specializing for it is the way, and if one is picked it pretty much has to play decent hi-bit 1080P video. The competition like Popcorn Hours latest standalone MB is pretty intense. W/O extremely optimized drivers I'm not sure that todays Arm11 Platforms will be able to do it w/ Linux-XBMC. Do you think otherwise?


- EsOsO - 2008-08-18 21:09

Hi Soju, i agree with you about choosing the right HW platform and now it seems a bit premature cause HD decoding isn't already embedded in GPU.

My goal is to achieve a xbox-like platform with a reasonable boot-time, low power consumption and fanless design.

I'm not an hardware guy so i'm in your hand about capabilities of Arm architecture but i can keep an eye on what's happen in this world.

I'll be glad to help you in some way cause i feel that this "project" could bring xbmc to the next step!


- Gamester17 - 2008-08-19 14:42

if you (or anyone else) own a company that would like to go for a ARM processor for the commercial purpose of making a profit mass-producing XBMC based then you should maybe think about hiring a skilled C++ programmer that could code a DirectFB renderer for XBMC to use instead of OpenGL (just like how Team-XBMC developers made an OpenGL hardware graphic acceleration renderer to replace the Direct3D we have on the Xbox), my point is that you do not specificly need to use OpenGL but you will need some kind of hardware graphic acceleration that is fast enough to render XBMC's GUI, see:
http://forum.xbmc.org/showthread.php?tid=34562

Like for exampe the PNX8935 based STB225 reference board
http://www.nxp.com/applications/set_top_box/ip_stb/stb225/
or even just use Neuros OSD2.0 for development (thought it does not support 1080p)
http://wiki.neurostechnology.com/index.php/OSD2.0_HD_Platform

Wink


- CyruzDraxs - 2008-08-24 22:38

I am planning on converting XBMC to use OpenGL ES 2.0 to see if I can get it running on the Beagleboard with Angstrom. I may, at a later point try to convert it to DirectFB to make it more efficient, but I have no experience with DirectFB so it will likely be awhile.

Please don't expect any releases to come from this, as this is a 'when I have the time' project and I am currently rather lacking in free time.

For anyone who cares; the OMAP3530 in the Beagleboard could almost certainly be able to handle 1080p H.264 if optimized for DirectFB and DSP decoding. It'd be a tight squeeze though.


Patches are welcomed! - Gamester17 - 2008-08-25 15:58

@ CyruzDraxs, feel free to chat with our developers on IRC (#xbmc-linux on freenode) Big Grin
http://wiki.xbmc.org/?title=XBMC_for_Linux_port_project#Linux_Mentors_.28also_lead_developers.29

Please submit all and any code porting progress to us as diff patches, thanks in advance.

PS! D4rk is our resident expert on OpenGL rendering, elupus knows his way around too Wink


- Gruso - 2008-09-10 13:56

BUMP!

Hi. I signed up to post a similar thread, but found this one. I'm a long time XBMC fan and would love to see it ported to the ARM platform some day. My area of interest is also the TI OMAP3530 processor, and more specifically the upcoming Pandora handheld gaming console / mini Linux computer. http://www.openpandora.org

Some recent renderings:
http://www.openpandora.de/images/panda01.jpg
http://www.openpandora.de/images/panda05.jpg

Some specs:
Quote: * ARM® Cortex™-A8 600Mhz+ CPU running Linux
* 430-MHz TMS320C64x+™ DSP Core
* PowerVR SGX OpenGL 2.0 ES compliant 3D hardware
* 800x480 4.3" 16.7 million colours touchscreen LCD
* Wifi 802.11b/g, Bluetooth & High Speed USB 2.0 Host
* Dual SDHC card slots & SVideo TV output
* Dual Analogue and Digital gaming controls
* 43 button QWERTY and numeric keypad
* Around 10+ Hours battery life
Some blurb:
Quote:It is by far the most powerful handheld in the world both in terms of raw CPU power and 3D graphics capability, it will be able to handle things such as Firefox3 or Quake3 with ease.


For those who haven't heard of it, Pandora is essentially a community project born out of the GP32X forums. The community was built around the Gamepark GP32 and GP2X handhelds, and is home to many talented coders, retro gamers, and open source enthusiasts.

Pandora is an independent project (not a product of Gamepark), but remains closely tied to the GP32X community. Preorders open this month and the first batch of 3000 is expected to move pretty quickly. Another batch will follow, and as long as people keep buying them, I guess they'll keep making them.

In my view, products like Pandora and BeagleBoard are at the leading edge of a surge in OMAP powered mini/mobile computing. There is plenty of love for XBMC in the GP32X community, and the idea of mobile XBMC is very attractive. I'm also planning to go HD in my loungeroom with the use of a BeagleBoard based system - and it just wouldn't be the same without XBMC.

Just thought I'd put my thoughts out there. I'd be interested to hear if the idea of an ARM port has progressed at all. Smile


- Gamester17 - 2008-09-10 15:00

No one has stepped up to work on an ARM port yet, but annex is working on making a OpenGL ES compatible DirectFB renderer, see here => http://forum.xbmc.org/showthread.php?tid=36711

Maybe you (and others) should try to lobby the idea to the OpenPandora.org community developers Wink


- Gruso - 2008-09-10 15:50

There are some discussions happening over there already. One guy is talking about taking about an OpenGL ES / Direct FB port, so I'll link him up to that thread. Thanks. Smile


- Gamester17 - 2008-09-25 19:28

ARM emulators (virtual machine emulator) could possibly make porting easier for those developers who do not actually have any ARM hardware:
http://en.wikipedia.org/wiki/Comparison_of_virtual_machines

QEMU emulator looks most promising at a first glance as it is both free and open source:
http://en.wikipedia.org/wiki/QEMU
Quote:QEMU emulates the armv5tej instruction set and all the derivative processors families like ARM7, ARM9E, ARM10E and XScale. It emulates full systems like Integrator/CP board, Versatile baseboard, RealView Emulation baseboard, XScale-based PDAs, Palm Tungsten|E PDA, Nokia N800 and Nokia N810 internet tablets etc. Qemu also powers the Android emulator which is part of the Android SDK (most current Android implementations are ARM based).
http://qemu.org
Quote:QEMU is a generic and open source machine emulator and virtualizer.

When used as a machine emulator, QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your own PC). By using dynamic translation, it achieves very good performance.

When used as a virtualizer, QEMU achieves near native performances by executing the guest code directly on the host CPU. QEMU supports virtualization when executing under the Xen hypervisor or using the KVM kernel module in Linux. When using KVM, QEMU can virtualize x86, server and embedded PowerPC, and S390 guests.

QEMU open source software simulator for x86 that can emulate systems with processors of various architectures, including 386, x86_64, ARM, MIPS, PowerPC and Sparc. For ARM, two emulated platforms are available -- an older "Integrator" platform, and a newly-added "Versatile" platform.

The new Versatile platform includes a SCSI hard disk controller, Ethernet card, and graphical display. According to french Debian developer Aurelien Jarno (who published a HOW-TO about installing Debian or another Linux distributions on the open-source QEMU emulator), when run on an Athlon 64 3800+, running under QEMU can perform 20 percent faster than the ARM-based LinkSys NSLU2 (an inexpensive network-attached storage appliance that is commonly pressed into service as a full Debian ARM development target).

Jarno's HOW-TO begins by describing how to download and install QEMU from CVS, to ensure that the latest Versatile platform support is included. He then configures QEMU to emulate a 10GB hard drive, and downloads a publicly shared Versatile kernel that he created (Debian ARM does not yet include a kernel that supports the image, he says). Next he downloads Debian's "Etch" installer, and bootstraps the installer using a qemu-system-arm command.

Jarno's HOW-TO next describes several harmless error messages, leading ultimately to the emulated ARM system's first boot. Jarno's HOW-TO completes the basic installation by installing a more complete kernel.

Jarno's HOW-TO goes on to explore a few more advanced topics, such as running an Xorg server, increasing the amount of RAM to the maximum supported size of 256MB, and setting up a network bridge to allow the emulated system access to the Internet. The HOW-TO closes with a list of additional resources.

The full HOW-TO can be found here (link) was first published in 2006