Planet KDE

Subscribe to Planet KDE feed Planet KDE
Planet KDE | English
Updated: 13 hours 6 min ago

KDE Plasma 5.27.11, Bugfix Release for March

Tue, 2024-03-05 19:00

Wednesday, 6 March 2024. Today KDE releases a bugfix update to KDE Plasma 5, versioned 5.27.11.

Plasma 5.27 was released in February 2023 with many feature refinements and new modules to complete the desktop experience.

The bugfixes are typically small but important and include:

  • Plasma Browser Integration: 🍒🍒Download Job: Truncate excessively long URLs. Commit.
  • KWin: Tabbox: match Shift+Backtab against Shift+Tab. Commit. Fixes bug #438991
  • Powerdevil: Kbd backlight: Fix double brightness restore on LidOpen-resume. Commit.
View full changelog
Categories: FLOSS Project Planets

January and February in KDE PIM

Tue, 2024-03-05 07:00

Here's our bi-monthly update from KDE's personal information management applications team. This report covers progress made in the months of January and February 2024.

Since the last report, 34 people contributed approximately 1742 code changes, focusing on bugfixes and improvements for the coming 24.02 release based on Qt6.

Akonadi

The database migration tool to help users easily switch between different database engines has been completed and merged. The tool can be used like this to migrate from the current engine to SQLite, however migration between any combinations of the supported database engines works.

akonadi-db-migrator --newengine sqlite

Unfortunately, the migrator is not available in the 24.02 megarelease, as some big fixes came too late to be safely merged into a stable branch. It will be included in the next feature release.

We also tried to improve handling of a race condition when syncing a very large IMAP folder, where if user marked an email as read in KMail while the folder was syncing, the change got reverted by the sync.

There were also some additional code improvements, test fixes and some last-minute fixes due to changes betwene Qt5 and Qt6 that we missed.

Thank's to g10 Code GmbH for sponsoring part of Dan's work on Akonadi improvements.

KOrganizer

A long-standing issue with un-answered and declined invitations not showing in KOrganizer was fixed. It's common when using enterprise calendar solutions (Google, EWS, etc.) that when a user is invited into a meeting, the invitation is automatically added to their calendar. KOrganizer used to filter those out and instead implemented special "Open Invitations" and "Declined Invitations" meta-calendars that were supposed to show those. Unfortunately this feature never really worked properly and so users were confused where are their meetings. This "feature" has been removed in 24.02 and KOrganizer will show all invites without any filter. In 24.05 release, KOrganizer will also have a checkbox in its Settings to let users to choose whether to hide declined invitations globally.

  • Fixed syncing of Google contacts not working if the sync token has expired.
  • Prepared for upcoming changes in Google Calendar API behavior.
  • Calendar colors not matching configured colors in Google or DAV has been fixed.
  • When creating a recurrence exception, KOrganizer now uses correct timezone #481305.
  • Fixed 'Create sub-todo' action in KOrganizer being always disabled #479351.
  • Fixed iCal resource getting stuck in a loop and consuming lots of CPU when syncing specific calendars #384309.

Dan's work on improving KOrganizer and calendaring was sponsored by g10 Code GmbH.

KMail

Big new feature is support for OAuth login for personal Outlook365 accounts via IMAP and SMTP. The OAuth login is more reliable than standard username+password authentication and it means that users with Two Factory Authentication for their Outlook365 accounts no longer have to set up an app-specific password. Note that users who have account as part of their school or work organizations should use the EWS resource, which already supports OAuth login.

The account wizard rewrite using QML is progressing and aside from some edge cases, the automatic configuration of your account based on the Thunderbird online configuration should work again. The UI also received some improvements:

In addition a lot of bugs were fixed. This includes:

  • Fixed encrpyted attachments not showing in email header even after decrypting the email.
  • Fixed EWS configuration dialog asking for both an username and an email address
  • Changed the default encryption of new IMAP and SMTP connections to the more secure SSL/TLS transport
Itinerary

With the Qt 6 transition completed Itinerary has gotten a new journey map view, public transport data coverage for more countries and many more improvements. See Itinerary's bi-monthly status update for more details.

Kleopatra

For large files the performance of encryption, decryption, signing, and signature verification has been improved (by making gpg read and write the files directly). This is most noticeable on Windows. T6351

The usability was improved in a few places:

  • The configuration of certificate groups is now much easier because changes are applied directly. T6662
  • Users can now change the name of the decryption result if a file with the same name already exists. T6851
  • The workflow of moving a key to a smart card was streamlined. T6933
  • Kleopatra now reads certificates automatically from certain smart cards. T6846

Additionally, a few bugs affecting the Windows builds have been fixed:

  • A wrong permission check when writing the decryption result to a network drive was fixed. (Technical details: Qt allows to enable expensive ownership and permissions checking on NTFS file systems. Unfortunately, these checks seem to give wrong results for network drives.) T6917
  • Kleopatra now displays all icons also in dark mode. Previously, some icons, most noteably the system tray icon, were missing when dark mode was enabled. T6926

Related to Kleopatra, pinentry-qt, the small program that asks for the password to unlock your OpenPGP keys also received some love:

  • pinentry-qt can now be built for Qt 6. T6883
  • pinentry-qt now supports external password managers (via libsecret), but only outside of KDE Plasma to avoid deadlocks with KWallets using GnuPG to encrypt the passwords. T6801
  • pinentry-qt now has better support for Wayland. T6887
Categories: FLOSS Project Planets

Icon Updates for March, 2024

Mon, 2024-03-04 20:43

Hey all,

I have been away for a minute but wanted to give you an update on the work so far in updating and adapting Breeze icons to the 24px grid. Check out the video below.

Categories: FLOSS Project Planets

KDE Plasma 6.0.1, Bugfix Release for March

Mon, 2024-03-04 19:00

Tuesday, 5 March 2024. Today KDE releases a bugfix update to KDE Plasma 6, versioned 6.0.1.

This release adds a week's worth of new translations and fixes from KDE's contributors. The bugfixes are typically small but important and include:

View full changelog
Categories: FLOSS Project Planets

KDE Plasma 6.0.1, Bugfix Release for March

Mon, 2024-03-04 19:00

Tuesday, 5 March 2024. Today KDE releases a bugfix update to KDE Plasma 6, versioned 6.0.1.

This release adds a week's worth of new translations and fixes from KDE's contributors. The bugfixes are typically small but important and include:

View full changelog
Categories: FLOSS Project Planets

This week in KDE: a smooth release

Sat, 2024-03-02 20:43

Last Tuesday, the KDE Mega-Release came out, and I’m happy to report that it went well. Initial impressions seem to be overwhelmingly positive! I’ve been doing extra bug triage and social media monitoring since then to see if there were any major issues, and so far things look really good on the bug front too. I think our 3 months of QA paid off! So congratulations everyone for a job well done! Hopefully this should help banish those now 16-year-old painful memories of KDE 4. It’s a new KDE now. Harder, better, faster, stronger!

The roll-out in Neon has been a bit rockier, unfortunately. At this point, most of the packaging issues have been fixed, and folks who encountered them are strongly encouraged to update again. We’re doing an investigation into how this happened, so we can prevent it in the future. So thanks for your patience there, Neon users!

Needless to say, the week was full of other bug-fixing activity as well. There were still a few regressions, many of which have already been fixed, amazingly. I am just so impressed with KDE’s contributors this week!

New Features

There’s a new KWin effect called “Hide Cursor” (off by default for now, but try it!) that will automatically hide the pointer after a period of inactivity (Jin Liu, Plasma 6.1. Link)

On System Settings’ Legacy App Permissions page, there’s now an option to allow XWayland apps to eavesdrop on mouse buttons as well (Oliver Beard, Plasma 6.1. Link)

UI Improvements

The message shown on widgets not compatible with Plasma 6 is now clearer (Niccolò Venerandi, Plasma 6.1, though it might end up backported to 6.0.1 or 6.0.2. Link 1 and link 2):

When you try to activate the Cube effect with fewer than 3 virtual desktops, it will now tell you why it’s not working and prompt you to add some more virtual desktops so it will work (Vlad Zahorodnii, Plasma 6.1. Link):

The default top-left hotcorner that triggers Overview once again closes the effect if you trigger it a second time, while Overview is still open (Vlad Zahorodnii, Plasma 6.0.1)

A number of pages in System Settings have been modernized to move buttons that were on the bottom up to the top, and make their placeholder messages more consistent (Shubham Arora, me: Nate Graham, Fushan Wen, and Jakob Petsovits, Plasma 6.1. Link 1, link 2, link 3, link 4, link 5, link 6, link 7, link 8, link 9, link 10, link 11, and link 12):

In Kirigami-based apps, the animation used when moving from one page to another is now a lot nicer and smoother (Devin Lin, Frameworks 6.1. Link)

You know that awkward little line in the toolbars of Kirigami-based apps that separates the sidebar from the content area? Now it has the appearance of a normal toolbar separator line (Carl Schwan, Frameworks 6.1. Link):

Bug Fixes

Taking a screenshot in Spectacle immediately after a screen recording now works (Noah Davis, Spectacle 24.02.1. Link)

VLC’s fullscreen mode once again works (David Edmundson, Plasma 6.0.1. Link)

Fixed a source of brief screen freezes in the X11 session (Vlad Zahorodnii, Plasma 6.0.1. Link)

Fixed a random-seeming crash in Plasma (Fushan Wen, Plasma 6.0.1. Link)

Dragging desktop files or folders onto another screen no longer causes them to temporarily disappear, and the fix for this issue also fixes a crash in Plasma that could be caused by dragging files or folders from the desktop into a folder visible in Dolphin (Marco Martin, Plasma 6.0.1. Link 1 and link 2)

Clicking on the “Defaults” button on System Settings’ Task Switcher page no longer breaks your task switcher until you manually choose it again (Marco Martin, Plasma 6.0.1. Link)

When a panel popup is open, clicking on something else on the panel once again activates that thing instead of just closing the open popup (David Edmundson, Plasma 6.0.1. Link)

There’s once again a blue outline around the active (and now also hovered) virtual desktop in the Desktop Grid view of the Pverview effect (Akseli Lahtinen, Plasma 6.0.1. Link)

When you right-click on a panel in Auto-Hide mode and select “Add Widgets…”, the panel no longer frustratingly closes again right after the Widget Explorer opens, which previously prevented you from actually adding a widget to the panel that way, and made you want to throw your computer out the window (Niccolò Venerandi, Plasma 6.0.1. Link)

In the Tile Editor screen, you can no longer break your tile layout by dragging splits on top of other splits (Akseli Lahtinen, Plasma 6.0.1. Link)

Clicking on the search field in the Overview effect no longer closes it (Patrik Fábián, Plasma 6.0.1. Link)

Saving changes made to commands assigned to global shortcuts now works (me: Nate Graham, Plasma 6.0.1. Link)

Fixed some glitches with the new Cube effect: zooming with a scroll (did you even know that was a thing?! I didn’t!) now goes in the direction you would expect, and zooming goes in out too far no longer clips away the cube (Vlad Zahorodnii, Plasma 6.0.1. Link 1 and link 2)

When sending a file to a Bluetooth device, the notification that indicates the progress of the transfer no longer shows a broken link after the transfer finishes (Kai Uwe Broulik, Plasma 6.0.1. Link)

MPV windows with the “Keep Aspect Ratio” setting turned on are now full-screenable (Łukasz Patron, Plasma 6.1. Link)

The layout of the “Overwrite this file?” dialog in “Get New [Thing]” windows is no longer visually broken (Akseli Lahtinen, Frameworks 6.1. Link)

Fixed an issue that could cause glitchy horizontal lines to appear on graphs and charts in System Monitor when using a fractional scale factor with certain integrated Intel GPUs (Arjen Hiemstra, Frameworks 6.1. Link)

Other bug information of note:

Automation & Systematization

Created documentation about how to write Appium-based GUI tests for KDE software (Fushan Wen and Thiago Sueto, link)

Created documentation about how to expose C++ models to the QML GUI side in KDE software (Thiago Sueto, link)

Added a test to ensure the functioning of the SystemDialog component, which powers a number of portal-based permission dialogs (Fushan Wen, link)

…And Everything Else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out https://planet.kde.org, where you can find more news from other KDE contributors.

How You Can Help

Thanks to you, our Plasma 6 fundraiser was been a crazy success! The final number of members is an amazing 885. Not quite 1000, but given that the original goal was 500 (which I even viewed as wildly optimistic at the beginning), I’m just bowled over by the level of support here. Thank you everyone for the confidence you’ve shown in us; we’ll try not to screw it up! For those who haven’t donated yet, it’s not too late!

If you’re a developer, let’s continue to try to focus on bug reports for the next week or two in the software we’re involved with, to make sure that any issued people find get noticed and fixed. I want that perception of quality to continue! We’re building up a good reputation here, so let’s keep pushing for just a bit longer before we pivot to feature work for Plasma 6.1.

Otherwise, visit https://community.kde.org/Get_Involved to discover other ways to be part of a project that really matters. Each contributor makes a huge difference in KDE; you are not a number or a cog in a machine! You don’t have to already be a programmer, either. I wasn’t when I got started. Try it, you’ll like it! We don’t bite!

Categories: FLOSS Project Planets

New blogs.kde.org

Sat, 2024-03-02 19:00
I'm happy to announce the launch of our revamped Blogs.KDE.org website, now powered by Hugo instead of Drupal 7! This switch was motivated by the fact that Drupal 7 is now reaching end of life and since Blogs.
Categories: FLOSS Project Planets

Megarelease Teething Problems

Sat, 2024-03-02 07:16

As many have noticed, Neon’s release of Plasma 6 was not without its problems. We would like to apologise for the totally unexpected packaging problems as “Testing Edition” and “Unstable Edition” had been working just fine without these issues.

Of course the first round of fixes have already hit the “User Edition” archives. Expect more to follow as we continue to ‘Q.A.’ the packages and eliminate as many bugs as we can.

Categories: FLOSS Project Planets

OSM Hack Weekend February 2024

Sat, 2024-03-02 06:30

Last week I attended the bi-annual OSM Hack Weekend in Karlsruhe again, hosted by Geofabrik, focusing on indoor routing as well as Transitous.

Structured Email / Semantic Web

But first to something different (skip to the next section for OSM content).

While traveling to Karlsruhe anyway I used the opportunity to meet with people working on Structured Email, something that has a lot of overlap with the travel document extractor used by KDE Itinerary.

There’s plenty of aspects for collaboration here:

  • Sharing of test data. I learned about Web Data Commons for example, which is a giant corpus of structure data extracts from crawling the web by the University of Mannheim.
  • Sharing of lessons learned, approaches and quirks/workarounds for processing structured data. We are currently lacking a forum for that.
  • A standardized way for applications to register for handling a specific schema.org type. That way email clients or Plasma Browser Integration could dispatch objects they encounter to the respective application in a generic way, similar to how this is done for files based on MIME types. Ideally this is done on the XDG level, and while at it it’s probably worth looking at other areas where the same need came up (URLs, ActivityPub, barcode content, etc).

What we do in Itinerary for importing events, restaurants or hotels from websites is meanwhile also found in the Nextcloud Cookbook app, using the schema.org recipe data embedded in websites. And that’s still just scratching the surface, combining this with e.g. Open Food Facts could open very interesting possibilities. Very cool to see things like this being done :)

Indoor Routing

A month ago I had shown indoor routing running integrated in KDE’s indoor map demo application. That’s an important milestone, only the final 80% of the work remain now, namely making sure this produces reliable and useful results in a variety of locations.

Prefer corridors over rooms

Giving a computer the task of finding the shortest path will usually not yield practical results. That’s because human expectations around this contain many implicit assumptions, constraints and nuanced cost considerations that we all have to implement as well.

One example is shown below. The shortest path here crosses through two conference rooms or lecture halls, however you most likely don’t want to disturb whatever is ongoing in those rooms but rather take the slightly longer corridor around.

Shortest path (left), preferring corridors (right).

Giving different room types different routing cost factors helps with this.

Along the same line other details have been fixed or improved, such as:

  • Emergency exists are not the same as regular doors.
  • Not all OSM barrier types are actually blocking your way (eg. bollards, but also gates/turnstiles).
Data level of detail

Another aspect to deal with is that the OSM data in some places doesn’t have the necessary level of detail needed for routing. Examples include:

  • Missing “cut outs” in the ground for stairs coming up from the floor below.
  • Missing doors to rooms, staircases or elevator cabins.

Either of those can result in significant detours or even entirely inaccessible areas.

While augmenting the OSM data is the proper solution eventually, that is quite a large task. Fortunately we have a few workarounds and heuristics to deal with some of these issues:

  • Stairs are now implemented as “off-mesh links” everywhere, rather than as 3D geometry as done previously, which allows “teleporting” through any obstacle on the way.
  • We now drop walls around any elevator or staircase if there are no door nodes at all. That may lead to routing into those areas from the wrong side, but that’s still better than not being able access those at all.

With these improvements we can now also find a way out of the most complex test labyrinth so far, the Paris Metro.

Paris Metro station at Gare de l'Est. Data modelling

This work also identified a few issues where the OSM indoor data model is ambiguous or cannot express relevant details yet:

  • There’s a significant difference between implicit walls on indoor=corridor elements in the Simple Indoor Tagging (SIT) scheme and usage in reality. No matter how you interpret that for routing you either end up either with unreachable areas or routes through walls.
  • Similarly, there’s ambiguities on how (implicit) outer building walls should be mapped/interpreted.
  • There is no way to model service counters that you might find at ticket offices or fast food stands. This matters to route towards the right side of a building/room.

See also the corresponding mailing list post for details, as well as the the upcoming quarterly OSM Indoor Meetup (Wednesday March 6th, 18:00 CET, online).

Transitous

Transitous, an effort to set up a free and open public transport routing service, also involves a lot of OSM data and software, so that was the other big topic for me.

Intermodal routing

While the public transport routing part for this works quite well already, enabling the intermodal routing has proven challenging. That is routing the first and last mile to and from public transport stops by foot/bike/scooter/car or a combination thereof, possibly considering things like available parking spaces or rental vehicles.

