FORUMS
Remove All Ads from XDA

Game streaming to other Android devices or PCs with Moonlight and GeForce Experience

468 posts
Thanks Meter: 405
 
By cgutman, Senior Member on 31st October 2013, 02:35 PM
Post Reply Email Thread
11th November 2013, 11:01 AM |#21  
Senior Member
Thanks Meter: 30
 
More
EDIT: Ran 1st test with shield itself, Used it to play rage,borderlands as noted by the dev there is a delay with Tegra device, the d-pad on the shield did not work,
other buttons worked fine,otherwise streaming is really good. Excellent work! will run a few more tests, and test with z ultra with moga pro .. looking forward to a donate version!


EDIT2: z ultra has lot of blocks black and green etc randomly showing up, streaming is fine and smooth despite that, Moga pro HID mode right stick and dpad dont work only works in native shield streamer so far, ps3 controller worked except the button mapping is a little off, hope you can find they way xinput is emulated would be great


In the shield native streamer all or most HID controllers work fine in emulating the 360 controller, however outside that with splashop and droidmote thats not the case.

Have you implemented xinput controller support in this similar to shields? if so would any HID controller do or are you using a wired 360 controller attached to your android device?

Would be awesome if you have found a way to emulate xinput with HID controllers. Droidmote does this but it currently doesnt work with HID d-pads.

---------- Post added at 12:01 PM ---------- Previous post was at 11:29 AM ----------

Quote:
Originally Posted by sofakng

Where can I send you a donation?

I have an nVidia SHIELD and Nexus 7, but the only thing I don't like on the shield is the screen size so I'd LOVE to be able to play on my Nexus 7 with a 360 controller, etc so this project looks fantastic!

EDIT: Also, I'm just wondering, but how does this compare to Splashtop THD? Is it using the same NVENC and RTP methods for encoding and sending data? I am thinking about purchasing an ASUS TF701T tablet but one of the main (?) purposes would be remote streaming some games from my desktop. It's confusing that you say that Tegra chips are slower because isn't Splashtop THD (made for Tegra) extremely low latency?

Splastop is cpu based, that includes Splashtop THD which just has a few optimizations for tegra chipsets (which are now in splashtop personal too), This app uses gpu based encoding same as the shield and its got something to do with how nvidia has implemented their streamer with regards to tegra devices, which I guess will need to be resolved.
 
 
11th November 2013, 02:29 PM |#22  
Streykatorato's Avatar
Senior Member
Thanks Meter: 32
 
More
I have a Quadro 2000m in my Laptop and a Geforce 8800GT in my desktop. Is there any way i could get Geforce Experience running with streaming support on atleast one of them? I have a Nexus 7 Tegra 3. Could test it on Note 3 too! Just asking
I have Splashtop THD running on both devices! THD works on Note 3 btw
Sent from my SM-N9005 using XDA Premium 4 mobile app
11th November 2013, 05:59 PM |#23  
OP Senior Member
Thanks Meter: 405
 
More
Quote:
Originally Posted by nielo360

EDIT: Ran 1st test with shield itself, Used it to play rage,borderlands as noted by the dev there is a delay with Tegra device, the d-pad on the shield did not work,
other buttons worked fine,otherwise streaming is really good. Excellent work! will run a few more tests, and test with z ultra with moga pro .. looking forward to a donate version!


EDIT2: z ultra has lot of blocks black and green etc randomly showing up, streaming is fine and smooth despite that, Moga pro HID mode right stick and dpad dont work only works in native shield streamer so far, ps3 controller worked except the button mapping is a little off, hope you can find they way xinput is emulated would be great


In the shield native streamer all or most HID controllers work fine in emulating the 360 controller, however outside that with splashop and droidmote thats not the case.

Have you implemented xinput controller support in this similar to shields? if so would any HID controller do or are you using a wired 360 controller attached to your android device?

Would be awesome if you have found a way to emulate xinput with HID controllers. Droidmote does this but it currently doesnt work with HID d-pads.[COLOR="Silver"]

