[WIP] Portable OUYA console (Shield Mod)

johnsongrantr

Senior Member
Aug 10, 2007
759
40
0
Indianapolis
Concept- Import as much of the OUYA frameworks and applications as possible to make the experience as similar to a portable OUYA console as possible. This will ideally include direct access to the OUYA store for app download and in app purchase though official means of downloading OUYA software.

Endstate- A full custom rom because it's not as simple as installing an app (it's supposed to be, but it isn't) and to get full functionality a bit of system level changes are going to be needed (keymapping/framework). My goal with this is to make this a portable package to be installed via recovery so anyone that wants to add it to their own rom without developer support will be able to do so. If successful on shield, then other phones/tablets should be able to benefit from this as well with additional custom mappings for PS3/XBOX360/MOGA/OUYA controllers

--------------------------
-What fully works-
OUYA live wallpaper
OUYA Button mapping (custom mapped only, need to create 2nd functions so shield can keep it's current mapping function in tegra/android games and streaming)

-What partially works-
OUYA OOBE (initial console setup application, can connect wifi, but can't create a new account)
OUYA games start up and are playable when side loaded (need to fix ouya framework for complete compatibility, non-functional framework)
OUYA framework (use NDK 1.0.2 or prior)
OUYA launcher (use NDK 1.0.2 or prior)

-What doesn't work-

OUYA Store (can't access OUYA store or login with OUYA account)

-Haven't tried yet-
OUYA browser
OUYA onscreen keyboard
OUYA boot animation
HDMI/MIRCAST output
BLUETOOTH OUYA controller
others?

-----------------------------


Lessons Learned-

OUYA ODK offered official support for non-native hardware, but is now broken (has been broken since 1.0.2 OUYA acknowledges but hasn't fixed) discussion
http://forums.ouya.tv/discussion/1782/odk-1-0-6-included-ouya-launcher-apk-crash-nexus-7

Latest ODK & setup
https://devs.ouya.tv/developers/odk
https://devs.ouya.tv/developers/docs/setup

Last known ODK to work with non-OUYA hardware
https://devs-ouya-tv-prod.s3.amazonaws.com/odk/odk-1.0.2.zip

OUYA button mapping is slightly different than shield ABXY (uses BUTTON_O BUTTON_U BUTTON_Y BUTTON_A) see below under "constants"
https://devs.ouya.tv/developers/docs/controllers

OUYA launcher is a home launcher activity, will give option to replace default launcher like any other home launcher replacement when home button is pressed.

OUYA framework will permanently break the nvidia/power button bringing up the shield game/store/stream interface. Must be launched as app from that point forward.

OUYA framework will permanently break the shield's android browser (chrome is fine)

Alternate OUYA webstore android app confirmed working (if we can't get officially sanctioned one to work)
http://forum.xda-developers.com/showthread.php?t=2385950

OUYA stock based rom I have been working off of/importing from
http://forum.xda-developers.com/showthread.php?t=2347214

OUYA launcher is expecting 1080p output for launcher and cuts off about 20% off the bottom of screen
 
Last edited:

SixSixSevenSeven

Senior Member
Dec 26, 2012
1,617
317
0
Sounds interesting. If it works, well, ends the old OUYA vs Shield threads argument once and for all (although thankfully that thread seems to be long dead). Only thing the OUYA would win on would be cost.

How would you handle the extra touchpad on the ouya controller? just use the screen? not sure if that would work without some heavier mods, the ouya touchpad is exposed as a bluetooth mouse, hell, it apparently works on windows sometimes.
 

johnsongrantr

Senior Member
Aug 10, 2007
759
40
0
Indianapolis
Sounds interesting. If it works, well, ends the old OUYA vs Shield threads argument once and for all (although thankfully that thread seems to be long dead). Only thing the OUYA would win on would be cost.

How would you handle the extra touchpad on the ouya controller? just use the screen? not sure if that would work without some heavier mods, the ouya touchpad is exposed as a bluetooth mouse, hell, it apparently works on windows sometimes.
haven't gotten that far yet, but I imagine the apps that use the the mouse also respond to touchscreen events as that's what it's simulating, might need to turn analog mouse on/off, but who knows. Cross that bridge when we get to it.
 

poo-tang

Senior Member
Nov 21, 2011
1,288
1,374
0
www.xperiagamer.com
Hi,

I have been working on this too but seams the OP is further along then i am. I have got games launching and have found an earlier ODK version with working launcher (Screenshots attached below running on my Tegra 3 Sony Xperia Tablet S and my Xperia Z)

Here are the v1.5 apks if will help - http://www22.zippyshare.com/v/58968936/file.html

I can launch, select menus and boot into / play ouya games but i have still not found away to sign in and download games straight from the store or even sign in to enable games like Final Fantasy to run.

Any help or updates on the progress made by the thread OP will be helpful.

Thanks :)
 

johnsongrantr

Senior Member
Aug 10, 2007
759
40
0
Indianapolis
Excellent, you found a piece I've been looking for, (zero response from the ouya dev community, my very specific request for any legacy mirror remains unanswered)

I will have a go at it this weekend.

I'm under the assumption your sign in data is generated and stored after successfully going through the OOBE app and creating/singing in a ouya account, that data gets handed to the launcher/store. This is of course is/was an untestable assumption until we had a working framework.
 
Last edited:

poo-tang

Senior Member
Nov 21, 2011
1,288
1,374
0
www.xperiagamer.com
Found links to AWS hosting for previous ODK versions such as 0.0.6 and 1.0.2, unfortunately my super lurk status prevents me from posting here. I'll PM the links.
Nice find thanks a lot :)

With the 1.2 version I can actually begin to register/Sign in with an Ouya account without force close. Only issue now is that Ouya servers won't respond to logins. Time to look for a way round this and fool the Ouya servers into thinking we are running this on a Ouya console.



You can add the Ouya account to the main list in your device settings too. This has issues with auto login as apparently "Sign in issue - could not get registry token for console"



Sent from my C6603 using Tapatalk 2
 
Last edited:

cp_kirkley

Senior Member
Oct 29, 2007
269
13
0
Cypress, TX, USA
Hi,

I have been working on this too but seams the OP is further along then i am. I have got games launching and have found an earlier ODK version with working launcher (Screenshots attached below running on my Tegra 3 Sony Xperia Tablet S and my Xperia Z)

Here are the v1.5 apks if will help - http://www22.zippyshare.com/v/58968936/file.html

I can launch, select menus and boot into / play ouya games but i have still not found away to sign in and download games straight from the store or even sign in to enable games like Final Fantasy to run.

Any help or updates on the progress made by the thread OP will be helpful.

Thanks :)
When you say you've been able to launch/play games, what games were you able to play? I tried the demo to Chronoblade and was able
load to the start screen (regardless of the launcher) but no buttons are detected after that. Buttons worked fine in Ouya launcher, though.

 
Last edited:

poo-tang

Senior Member
Nov 21, 2011
1,288
1,374
0
www.xperiagamer.com
When you say you've been able to launch/play games, what games were you able to play? I tried the demo to Chronoblade and was able
load to the start screen (regardless of the launcher) but no buttons are detected after that. Buttons worked fine in Ouya launcher, though.

Well the only Ouya exclusive game that worked/have tried with my HID (Xbox) controller was Super Crate Box so far. The other games that worked are games which also have copys on Google Play (these have both HID and Ouya programmed).

I myself have not found away yet to change the native button mappings to the Ouya coded Button_O/Button_U/Button_Y/Button_A as simple remapping apps like gamekeyboard don't seam to support these key codes.

I would like to see how the OP managed to remap these? as far as I can tell the native Google virtual keyboard code does not contain these key codes to be remapped too.

Sent from my C6603 using Tapatalk 2
 
Last edited:
  • Like
Reactions: cp_kirkley

SixSixSevenSeven

Senior Member
Dec 26, 2012
1,617
317
0
Well the only Ouya exclusive game that worked/have tried with my HID (Xbox) controller was Super Crate Box so far. The other games that worked are games which also have copys on Google Play (these have both HID and Ouya programmed).

I myself have not found away yet to change the native button mappings to the Ouya coded Button_O/Button_U/Button_Y/Button_A as simple remapping apps like gamekeyboard don't seam to support these key codes.

I would like to see how the OP managed to remap these? as far as I can tell the native Google virtual keyboard code does not contain these key codes to be remapped too.

Sent from my C6603 using Tapatalk 2
OUYA controller is apparently just a regular bluetooth HID under the hood. Windows even recognises it. The touch region in the middle is a bluetooth mouse,
 
  • Like
Reactions: cp_kirkley
L

LegionTHEFecalExcretion

Guest
When you say you've been able to launch/play games, what games were you able to play? I tried the demo to Chronoblade and was able
load to the start screen (regardless of the launcher) but no buttons are detected after that. Buttons worked fine in Ouya launcher, though.

Chronoblade is somewhat unique compared to other OUYA games as it's the only one i've found that flat out REQUIRES an OUYA controller to control it. I messed around with it a bit when it first launched a few months ago and the problem is deeper than remapping the hard keys. Pretty much any other OUYA game will work with a (properly mapped)controller for the most part.

What might be a better solution for this would be to design a custom made launcher(not a mod of the OUYA one) that incorporates the download schema these guys use - OUYAlytics.com , and an Xposed style mod of the OUYA framework.
 
Last edited:

johnsongrantr

Senior Member
Aug 10, 2007
759
40
0
Indianapolis
Well the only Ouya exclusive game that worked/have tried with my HID (Xbox) controller was Super Crate Box so far. The other games that worked are games which also have copys on Google Play (these have both HID and Ouya programmed).

I myself have not found away yet to change the native button mappings to the Ouya coded Button_O/Button_U/Button_Y/Button_A as simple remapping apps like gamekeyboard don't seam to support these key codes.

I would like to see how the OP managed to remap these? as far as I can tell the native Google virtual keyboard code does not contain these key codes to be remapped too.

Sent from my C6603 using Tapatalk 2
you can manually change the keycode name, it requires root access. I haven't messed with it beyond my own proof of concept. I wanted to make secondary functions for the shield's keycodes as if released in it's current state would break the controller working with most shield software.


here's relevent information if you want to make the changes yourself before I solve the secondary function problem. It may need redoing some kcm files which aren't as easily modified.
http://source.android.com/devices/tech/input/key-layout-files.html
 
Last edited:

agrabren

Inactive Recognized Developer
Mar 28, 2011
1,451
9,516
0
Weld County, CO
you can manually change the keycode name, it requires root access. I haven't messed with it beyond my own proof of concept. I wanted to make secondary functions for the shield's keycodes as if released in it's current state would break the controller working with most shield software.


here's relevent information if you want to make the changes yourself before I solve the secondary function problem. It may need redoing some kcm files which aren't as easily modified.
http://source.android.com/devices/tech/input/key-layout-files.html
It's also possible that the game is looking directly at the scan codes, which would require a hack in the input service to remap, but is definitely doable. Not sure how one would make it "toggleable", though.
 

Kwongger

Senior Member
Apr 29, 2013
440
456
0
Denver, CO
I am willing to help as much as I can with this. I think if this can eventually progress into a "Dual-Boot" type thing I would DEFINITELY incorporate it into my Toolkit! Let me know when you need someone to test or need some feedback :D
 
L

LegionTHEFecalExcretion

Guest
If anyone needs me to test anything or wants logcats I have a rooted OUYA on hand and can make an OUYA account for testing if need be.
 
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone