Manjaro Linux 18.0.4Manjaro has truly come of age. Since its inception, the community behind Manjaro has endeavored to make an Arch-inspired Linux distribution that works out of the box, and I think they have hit a home run with the release of 18.0.4. The Manjaro hardware detection (mhwd) service is the real star of the show and gets almost any computer up and running straight from the installation.
What is Manjaro?
Manjaro is the increasingly popular Linux distribution based on Arch Linux which aims to be a free and open-source replacement for Windows or macOS. According to their website Manjaro, "Provides all the benefits of cutting-edge software combined with a focus on getting started quickly, automated tools to require less manual intervention." Let's break that down.
As written above, Manjaro is Arch Linux-based and Arch Linux means cutting edge. What Manjaro adds to that equation is stability while still being Arch based. If you take the bleeding edge that is Arch Linux and you take a small step back from that edge, you get Manjaro). Manjaro does this by having its own repositories where it tests packages for a time (about two weeks, give or take). Manjaro has a stable branch, which I tested, a testing branch, and an unstable branch. Manjaro's unstable branch, "Usually runs inside of three days behind Arch package releases & are modified as necessary to suit Manjaro using the unstable branch may consequently break your system!" Arch-based does not mean the same thing as Arch Linux.
Selection of desktop environments
Manjaro comes in four flagship editions and seven community editions. The flagship editions available are Xfce, KDE Plasma, the GNOME desktop environment, and the fourth flagship edition is Manjaro-Architect. Manjaro-Architect is is a text based net-installer which downloads the latest packages and enables the user to 100% completely customize their Manjaro experience from kernel to desktop environment. The community editions offer Manjaro in the following desktop environments (and some window managers): Cinnamon, Openbox, Awesome, Budgie, MATE, i3, and Deepin. I'm quite impressed with the selection available.
Manjaro Linux 18.0.4 -- Running the Firefox browser with Netflix (full image size: 834kB, resolution: 1920x1080 pixels)
For the purposes of this review I used the Cinnamon desktop environment, for no other reason than I happen to like Cinnamon. Yes, it is a little RAM heavy, but it is modern and easy. If you are interested in a light version of Manjaro I recommend Xfce or MATE for a fully functional desktop environment or Openbox or i3 for a super-lightweight window manager. Any Manjaro experience you choose, Manjaro promises to be Manjaro whether you are on a community edition or a flagship. Each desktop environment has its own benefits and drawbacks, and we won't go into that here.
Before you install Manjaro, the fancy boot menu allows you to select drivers for your install. If the user has NVIDIA graphics, it is generally recommended to select non-free drivers. After the boot screen, Manjaro detects your hardware and properly configures the system before booting into a live desktop environment where you can try out the system or move into the installation.
Manjaro uses the modern Calamares installer. Calamares is an independent installer framework; it is a fully functional installer and features an advanced partitioner that can do all the work for the user or allow partitioning manually. Many other distributions also use the Calamares installer and it is well documented across the Linux community. I had no issues with the Calamares installer. It was great. I did not dual boot. I installed the root (/) onto my NVMe SSD and mounted my /home filesystem onto my HDD.
Manjaro Linux 18.0.4 -- Displaying information about the system (full image size: 138kB, resolution: 1920x1080 pixels)
There are two main settings areas, the classic system settings with almost everything a user would be looking for, and then there is the Manjaro Settings Manager. The Manjaro Settings Manager is a very useful tool that enables the user to install drivers, select open source options or proprietary, auto-install drivers, and change the kernel being used. Using the auto-install proprietary drivers setting worked well with my hardware. Initially, I was using kernel 4.19.32-1, which is LTS and recommended. I was eager to see the process and update the kernel to the newest Linux kernel 5.0.5 through the Manjaro Settings Manager, but I was also terrified that this would break my system, NVIDIA, X.Org, or something along the way. To my surprise, updating the kernel worked very well and I was able to use the new kernel on my next restart. Manjaro defaults to the newest kernel installed but the user has the option of selecting kernels from the boot screen if the user wants to use a different kernel.
The ease of Manjaro is what really stood out to me throughout the entire review process.
Manjaro Linux 18.0.4 -- Installing a new kernel (full image size: 167kB, resolution: 1920x1080 pixels)
Lets take a moment to talk about laptops with NVIDIA and integrated Intel graphics processors, a set-up known as Optimus. Optimus laptops have been notoriously difficult to work with in Linux and many distributions have problems or difficulties setting up and installing on those laptops. Most notably is the black screen on boot. I had this issue years ago when I first tried Manjaro and I was sure this would happen again, but it did not. I am blown away by the good job Manjaro does in managing a computer's hardware.
Manjaro uses a tool called mhwd, or Manjaro Hardware Detection. mhwd, "Enables the automatic detection and configuration of computer hardware the system is running on," and it is run during the installation process. This tool really does a great job at installing the operating system and making sure it works with the hardware presented. On my Optimus laptop, I had no problems running programs with my NVIDIA card when I wanted to by using primusrun, a command which uses Bumblebee to, "Offload rendering to the NVIDIA GPU." To fully use the NVIDIA graphics card, however, some users may prefer to run the entire system on the NVIDIA card and disable the Intel card at times. This can be done by using the program optimus-manager and the instructions for doing this are very simple to follow on the Manjaro wiki.
Manjaro Linux 18.0.4 -- The Manjaro Settings Manager (full image size: 158kB, resolution: 1920x1080 pixels)
Typically on Linux distributions I use the terminal quite a bit, especially when installing software. Manjaro uses Pamac as its primary package manager but Arch's command line package manager - pacman - is still available. Pamac is able to build from the Arch User Repository (AUR), which gives the user an even greater selection of software to choose from. I found, however, that Pamac's graphical user interface (pamac-manager) was fast and clean. I even resorted to using Pamac in its graphical form more than using the command line. I feel like this is almost taboo for most Linux users to admit, but pamac-manager is an excellent software manager. It is easy to use, clean, and concerning users who may be coming from a different operating system, it is more familiar and less daunting than the command line.
Manjaro Linux 18.0.4 -- Downloading a collection of updates (full image size: 199kB, resolution: 1920x1080 pixels)
Manjaro (with the possible exception of the Architect edition) comes pre-installed with around 1,000 packages (at least on the Cinnamon edition, Ubuntu usually ships with more than 1,600 packages, for reference). Firefox, GIMP, Thunderbird, the LibreOffice suite, and VLC are just a few notable examples. I was very impressed with the dark theme and its usage across every program I used (the pre-installed Cinnamon theme is Adapta-Nokto-Maia). Not a single program loaded the theme wrong or in a broken state (many of Ubuntu's programs installed from the Snap store is an example of GTK themes not working).
Manjaro Linux 18.0.4 -- Available themes (full image size: 153kB, resolution: 1920x1080 pixels)
Forum / Wiki
I realize the forum and wiki aren't actually a part of a Linux distribution. That being said, the wiki helped me in every situation where I needed it and it was clearly written. Additionally, the forum is very easy to maneuver, search works well, and it is available in many languages (some are more active than others). The community behind Manjaro was a positive experience.
Manjaro Linux 18.0.4 -- Transferring files over Bluetooth (full image size: 116kB, resolution: 1920x1080 pixels)
I've always been a big fan of Ubuntu because of ease of use and it always seemed to work with my hardware, but I've always had a desire to use a rolling release and have more control over my system. Manjaro really impressed me with how well it worked on my computer, even with pretty new hardware (mhwd gets the credit here). Other things about Manjaro that seal the deal are Pamac, Manjaro Settings Manager, and the community. I don't think I can ever go back to the release model that Ubuntu uses and I will be using Manjaro as my distro of choice for the foreseeable future.
Post Script: Problems and technical considerations
The problems I had with Manjaro were very few and exceedingly easy to fix. The community and wiki were helpful in troubleshooting the problems I had. I will list the problems I had which were probably specific to my hardware:
I have a newer Lenovo computer, so I had to manually blacklist the ideapad_laptop module to use wi-fi.
The standard, non-free drivers installation was impressive, but primusrun did not enable my HDMI port. The only way I could get my HDMI port to work was when only using the NVIDIA graphics card and optimus-manager, which I prefer anyways. I wrote a simple, one line script to switch graphics using optimus-manager and connected it to a launcher on my panel:
This one line command basically states, "Hey computer, what GPU am I using? Is it the Intel integrated GPU? If that is correct, change to NVIDIA. Otherwise, change to the Intel GPU." Setting this simple script to a launcher on my panel made switching graphics as easy as clicking on the icon (I used the NVIDIA icon). When I want my battery to last, I use the Intel GPU. When I want to game, I use the NVIDIA GPU. The GPU applet indicator on the panel indicates what GPU I am using; if it is using the NVIDIA GPU it displays the temperature. Otherwise the applet does not display the temperature because the NVIDIA GPU is unreachable. Setting up optimus-manager was as easy as reading the relevant wiki page.
I was never able to get audio through HDMI to work, even with pavucontrol. Not an issue if you use speakers that are not in your monitor, but for use with a TV with integrated speakers, the sound only works through the computer or the aux port. This may be an issue specific to my hardware. I was troubleshooting this issue for approximately 15 minutes.
My computer hangs for approximately 1.5 minutes on shutdown (and during the shutdown process of reboot) nearly every time. This happened on kernels 4.19.34, 5.0.5, and 5.0.7. I was troubleshooting this issue for approximately 25 minutes before I found a fix. Running the following command fixed the shutdown hang on kernel 5.x.x.
sudo systemctl mask lvm2-monitor
According to forums this is only a temporary fix until the kernel or package/service is fixed.