Bug#495833: xserver-xorg-core: GTK+ 2.13.7/xrandr apps complain of BadImplementation X error with Debian X server as remote X
On Thu, Aug 21, 2008 at 11:43:44 +0200, Julien Cristau wrote:
> tag 495833 fixed-upstream
> kthxbye
>
> On Wed, Aug 20, 2008 at 22:26:48 +0200, Julien Cristau wrote:
>
> > See http://cgit.freedesktop.org/xorg/xserver/tree/randr/rrsdispatch.c:
> > many of the randr requests aren't wired up in the swapped case (which
> > you're hitting since your clients are on amd64 and the server on ppc).
> >
> Should be fixed upstream now. It at least allowed me to run "xrandr
> --verbose" on sparc against my (i386) X server.
> http://cgit.freedesktop.org/xorg/xserver/commit/?id=01264f17925005969c3b71ca945fc1014bcd8c8e
>
I guess another option for lenny if the above patch is considered too
intrusive would be the following hack:
diff --git a/randr/rrdispatch.c b/randr/rrdispatch.c
index 5525427..83deb6b 100644
--- a/randr/rrdispatch.c
+++ b/randr/rrdispatch.c
@@ -55,6 +55,11 @@ ProcRRQueryVersion (ClientPtr client)
rep.majorVersion = SERVER_RANDR_MAJOR;
rep.minorVersion = SERVER_RANDR_MINOR;
if (client->swapped) {
+ /*
+ * We return BadImplementation for swapped clients on 1.2 requests,
+ * let's not do that
+ */
+ rep.minorVersion = 1;
swaps(&rep.sequenceNumber, n);
swapl(&rep.length, n);
swapl(&rep.majorVersion, n);
This way XRRQueryVersion returns 1.1 for swapped clients, so they don't
try and send us RandR 1.2 requests that aren't implemented.
Cheers,
Julien
Reply to: