-
Epic
-
Resolution: Unresolved
-
P2: Important
-
6.3
-
None
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
- 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 platforms
- Can be used with a Qt-based app running on embedded Linux
- Can be used with a Qt-based app running on AndroidÂ
- Can be used with a Qt-based app running on a Wayland desktop
- Can be used with a non-Qt app running on a Wayland desktop
- Works 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 VNC
- Can be used with the most popular RFB clients
- Separate top-level windows can be projected
- Multiple clients (viewers) can be connected and interact with a projected app
- Input can be disabled
- It is possible to query if there is an active connection
- The projected app can be controlled by the user as if it was running locally. Limitations and deviations should be well documented
- A dedicated PIN/Password protection is supported. Strong encryption and protection are not needed here, it is rather an "idiot" protection
- Logging and tracing for compression ratio and payload sent to the networking stack
- Efficient 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.4
- None to no effort to be backported to Qt5 by "regular" Qt developers who are not Qt-insiders
- Provide a module on the client side so that it is possible to embed a projected view in an Qt app
- relates to
-
QTBUG-58964 Ability to use VNC plugin with other platfrom plugins
-
- Reported
-