Are you still having eye strain now with the nvram dithering = 0 thing?
OSX dithering - Help wanted
caboy yeah, it's still there unfortunately, but it's way more usable. My old configuration (which was like 10-15 different things going on in the setup) was a 4-5/10 in terms of pain. This is like a 1.5/10, and for the most part uses macOS on its default settings other than the nvram argument, color profile, and font smoothing. I even have the resolution on default now, versus having to use the non-HiDPI resolution before. I'm gonna try to find a true 8-bit display to hook up my MacBook to so that I can test if it'll get rid of the last bit of strain.
ryans I would say the same answer as devilgrove, eyestrain improved from 4/10 pain to 1/10. Problem is that the banding is completely the same as before (at least on my MacBook Pro) so we have no objective way to prove it's not placebo and that it has a real effect
insta42014 it's 100% not placebo for me at least
- Edited
ryans Additionally, you can try to change gamma of the screen in the expert mode. It also has some effect.
https://discussions.apple.com/thread/8167595
But I use the predefined "Display P3" colour profile. BTW, my laptop has the LG screen. Probably, users will have another experience with the Samsung screens.
And, yes, I can confirm that I absolutely happy when dithering is disabled on my laptop.
…recently I bought the avalanche photodiode and I am going to build new very sensitive application to measure high frequency PWM on low brightness.
- Edited
My 2017 13 inch MBP without Touch Bar shows dithering is disabled by default running Catalina 10.15.7 (19H2026). This laptop running this OS doesn't bother me.
The output is:
2022-11-02 16:04:11.497027-0400 0x3cd Default 0x0 0 0 kernel: (AppleIntelKBLGraphicsFramebuffer) [IGFB][INFO ] [Modeset] Dither is disabled with bpc 1
The ioreg command listed above doesn't show much, but manually searching the output text file of ioreg -lw0 for IODisplayEDID shows a value of 1552 for my DisplayVendorID key. I don't know which vendor that is.
The system profiler output for this display is:
Intel Iris Plus Graphics 640:
Chipset Model: Intel Iris Plus Graphics 640
Type: GPU
Bus: Built-In
VRAM (Dynamic, Max): 1536 MB
Vendor: Intel
Device ID: 0x5926
Revision ID: 0x0006
Metal: Supported, feature set macOS GPUFamily2 v1
Displays:
Color LCD:
Display Type: Built-In Retina LCD
Resolution: 2560 x 1600 Retina
Framebuffer Depth: 24-Bit Color (ARGB8888)
Main Display: Yes
Mirror: Off
Online: Yes
Automatically Adjust Brightness: No
Connection Type: Internal
- Edited
Have people in general had a better experience with the models that up until recently did not support P3 color gamut? The two thunderbolt port 13 inch MacBook Pro that did not have the Touch Bar never supported it. It’s my recollection that that model continued to not support it up until the M2 changeover. I’m not as familiar with the MacBook air line but I think it’s similar.
Is log show --predicate "processID == 0" | grep Dither
specific to machines with intel graphics? I had a colleague run it on a 16 inch MBP M1 and a iMac Pro. The command took quite a while to return, but didn't output anything. I think they were both running Monterey.
I am trying to disable FRC dithering on a MacBook Air M2. However, I get this error code when typing nvram boot-args="dither=0"
in the terminal (recovery mode):
Error setting variable - 'boot-args': (iokit/common) not permitted.
Does anybody have a solution for it? Does it even work on the M2 Air? Thank you.
- Edited
NewDwarf Could you please advise me - I have 2018 15in macbook pro with Intel and AMD. Will this solution work, and even better, would it only work when I have Intel graphics on, but when AMD is switched to, it would look normal?
I nees this computer for work and am worried to turn the dithering off and see that its slow and unusable for intensive work then. Could you please also give me a guide on both switching it on and off via the terminal?
Thank you!
- Edited
martin You can turn off dithering by going into recovery mode and entering nvram boot-args="dither=0"
in Terminal, you can turn it on by doing the same but with dither=1. There is no change in performance
There isn’t any proof that it actually disable dithering but it may reduce your eyestrain
- Edited
I wasn't able to enter that command even in recovery mode (Error setting variable - 'boot-args': (iokit/common) not permitted.)
What I think is that working in safe mode definitely improves everything, including less neck pain, and all in all better, although I would need to test it. But, I feel right away less severe. I should also point out, that I get all the common problems using external monitor (benq BL2711U), which I bought 5-6 years ago because I had same problem I'm having now (with Mac Pro 2012 and Apple Displays). I specifically bought this monitor trying to find best one for the eyes, was using it with windows for 5-6 years and it was a joy. Plugged it with new MacBook Air M1 and problems came back. Light headache, a bit of noisia, neck pain, not being able to concentrate, etc.
p.s. I used Mac Pro for few years without ANY issue, and then when I switched to some OS version which I cannot remember now, problems started. Thing is I didn't connect it back then with OS, I thought it's something with monitors and myself. Now I started thinking this is not a monitor / hardware issue at all, but OS. I dunno….
Has anyone tried this on a 2019 16" (Intel+AMD)?
NewDwarf Hi, I don't know much about mac os as I'm a windows user. I have a macbook pro here from 2015 with intel iris pro, os version is sierra. I tried your command to disable dithering, did it in recovery mode. Now I'm back in normal mode. To verify it worked, I typed your command log show --predicate "processID == 0" | grep Dither
in terminal. But I don't know where to check the kernel logs. If I go to console, there is no kernel.log file. Could you tell me where I can find it.
Thank you.
Liberator005 Hi. No need to know where “Dither” is mentioned. The command you entered have to print it if the keyword “Dither” exists in the log files where the “log” command looks for.
If you don’t see it, more likely dithering is absent on your laptop.
At least MacBook Pro 13” 2015 doesn’t have it.
A bit late to the party, but I'm also trying to figure out screen strain on a pro M1.
Did some quick research but there are quite a bit of areas to look into. I'll do a quick brain dump, so just quote whatever might be interesting if there is something you want to discuss.
General stuff
- Handling this is way harder from not having a reliable way to measure things. Is there any solution at all to measure this apart from an expensive high speed camera?
- CSS can now generate 10 bit colors. It might be useful to output certain colors to more easily measure the effect. https://css-tricks.com/new-css-color-features-preview/
- In my opinion Mac OS Ventura seems better. However there has been some changes that might make it harder to modify with kexts.
- Significant improvements can be had by turning off hardware acceleration in Google Chrome. The same can be done in other Electron apps like Slack, Spotify and Evernote. Some types of anti-aliasing can be taxing.
- Issues with powercords and unstable current can cause flickering on certain monitors. Skipping extension cords and not overloading a single current can help.
- Avoid having a flickering mouse cursor that jumps around. If you use a Logitech Mouse use the unifying receiver instead of bluetooth to make it smoother. Same applies to scrolling, and can be modified with LinearMouse.
Video output
- For external monitors screen connection matter. There are upper limits to the different types of cables. What you are aiming for is Chroma 4:4:4. This is separate from temporal dithering. Tldr it doesn't send the correct colors for all of the pixels to conserve bandwith. Reducing resolution or refresh rate would improve it if this affects a monitor you use.
- I do not know how much difference there is on how it handles video output for HDMI, USB-C, USB-C to Hdmi adaptor, and Thunderbolt. Did anyone experiment here?
- Some kinds of monitors can be forced to RGB or P3. How does that affect things? What actually happens when the color profile doesn't match the display properly? Is there any kind of double dithering going on?
- Did anyone attempt to modify EDID? As far as I know it should contain data bitrate and other things. There are lots of scripts and guides to modify EDID.
- There are multiple references to dithering in the output from AllRez. Can the IOFramebuffer be affected somehow?
Some tools
- PlistEdit Pro can be used to browse and change values easier
https://www.fatcatsoftware.com/plisteditpro/ - AllRez can be used to dump huge amounts of display information
https://github.com/joevt/AllRez - Loupe can be used to inspect anti-aliasing
https://apps.apple.com/us/app/loupe/id1535217393 - AW EDID Editor can be used to create a new EDID
https://www.analogway.com/apac/products/software-tools/aw-edid-editor/ - AGDCDiagnose can dump out a lot of stuff, but doesn't work for M1. It's part of Xcode. I saw a reference to a similar tool, but I couldn't find it again.
Other communities and resources
- Did anyone react out to the developer of BetterDisplay and SwitchResX to see if any of them can somehow modify the stuff we need? Or even the developer of Yabai that has extensive experience with modifying the window management system with SIP turned off.
- There is a large Hackintosh community that spent years modifying display drivers and making different hardware behave properly.
- The guys trying to optimize color output for their high end TV's also spend a ton of time to get the output right. Many of them are deep down into the video output and different tools to figure out where issues happen.
Other ideas about eye strain
- How does having a slight blue tint affect the eyes compared to a slight red one? Try reading text with a blue vs red tint in the dark from a distance. There is both chromatic aberration going on, as well as 2% blue sensitive vs 60% red color receptors. Would having hard to blue light cause it to upregulate all of them? From my experience having dim red light increases tinitus and symptoms.
- How much does it help to light up the area behind the monitor?
- How much does having different flicker frequencies worsen things? For example other led flickering in the background.
- Would having a mild pattern over the screen help with BVD to make it easier for the eyes to get a feel for where to focus?
- Would increasing the mouse cursor size and making it red thru the Accesibility tools in Mac help with retraining BVD?
async CSS can now generate 10 bit colors. It might be useful to output certain colors to more easily measure the effect. https://css-tricks.com/new-css-color-features-preview/
I wonder what version of Safari started supporting P3 color via CSS. I noticed starting with Safari 14, I get eye strain, even on otherwise tolerable systems.
asus389 Not sure. Specifying P3 colors for text/bg is a safari only thing. I would guess that most browsers use wide gamut for images tho, and probably for antialiasing. I experimented a bit with it in Safari and noticed a strange bug, where text overlayed on a wide gammut background was broken/blurry on my external monitor. This was the same for all color profiles and refresh rates, but whenever I opened the lid on the Macbook the issue was resolved. I have no idea what switches around in safari or the other graphics stuff that causes this.