That is build on top of existing OSM routing engines, and MOTIS supports different options there as well. We haven’t found a combination yet that can import planet-wide data or at least data for all of Europe on the hardware we have (ie. needing significantly less than half a TB or RAM), offers the feature set needed by MOTIS for intermodal routing (1:1, 1:N and N:M routing, customizable profiles) and deliver all that with sufficient runtime performance. Bonus points for at least having the option for other advanced routing features (elevation support, realtime traffic support, etc).

There was a clear recommendation from the people running and developing those things professionally for GraphHopper. MOTIS has no support for that one yet, but it seems doable to add that. The bigger problem here is potentially that GraphHopper’s “Matrix API” (the part doing very efficient N:M routing) is apparently not available in the open source release. So we still don’t have a proper solution for this.

Geocoding

Another component needed for all this is address and POI search and as-you-type completion. There was an equally clear recommendation for Photon. That comes in an easy to get started package with a single binary and a pre-built database for a single country or the entire planet, but also allows to transition to a more complex setup enabling incremental data updates and offering a ton of options to fine-tune and customize the results (support more languages, bias towards certain types of locations, etc).

MOTIS integration for this also yet has to be done, but should be quite straightforward. Without intermodal routing this doesn’t gain us much on its own though.

Public transport coverage

Meanwhile the public transport coverage on Transitous is growing rapidly, see Jonah’s blog post on how to get your region included.

Transitous coverage in Europe.

If you are interested in collaborating on this, join the #opentransport Matrix channel and the Transitous Github project.

Categories: FLOSS Project Planets

This Week in KDE: delayed until tomorrow!

Sat, 2024-03-02 00:44

The mega-release has been such a mega amount of work that I’m a bit behind on my blogging, but don’t worry, the normal TWiK post will be out around this time tomorrow! Thanks for your patience, everyone.

Categories: FLOSS Project Planets

Tips to get involved in KDE as prepration for Google Summer of Code 2024

Fri, 2024-03-01 19:38

KDE got accepted as a mentoring organization for Google Summer of Code 2024! Are you thinking about getting involved into KDE development? Check out the cool ideas KDE devs came up, they showcase what can be achieved by taking part as a student in GSoC. How to start? How to get involved? How to make an impression that will help your application?

Prerequisites
  • You like KDE, you like us as a community, you can follow our philosophy, you like our product (a desktop or at least an specific application), and you resonate with our tech stack (C++, Qt, CMake).
  • Grab some code from our GitLab, clone a repository and build it locally. This sounds easy. For first-timers it is not easy. Reach out for help in case you struggle.
  • Run your self-built software. Now you can explore the joy of developing KDE.

You do not need an idea, at least not yet. Give it some time.

Get involved

Try getting involved. Usually it is not easy to fix bugs of implement a feature request from KDE bugtracking system. Some are hard to fix. Others need debates of future directions or best ways to get things done.

I propose you start looking for other opportunities:

  1. Fix compiler warnings. Compilers analyze the code and as a result they might warn you. This can have various reasons like bad coding practice, code that is difficult to read and might easily be misread by humans, code with bad performance, bug-prone constructs.
  2. Fix deprecation warnings. KDE, Qt, and every software evolves. Old interfaces are replaced by newer ones. The old ones are not directly thrown away, but deprecated. The deprecation warning reminds the developer to migrate from the old to the new interface. Some deprecations are trivial to fix, others require ample code changes.
  3. Fix findings of static analyzers and linters. These are tools that analyze code more thorough compared to a compiler for the price of a longer runtime. They offer great hints for but are prone to false-positives (wrong warnings). Good tools for KDE are Cppcheck, Clazy and qmllint.
  4. Fix crash bugs. Crashes often occur when the code contains memory issues. Examples are using objects that were deleted, accessing arrays out of bounds, de-referencing null pointers. Tools like a good debugger, Valgrind, and AddressSanitizer (and its cousins MemorySanitizer and UndefinedBehaviorSanitizer) help to localize the problem. Crashes are more difficult to understand and fix compared to warnings for tools.

Try to work for fixes of one to ten cases. More makes reviewing harder. Create a pull request and wait for feedback.

Rationale

Why do I think these areas are good to start working? The maintainer might reject your pull request. This can always happen. Compared to implementing a whole new feature, the amount of work you invested is limited.

Once you have an idea for GSoC and write your application, you can point to your pull requests as proof of work. Maintainers see your involvement, they see how you interact, and you get an early sense whether you like the contributing experience or not.

Even in the case that you do not want to become an GSoC student, you improved KDE a tiny little bit. Great feeling, isn't it?

Word of warning

Not everybody deem warnings worth to be fixed -- in general or in specific cases. You will learn what kind of warnings getting fixed are welcome. I already wrote a blog post about my experiences with fixing some Cppcheck in Kile.

Categories: FLOSS Project Planets

Kubuntu: Week 4, Feature Freeze and what comes next.

Fri, 2024-03-01 11:38

First I would like to give a big congratulations to KDE for a superb KDE 6 mega release While we couldn’t go with 6 on our upcoming LTS release, I do recommend KDE neon if you want to give it a try! I want to say it again, I firmly stand by the Kubuntu Council in the decision to stay with the rock solid Plasma 5 for the 24.04 LTS release. The timing was just to close to feature freeze and the last time we went with the shiny new stuff on an LTS release, it was a nightmare ( KDE 4 anyone? ). So without further ado, my weekly wrap-up.

Kubuntu:

Continuing efforts from last week Kubuntu: Week 3 wrap up, Contest! KDE snaps, Debian uploads. , it has been another wild and crazy week getting everything in before feature freeze yesterday. We will still be uploading the upcoming Plasma 5.27.11 as it is a bug fix release and right now it is all about the finding and fixing bugs! Aside from many uploads my accomplishments this week are:

  • Kept a close eye on Excuses and fixed tests as needed. Seems riscv64 tests were turned off by default which broke several of our builds.
  • I did a complete revamp of our seed / kubuntu-desktop meta package! I have ensured we are following KDE packaging recommendations. Unfortunately, we cannot ship maliit-keyboard as we get hit by LP 2039721 which makes for an unpleasant experience.
  • I did some more work on our custom plasma-welcome which now just needs some branding, which leads to a friendly reminder the contest is still open! https://kubuntu.org/news/kubuntu-graphic-design-contest/
  • Bug triage! Oh so many bugs! From back when I worked on Kubuntu 10 years ago and plasma5 was new.. I am triaging and reducing this list to more recent bugs ( which is a much smaller list ). This reaffirms our decision to go with a rock solid stable Plasma5 for this LTS release.
  • I spent some time debugging kio-gdrive which no longer works ( It works in Jammy ) so I am tracking down what is broken. I thought it was 2FA but my non 2FA doesn’t work either, it just repeatedly throws up the google auth dialog. So this is still a WIP. It was suggested to me to disable online accounts all together, but I would prefer to give users the full experience.
  • Fixed our ISO builds. We are still not quite ready for testers as we have some Calamares fixes in the pipeline. Be on the lookout for a call for testers soon
  • Wrote a script to update our ( Kubuntu ) packageset to cover all the new packages accumulated over the years and remove packages that are defunct / removed.

