I finally got all the major subsystems working and Debian is now usable on Ouya. I prefer Debian but Ubuntu should work similarly.
In the above screenshot I’m playing 1080p H264 while running glmark2-es, an OpenGL ES benchmark. And the CPUFreq ondemand governor doesn’t even raise the CPU frequency from the minimum as everything is properly accelerated. I do have to admit that the 1080p video isn’t running smoothly with the benchmark running at the same time.
A disclaimer before telling more: Trying this out might void the warranty and flashing anything to Ouya may easily brick it forever. So don’t try it, unless you are willing to buy a new one.
That said, the idea is not to touch Ouya’s Android at all. Kernel is booted from RAM and Debian from an SD card or USB stick.
The instructions for debootstrapping your own Debian Wheezy rootfs are described in the github repository and the needed binaries are in a temporary location that will probably change at some point.
WiFi is working as well but I’m not sure if the firmware binaries are redistributable, so you need to copy them from the Android rootfs after booting to Debian.
One of my main goals for this whole exercise is video encoding and I’m happy to say that H264 encoding from an USB webcam works nicely with hardware acceleration as well.
I’ve also noticed some issues:
- Hciconfig doesn’t show BT devices, I didn’t debug much further.
- Mpg123 seems to play but nothing is heard. Maybe it tries to pass MP3 onwards instead of PCM? GStreamer provides acceleration for MP3 and AAC though.
- Video acceleration works only with GStreamer and nvxvimagesink. Mplayer can’t even use XV video output correctly.
- Tegra3 supports only OpenGL ES 2.0 with EGL, so no full OpenGL with GLX.
- Xrandr seems to be able to switch the resolution but after the switch there was window decoration corruption.
Despite the deficiencies I think Tegra3 is quite well supported in the X.Org world and many things work well with this 99$ device.
If you test my instructions, let me know how it goes and what you think about it! :)