libxcb-1.16 broke numbered unix DISPLAY sockets
Previously, with DISPLAY set to unix:0
, libxcb up through version 1.15 would connect to display 0 using only local unix sockets in /tmp/.X11-unix
:
$ echo $DISPLAY
unix:0
$ glxinfo -B
name of display: unix:0
display: unix:0 screen: 0
...
ktrace confirms that it is connecting to /tmp/.X11-unix/X0
.
But libxcb 1.16 broke this:
$ echo $DISPLAY
unix:0
$ glxinfo -B
Error: unable to open display unix:0
$
ktrace reveals that it is trying to stat the file 0
(relative to working directory) and failing because it doesn't exist, instead of trying to connect to /tmp/.X11-unix/X0
as it should.
I haven't tested any local changes to libxcb, but I suspect this commit is the culprit: 09525553
Edited by Taylor Campbell