What comes next? Testing, testing, testing! Bug fixes and of course our re-branding. My focus is on bug triage right now. I am also working on new projects in launchpad to easily track our bugs as right now they are all over the place and hard to track down.

Snaps:

I have started the MRs to fix our latest 23.08.5 snaps, I hope to get these finished in the next week or so. I have also been speaking to a prospective student with some GSOC ideas that I really like and will mentor, hopefully we are not too late.

Happy with my work? My continued employment depends on you! Please consider a donation http://kubuntu.org/donate

Thank you!

Categories: FLOSS Project Planets

Web Review, Week 2024-09

Fri, 2024-03-01 08:22

Let’s go for my web review for the week 2024-09.

The KDE desktop gets an overhaul with Plasma 6

Tags: tech, kde, foss

A nice little review of our latest major releases. Looks like it’s well accepted so far. Very glad!

https://lwn.net/SubscriberLink/963851/0c64b8038c62432c/


Why I use Firefox

Tags: tech, mozilla, browser, privacy

All good reasons to use Firefox! I’m always about the market share of engines where we need diversity, but more good points are brought up here. It’s the only going the extra mile to respect your privacy while bringing innovative features too (tested the in browser translation recently and it’s great).

https://xn–ime-zza.eu/3


HDMI Forum Rejects Open-Source HDMI 2.1 Driver Support Sought By AMD - Phoronix

Tags: tech, hdmi, transparency, criticism, foss

The HDMI Forum is really an annoying body to say the least… they lack so much transparency.

https://www.phoronix.com/news/HDMI-2.1-OSS-Rejected


How Google helped destroy adoption of RSS feeds - Open RSS

Tags: tech, rss, google, criticism

I’m not sure if it’s malice… but for sure they harmed RSS use a lot during the years.

https://openrss.org/blog/how-google-helped-destroy-adoption-of-rss-feeds


Home Screen Advantage - Infrequently Noted

Tags: tech, apple, web, criticism

A bit of a long rant, still the core of the argument stays true. Apple will do everything in its power to keep their platform captive of their app store.

https://infrequently.org/2024/02/home-screen-advantage/


Bridging to Bluesky: The open social web, consent, and GDPR — UlrikeHahn

Tags: tech, fediverse, social-media, law, ethics

A good exploration of the Fediverse to Bluesky bridging debate from the angle of consent and the GDPR. It’s complicated and that shouldn’t come as unexpected.

https://write.as/ulrikehahn/bridging-to-bluesky-the-open-social-web-consent-and-gdpr


StreetPass for Mastodon

Tags: tech, fediverse, browser, web

Neat extension to blend your web browsing and discovering people on the Fediverse.

https://streetpass.social/


Hallucination is Inevitable: An Innate Limitation of Large Language Models

Tags: tech, ai, machine-learning, gpt

Interesting paper attempting to prove that hallucinations are unavoidable in those models. It is well balanced though, and explains why it’s not necessarily a bad thing in theory. In my opinion, the problem is the marketing talk around those models making grand claims or denying the phenomenon.

https://arxiv.org/abs/2401.11817


The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bits

Tags: tech, ai, machine-learning, gpt

Might be an interesting trick to reduce the computation and energy costs of large language models. Let’s see if it gets replicated and generalized, this is a single short paper not peer reviewed anywhere as far as I can tell.

https://arxiv.org/abs/2402.17764


Git Tips 3: Really Large Repositories

Tags: tech, version-control, git, tools

Nice list of tips and recent git features to manage large repositories.

https://blog.gitbutler.com/git-tips-3-really-large-repositories/


Up to 10x faster strings for C, C++, Python, Rust, and Swift, leveraging SWAR and SIMD

Tags: tech, c++, python, performance

Interesting library if you got to do a lots of heavy analysis work with strings.

https://github.com/ashvardanian/StringZilla


Unreasonably effective - How video games use LUTs and how you can too

Tags: tech, graphics, 3d, video

Ever wondered how look-up tables are used for graphics? This is a good summary. Shows quite a few use cases which can come in handy.

https://blog.frost.kiwi/WebGL-LUTS-made-simple/


Look, Ma, No Matrices!

Tags: tech, mathematics, 3d, matrix

Interesting exploration of what could be done in a 3D engine using plane-based geometric algebra (PGA). This brings in nice properties that matrices don’t have. And the performance impact is apparently not as bad as one could have suspected. I definitely look more into it.

https://enkimute.github.io/LookMaNoMatrices/


MDN Curriculum

Tags: tech, mozilla, frontend, web, learning

Looks like a nice way to properly learn the web frontend basics.

https://developer.mozilla.org/en-US/curriculum/


Write Dumb Code — Matthew Rocklin

Tags: tech, programming, craftsmanship, complexity

Definitely this, mind the complexity you introduce in your code. Looking smart is not the goal here…

https://matthewrocklin.com/write-dumb-code.html


ARCHITECTURE.md

Tags: tech, foss, architecture

Good advice yes. Having a rough architecture document in a repository is more than welcome, it’s needed to help on-boarding. This is unfortunately not the norm in FOSS projects.

https://matklad.github.io/2021/02/06/ARCHITECTURE.md.html


Jevons Paradox doesn’t always apply to software

Tags: tech, software, performance, power

Interesting take even though I’m not sure I buy it completely. This is an interesting pledge for aiming at power efficiency and squeezing performance out of software.

https://pythonspeed.com/articles/software-jevons-paradox/


How Big Tech Runs Tech Projects and the Curious Absence of Scrum - The Pragmatic Engineer

Tags: tech, management, project-management, transparency, autonomy, craftsmanship, agile

To take with a pinch of salt since it has a couple of biases (most notably it focuses a lot on satisfaction) and the sample size is a bit small. A few interesting insights nonetheless. In particular it hints at autonomy, transparency, technical skills and vision as being the most important factors for satisfaction and success within teams. The applied project management method? Not so important it seems if the other factors are satisfied.

https://blog.pragmaticengineer.com/project-management-at-big-tech/


Agile software promises efficiency. It requires a cultural shift to get right

Tags: tech, agile, trust

Good summary of all the “fake agile” practice one can see. Without enough trust it’s not possible to put in place an agile organization.

https://www.runtime.news/agile-software-promises-efficiency-it-requires-a-cultural-shift-to-get-right/


Airfoil – Bartosz Ciechanowski

Tags: science, physics

Ever wondered how planes fly? What the Navier-Stokes equations lead to in practice? This is the right article.

https://ciechanow.ski/airfoil/


Bye for now!

Categories: FLOSS Project Planets

KDE Release Party in Nürnberg

Fri, 2024-03-01 06:00

Last night SUSE invited to their new Nürnberg offices at the Franken Campus in the city’s south for a KDE MegaRelease 6 release party. There were around 25 people from KDE, SUSE, and owncloud, with a good portion of non-contributors meeting some of the people behind their favorite desktop environment and suite of applications in-person for the first time.

Live demo of the latest and greatest KDE 1.1 on a ThinkPad 600E

After we had settled in, Dirk Müller gave an introductory speech about SUSE, followed by Cornelius Schumacher’s presentation about the history of KDE. Corneliuis showed pictures from how it all started and important milestones along the way. Some of them, like the infamous “KDE One” group photo, I already knew but also many I haven’t seen before. He also showed a couple of graphs illustrating the “KDE 4 Death Valley”, the two-and-a-half year gap between KDE 3.5 and 4.0, a very ambitious release, to put it mildly.

We surely learned our lesson from that and it’s also why for a transition between major releases, like from Plasma 4 to 5 ten (!) years ago, or now to Plasma 6, we set ourselves the goal of only freezing feature releases for a maximum of one year. Otherwise we’ll again lose many contributors, particularly new ones, that won’t see their hard work released for a very long time. Cornelius also counted a total of 530 stable KDE software releases since 1.0. We totally should have done 70 more for Plasma 6, right?

Afterwards I did a presentation on Plasma 6.0 (Slides, German, CC-BY-SA 4.0), an extended version of the interview I gave heise earlier this week, on what our goals were for the release, what’s actually changed, and a bit about the Wayland session which is now the default. Particularly the “older” folks in the room had to giggle when I mentioned the glorious Compiz days while talking about the return of the Desktop cube. Nicolas Fella then finished off by giving a presentation on KDE Frameworks 6 using an “eco-certified presentation software” with a “recycled slide deck” from his Akademy talk of 2021 – a good opportunity to reflect on which of the points we planned were actually implemented.

How to keep hackers happy: pizza, beer, and stickers

Just as we finished the presentations, pizza kindly sponsored by owncloud arrived and we rounded off the evening by chatting, eating pizza, and drinking beer. We also got a chance to toy around with KDE 1.1 on an old Thinkpad someone must have found in the archives. Sadly, we had to leave before 22:00 or else building security would have kicked us out. It seems, they have regular working hours at SUSE these days ;-) Thanks to everyone for organizing this party and I hope to see you all soon, not later than Akademy, our annual community conference, which is conveniently located in nearby Würzburg this year!

Categories: FLOSS Project Planets

Plasma 6 and Beyond!

Thu, 2024-02-29 19:00
Plasma Mobile joins the Plasma 6 megarelease with a new shell and apps

The Plasma Mobile team is happy to announce the release of Plasma 6 for mobile devices!

It has been a long year of development and porting since our last major release of the shell, as well as mobile applications. This post will outline many of the highlights!

Housekeeping

The website was refreshed in anticipation for this release. Notably, the installation page was enhanced to better outline information about the various distributions that provide Plasma Mobile.

During the Plasma 6 development period, postmarketOS graciously provided us with a "nightly" repository of KDE packages tracking git repositories. We have found this critically useful for development. You can find instructions on how to use this repository here.

Plasma

Devin wrote a blog post covering some technical details covering the big aspect of the work porting all of the shell components to Qt and Plasma 6 APIs. A lot of functional work was done as well.

Homescreen

With Plasma 6, we are once again switching back to the Folio homescreen as default. The homescreen will once again have customizable pages to place apps and widgets, as well as an app drawer and search. Devin spent time rewriting it from scratch, addressing the limitations that existed in Plasma 5, in particular the customizations are now tied to each page, no longer causing reordering issues from screen rotations.

Notable Features:

  • Customizable pages to place apps and widgets
  • Folders
  • Drag and drop customization
  • Widgets (still some known issues, see below)
  • App drawer (swipe up)
  • KRunner search (swipe down)
  • Row-column flipping for screen rotations
  • Customizable row and column counts
  • Customizable page transitions
  • Import and exporting of homescreen layouts as files
  • and more!
Interoperability

In Plasma 5, Plasma Mobile required several config files to be installed on the system in order to set some settings needed in Plasma. For Plasma 6, Devin created a new settings service that automatically handles this situation. This allows for interoperability with Plasma Desktop being simultaneously installed on the system, and eliminates the need to install custom configuration.

First time setup

Devin added an initial setup window that guides users to configure some basic aspects of the system, such as Wi-Fi and cellular settings.

Authentication dialog

Devin worked on porting the authentication dialog so that it has a mobile form factor.

Docked mode

Devin worked on adding a "docked mode" quicksetting which, when activated, enables window decorations and minimize/maximize/close buttons, and also stops enforcing application windows to be in fullscreen.

Navigation panel

Devin added a setting to always show the keyboard toggle button. He also made it so that if there is enough screen space, the panel goes on the bottom for tablets rather than on the side.

Task switcher

The task switcher was moved from the Plasma shell and into KWin to improve code maintainability.

Vibrations

In Plasma 5, the default vibration speed was hardcoded to the PinePhone's motor, which could not register lower vibration durations. This resulted in other devices having overly strong vibration effects. Vibrations now default to an acceptable level for other devices, and can still be configured in the shell settings module.

Flashlight

The flashlight quicksetting in Plasma 5 is hardcoded to the PinePhone. Florian worked on making it so that it now works with all phones in Plasma 6!

Settings

Devin improved the cellular settings module so that interaction tasks are asynchronous and do not freeze the UI. He also fixed unnecessary password prompts from being shown when the module is first opened.

Devin ported the Wi-Fi settings module to mobile form components, making it consistent with other modules. He overhauled the time settings module to newer components as well, making setting the time and date more intuitive. He also did some work to ensure the UI does not freeze when applying settings.

Joshua refactored the look and feel of the Push Notifications KCM and added UnifiedPush support to NeoChat so you'll never miss a message, even when NeoChat is closed (that is, if you want to get notifications, of course!)

Mathis created a new icon for the application.

Known Issues

Regrettably, our team resources are limited, and so we still have several outstanding issues that were not addressed in time for this release:

  • Scrolling in Qt6 with a touchscreen has very low inertia compared to Qt5 and we cannot change the platform default, see this, reported in upstream to Qt here
  • Some homescreen widgets open popups every time they are moved around
  • Limited widget selection. Currently we just have existing widgets from the Plasma Desktop
  • The screen recording quicksetting was removed for the time being. It needs further investigation on porting it to new APIs
  • Gesture-only mode was removed for the time being. We need to investigate making KWin's gesture infrastructure fit our needs
  • Sometimes application windows extend under the navigation bar. We need to investigate this regression with KWin
  • The task switcher is slow on the PinePhone in particular. We need to investigate the performance of the KWin effect

There are other issues also being tracked in our issue tracker.

Applications

A tremendous amount of work went into the massive effort behind porting all of our applications to Qt6 and KF6. We would like to extend a big thank you to everyone involved!

Many major announcements for applications are in the Megarelease post, so be sure to check there too!

Photos (Koko)

While the application is still called Koko, user-facing text now calls it "Photos" to make it easier for you to find. (Devin Lin, KDE Gear 24.02, Link)

A new icon was created for the application, replacing the gorilla (Mathis Brüchert & Devin Lin, KDE Gear 24.02, Link)

Clock

The Clock app now pauses MPRIS media sources when an alarm or timer starts ringing and resumes (previously paused) sources once the alarm is dismissed (Luis Büchi, KDE Gear 24.02, Link)

Calculator

A new configuration page was added to the calculator app, allowing to set decimal places, angle units and a parsing mode (Michael Lang, KDE Gear 24.02, Link)

We improved the history view to allow for the removal of entries, and the drawer-style area for extra functions got replaced with a swipe view (Michael Lang, KDE Gear 24.02, Link 1, Link 2)

A number of new features and QoL improvements were added, including automatic font resizing when entering long expressions, better rendering of exponents, and more actual calculation features: random number, base n root/log, differential functions, standard deviations, and a lot more... Oh! and we switched math the engine to libqalculate! (Michael Lang, KDE Gear 24.02, Link 1, Link 2, Link 3, Link 4)

Kasts

Apart from some minor visual changes related to the Qt6 and KF6 update and several fixes regarding images and playback controls, Kasts will now update podcasts dramatically faster by not parsing RSS feeds that haven't changed (Bart De Vries, KDE Gear 24.02 Link 1)

The color theme (e.g. Breeze light, Breeze dark) can now be selected manually (Bart De Vries, KDE Gear 24.02 Link 2)

Network checks for metered connections can now be disabled altogether. This can be useful on systems that are not able to reliably report the connection status (Bart De Vries, KDE Gear 24.02 Link 3)

Hash-o-Matic

Hash-o-Matic is a new application that lets you verify the authenticity of files by using their MD5, SHA-256 and SHA-1 hashes or their PGP signature.

Hash-o-Matic also let you generate hash for a file and compare two files.

Contributing

Do you want to help with the development of Plasma Mobile? We are a group of volunteers doing this in our free time, and are desperately looking for new contributors, beginners are always welcome!

See our community page to get in touch!

We are always happy to get more helping hands, no matter what you want to do, but we especially need support in these areas:

  • Telephony

  • Camera support

  • You can also check out our Plasma Mobile issue tracker for more details.

Even if you do not have a compatible phone or tablet, you can also help us out with application development, as you can easily do that from a desktop!

Of course, you can also help with other things besides coding! For example, take Plasma Mobile for a spin to help us test bugs and triage reports! Check out the device support for each distribution and find the version which will work on your phone.

Another option would be to help us in making these blog posts more regular again. We really don't want another 6 months of silence, but writing these take a surprising amount of time and effort.

If you have any further questions, view our documentation, and consider joining our Matrix channel. Let us know what you would like to work on or where you need support to get going!

Our issue tracker documentation also gives information on how and where to report issues.

On a final note...

We would like to thank all of the contributors across KDE that have made this megarelease possible! We could not have done it without you. Thank you!

Categories: FLOSS Project Planets

Qt Creator 13 Beta2 released

Thu, 2024-02-29 07:19

We are happy to announce the release of Qt Creator 13 Beta2!

Categories: FLOSS Project Planets

Punctuality Matters: Using Linux to Manage Time-Critical Situations

Thu, 2024-02-29 03:00

The robustness of Linux is widely acknowledged, but it can’t quite match the microsecond management of a real-time operating system (RTOS) for time critical situations such as CNC machine instructions, vehicular control, or health sensor collection. If your software must record, manage, or control events within a narrow and precise time window and you’re invested in Linux for core development, you can consider some of these strategies for handling time-critical tasks without abandoning your familiar environment.

Real-time patches

Linux can be nudged closer to real-time performance using kernel patches specifically designed for real-time applications like PREEMPT_RT. These patches modify the Linux kernel to reduce latency and improve the predictability of task scheduling by minimizing the duration of non-preemptible critical kernel code. This does not transform Linux into a hard real-time system, but it provides sufficient precision for many scenarios. Bear in mind that this solution requires you to keep your real-time patches aligned with your Linux kernel, which might slow down the frequency of kernel updates your team can manage. You also must navigate issues such as page swapping that can disrupt timing.

Embracing the hypervisor

Hypervisors offer a parallel environment beneath/beside Linux to manage time-sensitive tasks. They enable running virtual machines (VMs) alongside the main Linux system, each capable of hosting different operating systems. This allows you to place your real-time tasks into an RTOS while reserving Linux for higher-level functions. While hypervisors can improve real-time reliability and system flexibility, don’t forget to take their overhead and resource contention into account.

Onboard processing

Modern CPUs often feature integrated co-processors, like an ARM Cortex-M or a DSP, which is suitable for real-time operations as well as low-power needs while the main CPU is dormant. These can handle time-critical tasks independent of the CPU, effectively using available hardware resources without the need for additional components. These parallel processing environments can be highly efficient at specific tasks. However, this approach adds complexity in coordinating tasks and data flow between CPUs and co-processors – and not all hardware platforms have suitable co-processors.

Leverage a microcontroller

For dedicated time-critical processing, especially in low-power applications, microcontrollers can be very effective. With a basic event loop or interrupt-driven sleep mode, they operate efficiently and independently, offering high reliability as dedicated systems, and potentially lower power consumption for battery-powered devices. The drawback is that they can increase costs due to additional hardware, potentially create a larger physical footprint, and add development complexity because of separate code bases.

Dedicated cores

Reserving a CPU core exclusively for real-time tasks might be overkill, but it’s a viable option when there’s sufficiently extra processing power. By using cores optimized for lower power consumption, this method can also have power-saving benefits. A real-time dedicated core ensures that time-critical tasks don’t get interrupted by other system activities. However, it almost always underutilizes the processor’s full capabilities and can be complex to properly manage memory pages and core affinities.

Which solution is the best?

The appropriateness of these methods hinges entirely on the specifics of your time-critical hardware and access requirements. For instance, if essential hardware is only accessible via the main CPU, microcontrollers or co-processors won’t be viable. Implementing any of these solutions introduces complexity, often requiring dual software environments and toolsets, as well as solid communication between time-critical and non-critical processes (communication channels must be designed meticulously to avoid becoming performance bottlenecks).

Conclusion

Incorporating time-critical capabilities into Linux systems is a balancing act of innovation and practicality. While Linux may never achieve ‘hard’ real-time status, with care and innovation it can be adapted to meet time-sensitive demands. Integrating real-time capabilities into a Linux-based system is a multifaceted challenge and each solution presents a unique set of trade-offs. To learn more about these challenges and related topics, read Designing Your First Embedded Device: Choosing Your Software Stack.

About KDAB

If you like this article and want to read similar material, consider subscribing via our RSS feed.

Subscribe to KDAB TV for similar informative short video content.

KDAB provides market leading software consulting and development services and training in Qt, C++ and 3D/OpenGL. Contact us.

The post Punctuality Matters: Using Linux to Manage Time-Critical Situations appeared first on KDAB.

Categories: FLOSS Project Planets

My work in KDE for February 2024

Wed, 2024-02-28 19:00

It’s February already, and as expected I didn’t have too much time on my hands this month. I have some exciting related news though:

KDE Megarelease 6

If you somehow haven’t heard, a bunch of KDE 6-related stuff released yesterday! I highly recommend looking at the very nice announcement Carl and the rest of the KDE Promo team put together, it looks so good. Some of my changes in KCMs, Kiten, UnifiedPush support in Tokodon & NeoChat, PlasmaTube, and Tokodon are showcased there 🤩 One of my favorite changes is probably in KWin and the Wayland session, it’s near-perfect on my machine now.

NLnet Grant

For a while now, people have been asking about funding work on important Wayland features for artists and people who depend on accessibility features. We have been turning down offers from individual fundraisers, because behind the scenes my employer arranged a grant us to work on this task from NLnet! “Us” here means me and Nicolas Fella. I hope to begin in early April.

Tokodon

Feature I changed the thread visuals to improve the readability of replies. Note that it’s only one level deep, but even with that limitation I find it to be way better than it was before! 24.05

Better thread visuals

Feature I did some neat notification changes, such as enabling group notifications by default and hiding the post actions unless required for notifications. The notifications page should have less visual noise now. 24.02.1

Less visual noise on the notifications page

Feature Tokodon now warns if replies may be hidden from your server and suggests to open the original post in your web browser. This isn’t the greatest solution yet, eventually I want a way to load the post on the original server within Tokodon. This is a good start though, instead of showing nothing. 24.05

The new replies message NeoChat

Bugfix Rebased and cleaned up my bugfix to prevent editing messages destroying the formatting. This should be integrated soon!

Frameworks

Bugfix Fixed my typo that caused KFileMetadata to fail when not building with KArchive support, oops! 6.1

Bugfix Add the missing and new Breeze icons dependency to kiconthemes. 6.1

My work in KDE for January 2024

My Work in KDE

Home
Categories: FLOSS Project Planets

KDE 6 UK Release Party

Wed, 2024-02-28 11:44

There are release parties around the world, the UK has a party in Cambridge.

Action plan is to go to The Haymakers, High Street, Cambridge and get pizza, drinks and more pizza. at 19:00 Thursday the 29th Feb.

Look for the guy in the blue KDE T-shirt.

Sign up at https://community.kde.org/Promo/Events/Parties/KDE_6th_Megarelease#Cambridge

Categories: FLOSS Project Planets

KDE neon 6 Available Now

Wed, 2024-02-28 10:14

Today KDE has made its biggest release ever, never before in the 25 year history of the project have we announced so many new products at the same time but it brings the newly refreshed base to keep our software foundation strong.

KDE neon User edition has now been updated with KDE Frameworks 6, Plasma 6 and all the apps from KDE Gear 24.02. You can upgrade through Discover or grab the newest installable ISO build.

If you just want to give it a try then give the Docker images a go.

Many thanks to Carlos, Harald and Jonathan for making this Neon release, to the 100s of KDE developers for writing the software and to Augustin and Paul for hosting the release sprint in Malaga.

Categories: FLOSS Project Planets

Pages