Originally Posted by knc1
We can build kernel modules . . .
Why not an 8bpp -> 4bpp shim module to add to the stack of several lab126 shim modules?
Yes, I know, there is a difference between being able to build a module and being able to write a module.
It was just a passing brain fart (no pun intended).
There is code in my newtrix demo that does just that. It converts 8bpp 256-gray framebuffer contents into 4bpp content compatible with all eink kindles. Even the 8bpp framebuffer kindles are really just 4bpp, with the upper 4-bits just a copy of the lower 4-bits (required to avoid "unpredictable" results, according to comments in the eink driver gpl code).
My "8bpp to 4bpp dither" code could be extracted from newtrix and squeezed into a shim kernel module. Of course, it could be refined using techniques from later "no dither table" demos.
newtrix demo: https://www.mobileread.com/forums/sho...d.php?t=176802
Beware that converting to 4bpp will still have severe flicker on eink kindles. It would be better to use pure black and white dithering like my other eink demos use (including some in newtrix).