tech-x11 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: setxkbmap -query fails with RANDR/RRGetOutputInfo error



On Sun, 22 Dec 2024, S Cole wrote:

I was trying to run
 setxkbmap -query
and am getting this error:

X Error of failed request:  BadRROutput (invalid Output parameter)
 Major opcode of failed request:  141 (RANDR)
 Minor opcode of failed request:  9 (RRGetOutputInfo)
 Serial number of failed request:  12
 Current serial number in output stream:  12


This is a setxkbmap bug fixed in 1.3.4 which is in -HEAD. See:

https://github.com/NetBSD/xsrc/blob/trunk/external/mit/setxkbmap/dist/ChangeLog#L39

which says:

    Be more careful about querying randr

    Check for extension version and number of outputs:
    XRRGetScreenResourcesCurrent was added in v1.3.  Also, there's no
    guarantee it returns any outputs, and we don't want to die with a
    BadRROutput error.

The relevant fix is this line:

https://github.com/NetBSD/xsrc/blob/trunk/external/mit/setxkbmap/dist/setxkbmap.c#L1106

But, if I start emacs or firefox before the setxkbmap command, it works
fine.  This is on amd64/10.1/ctwm/startx with no custom .xsession or .xinitrc.


Yes. Also just running this: `xrandr >/dev/null' in ~/.xinitrc, but, the correct
fix is in setxkbmap-1.3.4.

Any suggestions?


Compile the newer setxkbmap in -HEAD, or just extract the binary from the
xbase tarball. That works too.

I'll submit a PR if it would be helpful.


Please do.

-RVP


Home | Main Index | Thread Index | Old Index