<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi,<br>
<br>
To get xpra[1] to mirror the client's screen configuration, we use
the dummy driver as "Xdummy"[2].<br>
This works well enough generally, but there are a number of niggling
issues we would like to fix:<br>
<br>
* Limited RandR support:<br>
<a class="moz-txt-link-freetext" href="http://lists.freedesktop.org/archives/xorg-devel/2011-October/026596.html">http://lists.freedesktop.org/archives/xorg-devel/2011-October/026596.html</a><br>
We can use XRRSetScreenConfigAndRate with some pre-defined
resolutions in xorg.conf, but we cannot use XRRSetScreenSize as this
is not supported by the dummy driver. This means that the server
resolution often does not match the client's, and also causes some
problems with DPI:<br>
<br>
* DPI: although we try to set the
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
"Xft.dpi" property to a value suitable for the client, there are
many applications out there that will ignore this value and query
the X11 server directly and calculate the DPI themselves.. (ie:
Java)<br>
Since the X11 server assumes that the virtual screen's physical
dimension is fixed (set in xorg.conf), the dpi will vary widely if
you connect from a VGA client or a 4K client... Even though most of
the time, we want 96dpi or so.<br>
<br>
* Multi-screen setups: ideally, we want to mirror the client's
layout down to the number of screens and their exact dimensions, but
again the dummy driver only supports one screen, and using Xinerama
is not a viable option (no randr, etc). This causes problems with
applications that go "fullscreen" especially.<br>
<br>
<br>
I believe the first two problems can be resolved by adding
XRRSetScreenSize support to the dummy driver. I don't think this is
too controversial, is it?<br>
Any code pointers would be much appreciated. Is there a driver I can
use as a clean reference implementation?<br>
<br>
The multi-screen issue is more tricky, using Xinerama on top of
Xephyr is not an option since it would not be dynamic.
libfakexinerama[3] is unreachable right now ( "Bad Gateway").
Anyway, LD_PRELOAD hacks are useful but not really suitable<span
style="color: rgb(0, 0, 0); font-family: 'Times New Roman';
font-size: medium; font-style: normal; font-variant: normal;
font-weight: normal; letter-spacing: normal; line-height: normal;
orphans: auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
background-color: rgb(255, 255, 255); display: inline !important;
float: none;"></span> for use in production.<br>
Some window managers have their own way of faking xinerama screens:
enlightenment [4] does. Some of the proprietary drivers have their
own fake xinerama options too.<br>
Wouldn't it make sense to unify this and do it more properly
somehow? Or can you perhaps suggest a different approach we can
take?<br>
<br>
Thanks<br>
Antoine<br>
<br>
[1] xpra<br>
<a class="moz-txt-link-freetext" href="http://xpra.org/">http://xpra.org/</a><br>
[2] Xdummy<br>
<a class="moz-txt-link-freetext" href="http://xpra.org/trac/wiki/Xdummy">http://xpra.org/trac/wiki/Xdummy</a><br>
[3] libfakexinerama<br>
<a class="moz-txt-link-freetext" href="http://home.kde.org/~seli/fakexinerama/">http://home.kde.org/~seli/fakexinerama/</a><br>
[4]
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
enlightenment fake xinerama screens<br>
<a class="moz-txt-link-freetext" href="http://git.enlightenment.org/core/enlightenment.git/commit/x-ui.sh?id=7544376cbd2a344a13d50c38f39d9e56aea02c32">http://git.enlightenment.org/core/enlightenment.git/commit/x-ui.sh?id=7544376cbd2a344a13d50c38f39d9e56aea02c32</a><br>
</body>
</html>