Juan Castro

Why I changed to GNOME and what the hell I was thinking

Posted at — Oct 19, 2020

A little over a week ago I made a radical decision: I downloaded the newest version of Fedora 32 and installed it on my system. I left behind the suckless universe of dwm, the minimalism of Arch Linux, and the workflow based on terminal applications and automatic window layout to make way for a totally different system, bloated, and with a totally different workflow. What the hell was going through my head when I did that? Well, I have a reason. I think.

The rationale

I have noticed for some time that my Thinkpad T430 was overheating in certain situations. For example, a Zoom conference, exploring Google Earth, or certain games like Doki Doki Literature Club or CS:GO made the temperature rise to over 85°C and sometimes over 90° and even shut down due to the heat. In "normal" situations it was kept at a healthy 60°C approximately (the room temperature reaches 40°C so it's not too bad) but it only demanded a little bit, even Firefox+Spotify made the temperature rise above 70°C.

The obvious solution seemed to be to change the thermal paste and give it a clean-up, but after that the temperature situation continued. The problem is apparently one of software. And yes, most likely I caused it by editing some file related to CPU or battery use, but identifying whether that was the case or not was a daunting task that seemed easier just to try another distro.

Ok, but why that combination?

My brother happily uses GNOME 3 in Ubuntu 20.04 and it attracted me a little bit. I had never used GNOME before, I was taking it out because it is "unusable, bloated and bad". However, curiosity got the better of me, and experiencing a complete Desktop Environment after almost two years using only Tiling Window Managers attracted me quite a bit.

I chose Fedora because I don't want to use Ubuntu and because I had never used Fedora seriously before. It would be a totally new and different experience. And if I must be totally honest, the temperature thing was, in part, a pretext to live it.

The life in Fedora

Before talking about GNOME I want to dedicate a few paragraphs to Fedora. My only approach to Fedora was a few years ago, I installed it with Plasma but destroyed the system with the Global Menu and from there it got stuck every time I logged in. It was about 30 nice minutes. I also tried its flavor Sugar on a stick but I don't think it really counts.

So far I am happy with Fedora. Some time ago I understood that GNU/Linux distros are almost all the same, the only difference being the pre-installed software, the package manager and certain configurations. Fedora is no exception. Except for the fact that it uses dnf as package manager and the software selection, there are no major differences from other distros. However, I do have some points to make, some positive, some negative, about the Red Hat Community Distro.

What I liked the most

  • The Anaconda installer: Super simple, it's composed of only 4 steps, and if you leave the automatic configuration (very successful, I only had to change my zone and partitions) it becomes one step. I had a complete system installed and ready to use in less than 20 minutes, compared to the 50 or more minutes it takes to install the Arch base.

  • GNOME integration: Fedora does not incorporate any proprietary applications such as YaST, manjaro-settings, gdebi or anything similar. GNOME handles everything, and the system feels quite integrated. There is nothing, by default, that goes outside the GNOME lines or feels independent of the Desktop Environment.

  • The software selection: Quite minimalist in this respect, as it only includes a few GNOME programs, Firefox and Libre Office. What you need to start using the system and nothing else.

What I don't like so much

  • DNF: Fedora's package manager is called dnf and is SLOW. Not only because it is written in python, but the downloads are extremely slow by default, I am talking about 20 kB/s on average. I had to modify some things in the configuration so that the downloads were at an acceptable speed.

  • No multimedia codecs: I didn't think that in the middle of 2020 there would be a distribution that didn't come with the multimedia codecs pre-installed. It's not difficult or anything to add them, but you remember them the moment you need to play an mp3 and you can't.

    • Go now with GNOME

GNOME, ahh. Before installing it, I was aware of the workflow involved, no panel, minimal customization and the hatred of several of the celebrities in the Linux world. But when I started to use it I didn't find any difficulty and I started to enjoy some of its features. It's true that it doesn't have the overwhelming configuration and customization of Plasma, and the way to use it is radically different from what I've been doing for a long time, but it doesn't involve reinventing the wheel either.

His file manager, Nautilus, I find it well, somewhat limited in certain aspects, but it does its job. The huge title bars do not displease me at all because they have buttons inside making them even useful and not just decorations. Finally, I like the overview, and I even find it practical.

Of course I started to miss some things after a few minutes of using it. First, the support for tiling, and I'm afraid to say that I didn't find any extension or alternative that would satisfy me, besides manually placing windows on the edges. Second, some keyboard shortcuts I don't like, and here I found one of my first issues with GNOME: when they talk about little customization it's serious, it's very little, not being able to change some keyboard shortcuts bothered me at first. Eventually I changed them along with other things with dconf, but why are they not in sight?

I quickly found GNOME extensions, gnome-tweaks and Gnome-look and started making the desktop mine… as much as possible. I downloaded themes, edited some others, installed extensions of all kinds and established an environment where, right now, I feel more or less comfortable.

gnome.png

I must emphasize the advantage and how pleasant it is to work in a complete, integrated and modern desktop environment, instead of the modular Window Managers, composed of separate pieces. In GNOME (and in Plasma, and in XFCE, and in other Desktop Environments) it feels like each program is part of a whole and communicate with each other. Most of the applications work correctly, they are shown as they were meant to be shown, and all their features work correctly. This feeling of integration cannot always be given by a Window Manager.

The good thing about GNOME

The overall experience

I came across a good, fluid experience, which eventually ended up pleasing me. I haven't noticed any major problems such as random crashing or serious system failures.

System Integration

I have already mentioned it, but it is very nice to use such an integrated system. For example, I can access my smartphone information in the panel, receive notifications without problems, I can see them in the notification center, and I can browse my smartphone from Nautilus as if it were a USB flash drive. In dwm, to achieve something similar, it would take several scripts and the experience would be far from the same.

The bad thing about GNOME

Too complex

An API that communicates through a Framework, which writes " registers" in the system, using complicated paths like /org/gnome/mutter/keybindings/ to finally change a keyboard shortcut. Is it necessary so much complication? Isn't it better a simple and easy configuration file in $XDG_CONFIG or some other place? It turns out that GNOME is configurable and has many options to move around, but hidden behind the maze that is gsettings and dconf.

The philosophy of (some) GNOME developers and users of "you don't know what's best for you, so use the system as it comes pre-installed and don't change anything".

I have read many comments on why use the system as it comes by default to understand why GNOME 3 is the way it is and why the whole workflow makes sense. I've read other comments about how the default options are perfect and why you shouldn't modify them to suit your taste. I've even seen similar comments from extension developers who refuse to add features or modify functions, even though they are in high demand, because the "user experience" would be affected; or in other words, because they believe that the user shouldn't adapt the system to their taste, but use it to the taste of another.

I agree that giving the user total configuration freedom can end up in a complicated program that is impossible to maintain, or in a miserable experience by getting lost among a thousand trivial options. But to assume that a certain function is the best and to deliberately deny the opportunity to change it because the developer has already chosen the best for you is not the right approach to software design. But watch out, this is my opinion, and it's probably wrong.

And what they say about the environment, how true is it?

A lot is said about GNOME, that it's slow, heavy, unusable, with a silly metaphor, and that it should disappear. I'm going to take 5 of the points I see most on the Internet as criticism of GNOME and share my experience so far.

1. It consumes too many resources

Compared to the 200 MB that dwm consumes, then yes, GNOME is a monster that takes almost 700 MB of RAM at startup. But here a detail enters: dwm was not executed alone, it had to execute a group of programs like panel, notification server, compositor and other daemons, so the RAM was about 500 MB at boot, there is not so much difference anymore.

Although it is not only the boot, after a few minutes the RAM usage, when idle, is set around 1.3 GB. Unacceptable! they will say, but with my 8 GB of RAM it does not affect me much. With dwm, when working normally the RAM usage was kept around 2.5 GB, while with GNOME it is kept around 3 GB. I have not seen it go up to more than this until now while in a couple of occasions (during Zoom conferences) I did notice that with dwm the RAM was going to more than 6 GB.

Even if it would consume more RAM (and it does), I don't worry too much since I have enough resources for it. It's funny to see how people with 64 GB of RAM and 16-core CPU complain about resource consumption. But if I had, say, 4 GB of RAM, I wouldn't use GNOME at all.

2. Their desktop metaphor is unusable.

To be honest, I left the traditional desktop metaphor behind long ago with window managers. Desktop icons no longer interest me, and not having a taskbar or dock doesn't affect me, as I got used to looking for programs by typing their name or using keyboard shortcuts. What's more, I already used a top panel that only did the reporting function like the one in GNOME.

I find the novelty in the Activities button and the overview, which I found quite nice. The active corner is even comfortable for me, although I don't use the mouse much. I like the full screen menu and I used to use something similar with rofi.

While changing the metaphor doesn't affect me as it seems to with other users, the floating window system of a stacking window manager does. Used to automatic tiling, it's rare not to have my windows set up automatically.

However, some time ago I started noticing the limitations of the tiling model. Actually, it is usable with a maximum of 3 windows per virtual desktop, more become too small to say that they are actually usable, and if what I want is to have them stacked on the right side waiting to be called to action on the left side, then I have the largest dock with minimized applications in history. Another limitation is in those windows that I don't want to see, like the music player. I am forced to send them to a distant empty desktop so I can't see them, a clumsy adaptation of minimizing windows.

So, although I miss the master and stack I start to see and appreciate the floating windows, although I need to set keyboard shortcuts to accommodate them with the keyboard.

3. GNOME is not customizable

This is partly true and partly a nuisance. By default, you can only modify a few keyboard shortcuts, the wallpaper and little else. But using gnome-tweaks takes customization to a somewhat more acceptable level, allowing you to change icons, themes, and other settings that I still don't understand why GNOME doesn't incorporate them. The developers argue that it would make it more complicated to maintain the system, but I don't see how displaying the battery percentage would make it more complex than it already is.

A wide variety of configurations are also opened through gsettings and its dconf graphical interface, and again I wonder why several of these configurations, some of them basic, are not exposed to the user or are so hidden.

Despite all the inconveniences, the available customization (with gnome-tweaks and dconf) is not so bad. Yes, it doesn't have the incredibly huge Plasma 5 configuration center or its amazing extensions, but that's a good thing. I like that if I want to modify something (if it can be modified) it is clear and easy to find, and it is not hidden behind several menus and confusingly named tabs. On more than one occasion I have come across Plasma looking to change something to discover that it was in a category that has nothing to do with it. In GNOME that doesn't happen… because maybe you can't change it. As for the extensions, although they are limited in scope, they are more useful, they seek to solve specific problems rather than being " cool " and that's good, it makes your system more focused on productivity.

4. GNOME is slow and the animations are stuck

This is a statement, I think, born from the first versions of GNOME 3 where, I understand, it was slow, with stuck animations and impossible to work with.

In my current use, the environment goes like silk, and I have some humble specifications. Although with certain themes (Layan theme, for example) if I suffered some frame drops, with the Flat Remix theme I haven't had any problem. The environment goes fluid, very fast, with almost all its animations working perfectly. So, either I have very good luck, or GNOME is neither slow nor stuck as its detractors insist on saying.

5. The window decorations are huge. Oh, and Adwaita

As for its aesthetic aspect, GNOME is criticized for having HUGE window decorations. And it's true, they are giants. But they do have a function, and no, it's not to be usable on tablets; they allow buttons to be placed inside them. Instead of being just bars with the window title and close/minimize/maximize buttons, they include application-specific buttons, drop-down menus, switches, etc. so I don't see them as a waste of space but as a reimplementation that adds utility.

As for the default theme, Adwaita, I don't like it at all. I must say that it used to be ugly, huge, and remained for many years with an old-fashioned style, keeping icons and buttons with realistic textures in the era of flat design. But today Adwaita is not so bad, looking at it with good eyes it can even be beautiful, although its main objective is to be accessible. Their icons also received a redesign bringing them closer to a much more modern look. Still, it's not my favorite.

adwaita.png
By Linux Uprising. https://www.linuxuprising.com/2019/03/features-and-improvements-in-gnome-332.html

Will I come to my senses and get back on track someday?

For the moment, I doubt it. Although I would like to spend the whole day playing with different environments, window managers and applications, I need to work and have my laptop ready for when I occupy it. I'm already settling into GNOME and Fedora for now and don't want to face difficulties in my job because I'm playing. Also the overheating problem was solved and the activities that made the CPU boil at almost 90°C now are kept at, maximum, 60°C (except CS:GO that keeps overheating everything, I guess the gaming is not for me).

For that reason I doubt that it will change soon of environment or distro, unless another situation of force majeure, as it was the overheating, forces me to make it. If I do, maybe I'll go back to Arch and, depending on my experience, stay in GNOME or look for other environments like Plasma or Budgie (although the latter bores me, since it is a traditional environment). Recently I got interested in Wayfire, a quite promising window composer for Wayland with the only detail of, well, being for Wayland.

Let's wait to see how my experience with GNOME turns out, which so far is being quite positive, before thinking again about the distro hop.