12

I'm experiencing a jittery/buggy/flickering mouse cursor when moving my mouse over hyperlinks.

gif of this problem in slow-mo

This occurs in both Safari and Chrome. It also occurs in other non-hyperlink instances of the mouse cursor changing, such as hovering over the drag handle when resizing Finder columns.

Every time the mouse transitions from the hyperlink pointer to the arrow pointer, the arrow pointer briefly visibly flashes in the wrong position before correcting itself.

This is in macOS 10.15 Catalina on my new 16" MacBook Pro with AMD Radeon Pro 5500M 8 GB GPU, provided by work and with a variety of software installed.

I now notice I'm also experiencing it on a Mid 2015 15" MacBook Pro running Catalina with the AMD Radeon R9 M370X 2 GB. I don't believe this computer used to have this problem, prior to upgrading to Catalina.

This occurs 100% of the time when the discrete GPU is active. Namely:

  • Any time an external display is connected.
  • If "Automatic graphics switching" is toggled off, it will reproduce on the MacBook's display.

The issue has been tested and occurs using the onboard laptop Trackpad, external Magic Trackpad, and an IBM TrackPoint. It is unrelated to input device or tracking speed.


Reproduction steps:

  1. Hover mouse above a hyperlink. (Shows "Mickey Mouse glove" pointer.)
  2. Move mouse pointer off the hyperlink so that cursor changes to the arrow pointer.
  3. Arrow pointer initially flashes at the "top left" position of the mouse bounding box for 1 frame.
  4. Arrow pointer then flashes back to its true position, pointing at the same pixels that the hyperlink glove was originally pointing.

When I create a screen recording via QuickTime, the mouse glitch is not visible in the recording.

Here is an iPhone video of my Mac's screen demonstrating the issue:

gif of this problem in action

Relevant section in slo-mo:

gif of this problem in slow-mo

This is driving me nuts. On link-heavy pages, moving the mouse across the screen results in a dizzying blur of pointer motion. Middle-clicking a link also produces a similar jitter.


I've reported this to Apple via their Feedback Reporter:

FB8452310 - GPU causes mouse cursor glitch on 16" MacBook Pro


This bug is also mentioned here:

1
  • Comments are not for extended discussion; this conversation has been moved to chat.
    – bmike
    Aug 24 '20 at 23:54
8

So happy to hear I'm not the only one with this issue. Bought a new MacBook Pro 16 inch earlier this year in May, having that issue since.

  • After I bought it, I noticed the issue. Contacted Apple, told me to send it in for repair or exchange it for a new one at the retailer. So I replaced it. Brand new MacBook, same issue (however only after logging in with my Apple ID).
  • We're now deep into August and I've been in contact with several people at Apple since May. To no avail. We're now trying to escalate the issue to other departments, but not sure how long this will all take. The general comment they've made is "that the resolution might come in the form of an update, so keep an eye out on that"..

Some things I've noticed that might be helpful for others to know:

  • At first I thought the issue was with external displays. But after further debugging it seems the issue has to do with my GPU (AMD Radeon Pro 5500M 8 GB). The reason it seems the issue has to do with an external display is that the MacBook will switch from the embedded Intel UHD Graphics card to the better GPU when plugging in certain displays.
  • You can try the above by opening something like Final Cut Pro without an external display plugged in. The issue will then appear since the MacBook switches to the other GPU. You can also verify this by disabling "Automatic graphics switching" in the "Energy Saver" settings.
  • A clean install doesn't fix the issue. It also doesn't seem to be a hardware issue since the problem appeared on two separate MacBook Pro's.

I'll update the answer when I hear back from Apple. If anyone else has more info, glad to know.

6

thank you very much for the thorough documentation of the issue. I have got the same issue with my MacBook Pro 16'' 2019 and it has been driving me nuts!

I came across this forum post and was able to fix the problem with the suggested changes to the system files: https://forums.macrumors.com/threads/weird-cursor-behavior.2230749/post-28968427

I have also submitted a bug report to Apple (twice). Moreover, I have been in touch with their customer support but they won't acknowledge that it is a software issue. I had to send it in twice but they could not find any hardware issues (obviously). The third time I sent it in they told me everything was fine and the cursor jitter is expected behaviour. What a joke...

Don't expect this to be fixed anytime fast by Apple but thank god somebody very smart at MacRumors was able to fix it manually. I am happy now.

I hope I could help. Please let this forum post circulate so that other users can apply the fix and one day this issue might be raised to Apple in a way that they fix it. The user base with the AMD graphics cards seems to be too small for them to really care...

