I had been working with a customized version of Windows, created by a Cuban developer who has been remarkably consistent in producing these kinds of builds. The stated goal is admirable—improving performance by removing "unnecessary" components, although very tied to gaming—but, in practice, the result for me was a rather unstable or, more accurately, ineffective operating system.
Whenever the system connected to the Internet, it appeared to generate a considerable amount of background traffic, placing a heavy burden on both the CPU and RAM. I mitigated much of this by enforcing very strict outbound rules in Windows Defender, but it became clear that the system was still running numerous background processes. The result was frustrating sluggishness, constant warnings that applications or windows had stopped responding, and, eventually, complete system freezes. If I simply waited for Windows to recover, the process could take an eternity.
All of this was closely tied to my modest hardware: a 2019 Haitech laptop assembled in Cuba under the GDM brand, equipped with only 4 GB of RAM, a mechanical hard drive of just under 500 GB, and an AMD Ryzen 3 2300U quad-core processor with Radeon Vega Mobile Graphics. As soon as I got this laptop, my first thought was to install Linux. However, my initial attempts were unsuccessful because of both performance issues and hardware incompatibilities. Since I was racing to finish my doctoral dissertation, I eventually accepted the recommendation of a coworker of my wife's, who installed Windows MiniOS for me.
Despite all the headaches I mentioned above, that was the operating system on which I ultimately completed my dissertation in LibreOffice. Last week, however, while preparing a Linux Mint Live USB to recover a professor friend's hard drive, I felt the urge to give Linux another try. Among the many available distributions, I chose MX Linux with the XFCE desktop environment because I was looking for something lightweight that would suit my hardware. It was also a completely new GNU/Linux distribution for me.
What made the decision even easier is that MX Linux is based on Debian, which brings back good memories. Debian was the very first GNU/Linux distribution I used after enrolling in the Free Software Faculty at the University of Informatics Sciences almost twenty years ago. As I mentioned in a recent post, I have remained committed to the free software movement ever since. I eventually moved from Debian to Ubuntu and later Lubuntu. I also made occasional installations of Nova, the Cuban GNU/Linux distribution developed at my own university by several friends. Sadly, that project now seems to have been largely abandoned.
With that context in mind, here are my first impressions of installing MX Linux.
MX Linux allows you to choose between systemd and sysvinit as the init system. Since my main priority was minimizing resource consumption during boot and while the system is idle—and, again as a reason, because I had never used it before—I chose sysvinit. The only noteworthy limitation I found concerns Docker. Certain workloads may require some manual configuration, but nothing that appears particularly difficult to overcome.
I had no intention of creating a dual-boot system. My goal was to remove Windows entirely while preserving the NTFS data partition with my data. MX Linux includes a partition editor, but it does not support incremental modifications. Instead, it requires using GParted as a standalone application to perform all partition creation and deletion operations. In my case, I deleted the Windows system partition along with the Microsoft Reserved Partition (MSR), then created a new ext4 root partition and a dedicated disk swap partition in the new available space.
For years I have considered having a separate /home partition a best practice. However, after reading a bit more on the subject, I concluded that, for my particular use case this time, it was unnecessary. To improve memory management, I also enabled zram. This allows the kernel to prioritize compressed swap in RAM—which is significantly faster—and only resort to disk swap when memory pressure becomes genuinely high.
It is still early to draw definitive conclusions, but after three days of work and system configuration, I can already say that the difference has been dramatic—like going from night to day. There are already plenty of encouraging signs. The laptop has not frozen a single time under MX Linux. Even something as simple as playing a 1080p video in VLC illustrates the improvement: files that previously failed to play correctly under Windows MiniOS now run smoothly. In other words, the performance gain is not merely subjective.
In future posts, I plan to document the setup of my development environment—including Python and Node.js—as well as any additional findings regarding MX Linux's performance on low-end hardware.
Source for the GPT-generated cover image.