vydd.space/tag/linux

Linux Rant

Sleeping with an open window feels great until your blanket slides off of you during the night. As your body apparently has no way of notifying you about that specific event, it lets you sleep until it gets freezing, and only then wakes you up. By that time your feet are cold and the throat definitely doesn't feel right. Often, you cannot get yourself back to sleep.

Most of the world is currently in self-isolation and those who can, work from home. Having that luxury, and being already awake at 5:30AM due to my blanket sliding off, I decided to start work much earlier than usual. Not only would I finish earlier, but because it was Friday, I would get an extended weekend too!

The day started amazingly well. I was working on a test case that called for copious scaffolding that I had failed to get right before, but this time I managed to solve it in half an hour. As I was getting ready to move to the next task, already fooling myself that I would finish the sprint two days earlier, I noticed something peculiar. No, not that our sprints start on Wednesday. Every minute or two, everything on the desktop would freeze, except for the cursor which I could still move. I then realized that this was also happening during testing, but that I had ignored it thinking that it had to do with the complexity of code being executed. Which was obviously a delusion.

Even though I've been using a Linux distribution on an off on my desktop for the past 20 years, I'm not great at debugging problems that inevitably arise. So, I fire up `htop` hoping it could just be that Microsoft Teams (because Microsoft, right?) is taking up too much memory, or something similarly pedestrian. Nope. The CPU is completely unutilized, and the memory is in plenty. `dmesg -w`? "Luckily", after selecting a chunk of text in PyCharm, the error presented itself:

          
            [ 6763.915519] i915 0000:00:02.0: Resetting rcs0 for hang on rcs0
          
        

>This means nothing to a normal person. By the way, only now that I'm writing this, I'm realizing that i915 is not part of the timestamp, but an important part of information that could've meant something to me. Anyhow, I paste the cryptic pronoun deficient message into DuckDuckGo, and discover that I'm not the only unlucky person struck by this bug. It's actually been going on for months, and there are even people whose cases are completely the same as mine; same computer, same development environment. What's common to all of us is that we have i915 graphics and a kernel versioned 5.3 and above. It happens to people on Ubuntu, Arch, Fedora even, even though Fedora people swear that this kind of stuff never happens on Fedora. Everyone. So, why would I be experiencing this now, and not much earlier as everyone else? Well, until the day before, I was happily running Ubuntu 19.04. It was a year old version without long term support that supported me just fine for all that time. I knew that this arrangement had to end though, because upgrade notifications had been becoming progressively more aggressive for past few months, culminating with a red warning sign in my titlebar, prompting me to upgrade NOW. Or else. I of course ignored the message, planning to upgrade to the upcoming LTS version of Ubuntu which was due soon.

Just as I thought my plan would work out fine, it didn't. I had to install a new application, but when I tried doing that, I was presented with a wall of text from which I deciphered that there were no packages for my release on the package mirror I was using. No other mirror worked, so I accepted defeat and issued a command to start the upgrade to 19.10, even though I would have to upgrade again in a few weeks.

          
            Your Ubuntu release is not supported anymore.
            For upgrade information, please visit:
            http://www.ubuntu.com/releaseendoflife

            Please install all available updates for your release before upgrading.
          
        

Great. Full disclosure, I'm not sure if this happened before I found a special mirror that works for old releases or after, but every answer to this question is bad. So, what were these updates that I needed to install before upgrading?

          
            golang-race-detector-runtime/disco 2:1.13~1longsleep1+xenial amd64 [upgradable from: 2:1.10~4ubuntu1]
            golang-race-detector-runtime/now 2:1.10~4ubuntu1 amd64 [installed,upgradable to: 2:1.13~1longsleep1+xenial]
          
        

My patience was thin, so after failing to upgrade them because of a conflict, I just deleted both. The upgrade procedure informed me of the needed time to download the files over a 56K modem, and then proceeded. During the process it made sure I was following with undivided attention by prompting me with multiple choice questions such as:

          
            Configuration file `/etc/gnome/defaults.list`
            ==> Modified (by you or by a script) since installation.
            ==> Package distributor has shipped an updated version.
            What would you like to do about it ?  Your options are:
            Y or I  : install the package maintainer's version
            N or O  : keep your currently-installed version
            D     : show the differences between the versions
            Z     : start a shell to examine the situation
          
        

