kobolabs / Kobo-Reader

http://www.koboereader.com/
585 stars 126 forks source link

Question: Beta Web Browser capabilities. #92

Closed ieb closed 4 years ago

ieb commented 4 years ago

Are the Beta Web Browser capabilities documented anywhere, or can you tell me what the browser is based on (eg WebKit version, assuming it is WebKit based).

I have an application that needs an eInk screen and a waterproof device, uses Javascript and Canvas and amazingly works on an old Kindle with the experimental browser, but would like to modernise and switch to Kobo.

Sorry if this is not the right place to ask, but suspect someone here will know the answer. I failed to find the answer elsewhere.

ieb commented 4 years ago

The context of this question is http://signalk.org/overview.html https://github.com/SignalK

ieb commented 4 years ago

Kobo Support have no idea about the question or an answer.

pgaskin commented 4 years ago

It uses QtWebKit from at least 4 years ago (I'll don't recall the exact version off the top of my head). The biggest limitations I've found for running webapps is:

It might be possible to compile a newer QtWebKit or QtWebEngine and either replace the webkit lib, run this as a plugin (more on that later if you want), or run this as a standalone Qt app. If you're planning to write a standalone Qt app, libkobo.so is the QPA, but I'd suggest making one yourself (it's less trouble in the long term). https://github.com/jdek/qpa-einkfb might work (I haven't tried it myself). For reference, look at FBInk (it's pretty large, but covers almost everything), koreader (this one's even larger, but might have some niche stuff documented), or Plato (this one's in Rust, but is the simplest while still being complete). Also, keep in mind the libc and the kernel on the Kobo is ancient.

Another possibility I haven't played around with or researched much is to run completely custom firmware. But, don't test this on a waterproof device unless you're fine breaking it open if you need access to the SD (which also means don't use the devices with a flash chip instead).

@NiLuJe might know a bit more about this. He's also compiled modern Qt for the Kobo.

P.S. This is usually the wrong place to ask. Even though Kobo sees this, they don't usually reply, unless it's about licensing of OSS stuff (and even then, it takes a while). AFAIK, I'm currently the only one actively responding here (no, I'm not a Kobo employee). You would normally be better off asking on MobileRead, which is where a bunch of us are.

ieb commented 4 years ago

That's great, thank you. I had a look round the QtWebKit code and I think I can work out if the version has the support I need from the git sha1s mentioned there. If its got Canvas (probably has), then I can work round the bugs. Failing that, thanks for the pointers.