[SOLVED] Qt driver/backend for X11
-
Hi,
In frame of my "desktop-as-a-service" work, I'm searching an information about how Qt provide rendering to the screen on Linux. Is it posts rendering comand to the GPU directly, use some backends, or make it all itself on CPU and what is the type of this commands. I can't find an information in Qt doc, maybe I'm searching not carefully. So, do someone know, where can I read abou that? -
There is a difference between Qt4 and Qt5 here. In Qt5, all communication with desktop environment goes through QPA plugins - in case of X11 that's xcb plugin.
I don't know exactly how it works in Qt4, though. I think you would find native calls to X11 in QPainter, QWidget etc.
-
But is there some documentation about this subject? Or I need to read the source code?
-
I think the source code is your best friend in this situation.
The only reference to X11 that I know of is in case of special methods of QWidget ("see this":http://qt-project.org/doc/qt-4.8/qwidget.html#x11Info).
-
Thanks, I found documentation about "QPA":http://qt-project.org/wiki/Qt-Platform-Abstraction and "Qws":http://qt-project.org/doc/qt-4.8/embeddedlinux-support.html ("link":http://qt-project.org/doc/qt-4.8/qt-embedded-vnc.html). I think, Its exactly wat I need, but I need some time to read them.
-
Just be sure to pay more attention to QPA. Qws is now (Qt 4.8) deprecated and will be completely dropped in Qt5.
-
The problem Is that most application now still using Qt4 and earlier. My task is to make desktop-as-a-service system to transfer only rendering command not a full rendered images (like in VNC). So I need to pay attension to all common tecnologes, including the cairo.
-
You can also take a look at "Qt on NaCl":http://qt-project.org/wiki/Qt_for_Google_Native_Client, then. There are also people working on Displaying widgets in a browser based on HTML and JS, but I can't find the link right now.
-
No, I'm working with system what transfer full desktop througth the net (spice and Xspice more precisely). Thanks for your help, you tell me more than I need.