In theory, any controller that shows up as a gamepad in Android is supported. The big issue with controller mapping on Android is that nobody actually standardizes their button and joystick mappings. For example, the Ouya controller's right stick X and Y axis are MotionEvent.AXIS_Z and AXIS_RZ, while Xbox controller is AXIS_RX and AXIS_RY. The Xbox controller uses AXIS_Z and AXIS_RZ for L2 and R2.

The controller issues just need more widespread testing since there are so many different mappings. So far the PS3 controller is the best supported (both over USB and Bluetooth). I did notice the SixAxis app has a rotated button mapping by default which may have been the issue you were seeing (PS3: X was Xbox: X, and so on).

The DPAD stuff is broken on the Xbox controller (but working on PS3) so I have something I can test with locally. I can also look at the DPAD stuff on my Shield. I'll see if I can find some documentation on the Moga Pro controller and how it is doing DPAD (possible similar to Xbox) and right stick so I can fix that for you.

The random blockiness is probably just the result of packet loss or reordering. Since UDP doesn't guarantee packet delivery or packet order but we must reassemble the H264 NALs in order, I have to drop NALs when they lose packets. I think what Nvidia is doing with Shield is keeping a packet queue of the last several packets to search when they see a packet sequence number they weren't expecting (there's some logging messages that seem to indicate this). I'll probably implement a similar solution.

EDIT: The latest APK fixes the Xbox controlller (and Shield) d-pad. I've attached it to this post. It would be great if you can test this on the Moga controller.

EDIT 2: I looked up some documentation on the Moga Pro controller and found out that they're doing some really janky stuff. The controller itself doesn't send entirely Android standard keycodes for the buttons, so the SDK defines new keycodes that replace Android's constants so the controller works as expected. The Ouya controller also does a similar thing although the button mappings are even crazier (dpad left is select, dpad right is start, L3 is L1, R3 is R1, A and U are swapped). The Ouya software itself seems to fixup these values since the values I see in Limelight on the Ouya are correct, but other Android devices see the non-fixed key mappings. In Moga's case, there's an app on the Play Store called MOGA Universal Driver which appears to do the same mapping stuff that SixAxis does for the PS3 controller. I'd imagine that using this app would fix Limelight's controller mappings.
Attached Files
File Type: apk Limelight.apk - [Click for QR Code] (545.7 KB, 68 views)
11th November 2013, 11:16 PM |#24  
Senior Member
Thanks Meter: 30
 
More
EDIT: Moga pro, only the left stick works properly, in A mode using Moga universal driver, (the right stick up and down seemed to be mapped as triggers) A, B, X ,Y, start, select, RB , LB seem ok.
Dpad, right stick and triggers are an issue.
In A mode moga pivot app it does not work
in HID mode using Moga pivot app only left stick works properly and the rest is same as above.
if you can tell me a way I can see the keys the moga pro is using i can send you a list of which keys are mapped to which button on the device.


Im going to test this out, I do have the moga universal driver installed however it only works for me in A mode which is moga's propietery mode, this mode for some reason works perfectly with shelds native streamer. HID mode just gets detected by android itself.

The ps3 controller is supported natively on the xperia z so I havent used the sixaxxis pair tool.
11th November 2013, 11:52 PM |#25  
OP Senior Member
Thanks Meter: 405
 
More
Quote:
Originally Posted by nielo360

EDIT: Moga pro, only the left stick works properly, in A mode using Moga universal driver, (the right stick up and down seemed to mapped as triggers)
Inn A mode moga pivot app it does not work
in HID mode using Moga pivot app only left stick works properly
if you can tell me a way I can see the keys the moga pro is using i can send you a list of which keys are mapped to which button on the device.


Im going to test this out, I do have the moga universal driver installed however it only works for me in A mode which is moga's propietery mode, this mode for some reason works perfectly with shelds native streamer. HID mode just gets detected by android itself.

The ps3 controller is supported natively on the xperia z so I havent used the sixaxxis pair tool.

Can you list which buttons on the Moga pro are working properly? I think I know what the issue is with the right-stick and I'm trying to come up with a reasonable fix for it.
12th November 2013, 12:06 AM |#26  
Senior Member
Thanks Meter: 30
 
More
left stick,A, B, X ,Y, start, select, RB , LB seem ok.
Dpad, right stick and triggers are an issue. the right stick up seems to be Rtrigger and down seems to Ltrigger.
12th November 2013, 12:17 AM |#27  
OP Senior Member
Thanks Meter: 405
 
More
Quote:
Originally Posted by nielo360

left stick,A, B, X ,Y, start, select, RB , LB seem ok.
Dpad, right stick and triggers are an issue. the right stick up seems to be Rtrigger and down seems to Ltrigger.

Please test dpad, right stick, and triggers on this APK.

EDIT: Sorry, I made a mistake in that APK. I've replaced the attachment with a fixed version.
Attached Files
File Type: apk Limelight.apk - [Click for QR Code] (546.1 KB, 74 views)
12th November 2013, 12:45 AM |#28  
Streykatorato's Avatar
Senior Member
Thanks Meter: 32
 
More
Quote:
Originally Posted by Streykatorato

I have a Quadro 2000m in my Laptop and a Geforce 8800GT in my desktop. Is there any way i could get Geforce Experience running with streaming support on atleast one of them? I have a Nexus 7 Tegra 3. Could test it on Note 3 too! Just asking
I have Splashtop THD running on both devices! THD works on Note 3 btw
Sent from my SM-N9005 using XDA Premium 4 mobile app

Anyone?

Sent from my SM-N9005 using XDA Premium 4 mobile app
12th November 2013, 12:51 AM |#29  
OP Senior Member
Thanks Meter: 405
 
More
Quote:
Originally Posted by Streykatorato

Anyone?

Sent from my SM-N9005 using XDA Premium 4 mobile app

This isn't really the thread for this, but neither of your GPUs are Kepler-based which means they aren't currently supported by GFE streaming.
12th November 2013, 02:28 AM |#30  
Senior Member
Thanks Meter: 30
 
More
Quote:
Originally Posted by cgutman

Please test dpad, right stick, and triggers on this APK.

EDIT: Sorry, I made a mistake in that APK. I've replaced the attachment with a fixed version.

BRILLIANT!! youv done it, Moga pro on HID Mode works perfectly! could you give some details on how you mapped these buttons it would be a great help with droidmote, or perhaps a way to use our controllers as windows controllers using this method.
only some minor issue with the deadzone being a bit too much for the sticks otherwise its perfect. (this might be input latency ill check with the ps3 controller later.)

also how do i donate?
12th November 2013, 03:11 AM |#31  
OP Senior Member
Thanks Meter: 405
 
More
Quote:
Originally Posted by nielo360

BRILLIANT!! youv done it, Moga pro on HID Mode works perfectly! could you give some details on how you mapped these buttons it would be a great help with droidmote, or perhaps a way to use our controllers as windows controllers using this method.
only some minor issue with the deadzone being a bit too much for the sticks otherwise its perfect. (this might be input latency ill check with the ps3 controller later.)

also how do i donate?

Glad to hear it's working. The documentation on Moga using the native Android API was pretty sparse.

The left stick is AXIS_X and AXIS_Y which is the same as pretty much all controllers. The right stick is AXIS_Z and AXIS_RZ which seems to be pretty standard for Android too (although Xbox uses AXIS_RX and AXIS_RY instead).

The D-pad shows up as AXIS_HAT_X and AXIS_HAT_Y (like the Xbox controller).

The very odd one was the triggers. Unlike Ouya which used AXIS_LTRIGGER and AXIS_RTRIGGER, the triggers on the Moga are mapped as AXIS_BRAKE and AXIS_GAS. I got the idea for trying this from another thread about the Moga Pro: http://forum.xda-developers.com/show...63&postcount=9

If you want to check out the code, it's in Game.onGenericMotionEvent(). https://github.com/cgutman/limelight...Game.java#L364

I'm not sure about taking donations yet but I'll update you guys when I figure things out.
Post Reply Subscribe to Thread

Tags
android, game streaming, gamestream, geforce experience, shield

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes