Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Surface Book 3] [Surface Laptop 3] Trackpad lagging/skipping #79

Open
ghost opened this issue Nov 21, 2022 · 42 comments
Open

[Surface Book 3] [Surface Laptop 3] Trackpad lagging/skipping #79

ghost opened this issue Nov 21, 2022 · 42 comments

Comments

@ghost
Copy link

ghost commented Nov 21, 2022

Surface Book 3 15", tried this amazing kext on my laptop but I'm having this weird skipping on the trackpad, couldn't find any way to fix this. Tested on macOS Monterey 12.6 and MacOS Ventura 13.0. Thank you for your time!

@Xiashangning
Copy link
Owner

Make sure using the latest version of BigSurface, enable DebugEnhancer.kext and send me the output of sudo dmesg | grep -E "SurfaceS|SurfaceH"

@ghost
Copy link
Author

ghost commented Nov 24, 2022

log.txt

@Xiashangning
Copy link
Owner

Is this all the output you have? Please try to reproduce your lagging/skipping issue and then go to terminal to get the output

@ghost
Copy link
Author

ghost commented Nov 24, 2022

Yes, that's all I have, I did try to reproduce the problem before and after running the command. Also ran the command 3 times with the same result.
I have both Lilu debug and DebugEnhancer enabled.

@jlempen
Copy link
Collaborator

jlempen commented Nov 25, 2022

Hi @Xiashangning, hi all,
I can confirm this issue with two different Surface Book 3 devices, a 13.5" i5 and a 15" i7.
The trackpad works great on both devices with the BigSurface 6.3 kext, but the pointer/cursor will skip/hang for about a tenth of a second every few seconds.
I paired a Magic Trackpad 2 with both devices and the pointer/cursor is buttery smooth when using the MT2.
Also, the Intel Power Gadget shows no CPU spike of any kind when the skipping/hanging occurs.
I'll try to send you a debug log when I have one of the devices on hand this week-end.
Thanks again for your amazing work!

@yaseenshaik
Copy link

I can confirm the cursor skip issue exists on the surface laptop 3 as well on Monterey 12.6.1.

@jlempen
Copy link
Collaborator

jlempen commented Jan 13, 2023

Thanks @yaseenshaik for your feedback. I was very busy and totally forgot about this issue and set aside the SB3. It's surprising that no one else is reporting this issue if both the SB3 and the SL3 are affected by it. IMHO, this issue makes these systems more or less unusable for everyday work.

While researching on hacking a mid-2019 Razer Blade 15 Advanced, I stumbled upon this interesting thread on the VoodooI2C repo. That looks very similar to our skipping issue. It was referenced at the end of this thread.

As @Xiashangning doesn't have an SB3 or an SL3, we'll have to look into it ourselves if we want to help him fixing it.

@Xiashangning
Copy link
Owner

From logs I cannot see any errors or warnings produced, so indeed this is very weird for me.
BTW, when the lagging issue happens, are u using the keyboard at the same time?

@sxcsfan
Copy link

sxcsfan commented Jan 13, 2023

I also encountered this problem on SL3 with Ventura. @Xiashangning while the symptom occurs I was not using keyboard at the same time.

@jlempen
Copy link
Collaborator

jlempen commented Jan 17, 2023

Hi @Xiashangning,
Here's my log from the output of sudo dmesg | grep -E "SurfaceS|SurfaceH". Apart from the two SurfaceHIDDevice addresses, it's exactly the same as the log from @educovas. I'm afraid there's not much more useful information here.
log_jlempen.txt

I used the DEBUG version of DebugEnhancer.kext, enabled with the -dbgenhdbg boot argument. All other kexts, as well as OpenCore itself, are the RELEASE versions. In my config.plist, i have Misc -> Debug -> Target = 3 and AppleDebug = False.

The load order of the BigSurface kexts is as specified in your README.md.

@Xiashangning
Copy link
Owner

Hi, I am back. I will send u guys a test driver later to try to test the lags between consecutive touch inputs. But be aware that this is an improvement not a bug so it does not have a high priority for me right now (There is another bug to be solved)

@yaseenshaik
Copy link

