Details
-
Epic
-
Resolution: Unresolved
-
P2: Important
-
6.3
-
None
Description
What is the benefit? Why is this valuable?
Implementation of this epic will allow remoting or also "projection" of a Qt-based UI to a remote client running on another machine somewhere on the network. This is complementary to WebAssembly as a new platform for Qt, since the application keeps running "as is" and only its UI is projected and input events are forwarded.
The below technical information lists RFB/VNC. It was selected in the most commonly used protocol, and a meanwhile an RFC standard
What are the common use cases?
- Remote maintenance, monitoring, support
- companion apps for embedded devices able to show a projected copy of the UI running on the embedded device
- All use cases cover "closed systems" where additional measures are taken to ensure network security
Technical information
Features available via the "Qt VNC Server" Qt add-on are strikethrough
- Can connect to a running app
- Does not require changing the application's source code
Can be used with a Qt-based app running on desktop platformsCan be used with a Qt-based app running on embedded LinuxCan be used with a Qt-based app running on AndroidCan be used with a Qt-based app running on a Wayland desktopCan be used with a non-Qt app running on a Wayland desktopWorks with QML-based app- Works with Qt C++ based app
Compliant with the RFB standard (https://datatracker.ietf.org/doc/html/rfc6143), which is basically VNCCan be used with the most popular RFB clientsSeparate top-level windows can be projectedMultiple clients (viewers) can be connected and interact with a projected appInput can be disabledIt is possible to query if there is an active connectionThe projected app can be controlled by the user as if it was running locally. Limitations and deviations should be well documentedA dedicated PIN/Password protection is supported. Strong encryption and protection are not needed here, it is rather an "idiot" protectionLogging and tracing for compression ratio and payload sent to the networking stackEfficient processing with a minimal impact on app's performance. Better or comparable with existing VNC servers.The first version is needed as TP for Qt 6.4None to no effort to be backported to Qt5 by "regular" Qt developers who are not Qt-insiders- Client-side API or a module to embed a projected view in a Qt app
- Server-side protocol wrappers allowing novnc-alike viewing via a browser with zero deployment
Attachments
Issue Links
- relates to
-
QTBUG-114477 Support for Qt App Streaming
-
- Open
-
-
QTBUG-58964 Ability to use VNC plugin with other platfrom plugins
-
- Reported
-