ShivaWind I've actually noticed other strange things on e-ink that I think I mentioned somewhere else on here. One was that the mouse cursor can create a shadow to the right of it like a light was shining across the screen. This made me wonder if a lot of rendering on computers can be imperfect because they use vector driven graphics cards to draw. I've also wondered if it is the way things are refreshed as well that makes us sick. The updating of what's on the screen doesn't look particularly orderly when you watch it in slower motion on e-ink.
Taking Action
With a dual GPU laptop its hard to say whats going on, as the Intel and AMD GPU will be working together to some extent. But I'd caution you against believing that because there is no discomfort it is not dithering. The monitor I am using at the moment is only comfortable when hooked up to my GTX660, which dithers. Different Nvidia cards induce strain, using the intel GPU which does not dither induces strain. Something about the superposition of this Benqs native tn dithering and the GTX660 dithering makes it comfortable. Its possible that both your Intel GPU and AMD GPU are both adding dithering, but the combination is comfortable to you.
I found a patent on google entitled "Programmable dithering for video displays", there is information on dithering which was quite interesting. Link: https://patents.google.com/patent/US20100238193
However, depending on the algorithm used to vary an applied dither pattern from frame to frame, temporal dithering can cause the undesirable visible artifact known as “flicker.” Flicker results when dithering produces a sequence of pixels that are displayed at the same location on a display screen with periodically varying intensity, especially where the frequency at which the intensity varies is in a range to which the eye is very sensitive. The human eye is very sensitive to flicker that occurs at about 15 Hz, and more generally is sensitive to flicker in the range from about 4 Hz to 30 Hz (with increasing sensitivity from 4 Hz up to 15 Hz and decreasing sensitivity from 15 Hz up to 30 Hz). If the pixels displayed at the same screen location (with a frame rate of 60 Hz) have a repeating sequence of intensities (within a limited intensity range) that repeats every four frames due to dithering, a viewer will likely perceive annoying 15 Hz flicker, especially where each frame contains a set of identical pixels of this type that are displayed contiguously in a large region of the display screen. However, if the pixels displayed at the same screen location (with a frame rate of 60 Hz) have a repeating sequence of intensities (in the same intensity range) that repeats every sixteen frames, a viewer will be much less likely to perceive as flicker the resulting 3.75 Hz flicker.
In order to reduce the flicker caused by temporal dithering a repeating sequence of dither bits with a sufficiently long period of repetition can be used. However, until the present invention, dithering had not been implemented in a programmable manner that allows the user to vary both spatial and temporal dither parameters so as to reduce artifacts caused by the dither process itself or the interaction of dithering with other processes, such as pixel inversion.
- Edited
diop That seems to me like a big find. This basically explains that the interference of dithering with basic refresh rate of monitors (60hz) causes the flicker to be in very low frequencies and therefore painful for us. It also plain admits that dithering can be painful, eye strain and headache inducing. This alone should be enough to be sent to some parties. It could also be enough for the lawsuit that was mentioned here. Or at least to push things through with clear explanation of what needs to be done with updates and graphics cards.
- Edited
martin Agreed. There is also an Apple patent specifically about the use of dithering on their technologies: https://patents.google.com/patent/US10403192B2
It keeps mentioning 'Intensity' a lot, I presume this is the scale of the jump between color values or the intensity of the pixel. Nethertheless, as the patent(s) actually acknowledge discomfort (the Apple patent alludes to it however their concerns are with the the longevity of the panel), this surely is all that we need from a legal perspective to enforce action.
Dithering is a patented invention so everything concerning it's workings appears to be available openly on the web.
- Edited
diop That is amazing. May I ask how you managed to find it? I googled for dithering and associated keywords regularly and went through many pages on google, but never found this - yet its such a simple and perfect explanation of what weve been discussing here for so long. Also makes sense why Intel would be more painful than AMD etc., different graphics drivers having different algorithm and therefore different flicker. I dont want to spam this forum, feel free to write me on mjanas555 (at) gmail (dot) com
Ill also send this to notebookcheck for consideration in reviews.
Also make sure you copy the patents in case it would "disappear" from the web all of a sudden.
I don't want to be the parade pisser, but I don't think this is enough for legal action. The writing of patents, and the granting of patents is not rigorous. I could patent a necktie for aliens, doesn't mean they are real. This stuff about flicker perception is inconsequential, it is merely background context for the invention itself.
The first patent mentions dithering may cause discomfort, but in no way proves it. The second patent by apple might contribute to an action if they had admitted their dithering causes people pain. Even if they did, it'd be easy to argue that accommodations for an immeasurably small number of users is unreasonable.
If you want to put something together, look in research journals. They are rigorous and peer reviewed, where the peers in question are generally the most experienced and most highly qualified in their field. That is the proof you will need.
- Edited
Seagull I don't want to be the parade pisser, but I don't think this is enough for legal action. The writing of patents, and the granting of patents is not rigorous. I could patent a necktie for aliens, doesn't mean they are real. This stuff about flicker perception is inconsequential, it is merely background context for the invention itself.
Fair enough, however we know that Apple are using temporal dithering on AppleOS so this patent may have useful information on how it is performed.
Seagull The first patent mentions dithering may cause discomfort, but in no way proves it.
It stipulates the conditions in which discomfort could be caused. It's difficult to conclude that is proof when only a small minority are affected by dithering anyway, so it's going to be subjective.
If the pixels displayed at the same screen location (with a frame rate of 60 Hz) have a repeating sequence of intensities (within a limited intensity range) that repeats every four frames due to dithering, a viewer will likely perceive annoying 15 Hz flicker, especially where each frame contains a set of identical pixels of this type that are displayed contiguously in a large region of the display screen.
Seagull If you want to put something together, look in research journals. They are rigorous and peer reviewed, where the peers in question are generally the most experienced and most highly qualified in their field. That is the proof you will need.
That may be so, unfortunately for the lay person this is a monumental task. I wouldn't know where to begin looking, otherwise I would have prepped a case years ago.
It seems we are going to be waiting a long time if we expect changes to be made by the big companies. I have been aware of these issues for five years, and I'm sure some others here for much longer. I didn't expect to still be experiencing symptoms for this long and without a way to control dithering five years later. I thought it would have been updated or resolved by now. I want to continue to support the tech industry but find that I am no longer excited by anything new, because I know I won't be able to use it.
Can we crowdfund somebody to fix this issue? If Amulet Hotkey can create dithering tools then we know it can be done. Is it complicated? I'm sure it is, but for the right person it is a cinch, and perhaps less than a few hour's work.
diop Can we crowdfund somebody to fix this issue? If Amulet Hotkey can create dithering tools then we know it can be done. Is it complicated? I'm sure it is, but for the right person it is a cinch, and perhaps less than a few hour's work.
Don't ask, but reverse engineering closed source drivers and binary patching takes more then "a few hours". It's a compuer science skill in itself.
Linux would be an easy "prototyping" platform though. Since (with the exception of the Nvidia binary driver) all GPU drivers on Linux are open source. The problem there is for finding the right code for controlling a feature (let's say dithering) it's a "needle in a haystack" sort of problem. A single GPU driver can have a dozen copies of the same function for different models of GPUs and it's often not clear which function is for what GPU (no labels).
I have some announcements to make regarding a research project related to that. Will be within the month.
JTL
macOS: Amulet Hotkey, safe mode on macOS start up
Linux: drivers
Windows: Microsoft Basic Display Adapter, ditherig, igfxtweak
Do these count as starting points? Not tried Amulet, safe mode on macOS changes the type of discomfort I have, but doesn't remove it. Microsoft Basic Display Adapter is what I use daily and the best solution I have found for my case.
- Edited
Edward Let me address some of your points
Edward macOS: Amulet Hotkey
Not publicly available. All it proves is this is possible, assuming no other factors causing strain.
Edward Linux: drivers
See above post
Edward safe mode on macOS start up
I believe it runs with only "basic" drivers that are running the hardware in a different way so the "vendor" drivers are doing "something" different. Side effects include lower performance and instability with certain applications.
Edward Windows: Microsoft Basic Display Adapter
Similar as above
Edward ditherig, igfxtweak
I think some people had some issues. Might be fixable. A Linux port should be doable.
Edward Do these count as starting points?
Close but no 'cigar.
JTL Obviously solving the visual impacts are primary. But security and stability (OS updates, driver updates, hardware compatibility, and other things I don't understand) are - for many - just as important. I don't have much of a clue about the tech side of things. Could you say which likely solutions are likely the best for security and stability?
Edward Could you say which likely solutions are likely the best for security and stability?
With context of current OS's and eyestrian, or in general?
That's a complicated topic that's made my career really. Way too long to fit into a single forum post.
I'd be willing to discuss more in depth another time.
- Edited
JTL Don't ask, but reverse engineering closed source drivers and binary patching takes more then "a few hours". It's a compuer science skill in itself.
So as an example in Amulet Hotkey's case, their Windows Nvidia tool (nvdithctrl) can be run manually or scheduled to run on startup. So am I correct in understanding that these tools don't "re-write" the driver so to speak but rather know how to talk to the driver to disable dithering? Do you believe Amulet would have worked directly with Nvidia/AMD/Apple to create these tools?
Presumably there are people that are looking to develop apps that interact on a driver/low level. So If I wanted to create an app to control dithering, how would one start? Is there a 'Driver Bible' that these companies can give developers with known workings of drivers or is it not as simple as that?
diop So as an example in Amulet Hotkey's case, their Windows Nvidia tool (nvdithctrl) can be run manually or scheduled to run on startup.
Correct
diop So am I correct in understanding that these tools don't "re-write" the driver so to speak but rather know how to talk to the driver to disable dithering?
Or they talk directly with the GPU, but the concept is similar enough
diop Do you believe Amulet would have worked directly with Nvidia/AMD/Apple to create these tools?
It's entirely possible they have an inside contact which would make things easier, but given enough knowledge and effort you could do it independently without such contacts.
diop Presumably there are people that are looking to develop apps that interact on a driver/low level
Such as myself, but I am a busy man.
diop So If I wanted to create an app to control dithering, how would one start?
Know low level C and x86 assembly language, how to use a debugger, how memory management works on the given platform (Windows, OS X, Linux, etc.) how to use said debugger to modify driver code at runtime, etc. Run experiments from there.
diop Is there a 'Driver Bible' that these companies can give developers with known workings of drivers
In theory these documents could exist, but often they'ree given to employees only or are NDA. What I can say is everything I know I learned from either myself or non NDA sources.
Markus To enable it in Windows 10 go to "Device Manager" and in the main part of the display "Display Adaptors" I select the Intel integrated graphics and I right click on "Disable Device".
You can check if you are on Microsoft Basic Display Driver by running dxdiag.exe and selecting the display tab. It will state "Microsoft Basic Display Driver" near the top. It is very easy to enable the drivers again if you want to play games, do colour sensitive work, etc. For office applications and web browsing, I am happy to use the basic display driver.
I am currently using a laptop with no discrete graphics card.
If I set the resolution to 19201080 I still get headaches but much better than without. Probably similar to using ditherig. If I set the resolution to 1024768 (a 4:3 aspect ratio) using "Display Settings">"Display Resolution" then I get the best set up for my eyes. This stretches the 4:3 graphics output to fit the 16:9 laptop screen, so the images are distorted (stretched in the horizontal direction).
My main experiences when using screens I don't like are feelings of tightness in my head and eyes, headaches, and often a sense that the screen is moving (both on PWM screens and screens I have read are PWM free). Over time this leads to tiredness and what I've read as brain fog. When I use macOS the whole page seems to be constantly changing. No images are moving, there are no afterimages, but I get the sensation of constant change from a screen that is displaying a static image. All of that goes when I use the Basic Display Driver on Windows 10. I have been using computers since the mid 1980s. I used them as the main part of my work for decades. I had no problems until 2012 when I bought a Mac Mini and MacBook Air. I've tried many different solutions since. The differences between a good set up and a bad one are obvious. To the people who say that these symptoms are normal or I am a freak, I say that I have had tired eyes at many different points in my life before 2012. But the symptoms I talk about have as much to do with tired eyes as a broken bone has to do with a bruise. The worst example of my symptoms comes in expensively lit rooms, such as museums, jewellery shops, and conference venues. Obviously not all venues impact me, but I can feel physically nauseous in minutes in some places.
- Edited
JTL Know low level C and x86 assembly language, how to use a debugger, how memory management works on the given platform (Windows, OS X, Linux, etc.) how to use said debugger to modify driver code at runtime, etc. Run experiments from there.
As you've mentioned before, Linux is a good starting point as most of it is open to play around with. However checking out the AMD freedesktop link on the Linux thread, it seems there is no black and white solution, and lots of talk of register changes. It's well above my level of knowledge but it confounds me how even the developers themselves don't say if dithering is enabled or how to disable it. It didn't just appear by magic one day! Does enough documentation exist to build a 'dither-free' Intel driver on Linux, or develop a way to disable it?
Edward I had no problems until 2012 when I bought a Mac Mini and MacBook Air. I've tried many different solutions since. The differences between a good set up and a bad one are obvious. To the people who say that these symptoms are normal or I am a freak, I say that I have had tired eyes at many different points in my life before 2012. But the symptoms I talk about have as much to do with tired eyes as a broken bone has to do with a bruise. The worst example of my symptoms comes in expensively lit rooms, such as museums, jewellery shops, and conference venues. Obviously not all venues impact me, but I can feel physically nauseous in minutes in some places.
I haven't actually tried disabling the Intel drivers, I may give this a shot. I remember in the mid/late 00's getting eye strain at my desk job, however I define eye strain as actual eye muscle pain (in my case I believe it was caused by a bad monitor position). This newer issue is more like nausea/motion-sickness than actual eye strain for me.
The very fact that we have no control over dithering means it can't be ruled out. Having researched into what temporal dithering actually is, I don't see what else it could be. Pixel colors are changing on our screens in ways they didn't before; fact. Even if I didn't have symptoms and was 'normal', knowing what PWM is (essentially an on/off strobe) and temporal dithering (a pixel flickering between two colors to generate the intermediate color), I wouldn't want either of them.