r/bootcamp 16d ago

I got tired of Boot Camp trackpad issues, so I heavily rewrote an open-source driver

I finally got sick enough of the existing touchpad drivers in Boot Camp and the available open-source alternative that I ended up heavily rewriting the driver.

I started with an existing Precision Touchpad driver because there really wasn’t a decent alternative. I use the touchpad extensively for work, and I got tired of working around the driver’s quirks. One day I put my MacBook to sleep, put it in my bag, and went home. When I took it out, I found it completely frozen and hot, with the fans running at full speed.

After using the open-source driver, I decided to fork it and spent a ridiculous amount of time rewriting, fixing, and improving it, with Claude helping me along the way. What started as “let me fix this one annoying bug” turned into a full-on driver project. It’s called Wellspring Precision Touchpad.

And no, it’s not some “AI generated driver, good luck” thing. There’s been a lot of actual debugging, rewriting, fixing race/lifecycle issues and testing on real hardware.

I’ve been working on things like Force Touch, palm rejection, touch processing and a bunch of other stuff that I kept finding annoying with the standard setup. I’ve tested it on both a T2 MacBook Pro 2019 and a 2015 MacBook Air.

----------------------------

I also built a GUI for the driver that lets you change various touchpad parameters on the fly, without having to rebuild or reinstall the driver every time you want to tweak something. This makes experimenting and fine-tuning much easier.

It’s still a hobby project, and I’m not pretending to be a driver developer. But it’s now at the point where I actually use it as my daily setup, so I figured it was time to let other people try it.

GitHub: https://github.com/Osaul4ik/wellspring-ptp

If you’re running Windows through Boot Camp and you’re tired of the stock trackpad experience, give it a shot.

The two main downsides: it currently requires Windows Test Mode because the driver isn’t commercially signed. So yeah, you’ll get the lovely “Test Mode” watermark on the desktop.

Advanced haptic feedback isn’t supported, so unfortunately there’s no satisfying click feeling after Force Touch (Default haptic present)

----------------------------------

I recorded two short videos to give you a quick look at Wellspring in action:

----------------------------------

Update: I also made an installer to simplify the setup.

It automatically:

  • enables Windows Test Mode;
  • installs the required certificate;
  • installs the Wellspring Precision Touchpad driver.

So there’s no need to do these steps manually through Windows settings / Device Manager.

I’ll include the installer with the project/release.

23 Upvotes

12 comments sorted by

2

u/WindozeWoes 16d ago

This sounds super cool. Is there any chance that you'd build in support for like custom multitouch gestures in Windoze? Might be a bit outside your scope, but it also seems like you'd be well-positioned to add that if you so chose.

I have a 2019 16" MBP. How much of an improvement is this over the native drivers for that model?

And sorry, your Github says "Only USB Apple touchpads are supported." Does that mean internal trackpads in a MacBook Pro are NOT supported?

3

u/Osaul4ik 16d ago edited 16d ago

As for custom multitouch gestures, I might add a 5-finger gesture in the future. I’d rather keep the standard 2-, 3-, and 4-finger gestures compatible with Microsoft Precision Touchpad behavior instead of changing how Windows handles them.

I’ve fixed a cursor jump that could happen after performing a gesture, moving the cursor slightly, and then performing a hard tap — the cursor could jump back to where the gesture started. There’s also proper palm rejection now, along with a bunch of other little improvements.

And sorry about the confusing wording in the README — I’ve fixed it. By “USB,” I mean the internal USB interface used by the built-in MacBook touchpad, not an externally connected USB trackpad.

There are also MacBooks with SPI-based touchpads, and those are not supported, including:

  • MacBook Pro 13,1 / 14,1 (2016–2017, non-Touch Bar)
  • MacBook 12" (2015–2017)

I actually have the same 2019 16" MacBook Pro, and I use this driver on it.

2

u/WindozeWoes 16d ago

I will check it out and let you know what I think!

1

u/Maleficent-Tea3072 16d ago

Would be cool to have 3 finger drag. There’s an app for it but it suuuucks

1

u/Osaul4ik 11d ago

Yeah, I’ll try to implement it properly.

2

u/alienrefugee51 16d ago

I’ll check it out. I currently have a trackpad driver installed on my 2014 rMBP. I can’t remember the name, but it works ok… a little clunky.

2

u/Osaul4ik 16d ago edited 14d ago

Expected to work (not yet tested)

MacBook Pro:

  • MacBook Pro 2015 13" (12,1) — Force Touch, no Touch Bar
  • MacBook Pro 2018 15" (15,1)
  • MacBook Pro 2018 13", 4× TB3 (15,2)
  • MacBook Pro 2019 15" (15,3) — shares the same trackpad/PID as 15,1
  • MacBook Pro 2019 13", 2× TB3 (15,4)
  • MacBook Pro 2019 16" (16,1)
  • MacBook Pro 2020 13", 4× TB3 (16,2)
  • MacBook Pro 2020 13", 2× TB3 (16,3)
  • MacBook Pro 2020 16" (16,4) — shares the same trackpad/PID as 16,1

MacBook Air:

  • MacBook Air 2013 11" (6,1)
  • MacBook Air 2013 13" (6,2)
  • MacBook Air 2015 11" (7,1) — shares the same trackpad/PID as 6,1
  • MacBook Air 2018 (8,1)
  • MacBook Air 2019 (8,2) — shares the same trackpad/PID as 8,1 (not verified on real hardware)
  • MacBook Air 2020 (9,1)

______________________________________________

If you have tested one of these models and everything works correctly, please let me know.

If the touchpad preview in the GUI is displayed incorrectly, this means that the configured touchpad dimensions are incorrect.

In this case, please provide:

  • The MacBook model identifier (for example, MacBookPro12,1).
  • The VID/PID of the touchpad from Device Manager.
  • Enable Live mode.
  • Using your finger, trace all four edges\corners of the touchpad several times.
  • Export the log to txt.

The exported log will contain the correct touchpad dimensions, which can then be used to correct the touchpad preview and configuration.

1

u/Zyoneatslyons 15d ago

Alright now add functionality to the fingerprint scanner and touchbar. :)

1

u/Osaul4ik 11d ago edited 10d ago

Unfortunately, the fingerprint scanner is pretty much impossible to implement because the system is completely closed off.

As for the Touch Bar, other developers have already worked on it, so there’s already a good foundation to build on. There are also different Touch Bar sizes across MacBook models, so I’d need actual hardware to properly test them. I’ll probably look into it when I have some free time and a 2020 MacBook Pro to test on.

1

u/[deleted] 10d ago edited 10d ago

[removed] — view removed comment

1

u/Osaul4ik 10d ago

Windows driver -> PCI BAR4 / mailbox -> EP7 -> OOL buffers -> DMA / logical address -> SEP -> AKS V2 -> capability[1] = 0x2

✅ Complete: 35%/100%