Git Product home page Git Product logo

vnc-eglfs's People

Contributors

longhanks avatar uwerat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

vnc-eglfs's Issues

cmake

Using cmake instead of qmake

Authentication/Security

We need to have some sort of support for the Authentication/Security being defined in the RFB specification.
makes sense to support V3.3, V3.7 and V3.8 then as the RFB protocol differs for this functionality.

Cursor with alpha

Support for the pseudo encoding "Cursor with Alpha" ( -314 ) should be low hanging fruits

Image composition should happen on dedicated threads

At the moment the framebuffer is grabbed on the scene graph thread, but converting it into the format being requested by the client happens in the GUI thread.

Probably the best way to solve this is to move each instance of VncClient in its own thread. This also allows to use blocking reads, when waiting for client messages.

Text input

There are problems with special keys like "Shift", that end up as an extra character in the text input field

Avoid extra flipping of the framebuffer

Instead of flipping the grabbed framebuffer we could invert the order of the lines when iterating in inverted order when sending the lines to the wire. ( minor performance improvement )

zlib encoding

zlib encoding should be an easy to have compression

Minimum required Qt 5 version is probably 5.13

Got this error:

../../git/src/VncServer.cpp:235:17: error: 'class QImage' has no member named 'convertTo'

According to the doc, this method exists starting from Qt 5.13. I don't know if there are other methods which require even superior releases, but this for sure requires something newer than 5.12.

Open H.264 Encoding

Considering that the image composition happens on the GPU and many modern GPUs offer H.264 encoding this sounds like an interesting approach to solve low bandwidth problems, when always sending fullscreen updates.

Not sure if there is a VNC viewer on te market that supports H.264 and we might need to implement our own client - at least for testing.

Platform plugin

We could offer an optional platform plugin, that creates a headless environment ( using gbm ) and starts VNC support.

We would have the same limitations as with the Qt VNC platform plugin ( local/remote access are mutually exclusive ), but we would have VNC support for applications without any adjustments to the source code.

Maybe we even find another type of plugin that is loaded by every Qt/Quick applicaton, that could be used.

Support non true color clients

Currently clients, that do not have true color support are rejected. Not sure how important such feature is in 2022 - but anyway.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.