This is a doom port intended for the reMarkable 1.
Demo Video on rM 1 | Demo Video on rM 2 (not recommended)
It is composed out of a lot of different compontents:
The meat of the work was to port doom to rust (doomgeneric-rs) and dithering the image and doing that as fast as possible! The dither speed was achived through forcing better optimizations and caching the code. The dithering is actually done at compile time for a 320x200 source image and the results (for upscaling 4x) are put into the generated binary itself. The binary then just needs to decompress this and look up the results for each pixel.
The game currently runs at about 11-14 FPS on the device. It's not using the low latency drawing even though it's pretty simple to use since the image has no gray shades. The reason is that using an A2-Like refresh has less artifacts and ghosting. I personally find this worth the extra latency when playing.
The game currently runs fine but there are still some things to do:
/home/root
on your reMarkable (e.g. using FileZilla or WinSCP)/home/root
(more details)chmod +x doomarkable
systemctl stop xochitl
and start it later using start instead of stop)./doomarkable
(on the rM 2, you'll need rm2fb and prefix that command with rm2fb-client
)RUST_LOG=debug
before the command