v0.15
Changelog
Client Enhancements
-
Rendering Performance Improvement: The client now utilizes WebGL for rendering, offering smoother performance and better handling of antialiasing on reload. However, this change means the removal of screenshot and record options for the time being.
-
Pointer Display Enhancement: When the pen hovers over the tablet, a pointer is now displayed. This is achieved through WebSocket communication, with the backend providing pen events through WebSockets. The client side handles this in a worker thread for improved performance, and rendering is conducted on a separate canvas.
Backend Enhancements
-
PubSub Mechanism: A new pubsub mechanism has been implemented. It continuously reads pen and touch events from
/dev/input/events
, resolving the previous issue where/dev/input/event
did not close properly. These events are then sent to stream and event HTTP handlers. -
RK_COMPRESS Environment Variable: This new environment variable allows for the configuration of compression settings on any HTTP endpoint from the server side. While it affects CPU usage, it remains manageable. Compression is disabled by default.
-
Binary Package for Performance: The backend reader now utilizes the binary package for improved performance. Images are sent mirrored (default behavior) and are unmirrored by the WebGL code.
Bug Fixes
- Broken Pipe Issue on Refresh: Fixed a bug where pressing refresh could cause a broken pipe error. This issue previously blocked the handler from returning and freeing the lock, leading to an excessive number of requests on subsequent calls.
Client Configuration Options
- Query Parameters for Configuration: Various query parameters can be passed to preset the client's configuration:
color
: Set totrue
orfalse
to enable or disable colors.portrait
: Set totrue
orfalse
to adjust the orientation.rate
: Transferred to the/stream
endpoint to adjust the refresh rate.