Alyosha2001 context?

The backlight has ZERO to do with the dithering (unless it's an OLED), the dithering is a product of the panel and/or video card.

    JTL yes, you are right. I confused it. The context was „Laptops probably used dithering for many years? Why is it suddenly a problem and only on new models for some people?”

    • JTL replied to this.
      2 months later

      AGI Did you ever get an answer to your resolution question? I recall that the only LED backlit laptop I used before this was a 2011 MBP 17" antiglare and run in a reduced resolution as I just wanted things larger. I never used it in native resolution. I don't have it anymore but recently tried a 15" version on native resolution and got terrible strain.

      • AGI replied to this.

        Lowering the resolution did not solve eye strain for me on desktops. Except when the low resolution was the result of using a generic video driver (Windows: "Standard VGA", Linux: "VESA"). Keep in mind that some (most?) modern graphics cards always output the display's native resolution by default, doing all the upscaling themselves instead of letting the desktop monitor handle it. They completely bypass the desktop monitor's scaling function this way. I am not sure how this is usually done in laptops.

        hpst Nope, sorry. I was suggested on this forum that reducing the resolution may have an effect on temporal dithering and should not affect PWM, so I would tentatively rule the latter out. But I have not gone farther than that. Inquiring at manufacturers and electronics shop did not lead anywhere. I would definitely call it lack of interest, in most cases both lack of interest and knowledge. If you find something out, please let us know!

        3 months later

        Hi All,

        I have been having this led strain problems for quite sometime. The following combination seems to give a usable display (for me) on Lenovo laptops running Manjaro Linux KDE. I have done other modifications such as Xorg configurations, so this might be a cumulative effect, but this last modification gave significant improvement. So, this might of help to someone, even if they have other laptops or Linux distributions:

        1. If you have discrete graphics, disable it and use only integrated, by selecting UMA only graphics in the BIOS. (This probably is not mandatory. Did this only to eliminate potential problems with hybrid graphics, non-intel drivers also doing modesetting etc.)

        2. Pass the video option to the grub command line. For example: video=eDP1:1920x1080-16

          Format is: dislpay:resolution-bpp

          display value can be obtained by doing xrandr

          The default bpp seems to be 32. 24 did not seem to reduce the strain. 16 does reduce the strain. Some monitors are truly 8-bpp, in which case this value could probably be 24. The test image at https://cdn.avsforum.com/d/de/525x525px-LL-defb4132_vbattach85246.gif at the site https://www.avsforum.com/forum/166-lcd-flat-panel-displays/874438-test-your-lcd-panel-s-dithering-technique-pictures-included.html seems to give some good guidance on this aspect

          For testing this, you could press 'e' at the initial grub screen, add video=eDP1:1920x1080-16 in the arguments (typically after quiet).

          For permanent, add video=eDP1:1920x1080-16 to GRUB_CMDLINE_LINUX_DEFAULT and do "update-grub" (or equivalent in your distribution).

        Some pointers related to the video option:
        https://ubuntuforums.org/showthread.php?t=1743535
        https://wiki.archlinux.org/index.php/kernel_mode_setting
        http://distro.ibiblio.org/fatdog/web/faqs/boot-options.html

        From my limited understanding, it seems that Linux KMS is setting the bpp to 32 which causes dithering.

        Please post your feedback, positive or otherwise.

        Thank you.

        Ravi

          ravipra Ravi what Lenovo laptops are you using and do you know what panels are in them? Manufacturer/IPS vs TN/PWM etc?

          I have a 2014 X1 Carbon with Intel 4400 graphics, an LG 1080 IPS panel in it with no PWM and it strains me as well as any other panel I have put in it regardless of specs. It has KDE Neon installed right now. Are these changes made in the etc/default/grub file? Could you be more specific as to exactly what to put where? I am not great at linux. I have edited the above file before as some people have suggested trying dithering and driver entires there but nothing was helpful and mostly broke things.

          Hi hpst, I have the following laptops:

          Lenovo Z51-70 and Lenovo Ideapad 310. I will check on the panels and get back. I also got improvement on my Dell desktop with a Dell monitor (which doesn't seem to be true 8-bit). I also have couple of other monitors which claim to be true 8-bit. I will try my above solution with 24 as the bpp value and see if it gives improvement.

          Please let me know any specific questions that you might have on the solution I posted. I will be more than happy to give all the details.

          Ravi

            ravipra Thanks. The fact that if helped on an external display too is encouraging. Is it the etc/default/grub file? Is this the right place to edit and exactly what and where do I do so?

            Yes, that is the right file.

            GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" would become
            GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=eDP1:1920x1080-16"

            My output of xrandr | head

            Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
            eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 340mm x 190mm
               1920x1080     60.01*+  59.93  
               1680x1050     59.88  
               1400x1050     59.98  
               1600x900      60.00    59.95    59.82  
               1280x1024     60.02  
               1400x900      59.96    59.88  
               1280x960      60.00  
               1368x768      60.00    59.88    59.85  

            I have other optimizations also, which might be contributing to the +ve effect. If so, mine is:

            GRUB_CMDLINE_LINUX_DEFAULT="quiet norandmaps nokaslr audit=0 cgroups_disable=memory video=eDP1:1920x1080-16"

              ravipra Thanks. I am newer to KDE than linux in general and for some reason I cannot open Dolphin file manager as root to edit the grub file...working on that. So basically changing those 2 or 3 grub command line entries to exactly what you wrote should work? Or I need to modify the "-16" to a number specific to my panel? Should the resolution you use be the panel's native resolution or what you have it set to?

              Do you have any other changes like compositing off or font antialiasing etc set to anything specific? I tried those things to no effect before. Also have you tried with just the video=edp1:1920x1080-16" and is it just as good or are the other things needed. What do those other additions do?

              So by making these changes you are noticing an obvious relief? Like not a maybe or placebo sort of effect but a clear difference which makes you think dithering is off? If so that would be an amazing find.

                hpst , You might be able to edit the file using:
                sudo nano /etc/default/grub

                Only the line containing GRUB_CMDLINE_LINUX_DEFAULT.
                There are three components to the value of video: display-name, resolution, and bpp
                I see that the display-name is always eDP1 for laptops. Do double check run xrandr. The second line should give you your display-name
                resolution is of course the resolution of your screen
                As far as I know, there are very few true 8-bit laptop panels. So 16 should be good for you. You could try 24 as well and compare. Only some values are accepted (..., 15, 16, 24, 32).

                  ravipra Yeah all panels I tried in Thinkpads are listed as 6+2 on panelook.com

                  I am not understanding why the bpp (what is that exactly? Bits per pixel?) needs to be -16 for a 6+2bit panel but 24 for an 8bit panel...is there some formula you are using?

                  It's late here and I am already feeling bad so will need to see if the changes help after some rest. Do you notice dramatic and obvious effects? Were you getting strain/headaches etc before and this relieves it or the testing image is the only obvious difference for you? Those dithering test images never worked for me as they always looked the same regardless of what I tried but will revisit them tomorrow.

                  I tried changing compositing settings etc on KDE, But I found that the defaults (on Manjaro KDE) are good. As far as I know the default Manjaro KDE does not use sub-pixel rendering, so that is good (for me) . I had problems with DEs which use sub-pixel rendering. So, yes that is a contributing factor for text.

                  The options that I set other than video are not required to for the solution (dithering).

                  Just to make it clear, all the lines in your file are required. Just change the line containing GRUB_CMDLINE_LINUX_DEFAULT and do "sudo update-grub"

                    ravipra Thanks I made the simple change and not the additional ones but won't be able to tell how it feels until I get rest and spend a few days testing. Can you explain what those other changes are? I also have some other specific questions to make sure my variables are the same as yours:

                    1. Are you using redshift or f.lux or any color temp application?
                    2. Have you made any manual adjustments to gamma or anything else on the display?
                    3. You said you are not using subpixel AA but what about the hinting setting on the none-strong scale?
                    4. Are you using any icc color profiles?
                    5. How do you arrive at what bpp setting to use for a given native panel's bits?
                    6. What are the other xorg changes you mentioned that might be cumulative so we can test with and without those as well. Just one little setting somewhere might be the key.

                    @hpst Yes, I did notice a dramatic and obvious effect as soon as I boot with the new parameters. Yes, I definitely had unexplainable strain, inability to focus and making sense of the text that is being displayed etc. Those are gone (touch wood) since yesterday and after a day its even better.

                    Sure, please try it at your convenience. I sincerely hope that it helps you as well.

                      ravipra Sorry I am excited and editing after you replied and screwing up the flow. I made the changes and will test further. If you could look at my last response to make sure we are using the same settings otherwise I would appreciate it. What time zone are you in? I am in central US time. I will test tomorrow and the next days and am crossing fingers this works. I wish there was an objective test I could do as well to see if this DOES turn off dithering and be sure. It would be incredible if dithering was the problem and it was this simple to shut off in linux.

                      A related thought...some people have noticed new Gmail and Firefox etc to be more straining on an otherwise good device. IF that is due to those apps specifically dithering, I wonder if this setting will override that, or if we need to find a way to shut off the apps dithering instructions individually.

                      @hpst

                      The other changes are to minimize the kernel overheads:
                      norandmaps nokaslr - disable address randomization which is a security feature
                      audit=0 - disable kernel auditing
                      cgroups_disable=memory - disable cgroups for the memory subsystem (something like a quota system for memory used by the processes)

                      1. I tried using redshift several times. initially it felt good, but using it for few hours gave me strain. So, gave up on that line
                      2. Again I tried changing it using xgamma. The experience was similar to redhift. So not doing anything now.
                      3. I am not sure what is none-strong scale, but I used to fiddle with hinting a lot, but never needed to do that I after shifted to Manjaro KDE. The output of "xrdb -query | grep Xft" for me is:
                        Xft.antialias: 1
                        Xft.hinting: 1
                        Xft.hintstyle: hintmedium
                        Xft.rgba: none
                      4. Since mine is a 6-bit panel, I thought a maximum value which is less than or equal to (6 *3) would be good and tried that, 3 being for the three channels (rgb).

                      Yes, a majority of my symptoms (strain, inability to focus) are gone. But like I said, it might be a cumulative effect. If this itself does not work, I can compile and post all my settings.

                      I am in IST (India) timezone.

                      Sure, I will keep checking this thread and post what I could.

                        ravipra . If this itself does not work, I can compile and post all my settings.

                        Thanks for all your help. Yes please do post all your settings as soon as you can. I'd like to make the exact same changes you did, and if it works then remove things one at a time and see if that narrows down key elements.

                        I have a bad habit of getting excited when there is some new possibility of hope so am trying to restrain myself, but if this works for others as well as it did you this will be a major breakthrough and one that is very simple to implement. We'd then just need to figure out how to translate it to those with Windows and MacOS as well since most people use those.

                        dev