steamcontroller icon indicating copy to clipboard operation
steamcontroller copied to clipboard

Android version

Open hmlendea opened this issue 9 years ago • 17 comments

Hello, is there any Android version of this project? I'd like to try it on Remix OS in particular (which is a desktop x86_64 port of Android)

hmlendea avatar Jul 09 '16 00:07 hmlendea

From README.md:

The initial target is GNU/Linux, but I'll welcome any contributor that want to port input generation for other OS (OSX, Windows, *BSD, Android/Linux, ...)

I think, it's a great idea to port it on android! I don't know python yet, but ready to help))

goto1134 avatar Aug 13 '16 23:08 goto1134

I'm fairly certain there are no stable ports of Python to ARM/ARM64, not sure if there are any for amd64 keeping in mind that it's really not widespread... So I'm not sure if this is even possible right now... Especially as all Implementations I know of have basically no support for anything UI related...

KiitoX avatar Aug 20 '16 00:08 KiitoX

Of Course does Python work on ARM. Think about Raspberry Pi and similar Boards. Also you will find a lot Python "Apps" in the Playstore.

That said this driver works nicely on Android if you are using a chroot and your Android kernel does support all necessary features (does not mess with /dev/usb or uinput). I am using it on a Nexus Player.

Drakulix avatar Aug 20 '16 09:08 Drakulix

Darn I didn't know the Pi was ARM but I guess it totally makes sense, I'm not too familiar with those boards...

Sorry about that then...

KiitoX avatar Aug 20 '16 17:08 KiitoX

As for working on ARM, I'm running this steamcontroller utility on a Pine64 board (A64) running Debian. I've even cobbled together a launcher that runs a bash script toggle it on and off.

joekm avatar Aug 24 '16 12:08 joekm

The main issue you will have to do an android port is that you will need a rooted device to inject events in the kernel.

ynsta avatar Sep 14 '16 20:09 ynsta

