KOreader can be modified to make it work on boyue devices (I did it to make it work on my Onyx reader). Here is the bug report I did about that:
https://github.com/koreader/koreader/issues/1534.
You have to create a file called patch.lua into the folder koreader on your main memory. Inside put:
require("jit.opt").start("sizemcode=64","maxmcode= 512", "recunroll=8", "callunroll=12", "loopunroll=60", "instunroll=16", "tryside=16", "hotexit=160", "hotloop=1792", "maxsnap=160000", "maxside=32000", "maxirconst=160000", "maxrecord=1280000", "maxtrace=320000")
local screen = require("android").screen
screen.height = screen.height + 80
for i=1,1000 do end -- Force allocation of one large segment
Not sure if you need the screen.height line for a boyue device, that's to resize the size of koreader in case it doesn't detect the right screen resolution. I found the patch on a chinese forum and for the bug reports on koreader github this also works for boyue devices. With this it might crash the first time you open it but then it should be pretty stable. How good is Moon+ Reader on eink devices right now for pdf ? I read a lot about that one but never tried it. Is there a crop margin option ?