jorgepasco1

macrumors newbie
Original poster
Apr 1, 2020
13
9
I have come across this weird bug a few moments ago. When the cursor transitions from link mode to normal, it moves to the left for an instant before being displayed in the correct location.


This only happens when I have the Automatic graphics switching off (I turned it off to confirm that the stutter problems in the MBP 16" were, in fact, an iGPU issue.). And, apparently it is just a visual bug, because in screen recordings the cursor seems to behave normally.


Have anyone stumbled upon this issue or know how to fix it? By the way, I updated today to Catalina 10.15.4 Suplemental (19E287).
 
  • Like
Reactions: pkamb and Sanpete

PeanutButterJellyTime

macrumors newbie
Aug 14, 2020
5
0
Just to let you know. You're not alone:


 

jorgepasco1

macrumors newbie
Original poster
Apr 1, 2020
13
9
Just to let you know. You're not alone:



Well, apparently is a common OS bug, Apple has really let me down, this is my first MacBook and I’ve had this and another, more serious, issue.
 

jorgepasco1

macrumors newbie
Original poster
Apr 1, 2020
13
9
So, I hope this is useful for anyone having this issue, I found a software workaround to this bug.

First of all, the bug only happens only when running on dGPU, and I found out that it's related the card not properly adjusting secondary cursors to the same reference positions of the arrow one (on cursor change, e.g transitioning from link cursor to normal). So, the solution was manually changing theses values on the system files to be the same.

Now, it's not that easy to do so, because since Catalina, MacOS would not let you edit files in the System/ directory, even with System Integrity Protection (SIP) off. So, the first thing to do is unlocking this protection. For that, you would have to first go to the macOS Recovery Mode. For that:

  1. Turn on your Mac and immediately press and hold these two keys: Command (⌘) and R.
  2. Release the keys when you see an Apple logo, spinning globe, or other startup screen.
  3. You might be prompted to enter a password, such as a firmware password or the password of a user who is an administrator of this Mac. Enter the requested password to continue.
    Password request window
  4. Startup is complete when you see the utilities window:
    macOS Utilities window
  5. In the Recovery Screen, go to the menu Utilities -> Terminal, and type the following:
Code:
> csrutil disable
> reboot

Now, in normal mode, open a terminal window, and run:
Code:
> sudo mount -uw /
> killall Finder

Now, you should be able to edit files in the Systems directory. After restarting, the directory will be read only again, but you should manually enable SIP again, more on that later.

For editing the files I used Visual Studio Code with an extension called Binary Plist, which lets me edit the binary plist field as an XML and transform it back to binary on save. You could use anything that lets you edit files with these extensions as required.

Now, move to /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/Resources/cursors/ (use cd command) This is where all the files that controls the cursors are.

1601428979620.png


You have to copy these whole folder to another directory, since you will not be able to edit these files directly from VSCode. Move a directory up with > cd .. and copy to another directory, for example home:

Code:
> cp -R ./cursors ~/cursors

I suggest that you keep a backup of the original cursors folder. Now open the cursors directory in VSCode:

1601429212183.png

As you see, every pointer (e.g. the pontinghand, which is displayed on links hover) has a file for the image and another for configuration (info.plist). If you have the Binary Plist extension installed, when you open a plist file and click on the " Do you want to open it anyway" link, you should get second tab in the form of plist XML
1601429360904.png

Binary form:
1601429449277.png

XML form:
1601429423095.png

So now, you can modify the values as needed. We need to edit the hotx and hoty values (I haven't tried with the -scaled values, since I would not be using escalation for my display, you might want to experiment with that, too). Change the hotx and hoty values to 4 (Inside the <integer></integer> tag below the corresponding key).

1601429631565.png

I changed these values for all the cursors, but you can do it just for the pointing hand if that's what you only care about.

Once all these files are ready, it's time to move them to the System directory. For that, in the terminal, move to the directory where you have the edited cursors folder (cd ~, in this example) and run:

Code:
> sudo cp -R ./cursors /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/Resources/

Now, restart your computer, and the jittering problem should not be there anymore.

Once this is done, you should restart on Recovery Mode again, open the terminal and run:

Code:
> csrutil enable
> reboot

And that would be all. I hope it's helpful for you guys, it was really frustrating for me and I was so relieved when I got to fix it with this.
 

Attachments

  • 1601428774731.png
    1601428774731.png
    382.6 KB · Views: 113
Last edited:

rav3nloft

macrumors newbie
Oct 14, 2020
8
1
So, I hope this is useful for anyone having this issue, I found a software workaround to this bug.

First of all, the bug only happens only when running on dGPU, and I found out that it's related the card not properly adjusting secondary cursors to the same reference positions of the arrow one (on cursor change, e.g transitioning from link cursor to normal). So, the solution was manually changing theses values on the system files to be the same.

Now, it's not that easy to do so, because since Catalina, MacOS would not let you edit files in the System/ directory, even with System Integrity Protection (SIP) off. So, the first thing to do is unlocking this protection. For that, you would have to first go to the macOS Recovery Mode. For that:

  1. Turn on your Mac and immediately press and hold these two keys: Command (⌘) and R.
  2. Release the keys when you see an Apple logo, spinning globe, or other startup screen.
  3. You might be prompted to enter a password, such as a firmware password or the password of a user who is an administrator of this Mac. Enter the requested password to continue.
    Password request window
  4. Startup is complete when you see the utilities window:
    macOS Utilities window
  5. In the Recovery Screen, go to the menu Utilities -> Terminal, and type the following:
Code:
> csrutil disable
> reboot

Now, in normal mode, open a terminal window, and run:
Code:
> sudo mount -uw /
> killall Finder

Now, you should be able to edit files in the Systems directory. After restarting, the directory will be read only again, but you should manually enable SIP again, more on that later.

For editing the files I used Visual Studio Code with an extension called Binary Plist, which lets me edit the binary plist field as an XML and transform it back to binary on save. You could use anything that lets you edit files with these extensions as required.

Now, move to /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/Resources/cursors/ (use cd command) This is where all the files that controls the cursors are.

View attachment 961271

You have to copy these whole folder to another directory, since you will not be able to edit these files directly from VSCode. Move a directory up with > cd .. and copy to another directory, for example home:

Code:
> cp -R ./cursors ~/cursors

I suggest that you keep a backup of the original cursors folder. Now open the cursors directory in VSCode:

View attachment 961272
As you see, every pointer (e.g. the pontinghand, which is displayed on links hover) has a file for the image and another for configuration (info.plist). If you have the Binary Plist extension installed, when you open a plist file and click on the " Do you want to open it anyway" link, you should get second tab in the form of plist XML View attachment 961273
Binary form:
View attachment 961276
XML form:
View attachment 961275
So now, you can modify the values as needed. We need to edit the hotx and hoty values (I haven't tried with the -scaled values, since I would not be using escalation for my display, you might want to experiment with that, too). Change the hotx and hoty values to 4 (Inside the <integer></integer> tag below the corresponding key).

View attachment 961277
I changed these values for all the cursors, but you can do it just for the pointing hand if that's what you only care about.

Once all these files are ready, it's time to move them to the System directory. For that, in the terminal, move to the directory where you have the edited cursors folder (cd ~, in this example) and run:

Code:
> sudo cp -R ./cursors /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/Resources/

Now, restart your computer, and the jittering problem should not be there anymore.

Once this is done, you should restart on Recovery Mode again, open the terminal and run:

Code:
> csrutil enable
> reboot

And that would be all. I hope it's helpful for you guys, it was really frustrating for me and I was so relieved when I got to fix it with this.
Dude! You are awesome!! Thank you so much!! This weird cursor jittering has been driving me nuts ever since I bought this laptop. I am so disappointed by Apple that they have not yet fixed this minor thing as it is just changing two values. I also do not understand how this weird cursor could pass quality control at Apple. Every professional video editor/photographer should be super annoyed by this issue and raise a complaint to Apple. Don't know why so many people seem to tolerate it...
Your workaround works just perfectly! I can recommend anybody with this cursor issue to take the 15mins, run your commands, do the changes in VS editor and be happy.

I just registered at this forum to thank you for your help and confirm to other users that might come across that this fix works!

Cheers!
 
Last edited:

jorgepasco1

macrumors newbie
Original poster
Apr 1, 2020
13
9
Dude! You are awesome!! Thank you so much!! This weird cursor jittering has been driving me nuts ever since I bought this laptop. I am so disappointed by Apple that they have not yet fixed this minor thing as it is just changing two values. I also do not understand how this weird cursor could pass quality control at Apple. Every professional video editor/photographer should be super annoyed by this issue and raise a complaint to Apple. Don't know why so many people seem to tolerate it...
Your workaround works just perfectly! I can recommend anybody with this cursor issue to take the 15mins, run your commands, do the changes in VS editor and be happy.

I just registered at this forum to thank you for your help and confirm to other users that might come across that this fix works!

Cheers!

It is also very hard for me to understand how it has not been raised to Apple, maybe it doesn't happen to everyone. It was also driving me nuts. By the way, let me know if you find come cursors getting cut off after doing this, there's also another workaround to that by editing the pdf files that has the cursor vectors 🙄, I think it's more a problem of AMD than Apple itself, since I've found out that this problem happens only with AMD cards, even in Hackintosh machines, doesn't happen with NVIDIA, neither with the iGPU, but I do think Apple should take care of it via software. I encourage you to redirect anyone with this problem to this post, and hopefully we can raise it up to Apple. Cheers!
 

rav3nloft

macrumors newbie
Oct 14, 2020
8
1
Yes, I agree. I tried several different Macs at three local Apple stores. Anytime it had an AMD card I was able to reproduce the issue! Doesn't matter if it was a Mac Pro, iMac Pro or MacBook Pro. It is software related for sure. I will also monitor how the cursor behaves and get back to you in case I would notice anything.
I came across the very same question on Apple Stackexchange:

I have linked to your post here on MacRumors. However, the thread starter has asked me to post your fix in his thread so that a solution is fully documented there as well instead of having just a link. I declined the request as it is your fix. I do not want to take ownership for your work. Can I ask you to post it there as well? It seems like an important place that Apple might pay attention to. Just follow the link and do a copy paste of your materials. I think they would appreciate that a lot.

Cheers!
 
Last edited:

jorgepasco1

macrumors newbie
Original poster
Apr 1, 2020
13
9
Yes, I agree. I tried several different Macs at three local Apple stores. Anytime it had an AMD card I was able to reproduce the issue! Doesn't matter if it was a Mac Pro, iMac Pro or MacBook Pro. It is software related for sure. I will also monitor how the cursor behaves and get back to you in case I would notice anything.
I came across the very same question on Apple Stackexchange:

I have linked to your post here on MacRumors. However, the thread starter has asked me to post your fix in his thread so that a solution is fully documented there as well instead of having just a link. I declined the request as it is your fix. I do not want to take ownership for your work. Can I ask you to post it there as well? It seems like an important place that Apple might pay attention to. Just follow the link and do a copy paste of your materials. I think they would appreciate that a lot.

Cheers!
Go ahead and post it, mate! You can put the link as a source or something, I really don’t care as much for the credit as for getting this issue noticed :)
 

rav3nloft

macrumors newbie
Oct 14, 2020
8
1
Okay, I have posted the fix on Apple Stackexchange and Reddit and referenced your name & post here!
I am curious to find out if your fix will still work after the Big Sur update...? Or Apple might use the opportunity of the major graphics overhaul to fix this issue as well... Let's see, shouldn't be too far away. In case your fix is erased during the update we know at least what to do to get rid of the issue!

Cheers!
 

rav3nloft

macrumors newbie
Oct 14, 2020
8
1
Let’s hope so! But I’ve seen complaints about this since El Capitan...
Hi,
I have now updated to Big Sur. The cursor is jumping again but the effect is less noticeable compared to Catalina. It does not seem like a diagonal jumping up and down anymore but rather like a minor horizontal jump to the left and back (?).

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.

Have you or anybody else had a similar experience?
 
Last edited:
  • Like
Reactions: dagarmedia

Splines&SFX

macrumors newbie
Dec 4, 2020
1
0
I Haven't attempted the fix in Catalina. Just updated to Big Sur hoping it would fix this issue and the cursor behavior is unchanged. This is infuriating. Spend 3k on a laptop and get a fundamental visual bug Apple seems to have no interest in fixing. Gonna get on the horn with apple support tomorrow, probably to no avail. 😡
 

Deslaure

macrumors newbie
Jan 7, 2021
2
0
Hi, I had the same problem and did the trick proposed by jorgepasco1 and it worked well. But, as soon as I connect a second monitor (Phiilips 4k, usb-c connected) to my mac, the problem comes back. When I disconnect my second monitor, the problem is solved again (only after I reboot Chrome). Any thing I can do more to correct this ?

I'm on a Macbook Pro 16in w/ Catalina
 
Last edited:

Walther W. [Rus]

macrumors newbie
Jan 27, 2021
1
1
Edinburgh, Scotland
I translate my message from Russian via Google Translate so that you can read it:

I can't try to solve the problem because I gave my Macbook pro 16 i9 to the service center. I bought a Macbook in February 2020, there was a Catalina and I immediately noticed that the cursor jumps, but only when running AMD Radeon 5500M, when not built-in, but discrete graphics are enabled. I was waiting for Apple to fix the problem, but by the summer my patience ran out and I started calling support. I called them every two days from August 2020 to December 2020, and they never solved the problem. By the end of September, they just answered-wait for Big Sur, go to Mac OS Big Sur. Didn't want to solve the problem, were you stalling for time? I really hoped that it was in Big Sur Apple that the problem was fixed. Updated to Big Sur, and there the cursor jumps even more! I continued to call Apple technical support and their only response was — we are trying to find out what the problem is, wait. After 2-3 months, on January 8, I finally became disillusioned with Apple and took the Macbook to a service center. And there the problem could not be solved and began to contact Apple. And here, a miracle, I found this article on the Internet from the user jorgepasco1. I sent a link to this article to Apple several times during negotiations with technical support, and also reported the problem in a special window on the Apple website "Report a problem". I sent a link to this article there. Almost a month has passed and there is still no response from technical support. They just ignore it, even though there is a solution to the problem! I am waiting for a response from the service center to get my money back. I'm incredibly disappointed in Apple.

Original Message (russia): Попробовать решение проблемы не могу из-за того, что свой Macbook pro 16 i9 отдал в сервисный центр. Купил я Macbook в феврале 2020, стояла Catalina и я сразу заметил, что курсор прыгает, но только при работе AMD Radeon 5500M, когда включена не встроенная, а дискретная графика. Ждал, когда Apple исправят проблему, но к лету мое терпение кончилось и я стал звонить в поддержку. Я звонил им каждые два дня с августа 2020 до декабря 2020, и они так и не решили проблему. К концу сентября просто отвечали — ждите Big Sur, переходите на Big Sur. Не хотели решать проблему, тянули время? Я очень надеялся, что именно в Big Sur Apple проблему исправили. Обновился до Big Sur, а там курсор прыгает еще сильнее! Продолжил звонить в техподдержку Apple и единственным их ответом было — мы пытаемся выяснить в чем проблема, ждите. Спустя 2-3 месяца, 8 января я окончательно разочаровался в Apple и отвез Macbook в сервисный центр. И там проблему решить не смогли и стали обращаться в Apple. И вот, чудо, я нашел в интернете эту статью от пользователя jorgepasco1. Я несколько раз отправил ссылку на эту статью в Apple во время переговоров с техподдержкой, а также сообщил о проблеме в специальное окно на сайте Apple "Сообщить о проблеме". Отправил туда ссылку на эту статью. Прошел почти месяц и никакого ответа от техподдержки всё еще нет. Они просто игнорируют, хотя решение проблемы есть! Жду, что ответят в сервисном центре, чтобы вернуть свои деньги. Я невероятно разочаровался в Apple.
 
  • Like
Reactions: Deslaure

Deslaure

macrumors newbie
Jan 7, 2021
2
0
I think I found it!

My issue is appearing when my computer is using my SECOND video card! It happens when I'm using a video consuming app or if I plug an external screen. My computer is automatically switching to my Radeon and the cursor problem occurs!

Beside, I found a way to FORCE my cursor to act weirdly by deactivating the "Automatic Graphic Switching" in the Energy Server panel. When I turn the "Automatic Graphic Switching" off, my cursor is having strokes 100% of the time.

I really think the problem is my Radeon, or the memory on it.
 

GradusD

macrumors newbie
Jun 13, 2021
2
0
So, I hope this is useful for anyone having this issue, I found a software workaround to this bug.

First of all, the bug only happens only when running on dGPU, and I found out that it's related the card not properly adjusting secondary cursors to the same reference positions of the arrow one (on cursor change, e.g transitioning from link cursor to normal). So, the solution was manually changing theses values on the system files to be the same.

Now, it's not that easy to do so, because since Catalina, MacOS would not let you edit files in the System/ directory, even with System Integrity Protection (SIP) off. So, the first thing to do is unlocking this protection. For that, you would have to first go to the macOS Recovery Mode. For that:

  1. Turn on your Mac and immediately press and hold these two keys: Command (⌘) and R.
  2. Release the keys when you see an Apple logo, spinning globe, or other startup screen.
  3. You might be prompted to enter a password, such as a firmware password or the password of a user who is an administrator of this Mac. Enter the requested password to continue.
    Password request window
  4. Startup is complete when you see the utilities window:
    macOS Utilities window
  5. In the Recovery Screen, go to the menu Utilities -> Terminal, and type the following:
Code:
> csrutil disable
> reboot

Now, in normal mode, open a terminal window, and run:
Code:
> sudo mount -uw /
> killall Finder

Now, you should be able to edit files in the Systems directory. After restarting, the directory will be read only again, but you should manually enable SIP again, more on that later.

For editing the files I used Visual Studio Code with an extension called Binary Plist, which lets me edit the binary plist field as an XML and transform it back to binary on save. You could use anything that lets you edit files with these extensions as required.

Now, move to /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/Resources/cursors/ (use cd command) This is where all the files that controls the cursors are.

View attachment 961271

You have to copy these whole folder to another directory, since you will not be able to edit these files directly from VSCode. Move a directory up with > cd .. and copy to another directory, for example home:

Code:
> cp -R ./cursors ~/cursors

I suggest that you keep a backup of the original cursors folder. Now open the cursors directory in VSCode:

View attachment 961272
As you see, every pointer (e.g. the pontinghand, which is displayed on links hover) has a file for the image and another for configuration (info.plist). If you have the Binary Plist extension installed, when you open a plist file and click on the " Do you want to open it anyway" link, you should get second tab in the form of plist XML View attachment 961273
Binary form:
View attachment 961276
XML form:
View attachment 961275
Так что теперь вы можете изменять значения по мере необходимости. Нам нужно отредактировать значения hotx и hoty (я не пробовал использовать значения-scaled, так как я не буду использовать эскалацию для своего дисплея, вы можете поэкспериментировать и с этим). Change the hotx and hoty values to 4 (Inside the <integer></integer> tag below the corresponding key).

View attachment 961277
I changed these values for all the cursors, but you can do it just for the pointing hand if that's what you only care about.

Как только все эти файлы будут готовы, пришло время переместить их в системный каталог. For that, in the terminal, move to the directory where you have the edited cursors folder (cd ~, in this example) and run:

Code:
> sudo cp -R ./cursors /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/Resources/

Now, restart your computer, and the jittering problem should not be there anymore.

Once this is done, you should restart on Recovery Mode again, open the terminal and run:

Code:
> csrutil enable
> reboot

И это было бы все. I hope it's helpful for you guys, it was really frustrating for me and I was so relieved when I got to fix it with this.
Hello, thank you for your help! the second tab does not open for me in Visual Studio Code. i need to install Binary Plist? how to do it?
 

GradusD

macrumors newbie
Jun 13, 2021
2
0
Hello, thank you for your help! the second tab does not open for me in Visual Studio Code. i need to install Binary Plist? how to do it?
it all worked for me! Thank you! to edit the files I used the program PlistEdit Pro
 

kaszasneni

macrumors newbie
Jul 30, 2021
1
0
Hey, does anyone have a solution for this on Big Sur? Changing system files is not so easy anymore, I tried it with this risky "csrutil authenticated-root disable" and it ruined my MacBook. I have to reinstall macOS.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.