Well, having it availabile for rooted devices is surely better than nothing. I was asking this question mostly for Remix OS (which is Android for desktop, and it's easily rootable ofc) but my phone is rooted as well tho I don't really plan on playing games on that... tho it would be nice if I had a tablet.

hmlendea avatar Oct 14 '16 23:10 hmlendea

@Drakulix Can you specify your compile and install method on the nexus player? I have rooted Android devices running various OS (rooting the N910V retail was not trivial when I did it) - a steam controller, and some Linux and other programming/scripting experience.

zediiiii avatar Dec 11 '16 18:12 zediiiii

@zediiiii i just installed an arch linux arm chroot on my data partition, starting it with a little shell script in su.d (SuperSU). then i could just install it from the AUR.

Drakulix avatar Dec 11 '16 22:12 Drakulix

Ah, I wasn't aware of this possibility - thanks! Doesn't appear to be too tough... I would like to create a flashable zip that makes the building and installing a bit easier for repeat deployment. Perhaps someone has already done so; I'll post if I find one.

I'm assuming your battery life is pretty awful while running a separate Linux os, and that android power management (sleep) doesn't play nice with the Linux os. Since one can't charge a phone while plugging in an otg cable (required to plug in the dongle), this would be for short bursts of controller use, unless I'm missing something?

On Sun, Dec 11, 2016, 3:28 PM Victor Brekenfeld [email protected] wrote:

@zediiiii https://github.com/zediiiii i just installed an arch linux arm chroot on my data partition, starting it with a little shell script in su.d (SuperSU). then i could just install it from the AUR.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ynsta/steamcontroller/issues/38#issuecomment-266313167, or mute the thread https://github.com/notifications/unsubscribe-auth/AHs6hsKaC66SJJZRbxNyeJFUiYbdCvOuks5rHHklgaJpZM4JIfZ0 .

zediiiii avatar Dec 12 '16 06:12 zediiiii

Of course the Nexus Player is a stationary device, so I never worried about power consumption, but it should not be that bad.

You are not booting a whole OS with all its processes, you just launch one process (the steam controller daemon) in an isolated environment, so it is not consuming more then usual.

However you are loading a bunch of additional linux libraries into your RAM. I never had any issues with that, but I imagine a device with a very small RAM might run into problems here.

Drakulix avatar Dec 12 '16 10:12 Drakulix

So I've got it working on Android.

I followed Drakulix nice guide but some things are different after the years have past. I ended up using Linux Deploy to install arch, updated the system, installed dependencies, ran the install script, and the xbox script, and it works swell! If we could attach this to the nice UI here which will compile and run (not in python) for arm, then we'd have a really nifty thing going. Thing is, I while this script attached itself to a virtual keyboard, I'm not sure how the other script operates.

Power consumption to power the attached usb device (I plug in the wireless dongle via OTG cable) is a bit larger, but otherwise, there isn't a huge performance hit or power consumption hit.

zediiiii avatar Dec 18 '16 05:12 zediiiii

@zediiiii You seems to managed to work it out with a rooted android device. Do you mind to share more on details with some step guideline? Appreciate if anyone has any update to steam controller on android, I managed to cloud streaming pc games on Android but device fails to make the steam controller as a gamepad

marcoccy avatar Jul 10 '17 10:07 marcoccy

Though built it myself first, it was easier to use a linux pre-compiled installer app on Android and then follow the instructions on the build/install page to install this Steam Controller program. I then connected an OTG cable to the Dongle (yes, the wireless works) and could use the controller. I'm not going to outline that process - if you need me to outline it then you'll need me to outline a whole bunch of other things and it will be an excessively long guide . Everything you need is available via web searching.

Sumary: get an xbox controller if you want a gamepad on Android - I didn't have much success with customizing the Steam Controller on Android based Linux anyways (the ARM processor makes this more difficult).

On Mon, Jul 10, 2017 at 4:07 AM marcoccy [email protected] wrote:

@zediiiii https://github.com/zediiiii You seems to managed to work it out with a rooted android device. Do you mind to share more on details with some step guideline? Appreciate if anyone has any update to steam controller on android, I managed to cloud streaming pc games on Android but device fails to make the steam controller as a gamepad

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ynsta/steamcontroller/issues/38#issuecomment-314063192, or mute the thread https://github.com/notifications/unsubscribe-auth/AHs6htHkW3_10-jqTjl3xG0DzmMs4_htks5sMffXgaJpZM4JIfZ0 .

zediiiii avatar Jul 11 '17 17:07 zediiiii

@zediiiii So, to clarify: You downloaded a linux app from the Play Store, and installed this program on that? Or do I still need to follow the steps in your previous post? All I really need is Xinput emulation, does that work?

ottworks avatar Feb 11 '18 03:02 ottworks

I installed a fully working arch Linux distro on my cell phone and ran the program via ssh scripts or vnc and gui.

This was quite a while ago, so my memory isn't perfect, but I believe you are not getting xinput with this method. The program makes a new input device (like a keyboard) and use that for input. Since Linux supportes infinite, discrete input devices, this doesn't overlap. See release notes for details on how things are mapped. One could probably program this to emulate xinput with a hook...

I purposefully didn't list the steps for this because it requires a familiarity with Linux that average users don't have. It might be a 60-70 step guide if I make it for non-programmers with contingencies for possible issues. That's not to say it's hard; you could learn it (I did), but if you aren't capable of making the appropriate searches to get started, you probably shouldn't attempt this project.

On Sat, Feb 10, 2018, 8:56 PM Ott [email protected] wrote:

@zediiiii https://github.com/zediiiii So, to clarify: You downloaded a linux app from the Play Store, and installed this program on that? Or do I still need to follow the steps in your previous post? All I really need is Xinput emulation, does that work?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ynsta/steamcontroller/issues/38#issuecomment-364718432, or mute the thread https://github.com/notifications/unsubscribe-auth/AHs6hrLvxWBa2i4EsN_64mHky87P-peEks5tTmTRgaJpZM4JIfZ0 .

zediiiii avatar Feb 11 '18 21:02 zediiiii

So, is there a working android version now?

YourLeg avatar Dec 09 '19 00:12 YourLeg