Version 0

Lecture: We are the 1 %

Porting KWin to Qt 5


Qt 5 promises a source code compatibility from Qt 4 to Qt 5 of around 99 %. The remaining 1 % is in plattform specific API which got changed due to the introduction of QPA. The transition to QPA also requires native applications for X11 to port from XLib to XCB, or as Qt writes it [1]:
"Note: The native events that can be filtered this way depend on the QPA backend chosen at runtime. On X11, XEvents are replaced with xcb_generic_event_t due to the switch to XCB, which requires porting the application code to XCB as well."

If there is an X11 specific API call in Qt 4 - KWin is using it. In many cases it's quite likely that KWin is the only application which ever used these API calls outside Qt itself. Who would want to get access to the low level cursor identifier? Apparently those usages are so unlikely that they are not even listed in the summary of C++ API changes.

In this talk the issues the KWin team run into while porting to Qt 5 will be shown. It will be shown why the code was there and how the problems were solved in a Qt 4 code base. An important aspect is also to explain why we welcome the changes being enforced on us and how this improved KWin in 4.11 significantly.

This talk will have a strong technical focus and will include quite some low level X11 specific code blocks.


Day: 2013-07-13
Start time: 16:55
Duration: 00:30
Track: New Ideas




Click here to let us know how you liked this event.