February kicked off with the FOSDEM conference, which brought about progress on the mali driver issue and a sneak peek behind the Necunos prototype device running Nemomobile with the Glacier UI. Among the highlights, the window size problem in the lipstick compositor was resolved. Efforts to improve ofono and pulse audio were made with the aim of getting phone calls and text messages to function properly.


February began with the FOSDEM conference in Brussels, where many interesting topics were presented in sessions. However, from a Nemomobile perspective, some of the most fascinating discussions took place in the hallways.

One of the small talks during the conference revolved around the mali driver issue that caused the glacier-settings application to freeze when opening the Wi-Fi settings dialog. The maintainer of mali recommended using apitrace to provide the necessary details for a bug report. He also suggested using some /proc/cmdline arguments to adjust timeouts as a possible workaround for the issue. However, it turned out that this information was not sufficient to reproduce the issue. It is suspected that the issue may also be related to the revision of the mainboard.

In addition, Eetu showcased the Necunos prototype device, which was running a branch of Nemomobile with the Glacier UI. They had already ported it to Qt Quick Controls 2.

Keyboard size, window size, and related changes

The lipstick compositor received a fix for the window size issue, resolving the problem with the PinQuery dialog displaying incorrect dimensions. The issue would occur when the application was already running and the window suddenly appeared. This problem also affected the Settings application when opened using the press and hold action from the Wi-Fi button on the notifications page, as well as when launching the Messages application from a message notification.

Additionally, there was a separate issue with the window size not updating properly when the on-screen keyboard appeared, causing the text area to be hidden behind the keyboard.

It’s worth noting that during the same period, lipstick was updated to the most recent upstream version. This update included a significant refactor and simplification of the code base, resulting in a reduction of 700 lines of code. Interestingly, this was caused by our 10-line pull request.

Towards a Smartphone OS

Despite the progress that has been made, additional issues were encountered that required attention. Specifically, an incorrect DBus permission configuration in ofono affected functionality and needed to be addressed.

Changes related to recent upstream updates to pulse audio volume in lipstick were made, including adjusting the volume step from 10 to 1 and modifying pulse audio profile names. However, the profiles are not yet switching properly for phone calls.

While testing phone calls, we discovered that displaying avatars could cause issues. Previously, using a high-resolution picture could significantly slow down the loading of the phone call answer dialog and cause the text and control buttons to be hidden. To address this, we limited the avatar size in memory and implemented asynchronous loading. As a result, the avatars no longer overflow and control buttons, such as loudspeaker, are now visible at all times.

Additionally, it was found that the configuration for haptic feedback was missing or pointing to a non-existing file.

Finally, while attempting to make the mobile stack work, it was discovered that some SMS messages were successfully sent depending on the correct order of service starting, specifically the mission-control service. A pull request has been submitted to address this issue.

These efforts move towards a more reliable and user-friendly smartphone operating system.

New image to test

New images are ready for download and testing at https://img.nemomobile.net/2023.05/


By Jozef Mlích

Software Developer at GreyCortex, NemoMobile contributor, Micro light aircraft pilot, OpenAlt Conference organizer