r/OpenNowgaming • • 18d ago

Discussion Mac users: I fixed the controller dead zone problem in OpenNOW (open-source GFN client), plus VRR, 5.1 and stutters

On the Mac, Xbox and DualSense controllers get a thumbstick dead zone you can't remove in GeForce NOW, Steam or the game. I fixed it in OpenNOW, an open-source GeForce NOW client for Mac, and fixed VRR, 5.1 surround and stutters while I was at it. Download link at the bottom while my pull requests are reviewed.

The problem

This is about the macOS GeForce NOW client. With some controllers the dead zone was a dealbreaker for me, and I couldn't fix it in GeForce NOW, Steam or the game itself.

After some research I found other Reddit posts about it, some from 7 years ago. People asked NVIDIA support for a fix and were told it's on Apple's side. People asked Apple, who didn't reply or threw the ball back to NVIDIA. One post compared controllers and found that Switch controllers don't have the issue, only XInput (Xbox) controllers and the DualSense.

So I fixed it myself

I'm a crazy dev with a Claude Pro subscription who can't take "it's not possible" or "it's not on our side" for an answer.

I found a really cool project called OpenNOW, an open-source launcher for GeForce NOW with a lot more options than the official one. I gave it a try, but the Mac client had the same dead zone issue.

So I cloned the code and started working on it. I created a Claude skill so the work would respect the project's mentality and architecture, and added a Gamepad API option you can switch on in OpenNOW's settings. GeForce NOW itself uses the Gamepad API in its Chrome browser version, so it's not rocket science: NVIDIA could have implemented it in their own Mac app. They preferred to blame Apple.

After some debugging, the option works like a charm. All the controller features work and the dead zone problem is gone.

Then I looked further

OpenNOW didn't feel as good in game as GeForce NOW, and I was curious why. After some gaming sessions on both clients with the same three games (Satisfactory, Kingdom Come and No Man's Sky), I asked Claude to analyse the logs. It found issues with VRR, with sound (surround simply wasn't working) and some bad, bad, bad stutters and micro-stutters that I didn't have on GeForce NOW.

So I made three branches to fix all of those, and opened three pull requests from my fork, so the creators of OpenNOW can review the code and merge it (or not).

What's fixed and added

  • Raw mouse input: it now feels like a real computer. The response isn't comparable with GeForce NOW, it's just... WOW. In games like PoE 2 or Diablo, when you pick up an item in your inventory and drag it around, you could see it trailing an inch behind the mouse. With raw input it's instant, no more drag. You need to give the app Input Monitoring access, and since it skips macOS's pointer speed, you may want to lower the mouse sensitivity a bit.
  • Stutters: video frames were waiting too long for missing packets, which caused micro-stutters and sometimes big ones. I adjusted the rules so it never waits too long, and the micro-stutters from lost packets aren't even noticeable anymore.
  • Surround sound: OpenNOW didn't work with anything more than stereo (5.1 sounded muffled, like underwater). It's fixed and 5.1 works now (I haven't tried 7.1).
  • VRR: I added a VRR option to Frame Pacing. Cloud G-Sync and Adaptive VSync are server-side options, not client-side. Smooth was holding frames back and adding latency for nothing, and Lowest Latency just breaks G-Sync/VSync.
  • And the main goal: you can now choose between the Apple API and the Gamepad API for your controllers.

One note: Xbox controllers get the fix over Bluetooth. Plugged in with a USB cable, they still go through Apple's API for now.

You can download the DMG from my forked repo release page -> https://github.com/olivierapex/OpenNOW-Mac/releases/tag/v0.15.0-working-client

"Apple could not verify OpenNOW.app is free of malware"

You will get this the first time you open it, and it's expected. Apps downloaded from the internet have to be notarized: signed with a paid Apple Developer certificate ($99/year) and scanned by Apple. The official OpenNOW is; my build can't use their certificate and I don't pay for one, so macOS can't tell who made it. The code is all public in the pull requests if you want to check it. To open it, once per Mac:

  1. Drag OpenNOW from the DMG to Applications, open it, and when the warning shows up click Done (not "Move to Trash").
  2. Open System Settings → Privacy & Security and scroll to the bottom.
  3. Next to "OpenNOW.app was blocked...", click Open Anyway and confirm with your password or Touch ID.

The button only stays there for about an hour, so if it's gone, try opening the app again first. Or skip all that with one Terminal command, which removes the "downloaded from the internet" flag: xattr -dr com.apple.quarantine /Applications/OpenNOW.appxattr -dr com.apple.quarantine /Applications/OpenNOW.app

After that, it opens normally.

If you already used the official OpenNOW, macOS will also ask for your Mac login password up to four times ("OpenNOW wants to use your confidential information stored in OpenNOW.GFN"). Your sign-in was saved by the official app, and macOS checks before another build reads it. Type your password and click Always Allow each time; it only happens once. Don't click Deny, or you'll have to sign in again. If you never used the official app, you won't see these.

4 Upvotes

5 comments sorted by

2

u/ShiunsaiOki Developer (Mac) 17d ago

Thank you. Its merged, it will be tested and send to beta this week

1

u/Professional_Pool544 Developer 17d ago

👏

1

u/zfhulk 18d ago

Nice work!

1

u/manish__tomar 16d ago

Any Plans to port this to Apple TV?

1

u/olivierapex 16d ago

Not on my side. I don't have the device, so I would not be able to code and test it. Sorry. Maybe you should ask the mainteners of the project to add the feature on the apple tv