Thank you, very much @Xiashangning! We will take whatever we can get!

@Xiashangning
Copy link
Owner

Xiashangning commented Feb 10, 2023

BigSurface.kext.zip
Try this one

Be aware that the project has a new plugin now so please consult to the new installation instructions

@yaseenshaik
Copy link

yaseenshaik commented Feb 11, 2023 via email

@Xiashangning
Copy link
Owner

@yaseenshaik so do you still have the trackpad lagging issue?

@yaseenshaik
Copy link

Hi @Xiashangning.

Unfortunately, I can still see the lag with the new kext you linked. But IPTSDaemon was causing high CPU loads and had to be unloaded.
Screen Shot 2023-02-13 at 11 36 03 AM

Thanks for your work.

@Anyin2020
Copy link

我的laptop3也出现了该问题,触控板间歇性跳跃和迟滞

@yaseenshaik
Copy link

Hi @Xiashangning , Just giving some feedback on this release. Though the skipping is still present, I've gotten used to it so much that I don't even notice it happening. Without IPTSDaemon, the touch/click works and scrolling doesn't work. But, this isn't a issue as I don't use the touchscreen anyway. Thanks again.

@Xiashangning
Copy link
Owner

BigSurface.kext.zip
Use this build, boot into the system, continuously using your touchpad (without lifting your finger) until the skipping issue happens, DO NOT lift your finger, keep moving it around for a while until it is usable again (back to normal), then go to terminal and please attach the output sudo dmesg | grep -E "VoodooUART|SurfaceS|SurfaceH|SurfaceB"

@ROCKERLIQUID
Copy link

Surface Laptop 3, Monterey 12.6.5, OC 0.8.1
LogTouchpad.txt

@Xiashangning
Copy link
Owner

After some analysis on the output, sadly I have completely no clue why it will lag.
Will look into it when I have more time

@MuyuenLP
Copy link

Hi @Xiashangning , I also encountered this problem on SL3 with both Ventura and Monterey. Did you test it under BigSur ,will it become normal if I go back to BigSur ?
Thanks

@jc-bao
Copy link

jc-bao commented Feb 9, 2024

Same here. I am using SL3 with Ventura. Tried both 6.5 and 6.3 release but no luck. Does anybody who resolve the laggy trackpad issue can kindly share their firmware version? I guess this could be the issue.

@MuyuenLP
Copy link

MuyuenLP commented Feb 11, 2024

Same here. I am using SL3 with Ventura. Tried both 6.5 and 6.3 release but no luck. Does anybody who resolve the laggy trackpad issue can kindly share their firmware version? I guess this could be the issue.

Hello! Have you solved the problem? Could you please share the solution? Thanks a lot!

@jc-bao
Copy link

jc-bao commented Feb 11, 2024

I am afraid not. 😢
The laggy trackpad really destroy the MacOS experience. 😞

@MuyuenLP
Copy link

I am afraid not. 😢 The laggy trackpad really destroy the MacOS experience. 😞

I am using Sonoma now, the trackpad have less lagging probility than Monterey. And it seems a 120Hz monitor also makes sense. If you need, I can share my efi.

@jc-bao
Copy link

jc-bao commented Feb 17, 2024

I am afraid not. 😢 The laggy trackpad really destroy the MacOS experience. 😞

I am using Sonoma now, the trackpad have less lagging probility than Monterey. And it seems a 120Hz monitor also makes sense. If you need, I can share my efi.

That would be very helpful! I am wondering what do you change or you merely upgrade the system?
Besides, you mean when you use the 120Hz external display the problem is gone?

@MuyuenLP
Copy link

MuyuenLP commented Feb 17, 2024

I am afraid not. 😢 The laggy trackpad really destroy the MacOS experience. 😞

I am using Sonoma now, the trackpad have less lagging probility than Monterey. And it seems a 120Hz monitor also makes sense. If you need, I can share my efi.

That would be very helpful! I am wondering what do you change or you merely upgrade the system? Besides, you mean when you use the 120Hz external display the problem is gone?