Little did it know that at this point I didn't care anymore, so I just kept pressing Y. One reset later, everything seemed to work fine. But we know it didn't because 19.10 brought problems with i915. I guess it was possible to change the kernel version in 19.10, but as I don't find kernel updates or custom compilations exciting anymore, I decided to bite the bullet and upgrade to 20.04, which was technically released now, but still not offered to me without the `-d` flag, and more importantly, untested by general public.

The update went smoothly, so much that I almost started blaming myself for being so harsh - forgetting in the meantime that I had the problem for only a few minutes, while some people had to live with it for months. But then, it got stuck at boot, with three blinking dots and no real info. Initially, I hoped it was all part of the installation process, but just as theatergoers had to accept Molière's faith, I had to realize that was not the case.

I rebooted the machine and same the thing happened. Then I saw that the external monitor was plugged in, and tried booting without it. It worked, sort of. Icons in the systray were replaced with purple blocks, and the desktop on the second monitor (which I reattached after logging in) was filled with purple and green overlays. I tried restarting a few times, occasionally forgetting that booting with an external monitor plugged in is a big no-no. Nothing changed. Then it randomly occurred to me that this could be because of Xorg or because of Wayland. I selected the other one, and it worked!

Rsc0 is not being reset for hanging on rsc0 anymore, so that's good. I cannot open some applications anymore without going to Ubuntu's app store equivalent and selecting "Launch" from there. One of the big improvements is that folder icons are now redesigned to be gray with a gradient on top. Linux sucks.

UPDATE After writing this post, I started discovering more things to be mad about, so I will keep adding them to the list below:

  • Not specifically Linux related, but when responding to an HTML email using Thunderbird, its default font size setting made it look as if I was screaming.
  • I tried taking a screenshot of this, but failed. Taking screenshots of selected areas is a part of my regular workflow. However, when I try doing that now on my external monitor, the screenshot ends up with the contents of that same area on my laptop screen.
  • I found a discussion related to visual artifacts in gnome shell where I learned it was easily fixed by deleting intel's xorg driver. Artifacts are now gone, but all letters in gnome apps have been replaced with rectangles. Not sure which one I like more.

The Fall of The Screen Saver

It's almost twenty years ago now that I installed a Linux for the first time. It was the green gecko one, and it arrived in a large box straight from my uncle's office. At least a year had gone by before I was able to connect to the internet. I don't even remember what the problem was; maybe a very specific set of AT commands that needed to be sent to my ISDN modem, I don't know. No soundtrack to this story, by the way - I couldn't get audio to work either. So, what do you do with a Linux computer without internet and sound? You browse the CDs, of course! And these CDs, seven of them if memory serves me right, were packed with software and games of all kinds. One day I would pretend to know how an electric circuit worked, and the other day I was composing music. Then one day I stumbled upon XScreenSaver.

Wow. So, if you've never seen screensavers on Linux and are thinking Windows walls, pipes, or that spinning one where you can get a list of volcanos - you're in for a treat. Most of them done by a single hacker, Jamie Zawinski, they are little pieces of contemporary art that you can just stare at for minutes at a time. And that's what I did. I stared at bouncing cows, at moire patterns, at molecules! and ants marching around moebius strips. And now I'm trying to remember, when was the last time I saw a screensaver? In a supermarket maybe? Even that I can't remember. No one seems to be using screensavers any more.

It's interesting that the fall of the screensaver came with mass screen addiction we all share. Before, you could find me reading, or listening to music, or daydreaming or just being bored; crucially, completely away from the computer screen. (And you couldn't carry the screen with you, of course. It was a CRT.) So every time I got back in front of the keyboard, I saw a screensaver. And because I wasn't busy, I could wait for a bit and see what it does. That specific feeling of letting myself to be mesmerized is what I miss now. Because we're all so busy. We never lock the screen, and if we do, we make it go pitch black and corporate, and we save the battery that way. But where's fun in that?