Quote:
Originally Posted by NiLuJe
I have no experience (at all) with X drivers, but, technically, yeah, once you have a rectangle's coordinates/dimensions, you're only an fbink_refresh() away  .
|
Thank you NiLuJe for your excellent FBInk!!
So some copy&paste + trial&error later here it is: a xclient that refreshes the epaper display according to xdamage events!
Here's a small video: https://imgur.com/gallery/obzmkbW
(That update with 72px height every second is the clock in the right bottom corner)
Here's the repository (+ a small guide on how to use it):
https://github.com/schuhumi/fbink-xdamage
It is very hacky right now, but at least it seems to work just fine. I tried all this in the Alpine container, and I'll try to make an Alpine package out of it. Also I'm very happy that a xclient (like a regular x window) can listen to xdamage events and I don't need to fiddle with the server itself.
What's not working so far is Alpine's xserver (did "stop x" and "X" outside the container), because I still didn't get xf86-video-imx (not vivante, epdc) to work. Porting from Amazon sources to newer xorg version seems not so easy. I got it to compile (modify x calls + include header of the original kindle kernel) and recognize the library. But startx fails with:
Code:
[119306.969] (II) LoadModule: "imx"
[119306.969] (II) Loading /usr/local/lib/xorg/modules/drivers/imx_drv.so
[119306.970] (EE) Failed to load /usr/local/lib/xorg/modules/drivers/imx_drv.so: Error relocating /usr/local/lib/xorg/modules/drivers/imx_drv.so: imxExaZ160Setup: symbol not found
[119306.970] (EE) Failed to load module "imx" (loader failed, 0)
The other route seems to be modifying xf86-video-fbdev to work with that Y8 pixel data format. But then also all acceleration is gone.
Edit: Also there's a "small" problem where without Xephyr GTK3 windows are just empty using Kindle's X. I'm not sure wether that is due to the old version or some missing feature or whatever. Only the menu/panel/window borders/etc and chromium show their content fine.