There are a number of issues that can only be solved by having a proper supported Xvfb server with modern extension support (randr, etc), ie: #1, #2 (and potentially others - original winswitch ticket)
Although this is not strictly an Xpra thing, and is unlikely to live in the this xpra source repository, it is best to record this somewhere. There are number of tasks:
All the info should now be here: wiki/Xdummy]
Posted an some patches which can be used to generate a /usr/bin/Xdummy
binary suitable for Xpra.
There are now binary packages available here (fedora, centos, debian, ubuntu)
To test that your Xorg supports the new non-root options, run:
wget http://xpra.org/src/Xdummy/xorg.conf Xorg +extension GLX +extension RANDR +extension RENDER -logfile log -config ./xorg.conf :200
Note: you must ensure that Xorg is not suid. On Fedora (and possibly others) this means that you have to copy the existing binary, ie:
sudo cp /usr/bin/Xorg /usr/local/bin/Xorg
You can help get this moving by testing the packages (or building from source with the patch) and providing "Tested-by:
" tags for this one
... or "Reviewed-by
" tags like this one
Please help get this merge with a quick test (there are binary packages built - so it doesn't take long...)
The changes have been merged upstream in commit ead968a4300c0adeff89b9886e888b6d284c75cc xf86-video-dummy should be tagged before the next server release too, so we can then automatically enable Xdummy with a simple X server version test:
$ X -version 2>&1 | grep "X Server" X.Org X Server 1.11.2
Starting with soon-to-be-released 1.12
xf86-video-dummy 0.3.5
has been released
For more information on Xdummy, see the top-level page: Xdummy
patches required for building Xdummy for centos 5.8
patches required for building Xdummy for centos 6.2
patches required for building Xdummy on Fedora
Added Xdummy packages for CentOS
5.8 and 6.2 here, the CentOS
and Fedora
specific patches are archived in this ticket. The Fedora
binaries will no longer be updated since Fedora
17 is the current release and includes the patches already.
As of r1286 (+ fix in r1295), we install an xpra.conf
with Xdummy support if the distro supports it (ie: if Xorg version is >= 1.12 and if the Xorg binary is not suid)
This works for recent Debian / Ubuntu but not for Fedora/CentOS as those ship with a suid /usr/bin/Xorg
(no easy way around that - we cannot copy the binary from the specfile's post-install scripts as was done in r1256 and later reverted, as system updates would break our copy... and also it wouldn't get updated)
We could provide support for Xdummy on Fedora 17 (and others with suid-only binaries) by copying the /usr/bin/Xorg
binary every time before we use it, something like /usr/bin/xpra_Xvfb
:
#!/bin/bash mkdir -p ~/.xpra cp /usr/bin/Xorg ~/.xpra/Xorg ~/.xpra/Xorg "$@"
I have filed a bug with Fedora asking for a non-suid Xorg to be installed.
r1549 adds support for suid Xorg installations (Fedora, etc)
More Xdummy work now in #186
The solution of copying /usr/bin/Xorg does not work with gentoo because the executable is installed as -rws--x--x. If I'm not mistaken this is a common practice, ie to make root suid executables not readable by anybody else. Gentoo does it automatically for all such executables.
redneb: thanks, this was already discussed on the mailing list (see here) and the fix is in r1984: gentoo users just won't be able to use Xdummy until Xorg is either not suid or readable, sorry.
Looks like there may be some useful randr changes coming to Xvfb (maybe in Xorg 1.14?): this patch
It will be a while before this is shipped in any distro though.
If you want to know more about Xdummy and how to configure it, see wiki/Xdummy
Follow up and related tickets: #601, #732, #728, #349, #56
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/10