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.
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?”
Alyosha2001 I figured
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.
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!
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:
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.)
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
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:
@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.
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)
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.