Temporary Workarounds for mDNS Printing & UEFI Boot Entry Permissions in KDE Linux Alpha

Hello KDE community,

I’ve been testing the alpha version of KDE Linux, and I encountered a couple of issues that I wanted to share, along with their temporary workarounds. These are two bugs I’ve found, and both workarounds will allow you to continue testing the alpha release. The good news is that these issues are planned to be patched in the upcoming beta release of KDE Linux, so they shouldn’t be an issue for long.

  1. mDNS Printing Not Working – Temporary Workaround

Issue:
Without mDNS support, printing and network device discovery were not functioning as expected on the KDE Linux alpha release.

Workaround:
To fix this issue and enable mDNS printing, I followed these steps:

Disable systemd-resolved:
The systemd-resolved service was causing interference with mDNS, so I disabled it:

sudo systemctl disable --now systemd-resolved

Set Up systemd-sysext Overlay:
I created a systemd-sysext overlay to store the necessary mDNS libraries in a separate directory. This ensures proper loading of the mDNS services:

mkdir -p ~/kde/usr/lib/extension-release.d/
cp /usr/lib/os-release ~/kde/usr/lib/extension-release.d/extension-release.kde
sed -i ‘s%^ID=.*%ID=_any%g’ ~/kde/usr/lib/extension-release.d/extension-release.kde
sudo chown root:root ~/kde/usr/lib/extension-release.d/extension-release.kde
sudo mkdir -p /var/lib/extensions/
sudo ln -s $HOME/kde /var/lib/extensions/kde
sudo systemd-sysext merge

Download and Install nss-mdns:
I manually downloaded the nss-mdns package from the Arch Linux repository via their Website and extracted the necessary files into the overlay.

Modify /etc/nsswitch.conf:
I updated the hosts line in /etc/nsswitch.conf to include mdns_minimal:

hosts: mymachines mdns_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] files myhostname dns

Enable Avahi Daemon:
Finally, I enabled the avahi-daemon, which is required for mDNS functionality:

sudo systemctl enable --now avahi-daemon

This allowed me to get mDNS printing and device discovery working properly. This issue is expected to be patched in the beta release of KDE Linux.
2. UEFI Boot Entry Permissions – Temporary Workaround

Issue:
After a kernel update, I faced an issue where the boot entry was inaccessible. The UEFI screen displayed a red error:
“Error opening boot entry ‘\EFI\Linux\kde-linux_202502190256+3-0.efi’: Access denied.”
Upon investigation, I found that the new kernel set the permissions for the boot entry file to read-only, which caused the issue.

Workaround:
To fix this, I created a systemd service that automatically corrects the file permissions on boot. The service runs the following command:

/usr/bin/bash -c ‘/usr/bin/find /boot/EFI/Linux -type f -exec chmod 644 {} ;’

Create the systemd Service File:
I created a service unit called fix-boot-entry-permissions.service with the following content:

[Unit]
Description=Fix Boot Entry Permissions

[Service]
Type=oneshot
ExecStart=/usr/bin/bash -c ‘/usr/bin/find /boot/EFI/Linux -type f -exec chmod 644 {} ;’
RemainAfterExit=true

[Install]
WantedBy=multi-user.target

Enable the Service:
I then enabled the service to run on boot:

sudo systemctl enable fix-boot-entry-permissions.service

This worked perfectly and resolved the permissions issue, allowing the system to boot without errors. The issue was caused by the kernel update setting incorrect permissions, and this workaround will be useful until a more permanent fix is released in the beta.
Conclusion

These are the two issues I encountered while testing KDE Linux Alpha and their corresponding temporary workarounds. Both of these issues are expected to be addressed in the upcoming KDE Linux beta, so I’m looking forward to those fixes. In the meantime, these workarounds should allow you to continue testing without major interruptions. If you have similar issues or other suggestions, feel free to comment!

Note: These fixes are for the current alpha and may not apply to future versions, so be sure to keep an eye on upcoming updates.