Hi there,

I suffer from severe headaches and migraines caused by temporal dithering. Currently I'm using desktop PCs running Windows 7 with Nvidia graphics cards in them (GTX560 & GT610) with little to no issues compared to other setups.

I'd love to be able to use my Macbook again but since OSX has temporal dithering enabled for all cards by default I just can't - more than 15 mins of use and I start to develop intense symptoms. It is possible to disable temporal dithering in OSX using a kernel extension, and I recently came across a forum post with some great info:

http://forums.macrumors.com/threads/10-7-1-update-no-good-getting-the-dell-u2211h-to-work-properly-on-a-2010-mac-mini.1022386/page-8

These guys seem to have modified a kernel extension called NVInject which disables temporal dithering on both the internal and external monitors in OSX. One user has modified it for 64-bit Kernel which is what everyone here will be using I reckon. This is only for Nvidia cards but apparently works nicely for external monitors particularly. I'm yet to test it but have packaged 2 versions of the extension plus the utility for installing. One version is to disable dithering on external monitors only and one is for both internal and external monitors, available here:

http://shooglestudios.com/Downloads/NVInject.zip.

I am unable to test currently but if some members who are experienced with kernel extensions could take a look it would be great. Of course, experience with this kind of thing is necessary before playing around!

    15 days later

    I seriously doubt you can get it to do much for you now, this kext was intended for Lion. Odds of it working for Yosemite or El Capitan are slim at best.

    8 years later

    Thank you SO much, this works PERFECTLY on my MacBook Pro (13-inch, Mid 2009, NVIDIA 9400M) that is running Monterey 12.7.4 through OpenCore Legacy Patcher.

    Here is my LCD panel ID BTW: LTN133AT09 (You can get the panel ID on some Intel Macs by running ioreg -lw0 | grep IODisplayEDID | sed "/[^<]*</s///" | xxd -p -r ๐Ÿ‘€ )

    This is the only working 64-bit macOS NVIDIA temporal dithering disable method that I've been able to find on the entire Internet, so I am extremely grateful for this. If this link ever goes down I will be sure to mirror this โ€” will even set reminders to check so I don't forget!

    After installing the kext, temporal dithering is 100% disabled. Graphics are reduced to 6-bit. Banding is fully visible.

    (The only pixel flicker that remains is a very subtle, predictable LCD pixel inversion pattern. Fortunately, unlike the chaotic dithering that made everything feel unstable โ€” I am fine with the pixel inversion because it does NOT affect the screen stability to my eyes!)

    The only thing I had to change for this to work on my OCLP macOS Monterey install was instead of using the kext installer utility, I needed to install it manually:

    • sudo mv NVInject.kext /Library/Extensions/NVInject.kext

    • sudo chown -R 0:0 /Library/Extensions/NVInject.kext

    • sudo kmutil load -p /Library/Extensions/NVinject.kext

    • Allow the kext in System Preferences -> Security & Privacy

    • Before rebooting, reinstall the OpenCore Root Patches again through the OpenCore app (this ensures that the new kext doesn't interfere with the other patches โ€” possibly not needed but good to stay on the safe side)

    • Reboot

    • ๊ฉœ


    BTW, if you want to run Linux on an old NVIDIA MacBook instead of macOS, the dither disable method is even easier โ€” just run xrandr --output LVDS-2 --set "dithering mode" "off" in the Linux terminal โ€” tested & working on Ubuntu MATE 18.04 LTS. Some MacBooks require a different number next to LVDS (e.g. LVDS-1 on the Late 2008 15" MacBook Pro). On Linux, the change will register immediately without requiring a reboot ๐Ÿ˜‰

    Also, for some reason the Mid 2009 13" is much better than the Late 2008 15", even when booting off the same Ubuntu and macOS hard drives. The 2008 has a (mild, but noticeable) version of the infamous false 3D effect and dries out my eyes, even when dithering is disabled โ€” but the 2009 looks so much flatter and is 100% usable for me. Given this happens across all OSes on the 2008, it's probably caused by the panel. Both laptops use PWM.

    So if you're trying to find an old usable MacBook and you're OK with "older kinds" of PWM, I heavily reccomend the 2009 13" โ€” if you get one, definitely check if the panel matches the one at the top of this post ๐Ÿ™‚

    6 months later

    si_edgey Hi, I found useful the info on this forum, and I would underline that now there is a dedicated app to disable dithering. Try to search Stillcolor. It is very simple to install. I hope this can help since I found a noticeable improvement in eye strain.

    dev