The wiki/Clients support different rendering modes, here are the most commonly used implementations.
The choice of drawing backend has an influence on the performance, the encodings the client can support, etc.
Python / GTK Clients
The GTK clients support some of these rendering implementations:
- PixmapBacking - a standard gdk pixmap based backing, GTK2 only. Used as fallback when
OpenGLis not available.
- CairoBacking - uses cairo surfaces for backing, required for GTK3 support. Can be used with GTK2 (rarely tested)
- GLPixmapBacking - uses OpenGL for backing, allows us to speedup rendering by using
OpenGLfor the colourspace conversion step needed with x264 and vpx encodings.
The OpenGL client rendering backend should be used for most windows if the graphics card is supported.
All the recent python / gtk clients support desktop scaling: this feature allows the client to pretend that its displays are smaller than they really are in order to save CPU and bandwidth. The client then upscales the window contents before displaying it on screen.
The server also changes the virtual screen DPI so that application which honour the DPI setting should render their contents using the same virtual size, just using fewer pixels. (note: this works best with a patched wiki/Xdummy)
In the default configuration, this feature is activated automatically if the client display area is very large (WQXGA or more).
This option can be configured as "desktop-scaling" in the xpra.conf file, on the command line or at runtime via the system tray menu or via the keyboard shortcuts. By default, the shortcuts are:
- Alt Shift + to scale up
- Alt Shift - to scaledown
- Alt Shift ? to turn scaling off
- Alt Shift * to reset scaling to the default value