Een tijdje terug heb ik via de V&A van Tweakers een OUYA voor een leuk bedrag op de kop getikt. Leuk dingetje, kan er prima een paar Android games op spelen en daar kan ik prima wat avonduurtjes mee vullen. Maar dit is geen review van de OUYA, daar zijn er al genoeg van op het internet. Deze blogpost gaat meer over mijn speelavontuurtjes met de OUYA.
Mijn eerste punt om de OUYA meer te laten doen dan alleen wat games is het installeren van Kodi. De laatste versie van Kodi (wat vroeger XMBC heette) die in de store van OUYA staat is 12.2 en de laatste versie van Kodi die zonder alternatieve ROMs te installeren is, is Kodi v14.
Maar met Kodi v14 neem ik geen genoeg! Ik wil bleeding-edge want ja je bent een Tweaker of niet toch? ;) Dus wil ik Kodi v16 (Jarvis) draaien maar voor dat we Kodi v16 kunnen installeren moeten we de OUYA wel even wat 'liefde' geven zodat we op zijn minst Android 4.2 draaien. Omdat Kodi v16 op zijn minst Android KitKat vereist. Maar met de laatste update vanuit Ouya draaien we 'slechts' Android 4.1.2 (JellyBean).
Dus om te updaten naar 4.4 zullen we zelf even aan de slag moeten. Gelukkig bestaat er een kant en klare CyanogenMod image voor de OUYA. Uiteraard bestaat hiervoor de gebruikelijke waarschuwing. Ik ben niet aansprakelijk voor het bricken van je OUYA, het ontploffen van je huis of je kat / vriend / vriendin / SO die er spontaan vandoor gaat omdat je niks anders meer doet dan films en series kijken via je OUYA!
Voor dat we gaan beginnen heb je de volgende dingen nodig:
Als vervanger voor de USB toetsenbord, muis en hub heb ik een Logitech K400 gebruikt. Makkelijk toetsenbordje inclusief touchpad zodat ik geen USB muis en hub nodig heb.
Voor dat we kunnen beginnen met het installeren van CM11, moeten we de nodige Android-tools op onze computer installeren. Daarvoor moeten we Android Studio installeren zodat we onder Windows / Linux / OS X de nodige software en drivers (in het geval van Windows en OS X) krijgen. Laten we allereerst beginnen met Android Studio. De installatie bestanden hiervoor kan je op de Android Studio website vinden. Mocht je Arch Linux draaien, dan kan je Android Studio zelfs direct uit de AUR downloaden. Voor de overige Linux distro's zal je het moeten doen met de binary die Google levert.
Zodra we Android Studio geïnstalleerd hebben, kunnen we Android Studio opstarten en dan komen we in het volgende scherm terecht.
Daar kiezen we vervolgens voor de optie “Configure” en dan voor de optie Android SDK Manager
Zodra we daarvoor hebben gekozen, kunnen we alle nodige packages kiezen en installeren. We hebben de volgende packages nodig Android 4.1.2 (API 16): SDK Platform, Android Support Library en als je Windows of OS X draait de Google USB Driver.
De Linux gebruikers zijn nu klaar. De Windows en OS X gebruikers zullen nog wat extra's moeten doen. De Windows gebruikers zal onder Windows 8 (en hoger) zullen driver signature verification moeten uitzetten en één wijziging moeten doorvoeren in de "android_winusb.inf" file. Meer info voor Windows. OS X gebruikers hoeven alleen maar het installatiepad van de Android Studio toe te voegen aan hun $PATH. Voor meer informatie voor OSX.
Nu hoeven we alleen nog maar één ding in te stellen op de OUYA en dat is, ADB aanzetten. Dat doen we door naar Manage -> System -> Development. Daar kunnen we vervolgens ADB aan / uit (on / off) zetten. Daarna kunnen we de OUYA via de micro USB kabel aansluiten aan onze compter.
Zodra we dat gedaan hebben kunnen de output van "adb devices" in een terminal (of adb.exe devices in een commandprompt voor Windows gebruikers) gebruiken om te kijken of de OUYA goed gedeceteert wordt. Als het allemaal goed gegaan is krijgen we ongeveer de volgende output;
Als dat allemaal goed is gegaan, kunnen we gaan beginnen met het installeren van CWM. Dit lijkt allemaal vrij indrukwekkend en moeilijk maar valt allemaal reuze mee :) Voor dat we beginnen hebben we de volgende bestanden nodig en moeten we even de USB toetsenbord, muis en hub aansluiten (in mijn geval een K400). Ik heb dit bestand voor het gemak in "/home/sander/tmp/ouya/" uitgepakt.
Let op! Bluetooth toetsenborden en muizen zullen niet werken in de bootloader.
Als eerst moeten we de nodige bestanden via adb "pushen" naar de "sdcard" van de OUYA. SDcard is bewust in aanhalingstekens gezet, omdat de OUYA geen echte sdcard of sdcard slot heeft, maar een partitie is op het flash geheugen van de OUYA. Dit doen we met het volgende commando:
OS X en Linux gebruikers:
adb push /home/sander/tmp/ouya/recovery-clockwork-6.0.4.8-ouya.zip /sdcard/recovery-clockwork-6.0.4.8-ouya.zip
Windows gebruikers:
adb.exe push C:\Users\username\Desktop\recovery-clockwork-6.0.4.8-ouya.zip /sdcard/recovery-clockwork-6.0.4.8-ouya.zip
Zodra dat klaar is, krijgen we het volgende te zien :
Dan gaan we via ADB zorgen dat de OUYA zich reboot naar de bootloader met;
OS X en Linux gebruikers:
adb reboot bootloader
Windows gebruikers:
adb.exe reboot bootloader
Nu moeten we ongeveer 30 seconden wachten voor dat we weer wat kunnen doen. Je krijgt namelijk geen enkele visuele feedback op het scherm dat er wat gebeurt is.
Daarna kunnen met fastboot zorgen dat de OUYA opnieuw wordt opgestart in recovery en dat er een specifieke bootimage wordt gebruikt bij het opstarten. Dit doen we met:
OS X en Linux gebruikers:
fastboot boot /home/sander/tmp/ouya/recovery-clockwork-6.0.4.8-ouya.img
Windows gebruikers:
fastboot.exe boot c:\Users\username\Desktop\recovery-clockwork-6.0.4.8-ouya.img
De Linux (en OS X) gebruikers onder ons kunnen de volgende melding krijgen :
titan% fastboot boot /home/sander/tmp/ouya/recovery-clockwork-6.0.4.8-ouya.img < waiting for device >
Je zal dan fastboot moeten draaien via sudo om dat probleem te verhelpen.
Als alles goed is gegaan (wat meestal niet langer duurt dan 10 á 15 seconden), krijg je een CWM Recovery scherm voor je neus! Mocht je niet het CWM recovery scherm krijgen, herstart dan de OUYA en probeer het opnieuw vanaf "adb reboot bootloader"
Nu kunnen we de naar de "sdcard" gepushte zipfile gaan installeren. Met het toetsenbord selecteren we "Install zip" -> "Choose zip from /sdcard", daar kunnen we vervolgens "recovery-clockwork-6.0.4.8-ouya.zip" selecteren. Zodra we deze geselecteerd hebben, krijgen we een verificatie melding van CWM met de vraag of we zeker weten of we die zipfile willen installeren.
Als dit allemaal gedaan is, kunnen we terug naar het hoofdmenu via en kunnen we de OUYA opnieuw gaan opstarten via "reboot system now". Het kan zijn dat CWM vraagt om "ROM may flash stock recovery on boot. FIX?" kies dan voor "Yes".
Mocht je een backup willen maken van je huidige Android installatie is dit je kans! Dit kunnen we heel simpel via ADB doen met het volgende commando.
OS X en Linux gebruikers:
titan% adb backup -f ouya-09-03-2016.ab -all
Windows gebruikers:
adb.exe backup -f ouya-09-03-2016.ab -all
Zodra we dit hebben gedaan zal de OUYA vragen om verificatie van deze stap en vragen om een niet verplicht encryptie wachtwoord.
Als daar eenmaal een akkoord op is gegeven, zal er een backup gemaakt worden naar de computer waarop de Ouya is aangesloten.
Mocht je niet weten wat een bootmenu is, een bootmenu is een eigenlijk niks meer dan een stukje software die het in ons geval mogelijk maakt om vanuit het opstarten, door te starten naar de recovery modus, bootloader of failsafe modus. Aangezien de OUYA buiten de powerbutton geen andere hardwarematige knoppen heeft, is dat best handig. Mocht er om wat voor reden dan ook het OS niet bootbaar blijkt te zijn, dan kunnen we via het bootmenu toch in de recovery modus komen en zo proberen het OS te herstellen.
Uit eindelijk komt het bootmenu er zo uit te zien:
Voor dat er begonnen kan worden met vervangen het bootmenu en het installeren van CM11 inclusief alle Gapps (Google Apps), zullen we eerst de eerst van de bestanden moeten downloaden.
Zodra we deze bestanden binnen gesleept hebben, kunnen we beginnen met het pushen van alle bestanden naar de "sdcard" van de OUYA met adb.
OS X en Linux gebruikers:
titan% adb push /home/sander/tmp/ouya/cm-11-20151221-UNOFFICIAL-ouya.zip /sdcard/cm-11-20151221-UNOFFICIAL-ouya.zip 1305 KB/s (203281107 bytes in 152.094s) titan% adb push /home/sander/tmp/ouya/gapps-kk-20140105.zip /sdcard/gapps-kk-20140105.zip 1302 KB/s (87179530 bytes in 65.358s) titan% adb push /home/sander/tmp/ouya/ouyabootmenu-mlq-v2.0.4.zip /sdcard/ouyabootmenu-mlq-v2.0.4.zip 1298 KB/s (7856281 bytes in 5.907s) titan% adb push /home/sander/tmp/ouya/ouya-keylayouts.zip /sdcard/ouya-keylayouts.zip 1252 KB/s (181446 bytes in 0.141s)
Windows gebruikers:
adb.exe push c:\Users\username\Desktop\cm-11-20151221-UNOFFICIAL-ouya.zip /sdcard/cm-11-20151221-UNOFFICIAL-ouya.zip 1305 KB/s (203281107 bytes in 152.094s) adb.exe push c:\Users\username\Desktop\gapps-kk-20140105.zip /sdcard/gapps-kk-20140105.zip 1302 KB/s (87179530 bytes in 65.358s) adb.exe push c:\Users\username\Desktop\ouyabootmenu-mlq-v2.0.4.zip /sdcard/ouyabootmenu-mlq-v2.0.4.zip 1298 KB/s (7856281 bytes in 5.907s) adb.exe push c:\Users\username\Desktop\ouya-keylayouts.zip /sdcard/ouya-keylayouts.zip 1252 KB/s (181446 bytes in 0.141s)
Nu alle bestanden overgezet zijn, kunnen via "adb reboot recovery" de OUYA laten rebooten in recovery mode, zodat we weer terecht komen bij het CWM recovery scherm. Dan gaan we nu eerst het bootmenu vervangen. Dit doen we net zoals de vorige keer via "install zip" -> "choose zip from /sdcard" en dan kiezen we voor "ouyabootmenu-mlq-v2.0.4.zip". Als alles dan goed is gegaan krijgen we de volgende medeling van CWM:
Nu kunnen we verder met stap 4. Reboot de OUYA overigens nog niet!
Dan komt nu het belangrijkste gedeelte het installeren van CyanogenMod 11, de nodige Gapps (Google Apps zoals de Playstore) en de controller mappings zodat we de OUYA controller (maar ook een PS3 of een Wii controller) kunnen gaan gebruiken. Laten we als eerst maar eens gaan beginnen met CM11. Dit is dezelfde procedure als de vorige keer, alleen dit keer kiezen we voor cm-11-20151221-UNOFFICIAL-ouya.zip bij "install zip" -> "choose zip from /sdcard".
Zodra dit klaar is, doen we het zelfde maar dan voor gapps-kk-20140105.zip en ouya-keylayouts.zip
Het enige wat ons nu nog rest te doen, is het leegmaken van de cache partitie, leegmaken van de Dalvik Cache en het leegmaken van de data partitie. Het leegmaken van de data partitie en de cache partitie kunnen we heel simpel doen vanuit het hoofd menu van CWM.
Voor het leegmaken van de Dalvik cache, moeten we het "advanced" menu openen en daar kunnen we vervolgens kiezen voor de optie "wipe dalvik cache".
Zodra dat eenmaal gedaan is, links onderaan het scherm de melding te zien "Dalvik Cache wiped"
Het spannendste moment van alles, komt nu. Is alles goed gegaan? Nu gaan we terug naar het hoofdscherm CWM en gaan we de OUYA eens rebooten! Als alles goed is gegaan krijg je uiteindelijk de "first-run" wizard van CM11 te zien en kan je aan de slag met het configureren van je Android installatie.
Zodra je eenmaal de first-run van CyanogenMod hebt doorlopen, rest ons alleen nog maar 2 zaken om te doen. Als eerst gaan we OUYA controller via Bluetooth koppelen met de OUYA. Dat doen we in het tabje "Bluetooth" van het instellingen.
Vervolgens moeten we een paar seconden de "U" knop (die zit tussen de D-Pad en de rechter analog stick) ingedrukt houden, tot dat de buitenste 2 van de 4 witte leds op de controller branden. Daarna kan je hem selecteren, zodat die gekoppeld wordt.
Nu kunnen we Kodi gaan installeren, daar hebben we 2 opties voor. We gebruiken de Google Play Store, waarmee we op dit moment Kodia v16.0 op de OUYA geïnstalleerd krijgen of we installeren Kodi v16.1 RC 1 via een APK file die op de website van Kodi zelf staast. Zelf heb ik gekozen voor de versie uit de Google Playu Store maar mocht je Kodi v16.1 RC 1 willen draaien op je OUYA, dan kan je hier de APK file downloaden.
Er rest nu nog maar 1 ding! Biertje pakken, wat snacks en genieten van je harde arbeid!
Mocht je tegen een aantal problemen lopen. Kan je 1 van de onderstaande oplossingen proberen, om te kijken of deze jou probleem oplost. Alle commando's moet je uitvoeren in de "terminal emulator" app. Let op, je moet wel rebooten voor dat deze wijzigingen van kracht worden.
su setprop persist.tegra.hdmi.resolution 720p
su setprop persist.sys.hdmi.overscan 1 setprop persist.sys.hdmi.overscan.val [0.0 - 0.2]
su netcfg eth0 up netcfg eth0 dhcp
In de planning staat nog op zijn de volgende 2 review items: Een review van een TP-Link SG105E, een reparatie video (jaja een echte, inclusief mijn gezicht en alles!) en nog een review van een mysterie pakketje uit China...