Difference between revisions of "Ouya (ouya-ouya)"

From postmarketOS
Jump to: navigation, search
(Update development notes for wifi firmware)
(Add notes about eMMC and display resolution on mainline kernel)
Line 53: Line 53:
 
===Kernel===
 
===Kernel===
 
* Currently we avoid flashing directly to the device as  [https://www.reddit.com/r/ouya/comments/5i02u4/ouya_dead_apx_mode/dcvlyts/ a corrupted kernel would irreversibly brick the Ouya due to the locked bootloader.] We use a tool called [https://forum.xda-developers.com/showthread.php?t=2692836 Ouya BootMenu] [https://github.com/milaq/ouya_bootmenu (source)] that allows us to run the postmarketOS kernel through a kexec method. This implements an extra failsafe to prevent bricking and in theory allows dualbooting and kernel development.
 
* Currently we avoid flashing directly to the device as  [https://www.reddit.com/r/ouya/comments/5i02u4/ouya_dead_apx_mode/dcvlyts/ a corrupted kernel would irreversibly brick the Ouya due to the locked bootloader.] We use a tool called [https://forum.xda-developers.com/showthread.php?t=2692836 Ouya BootMenu] [https://github.com/milaq/ouya_bootmenu (source)] that allows us to run the postmarketOS kernel through a kexec method. This implements an extra failsafe to prevent bricking and in theory allows dualbooting and kernel development.
 +
 +
===eMMC===
 +
The eMMC storgate on mainline cannot run at 1.8V DDR mode even though it does on the downstream kernel. Attempting to run at this mode leads to data corruption. The device tree is configured to run the eMMC storage at 3.3V High Speed mode.
 +
 +
Despite this, the eMMC storage benchmarks the same on mainline as on the downstream kernel.
 +
<source lang="shell">
 +
$ hdparm -t /dev/mmcblk1
 +
 +
/dev/mmcblk1:
 +
Timing buffered disk reads:  127 MB in 3.02 seconds = 43021 kB/s
 +
</source>
 +
 +
===Display Resolution===
 +
On the mainline kernel, display resolutions above 1280x720 are glitchy. The GPU is dependent on memory bandwidth. EMC scaling is not implemented in mainline. The Ouya bootloader sets the memory to 400 Mhz. Display resolutions work a bit better when the memory is set to 800Mhz but it is still glitchy.
  
 
===Other===
 
===Other===

Revision as of 19:52, 11 March 2019

Ouya, Inc. Ouya
Ouya
Ouya
Manufacturer Ouya, Inc.
Name Ouya
Codename ouya_1_1
Released 2013
Category testing
Original software Android
Hardware
Chipset Nvidia Tegra 3
CPU Quad-core 1.7 GHz Cortex-A9
GPU Nvidia GeForce ULP
520 MHz (12.48 GFLOPS)
Display 1x HDMI
Storage 8/16 GB
Memory 1 GB
Architecture armv7
Features
USB Networking
Works
Flashing
Partial
Touchscreen
Unavailable
Display
Unavailable
WiFi
Works
Xwayland
Works
FDE
Partial
Mainline
Partial
Battery
Unavailable
3D Acceleration
Accelerometer
Unavailable
Audio
Bluetooth
Works
Camera
Unavailable
GPS
Unavailable
Mobile data
Unavailable
SMS
Unavailable
Calls
Unavailable
USB OTG



Contributors

  • rendeko
  • ryang2678 (Decatf)
  • ollieparanoid

Maintainer(s)

  • rendeko

Development Notes

Radio

  • The Ouya uses a BCM4330 radio chip for wifi and bluetooth. The downstream and mainline kernel use the same wifi firmware. The firmware shipped with the device is the only known firmware to work with the Ouya. The BCM4330 firmware in linux-firmware does not work.
  • Two later releases (the completely white special edition and completely black 2nd generation) allegedly use a BCM4334 chipset. This needs to be implemented and tested at a future date.

Kernel

eMMC

The eMMC storgate on mainline cannot run at 1.8V DDR mode even though it does on the downstream kernel. Attempting to run at this mode leads to data corruption. The device tree is configured to run the eMMC storage at 3.3V High Speed mode.

Despite this, the eMMC storage benchmarks the same on mainline as on the downstream kernel.

$ hdparm -t /dev/mmcblk1

/dev/mmcblk1:
Timing buffered disk reads:  127 MB in 3.02 seconds = 43021 kB/s

Display Resolution

On the mainline kernel, display resolutions above 1280x720 are glitchy. The GPU is dependent on memory bandwidth. EMC scaling is not implemented in mainline. The Ouya bootloader sets the memory to 400 Mhz. Display resolutions work a bit better when the memory is set to 800Mhz but it is still glitchy.

Other

  • Splash screen doesn't appear
  • Hildon doesn't work?
  • USB booting needs to be tested

Installation

How to enter flash mode

1. Connect Ouya to PC

2. Use adb reboot recovery to enter recovery (or adb reboot bootloader to enter bootloader for fastboot commands)

pmbootstrap

TODO Work in progress, may be wrong. Only attempt for development

1. Flash CWM and Ouya BootMenu.

2. Turn on Ouya, then press the power button many times until it scrolls to Bootloader, and then wait until the boot menu disappears.

3. Run the following using pmbootstrap:

# pmbootstrap init
# pmbootstrap install --no-fde
# pmbootstrap export
# pmbootstrap pmbootstrap flasher flash_rootfs
WARNING: This will create two partitions under system partition instead of one which won't allow you to use Normal Boot option in Ouya BootMenu

4. Reboot Ouya, then press the power button many times until it scrolls to Recovery, and then wait until CWM appears.

6. Using CWM menu options, mount /data partition.

7. Copy postmarketOS boot.img to /sdcard as altboot.img:

# adb push /tmp/postmarketOS-export/boot.img-ouya-ouya /sdcard/altboot.img

8. Reboot Ouya, then press the power button many times until it scrolls to Alternate Boot, and then wait until postmarketOS appears.

Links