KF5 Applications Porting

Next week, KDE developers will release the beta of KDE Applications 17.08. This release will again have more applications and nearly all games ported to Qt5/KF5. While Qt4 is already no longer supported for over a year, KDE has decided to support Qt4/kdelibs4-based applications a bit longer.

The 17.08 release, however, will be the last to include Qt4/kdelibs4-based applications. This means, 17.12 will only include applications that are based on Qt5/KF5. See this mailing list discussion.

We hope to find more contributors who help porting the remaining applications. Instructions are on community.kde.org. Ask for help in our developer forum, mailing list, or IRC channel. You do not need git commit rights; you can add a patch/diff via Phabricator.

Porting Status

There used to be an automatically updated porting status page. Sadly the machine that created it stopped working because of a hardware failure; its DIMM simply died.

This week, I had the chance to run its script over a checkout of nearly all KDE repositories from cgit.kde.org. Unfortunately, the repository layout is not nicely structured into directories, and includes many unmaintained and playground repositories, but maybe it is still useful.

See http://imagezero.maxiom.de/files/portingstatus.html.

For contributors helping to get it more green, there is also a shorter version that omits all-green repositories, see portingstatus-todo.html.

Smaragd for Plasma 5

Smaragd is a port of the Emerald window decoration engine to Plasma‘s window manager KWin. In other words, if you install Smaragd, you will be able to use Emerald themes for Compiz/Beryl in your Plasma desktop.

Smaragd was already released 6 years ago for KWin 4. Today, I have ported most of it to the new KDecoration2 API that KWin 5 uses. What is still missing is the configuration dialog, but you should be able to move the old kwinsmaragdrc file to ~/.config/ to keep your old settings.

Build instructions:

(Install Cairo, GLIB2, KDecoration2, and KF5 devel packages)
git clone git://anongit.kde.org/smaragd.git
cd smaragd
git checkout kdecoration2
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make && sudo make install
(Logout and restart KWin)

To use Smaragd, you need to extract the *.emerald archive to ~/.emerald/theme/ (make sure the file ~/.emerald/theme/theme.ini exists after extracting). In the future, GHNS support will be added to ease installation.

Please report issues to bug.kde.org.

KF5 Porting Progress

The porting of KDE software from Qt4 to Qt5 is in full progress. The KDE core libraries were splitted to multiple manageable frameworks, ready to be used with any Qt5 application.

On top of these frameworks (collectively called KF5 or KDE Frameworks version 5), the KDE community also ported the desktop shell and released Plasma 5.

But KDE software does not stop at the desktop shell. We have many other applications, games, and utilities, that are released either independently, or collectively with the triannual KDE Applications release.

You can find an overview of the porting status of many KDE projects at http://developer.kde.org/~cfeck/portingstatus.html (updated as time permits).

If you want to join in and help, this is a good opportunity to get in contact with the KDE community.

February Bug of the Month

The KDE Gardening Team selected the February “Bug of the Month”. Before announcing it, let me write about other bugs that got resolved recently.

First, our January bug (Bug 271934, kded4 memory leak) has been investigated and resolved by Max A. Dednev. He identified excess reference counting in the underlying PolicyKit package, and proposed a patch upstream. While Max uses KDE software since the very early KDE 3 releases, and also works as a developer for Astra Linux, this was his first contribution to the open source communities. Thanks Max!

Let me mention three other bugs, all of them very high on the list of possible candidates for the election as the next Bug of the Month, out of the literally hundreds that are resolved each month:

  • Bug 245482 (Trash has reached maximum size) was resolved by David Faure. An update to the freedesktop.org Trash specification was required to fix it.
  • Bug 340202 (ksnapshot captures itself) was identified as a regression in the xorg-intel video drivers.
  • Bug 328014 (printer-manager password prompt stuck) was resolved by Wolfgang Bauer from the openSUSE KDE team.

But now to the bug for February. This time, a keyboard usability bug was selected.
It is Bug 309193: Keyboard shortcuts do not work with certain layout order

