New FOSS Releases for April 2025

 

FOSS NEWS — April 2025

Figured I’d try something new and cover a few topics at once in a sort of, monthly roundup! We’re midway through April, so this will go over what’s happening this month and shortly thereafter. Naturally, focusing on the projects I am personally most interested in.

Fedora 42 – Releasing April 15th (Tuesday!)

42? The answer to life, the universe and more?? Its not even out yet, at the 42 refrences are already wearing a little thin for me, hah. None the less, Fedora 42 comes out this coming Monday. Some points of interest:

New Anaconda Web UI Installer provides an enhanced, intuitive interface.
Python 3.8 Retirement – Python 3.8 has reached EOL status
KDE Plasma – Now a full-fledged desktop option, not just a “spin” flavor. The KDE special interest group has been working on integrating the latest Plasma applications and testing them for ensured stability.

 

Debian 13 Trixie – Freeze Timeline

I’ve been running Trixie on my desktop for a few months now, and because it is so close to freeze I have recently decided to put it on my X1 Carbon as well. So far, everything has been fantastic.

Transition and Toolchain Freeze – March 15th (Done)
Soft Freeze – April 15th (This coming Monday)
Hard Freeze – May 15th

The final release date for Debian Trixie is yet to be announced, but it is expected to be around June or August of this year.

Major changes in Debian 13:
Trixie will use the 6.12 LTS kernel
KDE Plasma 6
Addition of official RISC-V 64-bit support
Dropping support for the mipsel architecture
Removal of i386 & armel installers

Ubuntu 25.04 Plucky Puffin

The 25.04 (non-LTS) release of Ubuntu will release on April 17th, with 9 months of standard support.

Plucky Puffin will feature:
Gnome 48
– Improved responsiveness and a new “wellbeing feature”
Wayland continues as default display server
Compiler optimization level changed from -02 to -03
– Aiming to boost execution speeds and performance
Linux Kernel 6.14
ZFS and BTRFS Optimizations
– Atomic updates and rollbacks inspired by NixOS are now supported
New Security Center dashboard – Centralized firewall, update and vulnerability management.
Chrony updated for encrypted time sync
Netplan Enhancments now supporting WPA-PSK-SHA256 wifi

The release candidate came out two days ago, and we’ll see the final release on Thursday the 17th.

FreeBSD 14.3 – Releasing in June

I’m definitely looking forward to this release, and we should be seeing BETA releases next month. Final release is scheduled for June 3rd.

14.3 will introduce support for 32-bit UEFI systems; benefiting users with older 32 bit EFI systems which have 64 bit CPUs. Updates to storage controller and network interface drivers are also in the works.

WiFi Improvements
Intel WiFi driver enhancements have been a goal; improving the iwlwifi(4) driver, addressing bugs and adding hardware crypto support.
Work has been done on porting the iwx driver over from OpenBSD to enable 802.11ac and 802.11ax functionality. This driver supports the Intel AX200, AX210 and AX201/AX211 adapters.

The 14.x series has been nothing shy of Impressive when it comes to performance, and I have no doubts that 14.3 will continue to deliver on that front.

Running Windows XP in a VM (April 2025)

I run Linux obviously… and sometimes Wine blows my mind with how good it is. I have several cases lately however, where my mind isn’t exactly… blown…

This was going to be a guide on running VirtualBox 6.0.24 on Debian testing. TLDR; VMWare Workstation is Free for Linux, and is probably a much better idea anyway. Still though, wanted to document the journey.

So… XP as a guest has not been supported by any of the major virtualization solutions for years at this point. Now sure, you can install and run XP just fine on any of them… but 3D acceleration for smooth desktop operation is another story. Today, I’m going to see just how much of a pain in the ass that is – getting a 2019 VirtualBox packaged for Debian Buster… running on Debian Trixie (testing) in 2025.

SPOILER: This didn’t work; if you’re determined though, I’m sure you could get it working. This will get you Vbox installed, and the application runs, but you can’t actually run a VM… in my case anyway. I have a mismatch of Sid/Trixie/Bookworm though, and generally that is bad practice 🙂 See the alternate solution… just scroll down a bit.

If you try and just go for it, you’ll be met in the very least with a message informing you that you system lacks these dependencies:

dpkg: dependency problems prevent configuration of virtualbox-6.0:
virtualbox-6.0 depends on libssl1.1 (>= 1.1.1); however:
Package libssl1.1 is not installed.
virtualbox-6.0 depends on libvpx5 (>= 1.6.0); however:
Package libvpx5 is not installed.
virtualbox-6.0 depends on python (<< 2.8); however:
Package python is not installed.
virtualbox-6.0 depends on python (>= 2.7); however:
Package python is not installed.
virtualbox-6.0 depends on python:any (>= 2.6.6-7~).

You’ll need an older libssl package. libssl1.1_1.1.1n-0+deb10u6_amd64.deb is easily found on Debian’s site, there will be a link at the end of the article too. For me, a simple dpkg -i installed this with 0 problems… So far, so good!

