Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Xdummy standalone and packaging #10

Closed
totaam opened this issue Aug 18, 2011 · 19 comments
Closed

Xdummy standalone and packaging #10

totaam opened this issue Aug 18, 2011 · 19 comments

Comments

@totaam
Copy link
Collaborator

totaam commented Aug 18, 2011

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:

  • create an xorg project based on xorg-server, but with the ability to specify absolute config paths and dummy defaults
  • merge it upstream and/or package it
  • add code to xpra so it will use randr to resize the virtual framebuffer to the exact screen dimension of the client (currently resizes to the nearest size bigger than the client's)

All the info should now be here: Xdummy]

@totaam
Copy link
Collaborator Author

totaam commented Sep 29, 2011

Posted an RFC to the xorg list, includes pointers to some patches which can be used to generate a /usr/bin/Xdummy binary suitable for Xpra.

@totaam
Copy link
Collaborator Author

totaam commented Oct 12, 2011

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

@totaam
Copy link
Collaborator Author

totaam commented Oct 12, 2011

You can help get this moving by testing the packages (or building from source with the patch) and providing "Tested-by:" tags for the latest patch, like this one

@totaam
Copy link
Collaborator Author

totaam commented Oct 17, 2011

... 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...)

@totaam
Copy link
Collaborator Author

totaam commented Dec 17, 2011

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

@totaam totaam closed this as completed Dec 17, 2011
@totaam
Copy link
Collaborator Author

totaam commented Jan 1, 2012

xf86-video-dummy 0.3.5 has been released

@totaam
Copy link
Collaborator Author

totaam commented Feb 8, 2012

For more information on Xdummy, see the top-level page: Xdummy

@totaam
Copy link
Collaborator Author

totaam commented Jun 22, 2012

2012-06-22 08:43:38: antoine uploaded file Xdummy-patches-5.8.tar.bz2 (4.3 KiB)

patches required for building Xdummy for centos 5.8

@totaam
Copy link
Collaborator Author

totaam commented Jun 22, 2012

2012-06-22 08:43:52: antoine uploaded file Xdummy-patches-6.2.tar.bz2 (4.3 KiB)

patches required for building Xdummy for centos 6.2

@totaam
Copy link
Collaborator Author

totaam commented Jun 22, 2012

2012-06-22 08:46:35: antoine uploaded file Xdummy-fedora-patches.tar.bz2 (5.2 KiB)

patches required for building Xdummy on Fedora

@totaam
Copy link
Collaborator Author

totaam commented Jun 22, 2012

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.

@totaam
Copy link
Collaborator Author

totaam commented Aug 5, 2012

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)

@totaam
Copy link
Collaborator Author

totaam commented Sep 13, 2012

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.

@totaam
Copy link
Collaborator Author

totaam commented Sep 15, 2012

r1549 adds support for suid Xorg installations (Fedora, etc)

@totaam
Copy link
Collaborator Author

totaam commented Sep 25, 2012

More Xdummy work now in #186

@totaam
Copy link
Collaborator Author

totaam commented Oct 18, 2012

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.

@totaam
Copy link
Collaborator Author

totaam commented Oct 19, 2012

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.

@totaam
Copy link
Collaborator Author

totaam commented Jan 12, 2013

Looks like there may be some useful randr changes coming to Xvfb (maybe in Xorg 1.14?):
bug #26391 and this patch

It will be a while before this is shipped in any distro though.

@totaam
Copy link
Collaborator Author

totaam commented Nov 22, 2014

Follow up and related tickets: #601, #732, #728, #349, #56

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant