My Journey Through Linux: Discovering the Best Distro

I started using Linux about 30 years ago with Slackware, back when the graphical interface was optional and still called XFree86. Those early days involved manually installing everything and often compiling the kernel to make components like the mouse or audio work properly. A friend of mine gifted me a book, Linux secrets, which helped me to start. The experience was challenging but immensely rewarding, showcasing the raw power of Linux.

After Slackware, I transitioned to Debian and immediately appreciated the simplicity and power of APT. The package management system was a game-changer, as no compilation was required for needed packages, and dependencies were managed internally. Despite this, the end-user experience was still very challenging, requiring a lot of technical knowledge to have a working workstation. When Ubuntu was released, promising a more user-friendly experience but still based on the solid foundation of Debian, I switched to it and also helped friends and family give it a go. Ubuntu promised a smooth out-of-the-box experience for all PC users, which was a significant step forward. However, even with Ubuntu, there was always something not quite right at the desktop level, often due to drivers or firmware issues, especially on laptops.

When I had the opportunity and the budget, at least for a pre-owned one, I moved to a MacBook. The out-of-the-box functionality, high performance, and stability of macOS were a breath of fresh air. As a web developer mainly using the LAMP stack and Magento, this setup was great. Tools like MAMP and Homebrew worked well until I started using Docker. Docker quickly became my go-to tool for handling different development environments. However, on Mac, Docker had lots of performance and synchronization issues since it does not run natively. Despite improvements over time, Docker on Mac still couldn't match the performance of Linux.

For light frameworks like Laravel, Docker on Mac was okay, but with Magento, it was problematic, especially when using PHPStorm, which has to handle thousands of files. Magento development is heavy, particularly in developer mode, which is slower than production mode because it has to compile files in real-time. Frequent cache clearing and reindexing are common, and adding Xdebug overhead when debugging makes a fast machine highly recommended.

Given these challenges, I wanted to switch back to Linux after more than 10 years. I did so a couple of years ago on a company-provided Dell XPS 9520. Unfortunately, my experience was not issue-free. Despite Dell's strong support for Linux, there were hardware compatibility problems. The first issue was with the dual video cards (NVIDIA and Intel). The open-source NVIDIA drivers caused the laptop to freeze after a few minutes, even in the live instance. This was on Ubuntu 22.04 LTS, a popular choice for many. To mitigate this, I had to disable the open-source driver and install the proprietary one immediately after installation.

While this setup was stable for a while, subsequent updates re-enabled the problematic open-source driver, leading to more freezes. This frequent breakage made me dislike Ubuntu's LTS model, which pushes numerous updates in an attempt to stabilize the system, similar to Windows. In contrast, I prefer Debian's approach: releasing a stable version when it's truly stable, with minimal updates needed afterward.

After several freezes in a single day, I decided to try Windows 11 with WSL2. Windows 11 was smooth, and WSL2 was impressive, integrating Linux into Windows. However, WSL2 had significant file sync performance issues. Using PHPStorm and Magento was painfully slow, with code changes not being synchronized correctly, causing the server to use outdated files.

Due to company policies, I couldn't change the laptop model, so I needed a different solution. I tried Fedora, but it also froze shortly after booting. Pop!_OS, known for better NVIDIA support, was a better option, offering a working desktop out of the box. However, I still experienced freezing issues related to the GNOME shell and sudden battery failures.

Another widespread issue with Linux distributions, especially with NVIDIA, is X.org. Multiple display setups often have issues, one reason many distros now default to Wayland. However, with NVIDIA, Wayland requires tweaks to work properly. Since I didn't need a powerful GPU, I disabled NVIDIA and enabled Wayland, significantly improving display issues.

Despite these adjustments, my Dell laptop still had an intermittent touchpad lag, a problem affecting all tested distros. With no clear fix, the best workaround was using a mouse.

Finally, I returned to my old favorite: Debian (bookworm - 12). The inclusion of non-free repositories by default and the familiarity of APT made it a solid choice. Debian has become much more user-friendly over the years, maintaining its reputation for stability. The installation was smooth, and the desktop environment was clean and unmodified. Updates are infrequent and small, reducing the risk of system breakages.

Although I still faced random GNOME shell crashes and the persistent touchpad issue, I wanted to try something different. Fascinated by Arch but not wanting to start building a distro from scratch, I opted for Manjaro, which offers a rolling release model based on Arch. The latest stable packages provided excellent performance, new features, and bug fixes. However, frequent updates could potentially break the system. The most annoying problem I had was the GNOME shell crashing usually during standby, which forced me to restart my work often after going for a quick break. Thinking this could be due to the GNOME version 45 and its incompatibility with some extensions, I went back to Debian where I did not have such frequent issues using the older but more stable GNOME 43.

After extensive troubleshooting, I also discovered that my less often freezing issues were also related to an Intel GPU bug. Adding a parameter to GRUB finally gave me a crash-free laptop. I also had to tweak a couple of bluetooth settings for a better mouse experience. The only remaining issue is the touchpad lag, which persists across all tested distros and, at the time of writing, does not yet have a solution.

In conclusion, after my extensive journey through various Linux distributions, I've settled on Debian as the best Linux distro for my needs. Its stability, minimal updates, and clean desktop environment make it a reliable choice for my development work. While no distro is perfect, Debian comes closest to providing the seamless experience I need for my workflow. I wish to thank all the Linux community and hopefully, one day, not so far off, there will finally be the perfect distro for all needs and free from all glitches.