Thanks, Light Bleeder. I'm now convinced that it's the exact same error on all the devices. Probably TCON / LCD controllers being incorrectly programmed or tuned.
Maybe some people are still not convinced that there could be a solution (not to mention Microsoft who is in denial there is a problem in the first place). While I do not think a program that floats on top is as elegant of a solution as implementing a pixel shader (or fixing the LCD controls for that matter), I want to give people a proper proof of concept. Fortunately, such programs have been written. We'll rely on an old piece of software. The idea is to implement the quadratic correction as an alpha-compositing filter, using PNG files. Unfortunately, this software is far from perfect. It uses low bit depth alphas, which gives visual artifacts/blocks, but only if you look very closely. More annoyingly, it doesn't rotate the filter when the screen orientation is rotated, you'll have to do it manually. I don't have time to code, but their source code is available to adapt, for the enterprising reader. (I have no relation with the developers and do not bear any responsibility whatsoever for the use of their software and, for that matter, doing any of the below. Proceed at your own risk.)
- Download and unzip Custom Desktop Logo somewhere easy to access.
- Install it by running the main file, which really only installs the .NET framework. Make sure it's running in your taskbar as a green icon (a sample logo may show).
- Navigate to the System\Images folder where you unzipped it.
- Create two new folders, "Filter Landscape" and "Filter Portrait"
- Download the filter-landscape.png and filter-portrait.png files, and put them in the corresponding folders.
- From the task bar, right click on the green icon, and choose settings. (If you can't see it, run the program again. Whenever you open the settings, only minimize, closing it closes the program.)
- Under the [Select Images] tab, choose the desired filter orientation folder. Under [Location], choose Z-Level Topmost, Display Location Center, and Offsets X and Y both 0. Under [Size], set to 0.58 (strange, but it's what scales right). Under [Animation/Graphics] set Frames Per Second and Delay both to 0, and Opacity to 255 (max)
To test it quickly, flip your Surface, if you haven't selected the portrait filter, right click on the green icon, under [Select Images] choose the portrait filter folder. You may need to reselect Display Location as Center, if it's not centered. Then minimize the program, and fire up OneNote. Note away without light bleed![EDIT: Because of undue criticism I received below for my optimistic claims, I have to say here that you may see *reduced* light bleed, based on your system. It could still be a positive thing. After all, I didn't just assume, I asked you to ... (read next line).]
Tell me if it works.
PS: Note that this won't work on the Ctrl+Alt+Del screen, or when OneNote is in fullscreen mode, or for the Sketchpad. Somehow the filter won't stay on top in those cases (it does work for MS Paint fullscreen) . Also it won't affect some screen objects, like the mouse cursor. Finally, it will affect taking screenshots (they'll have the filter/compensation burnt-in). For all these reasons you see why a DWM pixel shader is a much better solution than this. But hey... proof of concept.
Please do suggest better software that could do the same thing (allows alpha compositing transparency with PNG files or the like, floats on top of all/most applications, and passes clicks and touch/pen inputs through). These are generally known as image overlay software, but they don't always do the alpha compositing right.