Added a proper UI for this + moved the GPU dithering option to that section (from Image Adjustments) so the connection between color mode and GPU dithering should be more obvious.

    jordan Weirdly I had very little eye strain out of the box with the M2 mini and the Apple Studio display. Most other modern Apple stuff doesn't work out of the box without causing strain for me. Not sure why the Mini was different. The M1 iMac was also similarly pretty good for me with minor settings changes.

    waydabber In what version you could expect to have these features? And whether those will be available for all users (free + paid) ?

      Donux It's gonna be available in the new v3.x version. I still need to do some things until I can do a proper (pre-)release. I don't think changing the color mode will be a paid feature (should it be?). The associated configuration protection feature will be (as the case with other configuration protection features) - that should come handy as macOS tends to revert to some other color mode one it likes best on a restart or major mode change (refresh rate, HDR etc).

      I now posted an internal pre-release build for testing here (open the Assets section and navigate to the bottom of the list for the latest internal pre-release).

      waydabber this sounds incredible!! Actually changing connection bit depth (and bandwidth) without messing around with wires or EDID? I can't wait to test it my monitors. Just out of curiosity what is the underlying mechanism?

        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.

                          dev