In dit artikel reviewen we het Foxconn nt-a3500 systeem, welke is voorzien van een AMD Fusion processor. Met dank aan Cowbalt en Foxconn voor het beschikbaarstellen.
Concurrentie en competitie
Gebruikers die XBMC graag op zeer kleine en zuinige hardware willen draaien en mogen genieten van alle 1080p pracht waren tot voor kort eigenlijk alleen aangewezen op de Intel Atom en Nvidia ION combinatie. Uiteraard zijn er andere alternatieven te bedenken maar geen enkele andere combinatie dan de Nvidia ION werd door de community’s zo breed ondersteund. Het Nvidia ION platform is een combinatie van een losse Intel Atom processor en de grafische chipset van Nvidia. Deze combinatie zorgde ervoor dat fabrikanten een reeks aan kleine systemen en tal van verschillende combinaties naar de markt brachten. Het geheel wordt onder Linux aangedreven met de VDPAU technology van Nvidia. Deze technology zorgt ervoor dat de grafische chip, indien nodig, kan worden bijgeschakeld. Door deze technology is het mogelijk video’s tot 1080p vloeiend af te spelen en daarnaast ook nog andere dingen te doen. De VDPAU is ontwikkeld door Nvidia en is alleen in de Nvidia drivers te vinden.
AMD Fusion

AMD probeert sinds kort een antwoord te vinden op deze kleine en zeer zuinige systemen. AMD heeft hiervoor een nieuwe chip ontwikkeld genaamd “Fusion”. Het woord zegt het eigenlijk al. AMD heeft in 2008 chipfabrikant ATi overgenomen en werkt sindsdien aan een processor die zowel x86 instructies kan verwerken en tevens de verwerking van video voor zijn rekening kan nemen. Een samensmelting van zowel CPU als GPU dus. De Fusion processor is hier het eerste resultaat van. Verschillende codenamen gingen de ronde; Llano, Zacate, Brazos, Ontario. Begin dit jaar is er dan eindelijk de eerste echt zuinige chip. De E-350 chip is er een uit de zuinige reeks. Deze bevat een normale processor, een grafische chip uit de AMD Radeon HD 6300 series en mag niet meer dan 18watt verstoken. Deze combinatie van CPU en GPU werkt samen met de nieuwste DDR3 standaard.
Ook AMD werkt aan het versnellend vermogen en de mogelijkheid om de grafische chip bij te schakelen. AMD maakt hierbij gebruik van een andere standaard. De Video Acceleration API, VA-API, moet er onder Linux voor zorgen dat grafische chips het rekenwerk kunnen versnellen. Deze standaard is meer open dan de VDPAU technology van Nvidia. Intel maakt bijvoorbeeld ook van deze standaard gebruik voor het versnellen van de Core processors. Hoe de VA-API technology in de praktijk samen werkt met de AMD Fusion is verderop in het artikel te lezen.
Foxconn nt-a3500

We maken een sprongetje naar de Foxconn nt-a3500. Foxconn is een hardware producent die volledige systemen levert. De nt-a3500 is een systeem wat is uitgevoerd met een AMD E-350 chip. De nt-a3500 zoals hieronder te zien is voorzien van een 1.6Ghz processor. Het systeem maakt gebruik van DDR3 en verder zijn er in voldoende mate USB 3.0 poorten aanwezig. Het systeem bevat verder gigabit ethernet en 802.11n draadloos. Een kaartlezer en analoog geluid ook zijn ook beschikbaar. Optische of sp/dif geluidsuitgangen ontbreken helaas. Optisch en analoog geluid lopen via dezelfde poort. Als laatste worden door de fabrikant verschillende beugels en standaarden meegeleverd.

Wat nog ontbreekt is het geheugen en een harddisk. Deze moeten zelf geplaatst worden. Het openmaken ging wat lastig, maar eenmaal de bovenkant verwijderd ziet het systeem er als volgt uit. Cowbalt was zo vriendelijk om het systeem te voorzien van 4GB DDR3 geheugen. Het systeem is door ons verder uitgebreid met een 40GB SSD Intel schijf. Verder is aan de binnenkant een fan te zien. Deze is in de praktijk bijna niet te horen. In mijn testopstelling lag het systeem zelfs open en zelfs toen was het systeem niet te horen. Foxconn levert in dit geval dus goed werk af.