I don't know the your lagging degree. I have tried bigsur,monterey and sonoma, with almost the same efi (except for wifi and bluetooth) ,sonoma is the most fluent. At the same time, cursor in bigsur and monterey is very very lagging. And when using 120Hz external display, it seems to skip a shorter distance than 60Hz, or it could just be an illusion.
Please provide me your email so that I can send you my efi

@jc-bao
Copy link

jc-bao commented Feb 18, 2024

I am afraid not. 😢 The laggy trackpad really destroy the MacOS experience. 😞

I am using Sonoma now, the trackpad have less lagging probility than Monterey. And it seems a 120Hz monitor also makes sense. If you need, I can share my efi.

That would be very helpful! I am wondering what do you change or you merely upgrade the system? Besides, you mean when you use the 120Hz external display the problem is gone?

I don't know the your lagging degree. I have tried bigsur,monterey and sonoma, with almost the same efi (except for wifi and bluetooth) ,sonoma is the most fluent. At the same time, cursor in bigsur and monterey is very very lagging. And when using 120Hz external display, it seems to skip a shorter distance than 60Hz, or it could just be an illusion. Please provide me your email so that I can send you my efi

I see. My email is [email protected]. Thank you!

@tashda
Copy link

tashda commented Mar 15, 2024

Just wanted to chime in that I'm experiencing the exact same thing on a SL 3 15" i7.
@MuyuenHoshino If you want to share your EFI with me, my email is [email protected] and I'd be happy to look over differences/similarities to exclude what could be the cause of this.

@MuyuenLP
Copy link

Just wanted to chime in that I'm experiencing the exact same thing on a SL 3 15" i7. @MuyuenHoshino If you want to share your EFI with me, my email is [email protected] and I'd be happy to look over differences/similarities to exclude what could be the cause of this.

Sorry for replying you late, I have already sent efi.

@jlempen
Copy link
Collaborator

jlempen commented Jul 4, 2024

Hey all,

I found the solution for a buttery-smooth trackpad without lagging/skipping on my 15" i7 Surface Laptop 3. The solution is confirmed working on my 13.5" i5 Surface Book 3 as well, but I would expect it to work on any Surface Laptop 3 and Surface Book 3.

You have to downgrade your UEFI firmware to the last known working version 13.101.140.0 for both the SL3 and SB3 and downgrade the BigSurface.kext to version 6.2.

This UEFI firmware is included in the March 01 2022 release update package for the SL3 (SurfaceLaptop3_Win10_19041_22.011.9779.0.msi) and the May 24 2022 release update package for the SB3 (SurfaceBook3_Win10_19041_22.034.40281.0.msi). As of today, both update packages are not available on Micro$oft's support site anymore, but you'll find them on the Softpedia website.

Follow the very clear instructions on the surface-uefi-firmware Github to downgrade the UEFI firmware.

In a nutshell:

  1. Boot with a Linux Live ISO, preferably a Debian, Arch or Fedora based distribution, as you'll have to install the three packages msiextract, gcab and dos2unix for the downgrade script to work.
  2. Download the script from the surface-uefi-firmware Github and add OnlyTrusted=false in /etc/fwupd/daemon.conf.
  3. Run the repack.sh script, which will unpack the MSI update package, extract all UEFI firmwares from it and generate fwupd metadata for it. Once the script finishes you'll find a list of cab files inside the fwupdates folder.
  4. Using fwupd, install all the firmware files at once.

This will reboot the laptop and downgrade all UEFI firmwares at once, which takes around 10 minutes. You'll see progress bars with different colours depending on which type of firmware is being flashed.
Once the process is done, your laptop will restart a few times and seem to hang on the Surface logo for 20 or 30 seconds each time, this is normal. Then it will restart for good to your OpenCore picker.
Now restart while holding the F4/Volume Up key to check the firmware version in the UEFI. In the Firmware section, System UEFI should now show 13.101.140.

Reboot into macOS. The keyboard and trackpad should be working, but the trackpad will still lag/skip as before. To fix that, download BigSurface version 6.2 and replace your current BigSurface.kext. Do do so, delete your current BigSurface.kext in the OC kext folder and in your config.plist and add v6.2 in the specified order:

BigSurface v6.2 kext order

