[MODULE] Extended haptic rumble support for 3rd-party controllers with GeForce NOW - Shield Android TV Android Development

For whom is this module?
This is for SHIELD TV users who can or do not want to use the original SHIELD TV controller for GeForce NOW gaming and miss haptic feedback with 3rd-party controllers (e.g., DualSense).
What do you need?
A 3rd-party controller that is compatible
An up-to-date (to-be) unlocked SHIELD TV with Android TV 9-11
For remote support, a USB Bluetooth dongle such as 8bitdo Wireless Adapter (until Android TV 12 is available)
I'm in - how to get it?
To check controller compatibility, install the attached APK, open it and test your controller setup whether it supports rumble with the Android Vibrator API
If it works, continue unlocking the device and installing Magisk root support (if not done already)
Install the latest version of LSPosed with Magisk
Enable this module in the LSPosed module manager, select the GeForce Games app as target (just as recommended by default) and reboot
Enjoy
I recommend using a launcher app for non-leanback apps to access Magisk and LSposed. Moreover, either a hardware mouse or a smartphone-based Android TV Remote with a virtual mouse (e.g. this app) will be helpful for navigating the apps.
How does it work?
NVidia don't use the native Vibrator API for haptic feedback. Instead, they have integrated their own API for their own accessory and their own accessory only. The inputs from other devices are accepted natively but they do not enable the haptic feedback, so the servers don't even send haptic packages unless the SHIELD TV controller (2017) is connected. This module hooks into the enabling method and sends the message to the server that haptic support is provided. This allows hooking to the haptic-package-receiving methods and redirecting their content to the InputManager devices.
What are the limitations?
Beginning with Android 12, there will be a native VibrationManager API and a HapticFeedback sound-based generator available that add native Bluetooth drivers and support for 3rd-party controllers. This will make the requirement for USB dongles redundant and even add extended haptic feedback support. The haptic packages from NVidia servers include low and high-frequency motor amplitudes. However, the Android 9-11 Vibrator API only accepts a single amplitude. This means that the haptic experience will be limited to a single amplitude because both amplitudes have to be merged. Due to the lack of native Bluetooth drivers and API support in Android 9-11, I see no way of getting Bluetooth compatibility without USB dongles or USB connection. NVidia might update its apps in the future, which might require module updates as well. In parts, the hooks depend on obfuscated/minimized method and class identifiers, which is weakly coupled and susceptible to changes. But overall, the Xposed module support allows Google Play updates to continue fluently. After an update, the only interaction that will be necessary is a system reboot and the hooks will be redeployed. If it should stop working, simply disable the module in LSPosed and reboot. The module will only affect the GeForce Games app and not the system or any other apps. Multi-controller setups aren't tested thoroughly. The Nvidia controllers probably receive separate rumble feedback but it's possible that the 3rd-party controllers, if connected, rumble at the same time. When 3rd-party controllers are used for input, Nvidia controllers shouldn't rumble, connected or not. Please let me know how it works for you. Full multi-controller support might be an option if I can map the id or index from the haptic packages to the native controller ids.
md5: B01301D858C7F24335C0CD50B430E6C9
sha1: F2309B55D9BB00E35E92BB1C59313E1F6D50AA3D

Spoiler: Changelog
Update 2022-03-12 - 1.4.0:
removed debug logging
fixed compatibility with version 5.46.31061641
increased idle timeout
Update 2022-05-03 - 1.4.1:
fixed compatibility with version 5.48.x
Update 2022-06-11 - 1.4.2:
fixed compatibility with version 5.49.x
Update 2022-06-11 - 1.4.3:
fixed compatibility with version 5.50.x
no update is necessary for version 5.51.x
Update 2022-10-14 - 1.5.0:
fixed compatibility with version 5.52.x
Update 2022-10-31 - 1.5.1:
fixed compatibility with version 5.53.x

Due to NVidia's refactoring and stronger obfuscation from version 6.x onwards, I can't provide any further compatibility updates.
I would just try to stick to the old 5.x version, if possible.

Related

[Q] Implement your own remote accelerometer sensor