For libvpx5:
wget http://ftp.debian.org/debian/pool/main/libv/libvpx/libvpx5_1.7.0-3+deb10u1_amd64.deb

sudo dpkg -i libvpx5_1.7.0-3+deb10u1_amd64.deb

Now, Python… obviously Python 2 is dead. I first tried this with the python-is-python3 package; I wish this would have worked. The backup plan is installing Python 2.7 from Bullseye, which I’d have liked to avoid.

Steps for Python 2.7…

Download http://ftp.debian.org/debian/pool/main/libf/libffi/libffi7_3.3-6_amd64.deb
dpkg -i libffi7_3.3-6_amd64.deb

If you’re running as root, you can save time with a single command for the download / install. Here is the next thing we’ll need:

wget http://ftp.debian.org/debian/pool/main/p/python2.7/libpython2.7-minimal_2.7.18-8+deb11u1_amd64.deb && dpkg -i libpython2.7-minimal_2.7.18-8+deb11u1_amd64.deb

For the next two, I had to tell it to ignore a dependency. “mime-support” is no longer a package, and I have the new version installed, so this should be OK.

Wget http://ftp.debian.org/debian/pool/main/p/python2.7/libpython2.7-stdlib_2.7.18-8+deb11u1_amd64.deb && sudo dpkg -i –force-depends libpython2.7-stdlib_2.7.18-8+deb11u1_amd64.deb

Again, we have to do that for the actual Python 2.7 package

wget http://ftp.debian.org/debian/pool/main/p/python2.7/python2.7_2.7.18-8+deb11u1_amd64.deb && dpkg -i –force-depends python2.7_2.7.18-8+deb11u1_amd64.deb

At this point, I removed python-is-python3, since we don’t want to be trying to run python2 code on python3 when we have 2.7 installed; so apt remove –purge python-is-python3

VirtualBox will still complain about missing python. Oh well. Use the Force!

sudo dpkg -i –force-depends virtualbox-6.0_6.0.24-139119~Debian~buster_amd64.deb

At this point, Virtualbox was indeed installed however there were problems finishing the setup. Something to do with the kernel modules, maybe the vbox networking, stuff like that. EVERY TIME I used apt, I had to –fix-broken install which REMOVED virtualbox. Then I had to reinstall it, telling it to ignore the python situation. The problem looked related to kernel modules \ lack of kernel headers installed so I made sure I had those installed. Anyway, big f’n mess.

I figured I’d share because for someone determined enough, you’ll probably get it working. At this point, VirtualBox does indeed start, you can start to configure a VM, etc. Just when you try to actually launch a VM, it will complain and fail.

Alternate Solution:

But guess what…. There is a major VM solution that supposedly still supports accelerated graphics on XP. VMWare Workstation – which at the time of writing this – is completely free. You just need to sign up with your email, but no credit card or any BS like that.

You’ll need an older version of the VMWare Guest Tools:
https://packages.vmware.com/tools/releases/10.0.12/windows/

Just download the ISO, and after you install XP you can mount it and the installer should start right up. Reboot and you should be good.

IE Downloading

Man… Been a while since I’ve seen THAT dialog box! Mainly because I used XP for years with FireFox.

 

A fail-safe for changing network config on headless servers

Lenovo Tiny PC

I’ve been setting up a Lenvo tiny system, which came with an M.2 wifi card. I’m going to probably replace it with another Intel GB / 2.5 GB adapter at some point, but right now I don’t really have a reason to. It is always a little scary when you make major changes to your network configuration on a headless system. This box isn’t physically far away, but it is indeed tucked away in another part of the house and I have no desire to bring a monitor over to it.

I realized, the wifi could serve a purpose in case I bork the bridge config somehow, or something unexpected breaks my configuration. Because I used wifi for the Debian netinstall, ifupdown already connects to wifi on boot, so there’s my failsafe. However, I don’t want or need that to stay up after the wired network is up. So I came up with this:

@reboot sleep 60 && ping -c 3 -I br0 10.0.0.1 >/dev/null 2>&1 && ifdown wlp2s0

Put this in root’s crontab, 60 seconds after cron starts it will try to ping something on the LAN, trying three times. If it can ping successfully, we bring down our backup interface. Beautiful.

This would make even more sense with a cheap USB network adapter just to have a failsafe if you’re experimenting and don’t want to lock yourself out of a system without a monitor (or even a physical serial port, for that matter).

Fail-safe, for what? – long version, for those so-inclined

Well, I wanted to be able to easily network some VMs on this thing, so I set up bridged networking. For those who don’t know, this is how Proxmox lets your VMs basically all share a NIC and each get a DHCP lease from your main network, no double-NAT nonsense, and no need to configure static routes either. I briefly did try ProxMox on this thing, and not to talk down of it but there is a reason I don’t use it… has way too much going on out of the box that I’ll never use. It is a great product, and it definitely has its place but I like the minimal-manual style of setting things up. If I wanted to take advantage of the cluster / high availability features or ZFS snapshots then it is a great way to save you a ton of hassle manually setting up some pretty complicated stuff… But I’m not doing anything that fancy. Proxmox IMO is overkill if you just need to run a few VMs, jails or containers. It is convenient as a “poor man’s KVM” though.