XBMC, Linux en het Fusion platform
XBMC is er in verschillende smaken. Van de Windows versie weten we momenteel dat deze erg goed draait op AMD Fusion systemen. Om die reden willen we hier dus geen aandacht aan besteden. Waar we vooral benieuwd naar zijn is hoe de XBMC versie van Linux op dit systeem draait. Dit brengt ons meteen bij een lastig punt. De laatste XBMC versie is versie 10 en pas vorig jaar uitgekomen. De AMD Fusion systemen waren toen nog niet op de markt, wat ons bij het probleem brengt dat er geen compatible XBMC Live versie is. Om die reden doe ik graag uit de doeken hoe we stap voor stap tot een werkend AMD Fusion systeem kunnen komen. We gaan hierbij niet een bestaande XBMC Live distributie ombouwen maar beginnen met een schone lei. Reden hiervoor is dat alleen de laatste versie van Ubuntu de juiste drivers heeft. Bestaande XBMC Live versies bouwen voort op een oude versie van Ubuntu met minder goede drivers.
XBMC installatie handleiding
De eerste stap is de Ubuntu Mini CD te downloaden. Kies hierbij voor de 11.04 natty versie. Via Unetbootin adviseer ik jullie om de mini.iso naar een USB disk over te zetten en het systeem te installeren. De installatie is redelijk recht to recht aan, dus hier gaan we niet te diep op in. Een hanige tip is om tijdens de laatste installatie stap de SSH server aan te vinken. Dit maakt het uitvoeren van de volgende stappen een stuk makkelijker. Kies verder tijdens de installatie voor de gebruikersnaam “xbmc”.
Wat na de installatie volgt zijn een reeks commando’s om het systeem te voorzien van de juiste software. Met de volgende commando’s kan je het systeem updaten en voorzien van de juiste software. We sluiten af door het systeem te rebooten:
sudo apt-get update
sudo apt-get install ssh python-software-properties udisks upower xorg alsa-utils mesa-utils git-core librtmp0 lirc
sudo adduser xbmc video
sudo adduser xbmc audio
sudo reboot
Na het rebooten installeren we de libva (Video Acceleration API (VA API)) software, die nodig is voor het hardwarematige versnellen. Ik heb ervoor gekozen om gebruik te maken van de catalysthacks repository. Indien er nieuwe updates worden uitgebracht liften we in de toekomst makkelijk mee:
sudo add-apt-repository ppa:dtl131/catalysthacks
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libva1 libva-x11-1
Na het installeren van de va-api installeren we de X-Video Bitstream Acceleration. Deze software is een extra laag om AMD hardware met VA-API te laten communiceren. Een precompiled package heb ik op mijn website gezet:
wget http://www.xbmcfreak.nl/wp-content/uploads/2011/08/xvba-video_0.8.0-1_i386.deb
sudo sudo dpkg -i xvba-video_0.8.0-1_i386.deb
Na de installatie is het nodig om het environment bestand aan te passen. Open de teksteditor met:
sudo nano /etc/environment
Neem de onderstaande regels over, gebruik control + x op het geheel op te slaan en het programma te sluiten.
LIBVA_DRIVER_NAME=xvba
LIBVA_DRIVERS_PATH=/usr/lib/va/drivers
De volgende stap is het installeren van de AMD drivers. Dit is normaal gesproken een hele hoop werk, maar om dit uit handen te nemen heb ik de precompiled packages van de laatste 11.8 drivers op mijn website gezet. Voer de volgende commando’s uit om de drivers te installeren:
sudo update-alternatives --remove-all i386-linux-gnu_gl_conf
sudo apt-get install --reinstall libgl1-mesa-dri libgl1-mesa-glx
wget http://www.xbmcfreak.nl/wp-content/uploads/2011/08/fglrx_8.881-0ubuntu1_i386.deb
wget http://www.xbmcfreak.nl/wp-content/uploads/2011/08/fglrx-amdcccle_8.881-0ubuntu1_i386.deb
wget http://www.xbmcfreak.nl/wp-content/uploads/2011/08/fglrx-dev_8.881-0ubuntu1_i386.deb
sudo dpkg -i fglrx*.deb
De basis is nu gelegd. De laatste stap is het configureren van het xorg.conf bestand.
sudo aticonfig --initial -f
sudo aticonfig --input=/etc/X11/xorg.conf --tls=1
Mijn voorbeeld versie met 1080p ondersteuning voor een AMD Fusion systeem heb ik op de onderstaande locatie gezet:
http://www.xbmcfreak.nl/wp-content/uploads/2011/08/xorg.conf
Een extra stap in mijn handleiding is het toekennen van de juiste rechten. Bij het opstarten van XBMC kreeg ik namelijk de volgende foutmelding: ERROR: GLX: Same window as before, refreshing context
In mijn geval wil ik de xbmc gebruiker ook gebruik kunnen laten maken van X11. Voer het volgende commando uit:
sudo dpkg-reconfigure x11-common
Kies zoals in het onderstaande voorbeeld voor de optie Anybody.