I'm currently working on a project to extend the capabilities of Android HDMI sticks and Smart TV's, so they can use external sensors (accelerometer as a first trial case). The reasoning behind the project is that the bluetooth keyboards normally delivered with such HDMI Sticks or Smart TV's are really bad, probably because of the interference with your TV itself. Since most of us already have a smartphone or tablet at home, I thought why not lets use their sensors to control your TV.
I've got a first POC working nicely, using the accelerometerplay SDK sample, but all done in the Java part. So now I can use my tablet or smartphone to control the balls in the sample running on a Android HDMI Stick. Basicly what I did was split up the SDK sample in a controller and viewer part, where the controller is using the Android sensor framework to fetch accelero values off my smartphone and tranfer them over Wifi towards the viewer, which will calculate the ball's positions as original.
A disadvantage of this approach is that I had to change the code of the 'original' application that is normally using the accelero sensor, to pick up the sensor data send over wifi. I want to go one step further however and implement a truly remote accelero sensor, which is registered properly in Android's sensor framework. Hence I would be able to increase the (android market) capabilities of my Smart TV or HDMI stick drasticly.
Anyone has good reference documentation on how to implement your own sensor and register it truly in the Dalvik VM. I searched in NDK related documentation, but did not found the golden bullet so far. The following link is really the only thing I could find sofar: hxxp://processors.wiki.ti.com/index.php/Android_Sensor_PortingGuide
Any advice truly appreciated ,
Bart

Remix OS for PC Update, Version#: 2.0.402, Release Date 07/05/2016

Valued Remixers,
Remix OS for PC 2.0.402 Is released. All your feedback did contribute to the release. Thank you!
Listed are the change log of this update. We are eager to hear your voice. Please share your experience at here https://docs.google.com/forms/d/1cZNesOmnmO2esilFpvMzFZ874rvwsiKgWIX2fo9QsDk/viewform
System
Fix: Screen-recording issue on Remix OS is fixed.
Fix: Some cases on applications not running are fixed.
Fix: The slowing down of the system when mounting hard disks is fixed.
New: Keyboard mapping for certain games has been added to allow users to play said games with keyboards.
New: Chrome is now pre-installed on Remix OS for PC.
New: Users can now stay on desktop mode using pre-installed Chrome Switcher.
New: “Low power” warnings have been added.
New: Now supports more H.265 video formats.
New: Now supports more ethernet cards.
New: Now supports more Realtek/Broadcom/MediaTek WiFi cards.
New: Mirrored output from DP, HDMI & VGA are now supported.
New: More NVIDIA graphics cards are supported with improved stability.
New: Scrolling and right-click on some trackpads are enabled.
Optimization: Video display quality is improved.
Optimization: System bootup time is improved.
Optimization: Thermal monitoring system is improved to avoid overheating.
System User Interface
Fix: The task bar disappearing on its own is fixed.
New: Remix OS default wallpaper is updated.
New: Remix OS boot up animation is updated.
Settings
Fix: Time inacurrancy on Windows when users switch back from Remix OS is fixed.
Optimization: Wi-Fi stability is improved.
App Compatibility
Fix: Users can now send out emails using Yahoo Mail.
Optimization: App compatibility is improved.
Remix Central
New: Game collection is added to Remix Central.
New: More apps have been added to Remix Central.
Thanks but my Realtek wifi chip isn't supported. It is BCM43228.
Sent from my on Z00A using XDA Labs
Just delete the bcma folder in module and it will start working.
failed update issues
how do i use keyboard mapping
edit: good release so far, i can remove the nomodset settings and runs cooler for normal usage.
Thanks. It's a huge improvement from last update. Soo much quicker and smoother. Everything works, taskbar is back , all is well.
I don't know about you all, but I don't have any "Game Collection" area in my Remix Central. And yes, I'm on the newest update.
Edit: Also, may we get a list of games that have the keyboard mapping?
Still can't get Remix to boot on my Dell Inspiron 5150.
However, of all the releases so far (hacked and official). this is the only one that has given a clear message. I usually can't boot the nVidea graphics.
intel_powerclamp: Intel powerclamp does not run on family 15 model 2
intel_rapl: driver does not support cpu family 15 model 2
Processor: Mobile Intel Pentium 4 2.80GHz
Family, Model, Stepping: 15, 2, 9 (Pentium 4)
I'm wondering if this is related to the SS3 instruction set, as the only version of Android I could get to run was an early version of Android x86 patched for SS3 running in generic vga mode.
volram said:
Just delete the bcma folder in module and it will start working.
Click to expand...
Click to collapse
Where is the bcma folder?
volram said:
Just delete the bcma folder in module and it will start working.
Click to expand...
Click to collapse
How will this fix wifi problem?
Sent from my on Z00A using XDA Labs
"New: Mirrored output from DP, HDMI & VGA are now supported." Does it mean that now i can use my heaphone on remix os ??
Sr for my bad english .
Mediatek 7630E (MT7630E) wifi is still not detected on my Asus TP300LA. Any ideas?
Realtek RTL8723BS Wireless LAN 802.11n SDIO Network Adapter didn't work (there is a driver on it for github) and the Intel SST Sound (Realtek i2s Audio Codec) are also not working
Wow i managed for the first time to make this one work on my old and ancient PC, ASUS P5N-MX with NVIDEA GeForce 7050 / nForce 610i chipset.
I had to edit the "menu.lst" file on the end of kernel line at the Remix Os folder from windows by adding the "nouveau.modeset=0"
Remix Os boots now fine and looks like everything works, internet, sound keyboard mouse etc.
The only problem am facing is the low resolution and i cant change it is like a default one. Any help with this as from the settings within Remix Os the change resolution doesnt show up? Is there any other line i can add or edit to increase the resolution !?
Thnx
Sent from my Moto G using XDA Labs
"There was a problem communicating with google server
try again later"
can't open play strore after update to v 2.0.402
how to fix it?
Still no sound on HDMI, and now not root console either??? Wtf?!?!!
In the experimental Settings you can activate the root console again.
RemixOS_Cameron said:
Valued Remixers,
Remix OS for PC 2.0.402 Is released. All your feedback did contribute to the release. Thank you!
Listed are the change log of this update. We are eager to hear your voice. Please share your experience at here https://docs.google.com/forms/d/1cZNesOmnmO2esilFpvMzFZ874rvwsiKgWIX2fo9QsDk/viewform
System
Fix: Screen-recording issue on Remix OS is fixed.
Fix: Some cases on applications not running are fixed.
Fix: The slowing down of the system when mounting hard disks is fixed.
New: Keyboard mapping for certain games has been added to allow users to play said games with keyboards.
New: Chrome is now pre-installed on Remix OS for PC.
New: Users can now stay on desktop mode using pre-installed Chrome Switcher.
New: “Low power” warnings have been added.
New: Now supports more H.265 video formats.
New: Now supports more ethernet cards.
New: Now supports more Realtek/Broadcom/MediaTek WiFi cards.
New: Mirrored output from DP, HDMI & VGA are now supported.
New: More NVIDIA graphics cards are supported with improved stability.
New: Scrolling and right-click on some trackpads are enabled.
Optimization: Video display quality is improved.
Optimization: System bootup time is improved.
Optimization: Thermal monitoring system is improved to avoid overheating.
System User Interface
Fix: The task bar disappearing on its own is fixed.
New: Remix OS default wallpaper is updated.
New: Remix OS boot up animation is updated.
Settings
Fix: Time inacurrancy on Windows when users switch back from Remix OS is fixed.
Optimization: Wi-Fi stability is improved.
App Compatibility
Fix: Users can now send out emails using Yahoo Mail.
Optimization: App compatibility is improved.
Remix Central
New: Game collection is added to Remix Central.
New: More apps have been added to Remix Central.
Click to expand...
Click to collapse
Accidentally deleted initrd.img of this version. Could you please upload a copy of it? Thanks!
Alkuhl01 said:
"New: Mirrored output from DP, HDMI & VGA are now supported." Does it mean that now i can use my heaphone on remix os ??
Sr for my bad english .
Click to expand...
Click to collapse
That means Video output, not audio. You should be able to use your headphones anyway. There are 2 sound profiles, one for without headphones and one with headphones. If you plug or unplug your headphones and the sound volume changes, just readjust the volume level.
Updated then this error appears: ↓
(remix os in desktop pc, installed )
This message appears:
.
.
.
[ 0230018] Failed to find cpu0 device node
Detecting android-x86... foun at /dev/sda7
Checking data partition ...
[email protected]_x86_64:/ #
What can i do to fix this and run remix os normally like before?
Help please :c
My pc specs:
- intel core i5 @3.20 3.19 GHz
- 4GB RAM
- intel hd graphics