Reasons for the nomination:

  • not being able to invoke keyboard shortcuts is a blocker for usability,
  • most (if not all) KDE developers use a single keyboard layout, so there is little chance that any of them runs into it,
  • it is still unclear whether the bug is in KDE software or underlying components, such as the Qt library, the xorg input layer, or in the keyboard layout definition files,
  • actually, it is very unclear which combination of components and configuration files triggers the bug,
  • the nomination was also dedicated to Max A. Dednev, in the hope that we can attract more developers from countries with non-latin keyboard layouts.

If you are able to fix it, you will receive a honorable mention in the next issue of my blog post “The Bug of the Month” on Planet KDE.

Not all developers that would be able to fix it are subscribed to this bug. If you know someone, feel free to point them here.

January Bug of the Month

The KDE Gardening Team selected the January “Bug of the Month”. Before announcing it, let me write more about this initiative.

When I blogged about the nomination of the first bug, I probably left the impression that each bug is to be resolved in a time frame of one month. The bugs that get selected are often unresolved for a long time, and solving them might overlap with the announcement of the next bugs, so some patience is needed. But I have good news!

The first bug (Bug 324975: Volume gets restored to 100% after each knotify event) has been resolved thanks to the work of Albert Astals Cid. Because of translation changes, the fix will be available in the next KDE Applications release in April.

Regarding the second bug (Bug 288410: KDE daemon kded4 crashes on wake up), we already have a patch to test. There are packages available for openSUSE and Kubuntu, and Fedora packages are being prepared. Please check the recents comments in the bug report and give feedback.

But now to the bug for January. This time, a memory leak was selected.
It is Bug 271934: KDE daemon kded4 grows on memory usage

Reasons for the nomination:

  • the bug is the most reported memory leak in our bug tracker,
  • some people reported growth rates beyond megabytes per minute,
  • having to restart just to keep a low memory usage is annoying,
  • there was growing interest recently (raising CC list size),
  • getting more developers to try Milian’s new heaptrack tool.

If you are able to fix it, you will receive a honorable mention in the next issue of my blog post “The Bug of the Month” on Planet KDE.

Not all developers that would be able to fix it are subscribed to this bug. If you know someone, feel free to point them here.

December Bug of the Month

The KDE Gardening Team selected the December “Bug of the Month”.

It is Bug 288410: KDE daemon kded4 crashes on wake up (related to power/battery change)

Reasons for the nomination:

  • the bug is one of the most reported crashes in our bug tracker,
  • a defunct kded4 process can cause several other issues,
  • it is annoying to restart the desktop just after a wake up,
  • getting a crash dialog when the laptop wakes up makes bad publicity,
  • it might be fixable, it looks like an access to a stale object pointer.

If you are able to fix it, you will receive a honorable mention in the next issue of my blog post “The Bug of the Month” on Planet KDE.

Not all developers that would be able to fix it are subscribed to this bug. If you know someone, feel free to point him here.

The Bug of the Month

The KDE Gardening Team had the idea to nominate one particular annoying bug as “The Bug of the Month”. While we have literally hundreds of bugs that would qualify, only one bug per month gets nominated.

To get the initiative going, I took the liberty to select the first “Bug of the Month”:
it is Bug 324975: Volume gets restored to 100% after each knotify event.

Reasons for the nomination:

  • the bug affects practically all users, because notifications are not only used by many KDE applications, but also by the KDE Workspaces itself,
  • the bug is severe, as it can damage hardware and ears in extreme cases,
  • the bug is annoying, which was also measured by the rapid growth of votes and comments,
  • the bug seems fixable, we just did not find someone who was able to do it.

If you are able to fix it, you will receive a honorable mention in the next issue of my blog post “The Bug of the Month” on Planet KDE.

We do not have a knotify maintainer. If the issue is in knotify, please suggest a patch with anything that fixes it and create a review request at https://git.reviewboard.kde.org/ and paste the link here. If the issue is in Phonon, its backends, in gstreamer, VLC, pulseaudio, or ALSA, please suggest a patch there.

Not all developers that would be able to fix it are subscribed to this bug. If you know someone, feel free to point him here.

If we receive multiple patches, we will have to decide which of them is best suited, and nominate one of them for the fix.