DPI
Xpra synchronizes the DPI from the client to the server, so that
applications will render with the correct settings and “look right” on
the client. This may affect fonts, window sizes, cursors sizes, etc.
See also: image depth
Important caveats:
- support varies greatly depending on the operating system and
version, desktop environment, number of monitors attached and their
resolution, etc
- with X11, there are far too many places where the DPI can be looked
up, many places where it can be overridden
- for virtualized “hardware DPI” which some applications calculate
from the virtual monitor dimensions, you will need a patched Xdummy driver and FakeXinerama: without a patched
dummy driver, the hardware DPI - as reported by
xdpyinfo
-
cannot be updated at runtime and must be set in advance, either in the
/etc/xpra/xorg.conf
file or on the Xvfb
command line
- many applications will not reload the DPI settings, so they must be
started after the client connects to get the correct DPI value
(you may want to use
start-after-connect
)
Debugging
For debugging or
reporting
issues, the most relevant pieces of information can be collected
from: * client and server debug output with -d dpi
command
line switch * xdpyinfo
output * xrandr
output
Technical details
xpra DPI issues
- Ubuntu packaging
problems
- #697 GTK
screen dimension detection is broken with high DPI displays on windows7
and later
- #163 pass
client DPI preference to server and use sane default value of
96
- #976
client display scaling
- #919 frame
extents synchronization
- #887
chrome DPI
- #882 DPI
with Ubuntu - not fixable as Ubuntu does not use Xdummy
- #1086 DPI
handling improvements, MacOS support
- #1215
patched dummy driver for Debian and Ubuntu
- #1193 bug
with client command line switch handling
- #1526
per-monitor DPI with MS Windows clients
- #1933
HIDPI awareness for MacOS