Still digging... Discovered the rust crate, [libremarkable](https://github.com/canselcik/libremarkable), I think it uses ioctl to draw to the framebuffer_mxcfb which is the kernel driver that the iMX7 uses in the remarkable. Could be a good reference? But, what want to validate now is if I need to a chip with a dedicated controller or if I can get good enough performance with a SPI controlled thing. So, to that end I want to see if I can get koreader to render to a SPI connected eink display. I think my options are: 1. Implement a new koreader "device" type, that implements drawing by calling some specific command or commands. I guess this is like a userspace implementation. The commands would have to either call the device spi driver directly from lua or some other helper command? 2. Figure out if I can get SDL2, which is what the linux koreader device uses to draw, to use a framebuffer that writes out to SPI.