6
  • Thank you for the update! Could you edit your answer to include the exact files and .plist changes that need to be made? (steps such as disabling SIP can just be linked to)
    – pkamb
    Oct 14 '20 at 21:40
  • Hi, it is not my fix. I just know from research that the same issue has been raised in both forums and I wanted to link the threads given the fact that a solution is now available. I will contact the guy from MacRumors forum so that he can post his workaround here, including the fixed files and his screenshots. I do not want to take ownership of his work. As of now you can have a quick fix but just following the link. But I understand that it makes sense to have the fix fully documented on this forum as well. Cheers!
    – ravenloft
    Oct 14 '20 at 21:45
  • it's generally ok on Stack Exchange to quote someone's forum posts, and it's good to have all of the information posted here rather than just links to another site. You can credit their username in the answer. Thanks for this answer; going to try it myself.
    – pkamb
    Oct 14 '20 at 21:52
  • Okay I have posted the solution here as well. Give it a go and be a happy Mac user again! I can't understand why this has not yet been fixed and not more people are complaining...?
    – ravenloft
    Oct 15 '20 at 7:28
  • 2
    No longer works on Big Sur. Mounting the root volume as writeable on macOS Big Sur is a mess. Dec 19 '20 at 7:13
5

This answer is an attempt to simplify and summarize the solution provided in other answers and websites: 1, 2, 3.

MacOS cursor files are located in frameworks in the Systems directory:

/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/Resources/cursors/


To edit these files you will need to disable System Integrity Protection and allow write access to the System Volume:


The cursors directory has a subfolder for each cursor type, such as pointinghand. Each cursor will have a cursor.pdf and info.plist.

You should back-up the system's version of these cursor files and copy modified files in their place.

Opening pointinghand/info.plist on macOS Catalina 10.15.7 (where I am experiencing this problem) shows:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>blur</key>
    <string>0</string>
    <key>hotx</key>
    <string>13</string>
    <key>hotx-scaled</key>
    <string>13</string>
    <key>hoty</key>
    <string>8</string>
    <key>hoty-scaled</key>
    <string>8</string>
    <key>shadowcolor</key>
    <array>
        <string>0</string>
        <string>0</string>
        <string>0</string>
        <string>0</string>
    </array>
    <key>shadowoffsetx</key>
    <string>0</string>
    <key>shadowoffsety</key>
    <string>-1</string>
    <key>vectoronly</key>
    <string>:true</string>
</dict>
</plist>

The relevant keys are hotx + hoty, and hotx-scaled + hoty-scaled:

    <key>hotx</key>
    <string>13</string>
    <key>hotx-scaled</key>
    <string>13</string>
    <key>hoty</key>
    <string>8</string>
    <key>hoty-scaled</key>
    <string>8</string>

Changing the hotx and hoty values is said to fix the problem. (Save the modified files, with any needed permissions, and reboot.)

Values of 4 and 4 have been suggested. This may require testing to find the correct values.

It's unclear when the -scaled values are used and if those should be changed.


Please leave a comment on this answer if this solution worked for you, and which values you used.

2
  • 2
    Helped, but it will better to know the reason of this issue. Because I have the same problem with TEXT cursor but it is not so significant. I've noticed that on just new macbook it doesn't happen, and starting occur after some days.
    – user6327
    Nov 6 '20 at 9:31
  • I have now updated to Big Sur and the fixes do not seem to have carried over. I am not sure if our cursor adjustments have carried over and are now distorting the original Big Sur values or if Big Sur has overwritten our adjustments with new values that constitute an improvement but still make the cursor jump slightly when changing to the pointing hand. However, it seems to me that the issue is less significant and the jump appears to be smaller and feels more horizontally. What are your experiences with Big Sur and the cursor issue?
    – ravenloft
    Nov 13 '20 at 12:24
3

This is probably a bug that you can report via radar to Apple.

The issue is that the location for the hit test for the two icons is in a different place. For the pointer, the hit test is in the top left of the arrow. For the mouse glove, it’s on the index finger.

When changing icons, the image is simply swapped over using the same x,y coordinates. However the hit point effectively moves, so the pointer image jumps to the left to compensate and so the hit point is in the same place on screen as before.

Ideally the changed icon image shouldn’t be shown until the hit point is recalculated and both steps are done at the same time, but that’s why you’re seeing the jump. The reverse occurs and the jump is to the opposite direction when going in reverse.

Apple used to care about quality and fixing these sorts of issues but my guess is they won’t fix it for their current shipping os now that big sur has been revealed. Of course if it still shows up there then you might have a shot. You can use the feedback assistant to file a bug with Apple.

2
  • 1
    If my experience is any clue, Apple will respond with a request that we do the debugging and send them a humongous file. Like Microsoft, they promise not to abuse the personal data in the file. If you work in health care in USA and have ever had patient data in your Mac, sending that file is illegal. (And if they see it and don’t report you, they are breaking the law.)
    – WGroleau
    Aug 17 '20 at 20:12
  • @WGroleau I have machines and vm so I can reproduce bugs and be sure I’m not disclosing anything. Your point is valid - I trust Apple, but still they can’t lose data I never give them. As a pro, I try to always do the right thing even when it means I may not report detail on something I can not reproduce. The plus side of all this work, is reproducible bugs are about 1000x more likely to get fixed.
    – bmike
    Aug 24 '20 at 23:59
0

You'll need to try some logical steps to identify if the problem is hardware or not. Setup macOS to boot on an external drive and test booting it from the external drive. If the problem re-occurs try an earlier macOS version. If it still re-occurs it might be hardware.

If the problem disappears with a macOS version the same as the employers then they must have installed something that's causing the issue. It may be a security tool. At that point bring it up with your IT department see if any other Macs they built are doing it.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .