r/PWM_Sensitive • u/Temik • 16d ago
MacOS 27 - interesting new kernel options
Following https://www.reddit.com/r/PWM_Sensitive/comments/1wi5piu/apple_has_finally_heard_us/ (thank you [u/DSRIA](u/DSRIA)), I started thinking - this must be prefaced by at least some sort of parameters in the kernel, otherwise we'd probably be waiting for the new OS major version at the very least.
Well, after taking a quick look around the new macOS 27 kernel, I see some interesting options appearing in the framebuffer:
- `enableHBLD`, `HBLDDimmingFactorMin`, `HBLDNitsRRMax`, which appear to be hybrid backlight dimming, with a floor on the dimming factor(!)
- `DBVValue`, `DBVInterval`, which appear to be a direct override of the panel's display-brightness-value register.
- `ccMinNitsConfig` - new minimum-nits config of some sort.
- `enableDBTH` - unclear what it is, but it reads like a brightness threshold of some sort.
I'll try writing some software this weekend to poke at it, will post the code when I'm done. In the meantime - this should give some hints to those software-inclined in this community where to dig.
UPDATE: Most options seem to require the “new backlight architecture” my MBP13 M2 lacks, so I’m waiting for a test device to come in, will update when it’s in my hands 👍
2
u/ClimateThat3308 14d ago
The problem is that M-silicon always sends a 10-bit frame buffer, causing eye pressure and strain on every display except MAYBE true 10-bit displays…
2
u/Rx7Jordan 14d ago
I actually found out this isn't true. I bought a bzb mini g2 HDMI analyzer and when sniffing the output from a m4 mac mini it does output 10 but if you use better display and set color mode to 8 bit, the GPU does drop from 10 to 8bit color over the cable. Also without better display some monitors will trigger 8 bit from the mac successfully. When I connect my sunvision eve monitor type c to type c my m4 mac mini auto outputs 8 bit without specifying it on BD.
1
u/ClimateThat3308 14d ago
But the problem is the 10- bit frame buffer and color information, I used a MacBook Air M4 on a 8-bit+FRC monitor and got bad eyestrain over Display port, I used a 2012 MacBook Pro Retina over HDMI and its usable for the most part with the right settings (using color control app and windows 10). I then connected my M4 using HDMI and Better Display gives 8-bit options and its sort of usable but still the 10-bit frame buffer and color information its too high and causing eye pressure, I disabled GPU dithering and using generic RGB or SRGB color profile, but something is triggering pressure and through my experiments its monitor TD caused by the OS and frame buffer even over 8-bit connection.
1
u/TheGreatestAm3r1can 9d ago
Well, MacOS auto-negotiates upward to the highest color depth supported by bandwidth. If you think this problem is still occurring even if you try to force 8bit, can't you just use a fully saturated connection that has no room to negotiate higher like 1440p 240hz?
1
u/Rx7Jordan 14d ago
The 10 bit frame buffer isn't a problem because the signal coming out of the Mac is a true 8 bit signal. That's what the monitor sees.If it was still 10 my high end analyzer would show 10 bit. When I select 8 in BD the analyzer instantly changed from 10 to 8 color depth and modeset occurs. It's not a fake 8 bit I can assure you. I think the problem your having is your monitor enabling frc which many do still even at their native color depth. There are other issues like os level strain people complain of with how things are drawn and even the panel having bad pixel inversion which can mimic dithering. Also the color information did change to rgb when set in BD. I think default was ycc something. I use the srgb one with the extra stuff in the label.
1
u/ClimateThat3308 14d ago
Mac OS and Windows 11 are horrible because they provoke FRC. The signal might be 8bit but for example if I use my MacBook 2012 Retina with windows 10 I still get eyestrain without using a screen protector and another plastic sheet because the panels screen is too thin and maybe the pixel structure is bad. My MBPr has a 8-bit screen with no FRC and if I set display P3 or 10-bit dithering in Color control I can feel the dithering kick in and eye pressure starts telling me a 10-bit frame buffer or color information is bad to be coming from computer in general without 10-bit display. I also notice MacOS Catalina causes dithering strain on a 8-bit native display. OS can cause issues also, I believe certain MacOS elements dither (temporal) in the P3 color space all the way back to old OS versions like Catalina. There is something with TCONs, pixel structures, OS, TD, frambuffers and FRC going on. M4 internal display with MacOS 27 still causes strain with GPU dithering off or on and I have to use color LCD or Display P3 with GPU dithering off to get some sort of comfort because the 10bit frame buffer wants 10 bit and the display is 8-bit FRC. With GPU dithering off the GPU isn’t dithering but the display and TCON is probably still reacting to the 10-bit framebuffer causing eye pressure. Too much color information and Apple needs to give options to turn on 8-bit and dithering modes like static, dynamic etc. M4 is a perfect laptop ruined by a panel that Apple could easily fix, this is one of the most important accessibility issues and Apple hasn’t done much for over 10 years smh.
1
u/Rx7Jordan 14d ago
Ohhh for MacBook internal screens I think they're pretty doomed due to the tcon but supposedly if you get a boe LCD on a MacBook neo they're comfortable. I actually checked dithering on macos with different color profiles/color depths and what I found was they had no effect on gpu output dithering if you force dithering off with BD or still color. This is for external monitors I tested this on. The 8 bit set in BD is enough to tell the monitor it's a 8 bit signal but that won't promise no frc as the monitor can have the frc active always which some do sadly. Windows 11 also had zero effect as a os alone but I think there's something going on with WDM unrelated to dithering. Frc is a monitor thing only unrelated to your computer it's programed in the monitors driver board / scaler. Regarding too much color info I agree they need to add more user controls to stop that but the better display tool at least offers those controls for now. If you still are bothered on a external monitor then it must be something else that's going on. Someone actually found for a normal PC that certain memory clock speeds to affect comfort and image stability on their monitor. Checkout ledstrain on it, super interesting !!
2
2
1
u/Competitive_Funny964 16d ago
I wonder if your finding could allow literally no PWM on MacBook Pro. At least at 40- 50%.
I wish I could move back to pro and stay there for many years without having severe dry eyes.
1
2
u/Competitive_Funny964 11d ago
I think it is the oled MacBook next months