I am happy to receive feedback as I had only a handful displays and TVs to test with here. I'd say the chosen mode is negotiated properly about 90-95% of times (sometimes subsampling or range ends up being something other than what is reported for various reasons), other times the process ends up switching to some other mode - but some working mode seems to be almost always negotiated eventually, so there is no risk of getting no image - at least that was my experience so far.

The feature is not relying on existing methods (EDID override or changing framebuffer properties) but uses various undocumented APIs. Some of the seemingly relevant APIs are private and cannot be used but some other parts (luckily enough) are left accessible. I am not sure how practical it would be to make the method open source at this time as I don't know whether leaving the door half-open is intentional or not (if you are interested, I can share it with you in private, just contact me on the Discord channel).

Choosing connection details like this would be great to have as a standard feature of macOS (in System Settings/Displays, in an advanced section), Apple surely has its reasons why this is not the case. Providing this feature both via UI and CLI for free in the app will hopefully contribute to making these options taken for granted in the future for macOS users. 🙂

Note: this does not work on Intel, only on Apple Silicon. Ventura 13.2 or newer is required for the BetterDisplay 3.x version with this feature to run.

    aiaf I have my fingers crossed. But there used to be app called SwitchResX or smth. It was primarily for this purpose, i.e. setting your own resolutions and bit depths. However it did not work with apple silicon.

    waydabber I'm ready to test it! I have 5 monitors, 8bit, 10bit. Macbooks with M1, M3, Intel, I also have microscope to checkout dithering more closely 😃

      waydabber On Benq PD2705Q app works. You can select these options.

      But since I specifically switched from ubuntu linux with all the GRUB and X11 codes to switch off dithering, I can confidently say - regardless what I select - its a proper "eye popper" using MBA M2 🙂 It just not good, 10 minutes and I have high tension in my eyes, around the eyes, and sight tinnitus. But app works great 🙂

      Also, can confirm if you select lower bit rates and switch dithering option, there is noticeable changes to the color, mainly color tint. Presumably dithering kicks in.

      My personal assumption is - apart for issues that these apps address, Apple has shipped TCON chips from questionable suppliers to some machines due to chip shortage (especially close to covid period). And this cause constant GPU induced flicker for all outputs - to build in screen, or external screen. And this is not related to dithering or PWM.

        Donux what specs is your machine that runs Ubuntu without symptoms?

          jordan I run lenovo carbon X1 yoga 4th gen with intel hd 620. But this is strickly on X11. Wayland is doing something which caused eye strain on HP elitebook 845 G8 and this one. Maybe X11 due to its legacy layers, ads a bit of buffer at the expense of rendering. I do not know, but it is very good on external monitor. The native screen I am also happy on linux, apart from glossy screen irritation. I suggest checking out Carbon X1 any model with WQHD or FHD matte screen. But I personally of course prefer Mac OS X and will always be coming back to it, as it is superior system to any other system out there.

            Donux

            Do you know the exact panel model of your X1? I've been doing screen swaps on 8th gen T480 series. Now using a glossy WQHD screen in regular T480 non s model.

              Donux

              HWiNFO might show it. AUO B140QAN02.3 is the panel I was using in T480s and it worked for me as well.

                photon78s

                [Created at monitor.125]

                Unique ID: rdCR.Ca9WwAu9L86

                Parent ID: _Znp.G_IRRgPbiF1

                Hardware Class: monitor

                Model: "AUO LCD Monitor"

                Vendor: AUO "AUO"

                Device: eisa 0x2236

                Serial ID: "0"

                Resolution: 2560x1440@60Hz

                Size: 309x174 mm

                Year of Manufacture: 2017

                Week of Manufacture: 0

                Detailed Timings #0:

                Resolution: 2560x1440

                Horizontal: 2560 2608 2640 2720 (+48 +80 +160) -hsync

                Vertical: 1440 1443 1448 1504 (+3 +8 +64) -vsync

                Frequencies: 245.50 MHz, 90.26 kHz, 60.01 Hz

                Config Status: cfg=new, avail=yes, need=no, active=unknown

                Attached to: #30 (VGA compatible controller)

                  I have some updates on the app:

                  1. App does not keep non default setting in color mode. If you select 8 bit, after sleeping/standby it will reset back to 10bit, so would need each to to set it back. Not a big issue.
                  2. And this is not really within scope, but virtual display does not show correct aspect ration on MBA M2, i.e. shows two blocks at top and bottom, regardless if you select 16:9 or 16:10. However, I have only tested this once and not really using it while testing.

                  Also, I have tried to work on my MBA M2 with external monitor for two days in the row with 8 bit setup, and with all disabled monitor sensors (just in case this could be somehow related to eye strain), and once my eye adjusted, there was no problem. But of course to some level it comes down to what standard you set and with what do you compare. If going from linux -> macbook causes eye strain, but going from macbook -> linux does not (all scenarios using same external monitor), perhaps there is some level of subjective adaptivity, but objectively speaking one is clearly better for eyes.

                  Donux

                  Do you have the touchscreen panel? A similar product from this seller.

                  Also possibly B140QAN02.2 One can potentially use these types of panel to diy your own portable monitor for use with Macs in headless and normal configurations.

                    photon78s These panels look like a match, and DYI would of course be amazing. But how do you do that? I thought macs are really draconian when it comes to blocking any non original parts? Or you have some HDMI controller in mind ?

                    btw, yes my one is touchscreen glossy.

                      Donux

                      Possibly diy portable monitor. I can confirm this driver board (0.5 mm pitch with cable version) is plug and play with my B140QAN02.0 panel from T480. However, I'm not sure it can be made to work with touchscreen panels. I got the version 8.3 of the board despite the picture showing v8.0. The hard part is finding or making an enclosure for it. It works with usb-c to displayport cable. More testing is needed to see if the board itself introduces more eyestrain.

                      I have a macbook pro m3. It came with sonoma 14.5, and I had some slight irritation while looking at the screen. After downloading stillcolor, it was just fine to use for hours. I recently updated to 14.6 and the pain was back, even with stillcolor. Today I put my macbook into low power mode always on, and this has relieved some pain.

                        is there any way to disable dithering for android ?

                        DisplaysShouldNotBeTVs used this for a month now. Almost fixed my 15 pro max. Tried turning it off yesterday and had pretty significant eye strain thru the day. Not just when looking at the phone. Also had this shitty effect where reds on other monitors seem really bright.

                        I remember few month ago, you guys were discussing TCON here, just found info on apple website for their Apple Pro XDR Display.

                        It looks like it's made by apple.

                          dev