matteodelabre / waved

Experimental driver for the reMarkable 2 E-Ink display
GNU General Public License v3.0
58 stars 6 forks source link

License when using it from apps? #14

Open cesss opened 1 year ago

cesss commented 1 year ago

I see you are developing it as GPL3, and, if I'm understanding it correctly, what you are writing is a library to which you can link your application and draw faster to the rm2 framebuffer (just like xochitl does, by being linked to a static library that does all the framebuffer work from user space).

If that's correct, then I guess this would imply that only GPL apps could use your library, wouldn't it? I'm not planning on releasing commercial apps for the rm2, but I write for several platforms, and I'm afraid that by porting to the rm2 with your lib, I'd might need to change my permissive licenses.

BTW, how far is it from being usable from apps? Would it be possible to use it already as it is? Does it have the usual features needed for low latency? Just trying to find a good alternative to the rm2fb hack...

matteodelabre commented 1 year ago

I see you are developing it as GPL3, and, if I'm understanding it correctly, what you are writing is a library to which you can link your application and draw faster to the rm2 framebuffer […]. If that's correct, then I guess this would imply that only GPL apps could use your library, wouldn't it?

It is certainly possible to link this library directly into applications, which has the license implications you stated. The plan, though, is to write a lightweight window manager that links to waved and to which apps can connect to display their stuff (see #9). This would not require any license changes from the apps.

BTW, how far is it from being usable from apps? Would it be possible to use it already as it is? Does it have the usual features needed for low latency? Just trying to find a good alternative to the rm2fb hack...

It is usable in the sense that it can display anything to the screen. All display modes are supported, including low-latency (A2 mode). However, there are two major usability blocks: (1) performance is currently poor, especially for large screen updates (see #12), and (2) no ghosting-reducing algorithm is currently implemented, so you will see a lot more artifacts left on the screen as compared to using the Xochitl implementation (see #7).

cesss commented 1 year ago

Thanks a lot. Yesterday I was comparing the performance of Doom in the rm2 (https://www.youtube.com/watch?v=PFR3QHZ7kGw) compared to the rm1 (https://www.youtube.com/watch?v=wdH3GFU74sM), which is around 4x times better in the rm1. So, I feel like rm2fb performance can be a real bottleneck for apps, and this is the reason why I asked.

BTW, I wouldn't consider a window manager as a need right now. In fact, I'm happier with no window manager at all. I mean, I feel like the need is maximum performance, not a window manager (just my 2 cents, in case it helps to prioritize things).