XScreenSaver Install Script for Debian MATE Desktop

XScreenSaver

MAKING IT BE (a little) LESS PAIN IN THE ASS

If you’re using Gnome/MATE screensaver (or locker), I’d recommend you don’t. Weather it is because you value X locking security, or just admit it they’re cool screensavers, toss that in the bin and install the real deal.. XScreenSaver.

I have written a script which takes care of all of the following:
1. On Debian, XScreenSaver needs you to manually specify 4 packages to get the program, “extra” savers, gl savers, and “gl extra” savers. This will get you the complete collection, as the author distributes it.
2. Remove MATE Screensaver
3. Apt pin / pref so MATE Screensaver isn’t reinstalled next time you run apt, because MATE Desktop thinks it needs it
4. Autostarts XScreenSaver
5. makes a soft link so you can still lock from the “System” menu up top, and click “Lock Screen”. Now XS will do it.

This will save me HOURS over time.

Get it here: http://lostgeek.net/files/xscreensaver-mate.sh

Trimming the fat from Raspberry Pi OS Lite

Some of you may know that I host this website on a Raspberry Pi 5. I use Raspberry Pi OS Lite, which is a minimal Debian-based operating system that is lean and minimal without excluding anything that would break any features of the Pi itself. I’ve got the 4 GB model, and I don’t think I’ve ever used more than 400-500 MB of RAM during normal server operation. So why slim it down even more? Well, more software equals a larger attack surface, more potential software bugs, and so on.

In a situation where I’m never using the built-in WiFi and Bluetooth radios, there’s no benefit in having their drivers loaded into the kernel. Having unused code running can only increase the likelihood of exploitation, unexpected behavior, bugs, or other unwanted results. These devices also consume power, albeit a small amount, and probably even less when they aren’t connected to a network or device.

Now, I’ve found the drivers on the Raspberry Pi to be pretty good. Honestly, I’ve never had an issue. But since I’m literally not using any wireless on this thing—it’s connected to my network switch with less than a foot of Cat6 Ethernet cable—why bother? If nothing else, you’ll free up a few megabytes of memory. Perhaps an even more tangible benefit is having fewer items cluttering your systemd services and process lists when you check with top or htop.

After removing the following, I saw my memory usage drop to just 125 MB initially. That’s 125 MB of memory used while running Debian 12, with my Apache2 HTTP/HTTPS server and Pi-hole DNS. That’s not bad—kind of impressive, actually!

  • Stopped & Disabled:
    • Audio (via config.txt)
    • avahi-daemon
    • bluetooth
    • ModemManager
    • NetworkManager
    • triggerhappy
    • wpa_supplicant

Most of these are self-explanatory. As for the less obvious names, avahi is sort of like Apple’s Bonjour service; it’s for mDNS/local device discovery. I knew I didn’t need it, but if you’re not sure, leave it alone. Triggerhappy is a hotkey daemon, which is an easy one to disable on my totally headless system. Audio can be disabled by commenting a line in /boot/firmware/config.txt:

dtparam=audio=off`

And since I was in there anyways, I also commented a couple other lines:

camera_auto_detect=1
display_auto_detect=1

ModemManager, Bluetooth, and wpa_supplicant can just be turned off if you don’t plan on using WiFi or Bluetooth.

sudo systemctl stop ModemManager
sudo systemctl disable ModemManager

Repeat the same two commands for the other daemons.

Now, I’m not making this a full tutorial, and there are two reasons for that. For starters, I’m feeling kind of lazy, and I don’t want to have to redo everything to make sure my directions are 100% correct.

If you want to get rid of NetworkManager too, you’ll want to set up networking manually first. In my case, I edited /etc/network/interfaces and added the following:

auto eth0
iface eth0 inet static
address 10.16.17.10/23
gateway 10.16.16.1
dns-search lan
dns-nameservers 10.16.16.1

If you’re not sure, just leave NetworkManager installed. In my case, I went with a static configuration because I didn’t want to have a daemon running for the DHCP client. If your subnet mask is 255.255.255.0, you would use /24.

But the other very real reason is: If you’re not confident yet in how to disable these things, you probably shouldn’t. Do a bit more research first anyways.

When making changes to your system, have an up-to-date backup because you never know when a change could leave you with a non-booting system. Also, when changing the networking system, it should go without saying that doing so can leave you locked out of a headless system. So only proceed if you have a means of getting back in to fix it should you mess up.

This is really more of a journal of my experience setting this up, for those with some experience to get ideas from. It isn’t meant as a tutorial by any means. I just wanted to share how I got my idle RAM usage down to 3%, with my services running.

© 2025 LostGeek.NET - All Rights Reserved. Powered by ClassicPress, NGINX, Debian GNU/Linux.