RFC - webcam in Android on supported Chromebooks such as Acer R11

Starting this thread to force the issue - I asked here & on Twitter for an answer -
Google Chrome OS has introduced a new flag for USB host, but does it allow the webcam to work from within Android? - I do not own a Chromebook that incorporates Android.
Enable ARC USB host integration
Allow Android apps to use USB host feature on ChromeOS devices. – Chrome OS
#arc-usb-host
even though enabling the flag
chrome://flags/#arc-usb-host
--enable-features=ArcUsbHost
this still does not allow access to a usb webcam from within Android...
Tested it on my hacked Acer C720P using a recovery ROM - no dice...
No one owns a Chromebook supporting Android to answer this simple question - does the webcam work from within Android?

Mi Box - Prime Video HD Downloads

I have slow DSL with buffer issues so I prefer to download shows for offline viewing. I sideloaded the phone/tablet prime video apk and aside from graphical glitches (no rewind/forward/subs controls) downloads are only in SD - even after selecting "Best" download quality which downloads HD on my other android devices.
Is there a workaround? Or another android tv box which Amazon officially supports for HD downloads?
I installed DRM Info and it all checks out. The device is Widevine L1 certified & connected via HDCP 2.2.
It seems Amazon simply does not acknowledge TV boxes! (when it comes to offline viewing)
To answer my own question, Android TV as an OS is not & never will be suitable for any kind of show downloads!
From experimenting with the non-HD download support in sideloaded TV apps, Android TV is very susceptible to data corruption as it lacks a shutdown procedure.
It is designed to be abruptly turned off at the mains along with the TV (for example, it is an integrated into many Sony TVs).
Thus it is nothing more than a streaming OS and offers nothing extra when connected to already smart TVs.
I feel "Android TV" is false advertising. It is far more minimal and less capable than Android phones & tablets with many features, app permissions, settings screens missing. Also it has no notification area at all.
Thus many sideloaded apps are uninstallable or unusable.
They should go back to calling it Google TV to remove the associations & expectations of an Android device!

Solved - MIUI 13 / A12 / 21.12.30 beta / Gamesir X2 Type-C Controller only works in native mode

Hey,
Anyone with a fix using game controllers not working when the game does not support native mode?
The issue has been brought by A11 with some Accessibility issues but should have been fixed in A12 by Google. I still have this issue on 21.12.30. The controller is working just fine in native mode but if the game does not support native, I can not get any luck mapping the buttons.
I tried some stuff to turn off in Accessibility settings as it was advised with A11 but nothing works.
I'm using Gamesir X2 - USB-C / wired.
Anyone with a solution?
So it is not the ROM but Gamesir's own app I was using for the mapping.
Mantis Gamepad Pro Beta - Apps on Google Play
Play Games with ANY Gamepad. No-Ban. Google Play Login. On-Device Activation.
play.google.com
If you got any issue on a11/a12 mapping touch controls while native works just fine, this is the app for you. If wired won't connect, don't worry just follow instructions and do wifi.
Buy the Pro, thank me later.
The app and mapping also works on 22.1.19 Beta
Not working and I find why
There 3 versions of X2 : 2020, 2021 and LT (doesn't know what LT meaning)
2021 is working fine
2020 not
This is the same hardware but 2020 is blinking and 2021 is working fine
But doesn't know how to solve it

Categories

Resources