We zijn weer een stapje dichterbij de volledige afronding van de installatie en komen nu toe aan de installatie van XBMC. Probleem waar we hier tegenaan lopen is dat de stabiele versie van XBMC 10 (Dharma) niet is voorzien van VA-API ondersteuning. Handmatig compileren is een optie, echter is de implementatie van VA-API in XBMC Dharma niet erg stabiel. Er is een gemakkelijker alternatief is gebruik te maken van de PVR branch. De installatie is stukken makkelijker, aan de ondersteuning van VA-API wordt hard gewerkt en deze is standaard aanwezig. Nadeel is echter dat dit een ontwikkel versie is en er nog bugs in het systeem kunnen zitten. We installeren XBMC op de volgende manier:
sudo add-apt-repository ppa:lars-opdenkamp/xbmc-pvr
sudo apt-get update
sudo apt-get install xbmc
Omdat we geen gebruik maken van PulseAudio, maar kiezen voor Alsa dienen we een configuratie bestand aan te maken. Mocht je tegen de volgende foutmelding aanlopen dan zijn deze stappen noodzakelijk: ERROR: PulseAudio: Waited for the Context but it failed
In dit voorbeeld kies ik er voor om het geluid via de hdmi poort te laten lopen. Maak het asoundrc configuratie bestand op de volgende manier aan:
nano ~/.asoundrc
En kopieer de onderstaande regels naar het scherm en sla op met control + x:
pcm.!default {
type plug
slave {
pcm "hdmi"
}
}
Alles zit er op! We kunnen nu XBMC proberen te starten door de volgende regel uit te voeren:
xinit /usr/bin/xbmc --standalone --no-test
Als alles goed werkt zou XBMC geladen moeten zijn:

Een volgende stap is het afspelen van een video bestand. In de instellingen hoefde ik niets aan te passen om gebruik te maken van de VAAPI render methode. Om te controleren of alles goed gaat kan je een kijkje nemen in het xbmc.log bestand. De onderstaande regels zouden dan in beeld moeten komen.
/home/xbmc/.xbmc/temp/xbmc.log
NOTICE: Display resolution DESKTOP : 1920×1080 @ 50.00 – Full Screen (12)
NOTICE: Using GL_TEXTURE_2D
NOTICE: GL: Using VAAPI render method
NOTICE: GL: NPOT texture support detected
NOTICE: GL: Using GL_ARB_pixel_buffer_object
Het resultaat hieronder ziet er prachtig uit. Mijn voorbeeld bestand 127.Hours.2010.x264.BluRay.1080.AC3-DTS.NLSUBS-SiMPLY.mkv speelt het systeem zonder moeite af op 1080p. Als ik de DEBUG logging aanzet kom ik ook geen framedrops tegen.

De resultaten van een reeks video bestanden zijn wisselend. Een 5 frames encoded MKV bestand pakte de VA-API bijvoorbeeld niet, maar het overige MKV spul bijvoorbeeld weer wel. Bij sommige MKV en XViD bestanden heb ik het gevoel dat veel frames worden geskipt. De xbmc.log onderbouwt dit gevoel:
WARNING: CDVDMessageQueue(audio)::Get – asked for new data packet, with nothing available
WARNING: CRenderManager::FlipPage – timeout waiting for previous frame
WARNING: Previous line repeats 2 times.
DEBUG: CDVDPlayerAudio:: Discontinuity – was:5617029107.548480, should be:5616832022.350480, error:-197085.198000
De resultaten zijn dus wisselend, maar dit heeft ook deels te maken met de verschillende methodes die rippers gebruiken om hun films op het internet te zetten. Ook krijg ik het gevoel dat de PVR branch nog niet helemaal stabiel is. Door een verkeerde knop op het keyboard in te drukken werd ik zo nu en dan geconfronteerd met een volledige systeem crash van xbmc. Het systeem voelt wel erg snel aan! Het opstarten van dit systeem gaat echt als een rakket. Binnen 7 seconde is het systeem compleet opgestart naar XBMC. Dit is vanaf het moment dat de power on knop is ingedrukt. De potentie is er dus zeker! Mocht je met een Fusion systeem aan de slag willen gaan dan is dit topic zeker een aanrader: http://forum.xbmc.org/showthread.php?t=99154
OpenElec
Voor diegenen die het bovenstaande veel te ingewikkeld vinden is er een goed alternatief. De gebruikers van OpenElec bieden een complete XBMC live distributie aan, waarin het bovenstaande allemaal geconfigureerd is. Het systeem is zeer snel en licht. Geen overbodige poespas volgens de ontwikkelaars maar alleen dat gene wat nodig is voor XBMC, met een zeer klein systeem als gevolg. OpenElec is een distributie die zich echt richt op alleen de gebruikers. Meer informatie is te vinden op: http://www.openelec.tv. Laatste images kunnen worden gevonden op: http://sources.openelec.tv/tmp/image/.
De door Cowbalt meegeleverde USB disk was voorzien van een van de laatste versies van OpenElec. Het systeem start razend snel op en er is nog een ander voordeel; Door gebruik te maken van een OpenElec USB disk is een extra harddisk geen noodzaak. Gebruik dan wel een NAS systeem of externe schijf voor alle content. Voordeel van de OpenElec disk vond ik dat deze geen gebruik maakt van de PVR branch en is voorzien van extra fixes. Het random crashen van XBMC kwam bij mij niet meer voor. Bij het afspelen van content liep ik eigenlijk tegen dezelfde eerdere problemen aan. Er is dus nog een hoop werk aan de VA-API te verzetten voor XBMC echt lekker wil draaien. Laatste nadeel van OpenElec vond ik dat het systeem redelijk gesloten is. Lekker prutsen onder de commandline is er dus niet bij. Meer informatie over OpenElec en AMD Fusion systeem is te vinden op:
http://www.openelec.tv/news/item/199-progress-on-the-fusion-project
Roundup
Het AMD Fusion systeem is zeer snel. Als we de benchmarks mogen geloven is het systeem zelfs twee keer zo snel als een Nvidia ION systeem, dat met hetzelfde verbruik en een min of meer zelfde prijs. Probleem is echter dat de software (VA-API, XBMC) onder Linux nog onvoldoende stabiel zijn en het veel werk is om een custom install op te zetten. De AMD Fusion systemen zullen tot XBMC 11 (Eden) uitkomt dus voorlopig alleen zijn weggelegd voor ontwikkelaars en hobbyisten. Het werk van OpenElec dienen AMD Fusion gebruikers zeker in de gaten te houden.
Het systeem zal binnenkort weer netjes worden teruggeven aan Cowbalt. Het systeem zou ik graag voor langere tijd in bezit willen houden voor de bouw van mijn eigen livecd. Als ik voldoende fundings (180 euro) binnenkrijg zal ik dit werk verder oppakken en werken aan een XBMCFreak Livecd met ondersteuning voor het AMD Fusion platform. Mocht je dus nog iets kunnen missen. Alle donaties zijn van harte welkom!
Mijn ervaring blijft:
ATI + Linux = NO GO.
De driver support van ati voor linux is nog altijd ondermaats.
PietHein,
Je geeft aan dat er “Optische of sp/dif geluidsuitgangen” ontbreken, volgens mij klopt dat niet, de optische port is een gedeelde port naast de power outlet ( links ) het is alleen een contra plug die je nodig hebt ( zelfde als op het NT330i model )
Was alleen ter info, voor de rest een top review, mischien de moeite waard om naast de nt330i die ik heb eens te spelen met de Foxconn nt-a3500 te knutselen.
Mazzl.
Dave
Dan heb je deze nodig als je al een standaar optische kabel hebt, dan koppel je makkelij kdeze erop –> http://www.kabeltje.com/optische-adapter-toslink-35mm-p-51.html
Bedankt! Ik heb het artikel aangepast.
Leuk dat ati mogelijk gaat worden, maar er moet blijkbaar nog wat verbeteren? In het artikel lijkt het of je de wisselende resultaten neerlegt bij de rippers/codecs, maar die ligt natuurlijk gewoon bij de driver.
En jammer dat je de driver uit een ppa moet halen die ook nog eens hacks in de naam heeft. Klinkt niet heel prettig (al maakt de naam niets uit), maar er zou gewoon een driver op amd.com klaar moeten staan die het afspelen van video op linux mogelijk maakt.
Ben benieuwd of we over een jaar weer kunnen kiezen tussen ati en nvidia, maar ati komt wat mij betreft wat te laat en moet vertrouwen winnen voor het er weer is.
Is het niet zo, dat in de aankomende versie van Ubuntu de ondersteuning beter wordt?
Piethein! Goede review man. Leuk om te lezen dat er hard achter de schermen gewerkt wordt. Misschien tzt wanneer Intel sandy bridge atoms uitbrengt en ook daar va-api gebruikt wordt, eens vergelijken. Dan ga ik maar eens een passief gekoelde htpc bouwen.
Piethein, de review ziet er in kleur nog beter uit hoor
. Thanks voor de moeite!!!!
ik had natuurlijk zelf ook al zitten testen, en dezelfde probleempjes ondervonden.
Problemen lijken inderdaad in de xvba-driver te zitten. Laten we hopen dat hier binnenkort meer nieuws over is.
Ik volg al een tijdje je site en de artikelen spreken mij vaak wel aan. Vooral reviews zoals deze zijn leuk om te lezen. (Hoewel ik fusion op papier iets mooier vind heb ik vanwege de betere linux ondersteuning vorige week een shuttle xs25gtv2 gehaald)
Piethein,
Ik probeer de installatie te doen. Echter krijg ik bij de opdracht: ‘sudo adduser xbmc video’
de foutmelding ‘ adduser: The user `xbmc’ does not exist.’
Heb je een idee waar dat aan kan liggen?
Heb je tijdens de installatie wel de gebruikersnaam ‘xbmc’ ingevoerd?
Goed en leuk Artikel !
Was voor mij doorslaggevend om er ook mee te gaan spelen. Ik heb dit kastje vanmiddag binnen gekregen en daarnet even snel getest met Openelec. Ik heb er nog geen Harddisk ingezet (aangezien ik alle bestanden toch vanaf een NAS stream), maar een SD geheugenkaartje wat ik nog had liggen ingeprikt. Daarna Openelec vanaf een USB stick geinstalleerd, dat was echt binnen 1 minuut klaar, alles werkte gelijk. Booten zal wel niet zo snel gaan als met een SSD, maar dit is wel een stukje goedkoper… Nadat het bios scherm voorbij is boot hij toch nog binnen een seconde of 10 schat ik. Binnenkort even ‘echt’ spelen op mijn TV (dit was even een snelle test op een computer monitor).
Er zit zo te zien geen IR-ontvanger in de Foxconn, iemand een tip voor een IR ontvanger via USB ?
Aangezien dit doosje zo lekker stil is, kon het wel eens zijn dat ik voor mijn ASRock een andere bestemming ga zoeken en deze als XBMC machine ga gebruiken
Thanks for this great tutorial!
I’ve followed your steps and installed ubuntu with xmbc on my Asus M35M1-I DELUXE and the first results are good. Just played a full test movie, 15 framedrops in total.
I’ve done a couple of earlier installs and this seams the first one that’t working for me.
To get the Catalyst working I had to do an apt-get install -f before the driver install.
Thanks!
the link is not working anymore http://www.xbmcfreak.nl/wp-content/uploads/2011/08/xorg.conf
Hi, guys
great article, but … would somebody be so kind and add the english translation of this article to the english section of xbmcfreak?
It really interests me, as I am building HTPC based on Asus E35M1-M and experiencing heavy problems (judging by NeMRaH’s comment, I am not alone).
Many thanks beforehand.
Misschien dat ik toch maar eens zo’n Fusion bordje moet gaan halen…. (maar wacht eigenlijk tot de E-450 in mini-itx formaat beschikbaar is).
In the long run ben ik namelijk wel van mening dat AMD de beste optie gaat worden voor HTPC systeempje, ook met Linux. NVIDIA en Intel blijft behelpen qua 24p support (weet alleen niet hoe dit onder Linux is).
En vooral op het gebied van post-processing, dus de-interlacen en upscalen als je veel gebruik maakt van TV-bronnen, die bijna altijd interlaced zijn, schijnt AMD heer en meester te zijn….
@Eymert Versteegt Eerst maar eens fatsoenlijke drivers voor ATI/AMD voor niet-windhoos systemen zien.
Tsja als ik de review van PietHein zie en dat forum, dan begint het dus iig al wel ergens in de buurt te komen.