[Xcb] [Bug 89560] New: xcb_xkb_get_kbd_by_name not working

chris at demorecorder.com chris at demorecorder.com
Thu Mar 12 23:21:01 PDT 2015

Hi Gatis,

Thank you for your info on that.
I see that we may have a serious problem,
and we need to find ways to solve that in a good way.

Yes, I understand that you find my statement strange.
But IMHO, the current state XKB support in XCB 
should not have been declared as officially supported.
Especially because any bugs in XCB-protocol definitions
are visible in the API and ABI. So that anything
that's prematurely declared "finished" will introduce
a lot of ABI/API headaches. This is different to most
other projects which usually have a small but stable ABI/API,
and therefore most bugs and problems are beneath the
API level.

Maybe, QT only uses a subset of XCB-XKB that has fewer bugs.


I have been burned by the bugs in XKB-support in XCB
about a year ago when I wanted to use XCB for a project which includes
an X11-protocol proxy that has to work extremely reliable.
Long story short, this was what got me involved in the XCB-project,
as I saw an urgent need to get this fixed.

I have carefully reviewed, tested and fixed the stuff in XInput and XKB.
Most of my XInput fixes are already in the main repository.
XKB is next.

Tomorrow, I will post an RFC PATCH with my changes for XKB support,
so we can discuss the implications based on the specifics.

The fixes will most probably involve ABI and API changes
because in XCB, almost all bugs in the protocol-spec are visible in the ABI and API.

We'll see whether we can confine these ABI and API changes to stuff
that's not used in the QT project.
If that's not possible we will probably have to support two versions of XKB in XCB.
1. xkb.xml for compatibility reasons, and marked as deprecated.
2. xkeyboard.xml or xkb2.xml with the corrected protocol spec.

In any case we'll have to make sure that we remain ABI and API compatible 
with all released versions of QT and of other (important) software projects.

I suggest that we discuss the specifics once I'll have posted the rfc-patch for XKB.


Paeglis Gatis wrote on 12.03.2015 19:46:

>> Please do not use the XKB support from libxcb anywhere yet.
> I find this statement strange, XKB extenssion has been enabled by default since
> libxcb 1.10, so saying 
> that it is not supported contradicts with a default settings. 
>> Fixing all the problems with XKB in libxcb will require incompatible changes.
> Qt has been using XKB/libxcb for several releases already thus the current
> state of XKB does not seem that bad.
> What type of "incompatible changes" are expected - source, binary or?
> Gatis.
> ________________________________________
> From: Xcb <xcb-bounces at lists.freedesktop.org> on behalf of Christian Linhart
> <chris at DemoRecorder.com>
> Sent: Thursday, March 12, 2015 6:44 PM
> To: bugzilla-daemon at freedesktop.org; xcb at lists.freedesktop.org
> Subject: Re: [Xcb] [Bug 89560] New: xcb_xkb_get_kbd_by_name not working
> XKB support in libxcb is rather unfinished and I'd say that it is not
> officially supported in that state.
> It has many more bugs than that one.
> Please do not use the XKB support from libxcb anywhere yet.
> I already have prepared a working xml for XKB which will change a lot of
> things.
> I will post that in the next weeks.
> It requires some changes in the generator.
> Fixing all the problems with XKB in libxcb will require incompatible changes.
> Hope this clarifies the background of this problem.
> Cheers,
> Chris
> On 03/12/15 13:31, bugzilla-daemon at freedesktop.org wrote:
>> Bug ID        89560 <https://bugs.freedesktop.org/show_bug.cgi?id=89560>
>> Summary       xcb_xkb_get_kbd_by_name not working
>> Product       XCB
>> Version       1.11
>> Hardware      Other
>> OS    All
>> Status        NEW
>> Severity      normal
>> Priority      medium
>> Component     Library
>> Assignee      xcb at lists.freedesktop.org
>> Reporter      ria.freelander at gmail.com
>> QA Contact    xcb at lists.freedesktop.org
>> It returns null request, if I try to request XCB_XKB_GBN_DETAIL_SERVER_SYMBOLS
>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>> You are receiving this mail because:
>>   * You are the QA Contact for the bug.
>>   * You are the assignee for the bug.
>> _______________________________________________
>> Xcb mailing list
>> Xcb at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/xcb
> _______________________________________________
> Xcb mailing list
> Xcb at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xcb

More information about the Xcb mailing list