Hardware Android JoyCon Lag

  • Thread starter Thread starter gudenau
  • Start date Start date
  • Views Views 155,142
  • Replies Replies 136
  • Likes Likes 1

Does this happen to you?

  • Yes

  • No


Results are only viewable after voting.
Are there any updates to fixing the lag on Android Pie (9.0)? I can't find any of the hex values in /system/lib64/libbluetooth.so
 
I made a short youtube video explaining if, hope it helps

I appreciate the help, but it doesn't work for me. I can't find the hex values, and the size of my libbluetooth.so doesn't line up with yours. If it's any help, I'm on a OnePlus 5T running OxygenOS 9.0.3
 
EDIT 3 : I was able to make it work by editing the second bluetooth.default.so (in the lib64 folder). I can't make a general protocol on how to patch the file, but on my Galaxy S7 running Oreo I had to replace the first occurence of 09648052 with 09038052. I used objdump to decompile the file (but I wan't able to find any reference to ssr), and searched a line with value 0x320 in it (which is 800, the default value). I wanted to try all lines where 0x320 is assigned, I was lucky it worked on the first one ! (This is why you have to replace only the first occurence)
I found that (this is in reverse order)
  • 52 means "mov"
  • 80 means ???
  • 6409 is 0x640 in the 9th register. I don't know why the value is doubled. (And so, to put 24, which is 0x18, just replace 640 with 0x018 * 2 = 0x030)
I know very little (almost nothing) about assembly and machine code, so this may be completly wrong. However, this works on my phone, so it may be worth it for you to try this (always with a backup just in case :P )

This method works also on my Galaxy Note 9 running Android Pie (One UI). The difference is that the file isn't /system/lib64/hw/bluetooth.default.so but /system/lib64/libbluetooth.so
Again, just replacing the first occurence of 09648052 with 09038052 works fine with me.
As always, be safe and do a backup :)
 
  • Like
Reactions: hippy dave
This method works also on my Galaxy Note 9 running Android Pie (One UI). The difference is that the file isn't /system/lib64/hw/bluetooth.default.so but /system/lib64/libbluetooth.so
Again, just replacing the first occurence of 09648052 with 09038052 works fine with me.
As always, be safe and do a backup :)

Just made an account to say thanks !
Works on galaxy s9+ lineage android 8.1.
And thanks to OP too btw !
 
Just made an account to say thanks !
Works on galaxy s9+ lineage android 8.1.
And thanks to OP too btw !
Hey I have an S9+ without root and I never rooted one could someone explain me what I have to do to succeed, especially yul because u have the same phones as me.
 
Has anyone figured out the string that needs to be replaced in /system/lib64/libbluetooth.so on Galaxy S8 (running Android 9)?

I'm not finding the suggesting strings (or subsets of them).

EDIT: In addition to the ones for S5, etc., posted earlier in the thread, I've searched for 09648052.

I do have an app called Bluetooth Auto Connect I was trying to use to solve this issue. So if 09648052 is the correct value to find on a S8 plus, I'm wondering if the value was maybe changed by that app?

Can anyone let me know the offset where I should find the hex value?
 
Last edited by notrewound,
Has anyone figured out the string that needs to be replaced in /system/lib64/libbluetooth.so on Galaxy S8 (running Android 9)?

I'm not finding the suggesting strings (or subsets of them).

EDIT: In addition to the ones for S5, etc., posted earlier in the thread, I've searched for 09648052.

I do have an app called Bluetooth Auto Connect I was trying to use to solve this issue. So if 09648052 is the correct value to find on a S8 plus, I'm wondering if the value was maybe changed by that app?

Can anyone let me know the offset where I should find the hex value?

I don't know what program/app you used, but you have to search for hex values and not strings.
 
I'm on Android 9, I can't find any of the hex values either. Annoying thing is that when I was on 8.1 I could find them in bluetooth.default.so.
 
I appreciate the help, but it doesn't work for me. I can't find the hex values, and the size of my libbluetooth.so doesn't line up with yours. If it's any help, I'm on a OnePlus 5T running OxygenOS 9.0.3

I found the correct file to edit on my One Plus 6 running OxygenOS 9.0.7. In the /system/lib64/libbluetooth_qti.so file, search for 09648052, then edit the 64 to 03 like in the video. Be sure to backup the original file before making any changes.

*Side note, I had to copy the file to a different folder on my phone to edit it, then replace the original file with the new one in its original location.*
 
  • Like
Reactions: Neo127
Hello,

Android 9 Pie user here.

Wish someone could track the parameters to edit for us.

This topic is way to complex for me to try to dig it personally, (i don't know where to start).

My system is a Samsung Galaxy Tab A (2019) SM-T510, with Android 9 Pie, and a tremendously big bluetooth lag with any console controler i have (DS4 and Switch Pro Controller)

If someone gets the codes, i will be super glad.

Thanks in advance.
 
I found the correct file to edit on my One Plus 6 running OxygenOS 9.0.7. In the /system/lib64/libbluetooth_qti.so file, search for 09648052, then edit the 64 to 03 like in the video. Be sure to backup the original file before making any changes.

*Side note, I had to copy the file to a different folder on my phone to edit it, then replace the original file with the new one in its original location.*

Not working on 1+ 7 pro, i have a Oxygen OS 9.5.11.GM21AA

Can somebody explain me, what exactly do you change? Are you looking for random hexes or something? I know a little shared objects, maybe somebody have documentation or something of that?

And maybe someone knows whats difference between this libraries, lubbluetooth, bluetooth, libbluetooth_qti etc. ? It is crazy that you are working with that :D
 
Last edited by Flumoo,
Hello. I want to fix gamepad latency on a Lenovo Z6 Lite running Android 9.

In /system/lib/hw/ there is nothing about bluetooth.
In /system/lib64/libbluetooth.so and /system/lib64/libbluetooth_qti.so I can't find any 09648052, neither B1F5487F88BF, neither B2F5487F88BF.

However in libbluetooth.so I found 7109098052 , 7109948052 and 71090D8052 , which I converted to 7109038052.
Then I rebooted the phone. But it did not change anything, there is still the same little lag. :(

Any idea what other value I should search for ?

If you have a few minutes to waste, here are my files :
libbluetooth.so
libbluetooth_qti.so
 
Last edited by Dom83,
I tested my Joy-Cons and the Pro Controller on my Android and while it did work, it was very laggy and unplayable. The Wiimote can connect but it requires a pin that no one seems to know.
I tested my Joy-Cons and the Pro Controller on my Android and while it did work, it was very laggy and unplayable. The Wiimote can connect but it requires a pin that no one seems to know.
There is no actual pin for it, it's just how the wiimote's bluetooth works that it asks for a pin when there isn't one
 
WORKING on OnePlus 7 Pro (on OxygenOS 10.0.1) using a slight variant of the numbers posted by notrewound

File: /system/lib64/libbluetooth_qti.so
Find: 09648052
Replace: 09008052

Note that if you replace 64 with 03 as suggested above, the phone still only polls every 24ms - button presses between polls won't get picked up. Setting it to 00 fixes this too.

I have made a Magisk module that applies this, I can post it if anyone is interested.
 
Last edited by Dracker,
I have found one problem, when I eventually got around to trying my Pro Controller I found that it still has the normal lag. Why would it not be affected by this fix.
The fix is working because when I swap back to a Joy-Con it works without lag.
Has anyone else actually tested a Switch Pro Controller?
 
WORKING on OnePlus 7 Pro (on OxygenOS 10.0.1) using a slight variant of the numbers posted by notrewound

File: /system/lib64/libbluetooth_qti.so
Find: 09648052
Replace: 09008052

Note that if you replace 64 with 03 as suggested above, the phone still only polls every 24ms - button presses between polls won't get picked up. Setting it to 00 fixes this too.

I have made a Magisk module that applies this, I can post it if anyone is interested.

IT WORKS!! Thank you so much, i did not find anything for my oneplus 7 pro on android 10 anywhere else!! Took 1 minute fixing it for good!
 

Site & Scene News

Popular threads in this forum