Reboot and you're done. Enjoy a perfect trackpad on your Surface Hackintosh!

A couple of caveats:

  • If you are using Windows on the laptop, you'll have to find a way to prevent Windows Update from updating the firmware to the latest version again! I don't know how to do that, but DuckDuckGo is your friend.
  • If you are using Xiashangning's IPTS daemon to enable the touchscreen, you'll probably have to downgrade that as well to an older version. This shouldn't be an issue for Surface Laptop 3 owners (who needs a touchscreen on a non-foldable, non 2-in-1 style laptop), but it could be problematic for Surface Book 3 users.

@jlempen
Copy link
Collaborator

jlempen commented Jul 4, 2024

@Xiashangning
For your information, after I downgraded my Surface Laptop 3 and Surface Book 3's UEFI fimware to the last known good version 13.101.140.0, BigSurface.kext v6.5, v6.4 and v6.3 still exhibit the same lagging/skipping trackpad. Downgrading BigSurface.kext to v6.2 fixes the issue, which leads me to think that #commit 538bf71 introduced the skipping/lagging trackpad issue for SL3 and SB3 users.

Edit: the interesting thing is that the skipping/lagging disappears after wake from hibernatemode 25 once set up as decribed in #127 and applying the PR from #128.

@jc-bao
Copy link

jc-bao commented Jul 4, 2024

@jlempen Thank you so much for the information! I have tried downgrading the firmware but did not change the BigSurface.text version. That seems to be the issue. Again, I really appreciate your detailed instructions! I will try it out today.

@ROCKERLIQUID
Copy link

buttery-smooth trackpad

@jlempen thanks a lot, works absolutely great on my Surface Laptop 3 i5-1035G7.

@jc-bao
Copy link

jc-bao commented Jul 4, 2024

@ROCKERLIQUID Which version of MacOS and OpenCore are you using for 6.2? My original config cannot boot 😢

@ROCKERLIQUID
Copy link

@jc-bao i'm using 0.9.8, Sonoma 14.4.1, make sure you delete BigSurface and OC Snapshot on propertree and then add the 6.2 BigSurface.
not doing this leads to crashing for some reason.

@jc-bao
Copy link

jc-bao commented Jul 4, 2024

@ROCKERLIQUID Thanks for the instruction! I have figured it out. It is just soooo smooth. Huge thanks to @jlempen!

@tashda
Copy link

tashda commented Jul 21, 2024

Big thanks from here as well, @jlempen !
I've had to dual boot Linux on my SL3 when I needed to do something as this was bugging me out and I haven't had the time to get it working, but after applying the old UEFI firmware and downgrading to 6.2 it is buttery smooth!!

Finally!

@jlempen
Copy link
Collaborator

jlempen commented Jul 31, 2024

@jc-bao @ROCKERLIQUID @tashda
Please have a look at this thread. As you are Surface Laptop 3 or Surface Book 3 users, I could use your help for testing hibernatemode 25 and my forked BigSurface which should fix the trackpad lagging/skipping with BigSurface v6.5.
Thanks!

@jlempen jlempen changed the title [Surface Book 3] Trackpad lagging/skipping [Surface Book 3] [Surface Laptop 3] Trackpad lagging/skipping Aug 19, 2024
@jlempen
Copy link
Collaborator

jlempen commented Dec 19, 2024

This issue is now easily fixed by following my simplified instructions on how to downgrade the UEFI firmware using a Linux live USB stick:

Surface Laptop 3

Surface Book 3

Then downgrade the BigSurface.kext to version 6.2 by removing the current BigSurface.kext and its dependencies and adding the BigSurface.kext v6.2 and its dependencies to your EFI -> OC -> Kexts folder and config.plist file in the following order:

image

Or even easier, use my comprehensive repos for the Surface Laptop 3 and Surface Book 3 to install and setup macOS on your laptop.

@jlempen jlempen closed this as completed Dec 19, 2024
@jlempen jlempen reopened this Dec 19, 2024
@jlempen
Copy link
Collaborator

jlempen commented Dec 19, 2024

I'll reopen this so it gets more visibility for Surface Laptop 3 and Surface Book 3 users.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants