11 Mar 2025

feedUbuntu blog

Join Canonical at NVIDIA GTC 2025

Canonical, the company behind Ubuntu and the trusted source for open source software, is thrilled to announce its presence at NVIDIA GTC again this year. Join us in San Jose from March 18th to the 21st and explore what's next in AI and accelerated computing. Register for NVIDIA GTC 2025 Unlock AI potential: innovate on […]

11 Mar 2025 3:16pm GMT

feedOMG! Ubuntu

Ubuntu 24.04 Fixes Bluetooth Audio Connection Issues

If you're an Ubuntu 24.04 LTS user regularly experiencing issues with connecting to audio devices, there's an important update to the Bluetooth stack rolling out this week. A slew of Ubuntu 24.04 LTS users complained that certain paired Bluetooth audio devices (mainly earbuds/phones) fail to reconnect after a system restart or suspend. Plus, for many noble users reporting bugs, even attempting to manually connect to a previously-paired device following a reboot or suspend fails to connect or stay connected thus requiring the need to remove and re-pair the device to work. -Until the next reboot/suspend. The cause? Based on an […]

You're reading Ubuntu 24.04 Fixes Bluetooth Audio Connection Issues, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

11 Mar 2025 2:12pm GMT

feedPlanet Ubuntu

The Fridge: Ubuntu Weekly Newsletter Issue 882

Welcome to the Ubuntu Weekly Newsletter, Issue 882 for the week of March 2 - 8 2025. The full version of this issue is available here.

In this issue we cover:

The Ubuntu Weekly Newsletter is brought to you by:

If you have a story idea for the Weekly Newsletter, join the Ubuntu News Team mailing list and submit it. Ideas can also be added to the wiki!

.

11 Mar 2025 3:26am GMT

10 Mar 2025

feedPlanet Ubuntu

Faizul "Piju" 9M2PJU: Experience the Ultimate Audio Player: Strawberry Music Player

In the world of music players, finding a feature-rich, high-performance application that respects user privacy can be a challenge. Many modern music players are either bloated with unnecessary features, locked behind paywalls, or designed with intrusive data collection practices. But what if there was a player that offered the best of all worlds-high-quality playback, extensive format support, powerful music library management, and complete privacy? Enter Strawberry Music Player-a robust, open-source audio player that is tailored for audiophiles and music lovers alike.

What is Strawberry Music Player?

Strawberry is an advanced music player and music collection organizer built on Qt. It's a continuation of the Clementine Music Player, developed to provide a modern, feature-packed alternative while staying true to its open-source roots. Designed with audiophiles in mind, Strawberry brings an intuitive interface, lossless audio support, and seamless music management.

Whether you're a casual listener or someone who meticulously curates a massive library of high-fidelity audio, Strawberry provides an exceptional listening experience without unnecessary distractions.

Why Choose Strawberry Over Other Music Players?

Strawberry is not just another music player; it is a carefully designed piece of software that provides everything you need in a sleek and efficient package. Here are some reasons why it stands out:

1. Comprehensive Audio Format Support

Unlike many commercial music players that require additional plugins or paid upgrades, Strawberry supports a vast range of audio formats right out of the box. This includes:

This ensures that whether you're playing standard compressed files or high-resolution lossless tracks, Strawberry delivers pristine audio quality without compromises.

2. Audiophile-Grade Sound with Advanced Playback Features

Strawberry is engineered to provide high-quality audio playback, supporting a range of advanced features such as:

3. Powerful Music Library Management

Strawberry goes beyond simple music playback by offering a comprehensive music library management system. Features include:

4. Seamless Device Integration

Strawberry allows you to transfer and sync music between different devices effortlessly. It supports:

5. Built for Privacy-Conscious Users

One of Strawberry's core principles is privacy. Unlike many commercial music players, Strawberry does not collect or share user data. There are no telemetry trackers, no analytics reporting, and no invasive advertisements. Your music library remains entirely private, ensuring a safe and secure listening experience.

6. Cross-Platform Availability

Strawberry is available for multiple operating systems, making it a great choice regardless of the platform you use. You can install Strawberry on:

How to Install Strawberry Music Player

Getting started with Strawberry is quick and easy. Follow the steps below to install it on your preferred operating system:

For Linux Users:

Most Linux distributions have Strawberry available in their official repositories. You can install it using:

For Windows Users:

  1. Download the latest version from the official Strawberry website.
  2. Run the installer and follow the on-screen instructions.
  3. Launch Strawberry and start enjoying your music collection.

For macOS Users:

  1. Download the latest macOS package from the official site.
  2. Install the application by dragging it into the Applications folder.
  3. Open Strawberry and set up your music library.

Final Thoughts: The Music Player You've Been Looking For

Strawberry Music Player is a breath of fresh air in the world of digital music. It is lightweight, powerful, privacy-focused, and completely free. Whether you're an audiophile looking for the best lossless playback or a casual listener who just wants a clean and efficient music player, Strawberry delivers in every way.

Its commitment to open-source principles ensures that the software remains user-driven, free of bloatware, and continuously improved by a passionate community of developers. With extensive format support, advanced music library management, and a smooth, polished interface, Strawberry Music Player is the ultimate solution for music lovers who demand the best.

So why settle for less? Download Strawberry Music Player today and elevate your music experience to new heights!

Visit https://www.strawberrymusicplayer.org/


If you've already tried Strawberry, let us know in the comments what you think about it!

The post Experience the Ultimate Audio Player: Strawberry Music Player appeared first on Hamradio.my - Amateur Radio, Tech Insights and Product Reviews by 9M2PJU.

10 Mar 2025 6:42pm GMT

09 Mar 2025

feedOMG! Ubuntu

Dash to Panel GNOME Extension Gets Big Update

The words "Dash to panel" in white text surrounded by a box.A big update to the perennially popular GNOME Shell extension Dash to Panel is rolling out, including new settings to go from Dash to Panel to dock mode! Admittedly, that doesn't sound like a new feature given that Dash to Panel is based on code from Dash to Dock. Yet, until now, those wanting the unified panel of Dash to Panel with the aesthetic of a dock… Had to make do with an inelegant fudge, or switch extension. No more; when whim and want demands a dynamic dock setup, Dash to Panel's preferences area can help, making it easier to […]

You're reading Dash to Panel GNOME Extension Gets Big Update, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

09 Mar 2025 12:58pm GMT

08 Mar 2025

feedPlanet Ubuntu

Faizul "Piju" 9M2PJU: QLog: A Comprehensive Amateur Radio Logging Application for the Modern Ham

As amateur radio enthusiasts, we're always on the lookout for software that can enhance our operating experience. Today, I want to introduce you to QLog, a powerful open-source logging application that's been gaining popularity in the ham radio community.

What is QLog?

QLog is a feature-rich amateur radio logging application available for Linux and Windows platforms (with experimental MacOS support for developers). Built on the Qt framework with an SQLite database backend, QLog strikes an impressive balance between simplicity and functionality.

The philosophy behind QLog is straightforward: be as simple as possible while providing all the essential features operators need. While it's not primarily focused on contests, it does offer basic contest support among its many capabilities.

Key Features That Stand Out

QLog comes packed with features that make it a compelling choice for radio operators:

Station Integration

Online Services

Operating Features

One of the most refreshing aspects of QLog is its commitment to user privacy and freedom. There are NO ads, NO user tracking, and NO hidden telemetry-it's simply free and open-source.

Platform Support

QLog runs well on:

The application supports a wide range of radio equipment through its compatibility with Hamlib, Omnirig, and TCI interfaces, making it versatile enough for most ham shacks.

Getting Started with QLog

For Linux Users

Ubuntu users can install QLog through the dedicated PPA:

sudo add-apt-repository ppa:foldyna/qlog
sudo apt update
sudo apt install qlog

Fedora users can download RPM packages from GitHub Releases, and a Flatpak package (which includes built-in TrustedQSL) is available via Flathub.

For Windows Users

Windows users need to install:

The installation package is available through GitHub Releases.

My Experience with QLog

What I particularly appreciate about QLog is its clean, uncluttered interface combined with powerful features. The SQLite backend ensures your logging data is stored efficiently and can be backed up easily.

The integration with online services like LoTW and eQSL has streamlined my QSLing process, while the rig control features mean I spend less time manually entering frequency and mode information.

Final Thoughts

Whether you're new to amateur radio logging or looking to switch from another application, QLog deserves your consideration. Its combination of simplicity, features, and open-source philosophy makes it a valuable tool for any ham radio operator.

QLog is actively maintained, with regular updates and a responsive community. If you encounter issues or have suggestions, you can report them through QLog Issues or join the QLog mailing list.

Give QLog a try-I think you'll be impressed by what this free, open-source logging application has to offer to the amateur radio community.

Visit https://github.com/foldynl/QLog


QLog is licensed under the GNU General Public License v3.0. The project was started by Thomas Gatzweiler in 2020 and is currently maintained by Ladislav Foldyna (2021-2025).

The post QLog: A Comprehensive Amateur Radio Logging Application for the Modern Ham appeared first on Hamradio.my - Amateur Radio, Tech Insights and Product Reviews by 9M2PJU.

08 Mar 2025 8:00pm GMT

feedOMG! Ubuntu

Kagi is Bringing the Orion Web Browser to Linux

Orion browser for Linux about dialog reading version number and platform (Ubuntu 22.04 LTS)Kagi, the company behind a paid, private search engine1 of the same name, has announced it's bringing its Webkit-based Orion web browser to Linux. In a post on BlueSky, Kagi said: "We're thrilled to announce that development of the Orion Browser for Linux has officially started!". Orion is currently only available on macOS and iOS but was built to be better than Apple's own Safari, and best Google Chrome, Mozilla Firefox and other browsers in many areas. Orion is a zero-telemetry browser; has built-in ad and tracking blocking; and reportedly offers lower memory usage, faster page speeds, and greater battery […]

You're reading Kagi is Bringing the Orion Web Browser to Linux, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

08 Mar 2025 2:38pm GMT

07 Mar 2025

feedOMG! Ubuntu

Ubuntu 24.04 Update Fixes Several Touchscreen Quirks

An update to the Mutter display manager is primed to start rolling out to users of Ubuntu 24.04 LTS (and 24.10) with a couple of much-needed touchscreen fixes in tow. Now, I don't know how many of you use Ubuntu desktop on a touch-enabled device-not many, I'd wager. I do; I have a touchscreen laptop that runs Ubuntu 24.04 LTS. I often prod, poke, and push the screen a bit whilst using Ubuntu 24.04 LTS to do simple things like select menu items, close windows, scroll, etc - nothing I can't do using the touchpad, it's just easier to lift […]

You're reading Ubuntu 24.04 Update Fixes Several Touchscreen Quirks, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

07 Mar 2025 8:13am GMT

06 Mar 2025

feedOMG! Ubuntu

Thunderbird 136 Release Adds New Appearance Controls

Desktop email client Thunderbird announced a move to monthly releases by default earlier this year, allowing new users to benefit from new features, sooner - as the new Thunderbird 136.0 release makes evident! Thunderbird 136.0 sees messages auto-adapt to dark mode (and adds a quick toggle to control this in the header) - no more searing-white e-mail shocks in dark rooms! Also added is a new Appearance setting to control message threading and sorting order globally. This is great if you always want, say, new messages at the bottom in all your configured folders. Some notable fixes include ensuring that addresses […]

You're reading Thunderbird 136 Release Adds New Appearance Controls, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

06 Mar 2025 8:52pm GMT

Huawei’s New Laptops May Run Linux, not HarmonyOS Next

MATEBOOK LAPTOPIs Huawei planning to ship Linux on its upcoming MateBook laptops instead of HarmonyOS NEXT? A fresh leak out of China this week suggests so. Huawei is no stranger to selling laptops with Linux. Various models in its MateBook 13, 14, 15, and MateBook X Pro lines have been sold in both Windows and Linux configurations, with the latter typically exclusive to China and reloaded with Debian-based Deepin. The-somewhat contentious-company has previously said all PCs released in 2025 would run the newer home-grown, closed-source HarmonyOS NEXT (viewed as an effort to wean reliance off of western-led tech companies, solidify control, […]

You're reading Huawei's New Laptops May Run Linux, not HarmonyOS Next, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

06 Mar 2025 5:29pm GMT

feedPlanet Ubuntu

Ubuntu Blog: Google Authd broker: authenticate to Ubuntu Desktop/Server with your Google account

Today we are announcing the introduction of Authd support for Google IAM, allowing all Ubuntu users to use their Google account to authenticate to their desktop and servers.

The Google broker snap for Authd is available for free on Ubuntu Desktop and Server 24.04 and it works with both personal and Workspace Google accounts.

What is Authd?

In November 2024, we announced the general availability of Authd: a new authentication daemon for Ubuntu that allows direct integration with cloud-based identity providers for both Ubuntu Desktop and Server. At launch, we supported Microsoft Entra ID (formerly Azure Active Directory) and since then we have seen a strong adoption in enterprises that wanted to centralize their identity management controls.

Unlike traditional approaches that require the installation of a standalone infrastructure component (e.g. FreeIPA or Vault), Authd allows Ubuntu endpoints to integrate directly with the cloud, reducing maintenance complexity and centralizing visibility of all authentication events.

Authd features a modular structure that combines a privileged dev, exposing a normalized API over DBUS, and a broker snap to facilitate easy integration with different cloud services. This setup leverages the Oauth 2.0 Device Authorisation Grant (commonly referred to as the Device Flow) to help maintain more robust security and effective user authentication

Use your Google account to authenticate to Ubuntu

Google IAM is one of the most used consumer identity providers and we decided to support it as the second identity provider in order to give small businesses using Ubuntu and all our community members the chance to experience Authd without needing to pay expensive monthly SaaS subscriptions.

With the appropriate configuration, the Google Authd broker is able to support both enterprise Google Workspace accounts and personal Google accounts. You can learn more about how to configure your machine by consulting the official product documentation.

Device ownership, allowlist, and permission management

In addition to Google support we are also extending Authd functionalities to include the following highly requested from the community:

All these additional features are supported on both the Entra ID and Google broker snaps and will also be used internally by Canonical on our corporate laptops.

Get the new broker and additional resources

06 Mar 2025 10:38am GMT

feedUbuntu blog

Google Authd broker: authenticate to Ubuntu Desktop/Server with your Google account

With the Authd broker for Ubuntu you can use your personal or Workspace Google account to authenticate to Ubuntu Server or Desktop

06 Mar 2025 10:38am GMT

feedPlanet Ubuntu

Ubuntu Blog: Canonical and Renesas Announce Partnership to Accelerate Innovation in Enterprise AI

London, UK - Mar 6, 2025 - Canonical, the publisher of Ubuntu, today announced that Renesas Electronics Corporation, a global leader in semiconductor solutions, has joined Canonical's silicon partner program to deliver cutting-edge solutions tailored to meet the growing demands of edge computing and AI applications. As industries increasingly adopt AI-driven solutions, the need for efficient, scalable, and security-maintained edge computing platforms has never been greater. This partnership will combine Renesas' expertise in embedded processing with Canonical's comprehensive internet of Things (IoT) software stack.

Scalable production-grade solutions

The collaboration between Canonical and Renesas is designed to empower Original Equipment Manufacturers (OEMs) and Original Design Manufacturers (ODMs) with scalable, production-grade solutions that reduce time-to-market (TTM). Renesas' extensive portfolio of embedded hardware platforms allows OEMs and ODMs to select the most efficient solutions tailored to their specific requirements.

This partnership brings Canonical's optimized Ubuntu image, crafted to integrate seamlessly with Renesas RZ MPUs. This tailored solution grants developers streamlined access to Canonical's rich ecosystem of tools and open-source applications, accelerating software development and deployment. Additionally, the partnership includes joint marketing and co-selling for Ubuntu Pro, Canonical's subscription for open source security, support and compliance , to Renesas customers, providing additional value and long term support for their development needs."Canonical is excited to partner with Renesas to push the boundaries of what is possible at the edge," said Cindy Goldberg, Vice President of Silicon Alliances at Canonical. "Together, we will provide organizations with the tools they need to reduce time to market for IoT and edge devices that are compliant and future-proof."

Enhanced AI Capabilities

As edge computing drives the need for localized AI processing, the Canonical-Renesas partnership simplifies the development and deployment of AI applications. Leveraging Renesas' powerful hardware and Canonical's Ubuntu operating system, developers can achieve real-time data analysis closer to the source, enabling faster decision-making and reduced latency.

Ubuntu's open-source ecosystem provides developers with a comprehensive suite of AI frameworks and tools to build and scale AI applications at the edge. Complementing this, the Renesas RZ family of processors offers advanced AI capabilities, including high-performance inferencing, real-time processing, and robust support for AI accelerators. "Renesas' RZ family is designed to enable developers to unlock the full potential of AI at the edge, combining efficiency and scalability for a wide range of applications," said Mohammed Dogar, Vice President of Embedded Processing Business Acceleration Division at Renesas. "By combining our hardware expertise with Canonical's software capabilities, we are well-positioned to deliver cutting-edge solutions that meet the demands of AI applications."

Secured by design

Canonical and Renesas' partnership emphasizes robust security features. Renesas hardware platforms incorporate robust, hardware-based security measures, ensuring the integrity of edge applications. Canonical complements this with Ubuntu's enhanced security features, including the snap-based packaging format for robust application confinement, continuous updates, and proactive vulnerability fixes. Ubuntu Core, a containerized operating system, exemplifies these principles by delivering advanced security tailored for IoT and edge deployments. "Our shared focus on innovation and compliance ensures that enterprises can confidently deploy AI and edge solutions aligned with global regulatory requirements, such as the European Cyber Resilience Act (EU CRA)," added Tabish Khan, Sales Director at Canonical.

Canonical is working with Renesas to set new standards in the IoT industry by delivering comprehensive solutions. From scalable production solutions to enhanced AI capabilities and robust security, the combined solution will empower businesses to unlock new opportunities across key verticals such as industrial automation, robotics, smart cities, and healthcare.

Get in touch

If you have any questions about the platform or would like information about our certification program, contact us.

About Canonical

Canonical, the publisher of Ubuntu, provides open source security, support and services. Our portfolio covers critical systems, from the smallest devices to the largest clouds, from the kernel to containers, from databases to AI. With customers that include top tech brands, emerging startups, governments and home users, Canonical delivers trusted open source for everyone.

Learn more at https://canonical.com/

06 Mar 2025 9:00am GMT

feedUbuntu blog

Canonical and Renesas Announce Partnership to Accelerate Innovation in Enterprise AI

London, UK - Mar 6, 2025 - Canonical, the publisher of Ubuntu, today announced that Renesas Electronics Corporation, a global leader in semiconductor solutions, has joined Canonical's silicon partner program to deliver cutting-edge solutions tailored to meet the growing demands of edge computing and AI applications. As industries increasingly adopt AI-driven solutions, the need for […]

06 Mar 2025 9:00am GMT

feedPlanet Ubuntu

Podcast Ubuntu Portugal: E339 Magalhões Compila No Pacote

O Diogo continua a braços com pacotes super manhosos que ele compila e o resultado é menos do que desejável; o Miguel arranjou um computador que larga lascas pegajosas de material duvidoso para poder viajar no tempo; a Mozilla continua a armar bronca com as mudanças nos termos de utilização do Firefox. Meio mundo desatou a instalar LibreWolf e três gatos pingados desataram a instalar IceCat. O Chrome continua alegremente o seu monopólio de captura de dados para venda e a Mozilla fita-o com inveja. Enquanto isso, ensinamos técnicas de meditação com flautas de pã e doces regatinhos de água em fundo. Inspira, expira, compila.

Já sabem: oiçam, subscrevam e partilhem!

Apoios

Podem apoiar o podcast usando os links de afiliados do Humble Bundle, porque ao usarem esses links para fazer uma compra, uma parte do valor que pagam reverte a favor do Podcast Ubuntu Portugal. E podem obter tudo isso com 15 dólares ou diferentes partes dependendo de pagarem 1, ou 8. Achamos que isto vale bem mais do que 15 dólares, pelo que se puderem paguem mais um pouco mais visto que têm a opção de pagar o quanto quiserem. Se estiverem interessados em outros bundles não listados nas notas usem o link https://www.humblebundle.com/?partner=PUP e vão estar também a apoiar-nos.

Atribuição e licenças

Este episódio foi produzido por Diogo Constantino, Miguel e Tiago Carrondo e editado pelo Senhor Podcast. O website é produzido por Tiago Carrondo e o código aberto está licenciado nos termos da Licença MIT. (https://creativecommons.org/licenses/by/4.0/). A música do genérico é: "Won't see it comin' (Feat Aequality & N'sorte d'autruche)", por Alpha Hydrae e está licenciada nos termos da CC0 1.0 Universal License. Este episódio e a imagem utilizada estão licenciados nos termos da licença: Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0), cujo texto integral pode ser lido aqui. Estamos abertos a licenciar para permitir outros tipos de utilização, contactem-nos para validação e autorização.

06 Mar 2025 12:00am GMT

05 Mar 2025

feedOMG! Ubuntu

Ubuntu 25.04’s New PDF Viewer App is Now Rolling Out

Ubuntu 25.04 Plucky PuffinEarlier this year Ubuntu announced plans to replace document viewer app Evince with Papers, a modern GTK4/libadwaita fork1 of the former, in Ubuntu 25.04-today, the swap was made official. Papers is a fork of Evince that is actively maintained and makes use of newer technologies (GTK4, THIS), that are already present in Ubuntu. Upstream, GNOME 48 (out in March) opts to keep Evince as a core app but GNOME 49 is expected to switch to Papers. Ubuntu feels no reason to wait. Dabbled with daily builds of the Plucky Puffin prior to now? You might have noticed Papers isn't present […]

You're reading Ubuntu 25.04's New PDF Viewer App is Now Rolling Out, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

05 Mar 2025 6:27pm GMT

04 Mar 2025

feedUbuntu blog

Install FreePBX and Asterisk on Ubuntu 24.04 LTS for security patches until 2036

Deploying FreePBX and Asterisk on a single Ubuntu virtual machine in a public cloud is an ideal solution for personal users and small to medium-sized businesses with voice over IP (VoIP) and fax over IP (FoIP) needs. This setup costs nothing, is scalable and secure, and has daily recovery points with a recovery time measured […]

04 Mar 2025 2:35pm GMT

Certification as a strategy: How Ubuntu & SystemReady boost hardware competitiveness

Canonical and MediaTek enhance reliability, accelerate market entry and reduce Total Cost of Ownership (TCO) for ODMs through Ubuntu Certified Hardware and Arm SystemReady programs The hardware ecosystem is evolving rapidly, presenting a continuous challenge in ensuring that new hardware is market-ready and meets software and security standards. Forward-looking hardware vendors recognise that certification and […]

04 Mar 2025 2:31pm GMT

Ubuntu 20.04 LTS on Azure: how to stay secure after standard support ends

As standard support for Ubuntu 20.04 LTS ends on May 31, 2025, Azure users must choose between upgrading to a newer version or enabling extended security with Ubuntu Pro to ensure continued compliance and protection against vulnerabilities.

04 Mar 2025 12:59pm GMT

feedOMG! Ubuntu

Firefox 136 Released with Vertical Tabs, New Sidebar + More

Firefox logo and the number 136The new Mozilla Firefox 136 release delivers a number of notable new features-features Mozilla may be hoping help it re-earn some goodwill from users following last week's privacy palaver. Last month's Firefox 135 release rolled out a refreshed tab page to more users, added in-page translations from Simplified Chinese, Japanese, and Korean, enforced certificate transparency, and ditched the 'Do Not Track' setting. This month sees a long-anticipated features make their stable release debut: vertical tabs! Right-click an empty space in the tab bar, select Turn on Vertical Tabs from the context menu and-bam!-they appear instantly as a a vertical strip of icons on the left-hand […]

You're reading Firefox 136 Released with Vertical Tabs, New Sidebar + More, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

04 Mar 2025 3:18am GMT

03 Mar 2025

feedPlanet Ubuntu

Stéphane Graber: Announcing Incus 6.10

The Incus team is pleased to announce the release of Incus 6.10!

This release brings in an easier way to run Incus on a valid HTTPS certificate, a new way to send through provisioning data to VMs, a very welcome API enhancement and much more!

The highlights for this release are:

NOTE: A bugfix release has been made available fixing a few regressions from the original 6.10 release. This is available as 6.10.1.

The full announcement and changelog can be found here.
And for those who prefer videos, here's the release overview video:

You can take the latest release of Incus up for a spin through our online demo service at: https://linuxcontainers.org/incus/try-it/

And as always, my company is offering commercial support on Incus, ranging from by-the-hour support contracts to one-off services on things like initial migration from LXD, review of your deployment to squeeze the most out of Incus or even feature sponsorship. You'll find all details of that here: https://zabbly.com/incus

Donations towards my work on this and other open source projects is also always appreciated, you can find me on Github Sponsors, Patreon and Ko-fi.

Enjoy!

03 Mar 2025 10:54pm GMT

The Fridge: Ubuntu Weekly Newsletter Issue 881

Welcome to the Ubuntu Weekly Newsletter, Issue 881 for the week of February 23 - March 1, 2025. The full version of this issue is available here.

In this issue we cover:

The Ubuntu Weekly Newsletter is brought to you by:

If you have a story idea for the Weekly Newsletter, join the Ubuntu News Team mailing list and submit it. Ideas can also be added to the wiki!

.

03 Mar 2025 10:20pm GMT

feedUbuntu blog

Experiment Tracking with MLFlow in Canonical’s Data Science Stack

Welcome back, data scientists! In my previous post, we explored how easy it is to set up a machine learning environment with Canonical's Data Science Stack (DSS) and run your first model using Hugging Face's Smol Course. Today, let's take it a step further with experiment tracking. Experimentation is at the heart of data science, […]

03 Mar 2025 1:21pm GMT

02 Mar 2025

feedPlanet Ubuntu

Colin Watson: Free software activity in February 2025

Most of my Debian contributions this month were sponsored by Freexian.

You can also support my work directly via Liberapay.

OpenSSH

OpenSSH upstream released 9.9p2 with fixes for CVE-2025-26465 and CVE-2025-26466. I got a heads-up on this in advance from the Debian security team, and prepared updates for all of testing/unstable, bookworm (Debian 12), bullseye (Debian 11), buster (Debian 10, LTS), and stretch (Debian 9, ELTS). jessie (Debian 8) is also still in ELTS for a few more months, but wasn't affected by either vulnerability.

Although I'm not particularly active in the Perl team, I fixed a libnet-ssleay-perl build failure because it was blocking openssl from migrating to testing, which in turn was blocking the above openssh fixes.

I also sent a minor sshd -T fix upstream, simplified a number of autopkgtests using the newish Restrictions: needs-sudo facility, and prepared for removing the obsolete slogin symlink.

PuTTY

I upgraded to the new upstream version 0.83.

GCC 15 build failures

I fixed build failures with GCC 15 in a few packages:

Python team

A lot of my Python team work is driven by its maintainer dashboard. Now that we've finished the transition to Python 3.13 as the default version, and inspired by a recent debian-devel thread started by Santiago, I thought it might be worth spending a bit of time on the "uscan error" section. uscan is typically scraping upstream web sites to figure out whether new versions are available, and so it's easy for its configuration to become outdated or broken. Most of this work is pretty boring, but it can often reveal situations where we didn't even realize that a Debian package was out of date. I fixed these packages:

I upgraded these packages to new upstream versions:

In bookworm-backports, I updated python-django to 3:4.2.18-1 (issuing BSA-121) and added new backports of python-django-dynamic-fixture and python-django-pgtrigger, all of which are dependencies of debusine.

I went through all the build failures related to python-click 8.2.0 (which was confusingly tagged but not fully released upstream and posted an analysis.

I fixed or helped to fix various other build/test failures:

I dropped support for the old setup.py ftest command from zope.testrunner upstream.

I fixed various odds and ends of bugs:

Installer team

Following up on last month, I merged and uploaded Helmut's /usr-move fix.

02 Mar 2025 1:49pm GMT

feedOMG! Ubuntu

Linux Mint is Redesigning the Cinnamon App Menu

The Cinnamon desktop app menu is being redesigned with a cleaner layout, modern look , and usability improvements ahead of the next Linux Mint release.

You're reading Linux Mint is Redesigning the Cinnamon App Menu, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

02 Mar 2025 1:43am GMT

28 Feb 2025

feedOMG! Ubuntu

Skype Hangs Up (For Good) on May 5 – Export Data Before Then!

Skype, one of the best-known video chat/calling apps, is shutting down forever on May 5, Microsoft has announced today. Nothing gold can stay, and neither can VoIP services shorn their cultural zeitgeist it seems. Replacing Skype will be a free version of Microsoft Teams. Active Skype users can log in to the Microsoft Teams app and instantly see their Skype message history, group chats, and contacts without needing to create a(nother) account. Teams will no support 'telephony', i.e., Skype's one remaining USP, after the transition period, meaning you won't be able to make domestic or international calls to real numbers […]

You're reading Skype Hangs Up (For Good) on May 5 - Export Data Before Then!, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

28 Feb 2025 7:32pm GMT

Linux App Release Roundup (Feb 2025)

February proved a bumper month for Linux software updates, seeing big release of productivity suites LibreOffice and ONLYOFFICE and, plus a crop of smaller app updates which didn't merit a full-length article on this blog. Rather than skip over those updates entirely, I thought I'd resurrect my Linux Release Roundup thread1 to curate a monthly (perhaps twice-monthly, if there's a lot) run-through of smaller software updates I think would still be of most interest to regular readers. For those of us on fixed-release Linux distribution like Ubuntu, such updates may fix a finicky flaw, improve integration, or add a niche […]

You're reading Linux App Release Roundup (Feb 2025), a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

28 Feb 2025 4:11pm GMT

feedUbuntu blog

Life at Canonical: Akshara Pathak shares her experience as a new joiner in Customer Success

As Canonical continues to grow, we have developed a unique onboarding process that enables our new hires to quickly settle and establish themselves in our globally distributed environment. During your first few weeks, your manager will create an onboarding plan to introduce you to the business, your closest stakeholders and colleagues. You will also learn […]

28 Feb 2025 3:37pm GMT

How to conduct a vulnerability assessment

The realm of information security is fraught with jargon, as anyone who has come across vulnerability-related terms can tell you. To complicate matters further, some of these terms are used interchangeably or in contexts outside of computing. This can muddy the waters for people looking to learn about vulnerability assessments - so in this blog […]

28 Feb 2025 11:24am GMT

Learn how to run your data centre like a cloud at our March after-work event

At this in-person event, you'll have the chance to rub shoulders with your colleagues in the cloud space, learn first-hand how open source infrastructure can have colossal impacts on your operating costs and business growth, and unwind with coffee, cocktails, and light refreshments.

28 Feb 2025 10:19am GMT

27 Feb 2025

feedUbuntu blog

Experience Edge AI use cases with Canonical at Mobile World Congress Barcelona 2025

Artificial Intelligence and Machine Learning (AI/ML) are increasingly driving change in telecommunications. Increased adoption is building organizational confidence in the positive impact that AI can bring, which in turn is leading business leaders to push for AI/ML to expand into new use cases. As such, AI/ML will play a key role in bringing new revenue […]

27 Feb 2025 11:00am GMT

feedPlanet Ubuntu

Podcast Ubuntu Portugal: E338 Sol & Mar E Nheko Nheko

Depois de uma semana passada a explorar as entranhas de Matrix, passear na floresta com Unav, ver vídeos na Internet com o Freetube e ler as últimas novidades de Ubports, o nosso sossego acabou quando rebentou a polémica: um comunicado sobre o futuro do Ubuntu para os próximos 20 anos! Para ajudar à festa, o Diogo estragou o OBS para as transmissões em vídeo - como? Nem ele sabe, mas foi divertido vê-lo suar para (não) resolver o problema. Mais para o fim, discutimos a melhor maneira de aplicar uma motoserra à bruta em cima de linhas de código e especulámos em primeira mão sobre o país anfitrião da próxima Cimeira do Ubuntu.

Já sabem: oiçam, subscrevam e partilhem!

Apoios

Podem apoiar o podcast usando os links de afiliados do Humble Bundle, porque ao usarem esses links para fazer uma compra, uma parte do valor que pagam reverte a favor do Podcast Ubuntu Portugal. E podem obter tudo isso com 15 dólares ou diferentes partes dependendo de pagarem 1, ou 8. Achamos que isto vale bem mais do que 15 dólares, pelo que se puderem paguem mais um pouco mais visto que têm a opção de pagar o quanto quiserem. Se estiverem interessados em outros bundles não listados nas notas usem o link https://www.humblebundle.com/?partner=PUP e vão estar também a apoiar-nos.

Atribuição e licenças

Este episódio foi produzido por Diogo Constantino, Miguel e Tiago Carrondo e editado pelo Senhor Podcast. O website é produzido por Tiago Carrondo e o código aberto está licenciado nos termos da Licença MIT. (https://creativecommons.org/licenses/by/4.0/). A música do genérico é: "Won't see it comin' (Feat Aequality & N'sorte d'autruche)", por Alpha Hydrae e está licenciada nos termos da CC0 1.0 Universal License. Este episódio e a imagem utilizada estão licenciados nos termos da licença: Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0), cujo texto integral pode ser lido aqui. Estamos abertos a licenciar para permitir outros tipos de utilização, contactem-nos para validação e autorização.

27 Feb 2025 12:00am GMT

26 Feb 2025

feedOMG! Ubuntu

Mozilla is Introducing ‘Terms of Use’ to Firefox

Hot off the back of its recent leadership rejig, Mozilla has announced users of Firefox will soon be subject to a 'Terms of Use' policy - a first for the iconic open source web browser. "Although we've historically relied on our open source license for Firefox and public commitments to you, we are building in a much different technology landscape today. We want to make these commitments abundantly clear and accessible," say Mozilla. This official Terms of Use will, Mozilla argues, offer users 'more transparency' over their 'rights and permissions' as they use Firefox to browse the information superhighway1 - […]

You're reading Mozilla is Introducing 'Terms of Use' to Firefox, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

26 Feb 2025 7:45pm GMT

feedUbuntu blog

5G without compromise: Building mission-critical private networks for Industry 4.0 with open source

Enterprises across industry verticals are looking for new ways to increase the efficacy of their businesses. One way to do this is building an efficient pipeline of processes, employees, devices, and services that are all tightly integrated to get the best return on investment. However, this requires an efficient telecommunication system where industry machines, personnel, […]

26 Feb 2025 11:00am GMT

25 Feb 2025

feedOMG! Ubuntu

App Grid Wizard Puts GNOME Shell Shortcuts into Folders

App Grid WizardThe application picker (aka app grid) in GNOME Shell is pretty perfect as it comes, showing launchers for installed apps plus the ability to rearrange them using drag and drop and create custom folders to group apps together. Some folks prefer a little more order. I've spotlighted a few Ubuntu app grid tweaks over the years, from one that puts app shortcuts in alphabetical order to ones which restores 'missing' shortcuts for apps pinned to the Ubuntu Dock. And now a new app grid helper has appeared - one sure to appeal to those with a preference for keeping things […]

You're reading App Grid Wizard Puts GNOME Shell Shortcuts into Folders, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

25 Feb 2025 4:44pm GMT

Plank Reloaded: Desktop Dock App for Cinnamon

At one time, Linux dock apps were a plentiful species, with innovative 'panel painters' like GNOME Do/Docky to unashamed bling-kings AWN, DockBarX and Cairo Dock. Yet it was the modest Plank which stayed the course and outlived them. Thing is, the Plank dock hasn't seen any major development effort in years, and though it still works, there's scope for some modern improvement, surely? One developer thinks so, and they've decided to do something about it. Enter, Plank Reloaded. Plank Reloaded: Plank Fork Plank Reloaded is a new fork of the original Plank Linux dock, albeit with a twist: it's focused […]

You're reading Plank Reloaded: Desktop Dock App for Cinnamon, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

25 Feb 2025 2:56am GMT

24 Feb 2025

feedOMG! Ubuntu

KeePassXC Snap Now Supports Web Browser Integration

The KeepassXC snap package now "just works" with web browsers like Firefox, as the latest update gains support for native messaging through secure desktop portals. KeePassXC is a cross-platform, open-source password manager billed as a 'community-driven port of the Windows application 'Keepass Password Safe'". It's available on Linux (including CLI) and a snap package has been available since 2017. Yet, until now users who installed the KeePassXC snap app to make use of browser integration (e.g., auto-fill usernames and passwords on websites they visit, or saving credentials for new accounts they create back to KeePassXC) haven't been able to easily. […]

You're reading KeePassXC Snap Now Supports Web Browser Integration, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

24 Feb 2025 12:16am GMT

23 Feb 2025

feedPlanet Ubuntu

Colin Watson: Qalculate time hacks

Anarcat recently wrote about Qalculate, and I think I'm a convert, even though I've only barely scratched the surface.

The thing I almost immediately started using it for is time calculations. When I started tracking my time, I quickly found that Timewarrior was good at keeping all the data I needed, but I often found myself extracting bits of it and reprocessing it in variously clumsy ways. For example, I often don't finish a task in one sitting; maybe I take breaks, or I switch back and forth between a couple of different tasks. The raw output of timew summary is a bit clumsy for this, as it shows each chunk of time spent as a separate row:

$ timew summary 2025-02-18 Debian

Wk Date       Day Tags                            Start      End    Time   Total
W8 2025-02-18 Tue CVE-2025-26465, Debian,       9:41:44 10:24:17 0:42:33
                  next, openssh
                  Debian, FTBFS with GCC-15,   10:24:17 10:27:12 0:02:55
                  icoutils
                  Debian, FTBFS with GCC-15,   11:50:05 11:57:25 0:07:20
                  kali
                  Debian, Upgrade to 0.67,     11:58:21 12:12:41 0:14:20
                  python_holidays
                  Debian, FTBFS with GCC-15,   12:14:15 12:33:19 0:19:04
                  vigor
                  Debian, FTBFS with GCC-15,   12:39:02 12:39:38 0:00:36
                  python_setproctitle
                  Debian, Upgrade to 1.3.4,    12:39:39 12:46:05 0:06:26
                  python_setproctitle
                  Debian, FTBFS with GCC-15,   12:48:28 12:49:42 0:01:14
                  python_setproctitle
                  Debian, Upgrade to 3.4.1,    12:52:07 13:02:27 0:10:20 1:44:48
                  python_charset_normalizer

                                                                         1:44:48

So I wrote this Python program to help me:

#! /usr/bin/python3

"""
Summarize timewarrior data, grouped and sorted by time spent.
"""

import json
import subprocess
from argparse import ArgumentParser, RawDescriptionHelpFormatter
from collections import defaultdict
from datetime import datetime, timedelta, timezone
from operator import itemgetter

from rich import box, print
from rich.table import Table


parser = ArgumentParser(
    description=__doc__, formatter_class=RawDescriptionHelpFormatter
)
parser.add_argument("-t", "--only-total", default=False, action="store_true")
parser.add_argument(
    "range",
    nargs="?",
    default=":today",
    help="Time range (usually a hint, e.g. :lastweek)",
)
parser.add_argument("tag", nargs="*", help="Tags to filter by")
args = parser.parse_args()

entries: defaultdict[str, timedelta] = defaultdict(timedelta)
now = datetime.now(timezone.utc)
for entry in json.loads(
    subprocess.run(
        ["timew", "export", args.range, *args.tag],
        check=True,
        capture_output=True,
        text=True,
    ).stdout
):
    start = datetime.fromisoformat(entry["start"])
    if "end" in entry:
        end = datetime.fromisoformat(entry["end"])
    else:
        end = now
    entries[", ".join(entry["tags"])] += end - start

if not args.only_total:
    table = Table(box=box.SIMPLE, highlight=True)
    table.add_column("Tags")
    table.add_column("Time", justify="right")
    for tags, time in sorted(entries.items(), key=itemgetter(1), reverse=True):
        table.add_row(tags, str(time))
    print(table)

total = sum(entries.values(), start=timedelta())
hours, rest = divmod(total, timedelta(hours=1))
minutes, rest = divmod(rest, timedelta(minutes=1))
seconds = rest.seconds
print(f"Total time: {hours:02}:{minutes:02}:{seconds:02}")
$ summarize-time 2025-02-18 Debian

  Tags                                                     Time
 ───────────────────────────────────────────────────────────────
  CVE-2025-26465, Debian, next, openssh                 0:42:33
  Debian, FTBFS with GCC-15, vigor                      0:19:04
  Debian, Upgrade to 0.67, python_holidays              0:14:20
  Debian, Upgrade to 3.4.1, python_charset_normalizer   0:10:20
  Debian, FTBFS with GCC-15, kali                       0:07:20
  Debian, Upgrade to 1.3.4, python_setproctitle         0:06:26
  Debian, FTBFS with GCC-15, icoutils                   0:02:55
  Debian, FTBFS with GCC-15, python_setproctitle        0:01:50

Total time: 01:44:48

Much nicer. But that only helps with some of my reporting. At the end of a month, I have to work out how much time to bill Freexian for and fill out a timesheet, and for various reasons those queries don't correspond to single timew tags: they sometimes correspond to the sum of all time spent on multiple tags, or to the time spent on one tag minus the time spent on another tag, or similar. As a result I quite often have to do basic arithmetic on time intervals; but that's surprisingly annoying! I didn't previously have good tools for that, and was reduced to doing things like str(timedelta(hours=..., minutes=..., seconds=...) + ...) in Python, which gets old fast.

Instead:

$ qalc '62:46:30 - 51:02:42 to time'
(225990 / 3600) − (183762 / 3600) = 11:43:48

I also often want to work out how much of my time I've spent on Debian work this month so far, since Freexian pays me for up to 20% of my work time on Debian; if I'm under that then I might want to prioritize more Debian projects, and if I'm over then I should be prioritizing more Freexian projects as otherwise I'm not going to get paid for that time.

$ summarize-time -t :month Freexian
Total time: 69:19:42
$ summarize-time -t :month Debian
Total time: 24:05:30
$ qalc '24:05:30 / (24:05:30 + 69:19:42) to %'
(86730 / 3600) / ((86730 / 3600) + (249582 / 3600)) ≈ 25.78855349%

I love it.

23 Feb 2025 8:00pm GMT

feedOMG! Ubuntu

4 New Effects Added to ‘Burn My Windows’ GNOME Extension

A set of four cool new window opening and closing animations got added to gaudy GNOME Shell extension Burn My Windows this weekend. A veritable Linux eye-candy essential, Burn My Windows makes it easy to apply a variety of visual effects to Ubuntu when opening and/or closing app windows, dialogs, and modals. Its sole purpose is to make using Linux a bit more entertaining. Burn My Windows v45 is the latest update. It adds support for the upcoming GNOME 48 release (which will ship in Ubuntu 25.04 this April), fine-tunes effect filtering in Preferences, and improves its Incinerate effect with […]

You're reading 4 New Effects Added to 'Burn My Windows' GNOME Extension, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

23 Feb 2025 5:45pm GMT

21 Feb 2025

feedPlanet Ubuntu

Luke Faraone: I'm running for the OSI board... maybe

The Open Source Initiative has two classes of board seats: Affiliate seats, and Individual Member seats.

In the upcoming election, each affiliate can nominate a candidate, and each affiliate can cast a vote for the Affiliate candidates, but there's only 1 Affiliate seat available. I initially expressed interest in being nominated as an Affiliate candidate via Debian. But since Bradley Kuhn is also running for an Affiliate seat with a similar platform to me, especially with regards to the OSAID, I decided to run as part of an aligned "ticket" as an Individual Member to avoid contention for the 1 Affiliate seat.

Bradley and I discussed running on a similar ticket around 8/9pm Pacific, and I submitted my candidacy around 9pm PT on 17 February.

I was dismayed when I received the following mail from Nick Vidal:

Dear Luke,

Thank you for your interest in the OSI Board of Directors election. Unfortunately, we are unable to accept your application as it was submitted after the official deadline of Monday Feb 17 at 11:59 pm UTC. To ensure a fair process, we must adhere to the deadline for all candidates.

We appreciate your enthusiasm and encourage you to stay engaged with OSI's mission. We hope you'll consider applying in the future or contributing in other meaningful ways.

Best regards,
OSI Election Teams

Nowhere on the "OSI's board of directors in 2025: details about the elections" page do they list a timezone for closure of nominations; they simply list Monday 17 February.

The OSI's contact address is in California, so it seems arbitrary and capricious to retroactively define all of these processes as being governed by UTC.

I was not able to participate in the "potential board director" info sessions accordingly, but people who attended heard that the importance of accommodating differing TZ's was discussed during the info session, and that OSI representatives mentioned they try to accommodate TZ's of everyone. This seems in sharp contrast with the above policy.

I urge the OSI to reconsider this policy and allow me to stand for an Individual seat in the current cycle.

21 Feb 2025 10:35am GMT

20 Feb 2025

feedPlanet Ubuntu

Ubuntu Studio: Ubuntu Studio 24.04.2 LTS Released, and Financial Help Needed

The Ubuntu Studio team is pleased to announce the release of Ubuntu Studio 24.04.2 LTS. This is a minor release which wraps-up the security and bug fixes into one .iso image, available for download now.

Among the changes, we have updated the support and help links in the menu, fixed bugs in Ubuntu Studio Installer, and more. As always, check the Ubuntu Studio 24.04 LTS Release Notes release notes for more information.

Please give financially to Ubuntu Studio!

Giving is down. We understand that some people may no longer be able to give financially to this project, and that's OK. However, if you have never given to Ubuntu Studio for the hard work and dedication we put into this project, please consider a monetary contribution.

Additionally, we would love to see more monthly contributions to this project. You can do so via PayPal, Liberapay, or Patreon. We would love to see more contributions!

So don't wait, and don't wait for someone else to do it! Thank you in advance!

Donate using PayPal
Donations are Monthly or One-Time
Donate using Liberapay
Donate using Liberapay
Donations are
Weekly, Monthly, or Annually
Donate using Patreon
Become a Patron!Donations are
Monthly


20 Feb 2025 6:45pm GMT

Paul Tagliamonte: boot2kier

I can't remember exactly the joke I was making at the time in my work's slack instance (I'm sure it wasn't particularly funny, though; and not even worth re-reading the thread to work out), but it wound up with me writing a UEFI binary for the punchline. Not to spoil the ending but it worked - no pesky kernel, no messing around with "userland". I guess the only part of this you really need to know for the setup here is that it was a Severance joke, which is some fantastic TV. If you haven't seen it, this post will seem perhaps weirder than it actually is. I promise I haven't joined any new cults. For those who have seen it, the payoff to my joke is that I wanted my machine to boot directly to an image of Kier Eagan.

As for how to do it - I figured I'd give the uefi crate a shot, and see how it is to use, since this is a low stakes way of trying it out. In general, this isn't the sort of thing I'd usually post about - except this wound up being easier and way cleaner than I thought it would be. That alone is worth sharing, in the hopes someome comes across this in the future and feels like they, too, can write something fun targeting the UEFI.

First thing's first - gotta create a rust project (I'll leave that part to you depending on your life choices), and to add the uefi crate to your Cargo.toml. You can either use cargo add or add a line like this by hand:

uefi = { version = "0.33", features = ["panic_handler", "alloc", "global_allocator"] }

We also need to teach cargo about how to go about building for the UEFI target, so we need to create a rust-toolchain.toml with one (or both) of the UEFI targets we're interested in:

[toolchain]
targets = ["aarch64-unknown-uefi", "x86_64-unknown-uefi"]

Unfortunately, I wasn't able to use the image crate, since it won't build against the uefi target. This looks like it's because rustc had no way to compile the required floating point operations within the image crate without hardware floating point instructions specifically. Rust tends to punt a lot of that to libm usually, so this isnt entirely shocking given we're nostd for a non-hardfloat target.

So-called "softening" requires a software floating point implementation that the compiler can use to "polyfill" (feels weird to use the term polyfill here, but I guess it's spiritually right?) the lack of hardware floating point operations, which rust hasn't implemented for this target yet. As a result, I changed tactics, and figured I'd use ImageMagick to pre-compute the pixels from a jpg, rather than doing it at runtime. A bit of a bummer, since I need to do more out of band pre-processing and hardcoding, and updating the image kinda sucks as a result - but it's entirely manageable.

$ convert -resize 1280x900 kier.jpg kier.full.jpg
$ convert -depth 8 kier.full.jpg rgba:kier.bin

This will take our input file (kier.jpg), resize it to get as close to the desired resolution as possible while maintaining aspect ration, then convert it from a jpg to a flat array of 4 byte RGBA pixels. Critically, it's also important to remember that the size of the kier.full.jpg file may not actually be the requested size - it will not change the aspect ratio, so be sure to make a careful note of the resulting size of the kier.full.jpg file.

Last step with the image is to compile it into our Rust bianary, since we don't want to struggle with trying to read this off disk, which is thankfully real easy to do.

const KIER: &[u8] = include_bytes!("../kier.bin");
const KIER_WIDTH: usize = 1280;
const KIER_HEIGHT: usize = 641;
const KIER_PIXEL_SIZE: usize = 4;

Remember to use the width and height from the final kier.full.jpg file as the values for KIER_WIDTH and KIER_HEIGHT. KIER_PIXEL_SIZE is 4, since we have 4 byte wide values for each pixel as a result of our conversion step into RGBA. We'll only use RGB, and if we ever drop the alpha channel, we can drop that down to 3. I don't entirely know why I kept alpha around, but I figured it was fine. My kier.full.jpg image winds up shorter than the requested height (which is also qemu's default resolution for me) - which means we'll get a semi-annoying black band under the image when we go to run it - but it'll work.

Anyway, now that we have our image as bytes, we can get down to work, and write the rest of the code to handle moving bytes around from in-memory as a flat block if pixels, and request that they be displayed using the UEFI GOP. We'll just need to hack up a container for the image pixels and teach it how to blit to the display.

/// RGB Image to move around. This isn't the same as an
/// `image::RgbImage`, but we can associate the size of
/// the image along with the flat buffer of pixels.
struct RgbImage {
/// Size of the image as a tuple, as the
 /// (width, height)
 size: (usize, usize),
/// raw pixels we'll send to the display.
 inner: Vec<BltPixel>,
}
impl RgbImage {
/// Create a new `RgbImage`.
 fn new(width: usize, height: usize) -> Self {
RgbImage {
size: (width, height),
inner: vec![BltPixel::new(0, 0, 0); width * height],
}
}
/// Take our pixels and request that the UEFI GOP
 /// display them for us.
 fn write(&self, gop: &mut GraphicsOutput) -> Result {
gop.blt(BltOp::BufferToVideo {
buffer: &self.inner,
src: BltRegion::Full,
dest: (0, 0),
dims: self.size,
})
}
}
impl Index<(usize, usize)> for RgbImage {
type Output = BltPixel;
fn index(&self, idx: (usize, usize)) -> &BltPixel {
let (x, y) = idx;
&self.inner[y * self.size.0 + x]
}
}
impl IndexMut<(usize, usize)> for RgbImage {
fn index_mut(&mut self, idx: (usize, usize)) -> &mut BltPixel {
let (x, y) = idx;
&mut self.inner[y * self.size.0 + x]
}
}

We also need to do some basic setup to get a handle to the UEFI GOP via the UEFI crate (using uefi::boot::get_handle_for_protocol and uefi::boot::open_protocol_exclusive for the GraphicsOutput protocol), so that we have the object we need to pass to RgbImage in order for it to write the pixels to the display. The only trick here is that the display on the booted system can really be any resolution - so we need to do some capping to ensure that we don't write more pixels than the display can handle. Writing fewer than the display's maximum seems fine, though.

fn praise() -> Result {
let gop_handle = boot::get_handle_for_protocol::<GraphicsOutput>()?;
let mut gop = boot::open_protocol_exclusive::<GraphicsOutput>(gop_handle)?;
// Get the (width, height) that is the minimum of
 // our image and the display we're using.
 let (width, height) = gop.current_mode_info().resolution();
let (width, height) = (width.min(KIER_WIDTH), height.min(KIER_HEIGHT));
let mut buffer = RgbImage::new(width, height);
for y in 0..height {
for x in 0..width {
let idx_r = ((y * KIER_WIDTH) + x) * KIER_PIXEL_SIZE;
let pixel = &mut buffer[(x, y)];
pixel.red = KIER[idx_r];
pixel.green = KIER[idx_r + 1];
pixel.blue = KIER[idx_r + 2];
}
}
buffer.write(&mut gop)?;
Ok(())
}

Not so bad! A bit tedious - we could solve some of this by turning KIER into an RgbImage at compile-time using some clever Cow and const tricks and implement blitting a sub-image of the image - but this will do for now. This is a joke, after all, let's not go nuts. All that's left with our code is for us to write our main function and try and boot the thing!

#[entry]
fn main() -> Status {
uefi::helpers::init().unwrap();
praise().unwrap();
boot::stall(100_000_000);
Status::SUCCESS
}

If you're following along at home and so interested, the final source is over at gist.github.com. We can go ahead and build it using cargo (as is our tradition) by targeting the UEFI platform.

$ cargo build --release --target x86_64-unknown-uefi

Testing the UEFI Blob

While I can definitely get my machine to boot these blobs to test, I figured I'd save myself some time by using QEMU to test without a full boot. If you've not done this sort of thing before, we'll need two packages, qemu and ovmf. It's a bit different than most invocations of qemu you may see out there - so I figured it'd be worth writing this down, too.

$ doas apt install qemu-system-x86 ovmf

qemu has a nice feature where it'll create us an EFI partition as a drive and attach it to the VM off a local directory - so let's construct an EFI partition file structure, and drop our binary into the conventional location. If you haven't done this before, and are only interested in running this in a VM, don't worry too much about it, a lot of it is convention and this layout should work for you.

$ mkdir -p esp/efi/boot
$ cp target/x86_64-unknown-uefi/release/*.efi \
 esp/efi/boot/bootx64.efi

With all this in place, we can kick off qemu, booting it in UEFI mode using the ovmf firmware, attaching our EFI partition directory as a drive to our VM to boot off of.

$ qemu-system-x86_64 \
 -enable-kvm \
 -m 2048 \
 -smbios type=0,uefi=on \
 -bios /usr/share/ovmf/OVMF.fd \
 -drive format=raw,file=fat:rw:esp

If all goes well, soon you'll be met with the all knowing gaze of Chosen One, Kier Eagan. The thing that really impressed me about all this is this program worked first try - it all went so boringly normal. Truly, kudos to the uefi crate maintainers, it's incredibly well done.

Booting a live system

Sure, we could stop here, but anyone can open up an app window and see a picture of Kier Eagan, so I knew I needed to finish the job and boot a real machine up with this. In order to do that, we need to format a USB stick. BE SURE /dev/sda IS CORRECT IF YOU'RE COPY AND PASTING. All my drives are NVMe, so BE CAREFUL - if you use SATA, it may very well be your hard drive! Please do not destroy your computer over this.

$ doas fdisk /dev/sda
Welcome to fdisk (util-linux 2.40.4).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-4014079, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-4014079, default 4014079):
Created a new partition 1 of type 'Linux' and of size 1.9 GiB.
Command (m for help): t
Selected partition 1
Hex code or alias (type L to list all): ef
Changed type of partition 'Linux' to 'EFI (FAT-12/16/32)'.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Once that looks good (depending on your flavor of udev you may or may not need to unplug and replug your USB stick), we can go ahead and format our new EFI partition (BE CAREFUL THAT /dev/sda IS YOUR USB STICK) and write our EFI directory to it.

$ doas mkfs.fat /dev/sda1
$ doas mount /dev/sda1 /mnt
$ cp -r esp/efi /mnt
$ find /mnt
/mnt
/mnt/efi
/mnt/efi/boot
/mnt/efi/boot/bootx64.efi

Of course, naturally, devotion to Kier shouldn't mean backdooring your system. Disabling Secure Boot runs counter to the Core Principals, such as Probity, and not doing this would surely run counter to Verve, Wit and Vision. This bit does require that you've taken the step to enroll a MOK and know how to use it, right about now is when we can use sbsign to sign our UEFI binary we want to boot from to continue enforcing Secure Boot. The details for how this command should be run specifically is likely something you'll need to work out depending on how you've decided to manage your MOK.

$ doas sbsign \
 --cert /path/to/mok.crt \
 --key /path/to/mok.key \
 target/x86_64-unknown-uefi/release/*.efi \
 --output esp/efi/boot/bootx64.efi

I figured I'd leave a signed copy of boot2kier at /boot/efi/EFI/BOOT/KIER.efi on my Dell XPS 13, with Secure Boot enabled and enforcing, just took a matter of going into my BIOS to add the right boot option, which was no sweat. I'm sure there is a way to do it using efibootmgr, but I wasn't smart enough to do that quickly. I let 'er rip, and it booted up and worked great!

It was a bit hard to get a video of my laptop, though - but lucky for me, I have a Minisforum Z83-F sitting around (which, until a few weeks ago was running the annual http server to control my christmas tree ) - so I grabbed it out of the christmas bin, wired it up to a video capture card I have sitting around, and figured I'd grab a video of me booting a physical device off the boot2kier USB stick.

Attentive readers will notice the image of Kier is smaller then the qemu booted system - which just means our real machine has a larger GOP display resolution than qemu, which makes sense! We could write some fancy resize code (sounds annoying), center the image (can't be assed but should be the easy way out here) or resize the original image (pretty hardware specific workaround). Additionally, you can make out the image being written to the display before us (the Minisforum logo) behind Kier, which is really cool stuff. If we were real fancy we could write blank pixels to the display before blitting Kier, but, again, I don't think I care to do that much work.

But now I must away

If I wanted to keep this joke going, I'd likely try and find a copy of the original video when Helly 100%s her file and boot into that - or maybe play a terrible midi PC speaker rendition of Kier, Chosen One, Kier after rendering the image. I, unfortunately, don't have any friends involved with production (yet?), so I reckon all that's out for now. I'll likely stop playing with this - the joke was done and I'm only writing this post because of how great everything was along the way.

All in all, this reminds me so much of building a homebrew kernel to boot a system into - but like, good, though, and it's a nice reminder of both how fun this stuff can be, and how far we've come. UEFI protocols are light-years better than how we did it in the dark ages, and the tooling for this is SO much more mature. Booting a custom UEFI binary is miles ahead of trying to boot your own kernel, and I can't believe how good the uefi crate is specifically.

Praise Kier! Kudos, to everyone involved in making this so delightful ❤️.

20 Feb 2025 2:40pm GMT

19 Feb 2025

feedPlanet Ubuntu

Scarlett Gately Moore: KDE Snaps are broken, sorry lights out for now

All core22 KDE snaps are broken. There is not an easy fix. We have used kde-neon repos since inception and haven't had issues until now.

libEGL fatal: DRI driver not from this Mesa build ('23.2.1-1ubuntu3.1~22.04.3' vs '23.2.1-1ubuntu3.1~22.04.2')

Apparently Jammy had a mesa update?

Option 1: Rebuild our entire stack without neon repos ( fails due to dependencies not in Jammy, would require tracking down all of these and build from source )

Option 2: Finish the transition to core24 ( This is an enormous task and will take some time still )

Either option will take more time and effort than I have. I need to be job hunting as I have run out of resources to pay my bills. My internet/phone will be cut off in days. I am beyond stressed out and getting snippy with folks, for that I apologize. If someone wants to sponsor the above work then please donate to https://gofund.me/fe30793b otherwise I am stepping away to rethink life and my defunct career.

I am truly sorry everyone.

New core24 Snaps:

Arianna - Epub viewer

k3b - Disc burner

Snapcraft:

Fixes for the qt5 kde-neon extension

https://github.com/canonical/snapcraft/pull/5261

19 Feb 2025 2:17pm GMT

18 Feb 2025

feedPlanet Ubuntu

Balint Reczey: Wireshark on Ubuntu: Stay Ahead with the Latest Releases and Nightly Builds

Wireshark is an essential tool for network analysis, and staying up to date with the latest releases ensures access to new features, security updates, and bug fixes. While Ubuntu's official repositories provide stable versions, they are often not the most recent.

Wearing both WiresharkCore Developer and Debian/Ubuntu package maintainer hats, I'm happy to help the Wireshark team in providing updated packages for all supported Ubuntu versions through dedicated PPAs. This post outlines how you can install the latest stable and nightly Wireshark builds on Ubuntu.

Latest Stable Releases

For users who want the most up-to-date stable Wireshark version, we maintain a PPA with backports of the latest releases:

🔗 Stable Wireshark PPA:
👉 https://launchpad.net/~wireshark-dev/+archive/ubuntu/stable

Installation Instructions

To install the latest stable Wireshark version, add the PPA and update your package list:

sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt install wireshark

Nightly Builds (Development Versions)

For those who want to test new features before they are officially released, nightly builds are also available. These builds track the latest development code and you can watch them cooking on their Launchpad recipe page.

🔗 Nightly PPA:
👉 https://code.launchpad.net/~wireshark-dev/+archive/ubuntu/nightly

Installation Instructions

To install the latest development version of Wireshark, use the following commands:

sudo add-apt-repository ppa:wireshark-dev/nightly
sudo apt install wireshark

Note: Nightly builds may contain experimental features and are not guaranteed to be as stable as the official releases. Also it targets only Ubuntu 24.04 and later including the current development release.

If you need to revert to the stable version later, remove the nightly PPA and reinstall Wireshark:

sudo add-apt-repository --remove ppa:wireshark-dev/nightly
sudo apt install wireshark

Happy sniffing! 🙂

18 Feb 2025 9:57am GMT