Hi, To get xpra[1] to mirror the client's screen configuration, we use the dummy driver as "Xdummy"[2]. This works well enough generally, but there are a number of niggling issues we would like to fix:
* Limited RandR support: http://lists.freedesktop.org/archives/xorg-devel/2011-October/026596.html 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: * DPI: although we try to set the "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) 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. * 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. 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? Any code pointers would be much appreciated. Is there a driver I can use as a clean reference implementation? 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 suitablefor use in production. 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. 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? Thanks Antoine [1] xpra http://xpra.org/ [2] Xdummy http://xpra.org/trac/wiki/Xdummy [3] libfakexinerama http://home.kde.org/~seli/fakexinerama/ [4] enlightenment fake xinerama screens http://git.enlightenment.org/core/enlightenment.git/commit/x-ui.sh?id=7544376cbd2a344a13d50c38f39d9e56aea02c32
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
