Installing Linux

The Reason

My windows desktop has been acting up recently. Applications were slow to open, slow to close. Even opening the start menu was sluggish. Any sort of context switching introduced a random delay of zero to ten seconds. But the task manager revealed no problems. This is a machine with 32 gigs of fast ram, an NVME hard drive, a 16-core ryzen 7 2700, and a 3090ti graphics card. Nothing here ought to be sluggish. I ran memtests, benchmarked the hard drives, looked through event logs - nothing. I figured some piece of software I had installed along the way might be using up all of my system resources, but even after killing everything at the task manager it was still frustratingly slow. My best guess is that some sort of filesystem indexing process was locking things up. If that’s the case, it’s not my problem to solve.

So I decided to give linux a try. Specifically Fedora 37, at the recommendation of a coworker. Now, I’ve tried linux several times over the years. The first time was during middle school, at a sleepover, using a guide that we had printed out on a dot matrix printer. I don’t recall the reason why we attempted this (to be like hackers! on usenet!), but we did and it didn’t go well. Since that time I’ve been on an exponential backoff. Each time I give up on it, I double the amount of time before I give it another chance.

Today was that other chance.

Install and First Impressions

So this was easy enough. Fedora has a boot drive creator utility and I fired it up and formatted a USB stick with the latest Workstation ISO. To simplify things for myself I picked up a larger NVME drive and replaced the hardware in my machine. This way, I can always just swap out the drive to switch back. At any rate, booted onto the stick and clicked a couple of icons to get fedora installed onto the new drive.

The first thing I noticed was that the screen was flickering. Was this an nvidia problem? (spoiler alert: yes) The next thing I noticed was that everything else seemed to have worked just fine. Initial impression was pretty good. My wireless keyboard and mouse were both detected (logitech, using the lightspeed usb dongles). It picked up all the local networks and signed me in easily. It rebooted fast, and got back into the window manager with no fuss. All good things! But the screen was still flickering.

The trouble: Installing Nvidia Drivers

Not gonna lie, this was a pain in the ass. The internet tells me I have two choices. First option is to install some unofficial RPM mirror and run an installer. This probably would have been easier, but I didn’t know what RPMFusion is or if I could trust it. Internet research is a lot harder with a flickering screen, anyways. The next option was to do it myself at the command line. In short, I had to:

  1. download the nvidia driver from their website
  2. disable the graphical experience
  3. create a modprobe.d configuration to disable the default nouveau driver
  4. replace my grub2 configuration to extra-disable the default driver
  5. install dev tools and kernel header files - kernel headers specific to my kernel version
  6. run the nvidia driver installer
  7. re-enable the graphical experience

Typed out it doesnt seem like much, but it was a decent amount of trial and error, even with a helpful guide.

sudo dnf groupinstall "Development Tools"
dnf install kernel-devel kernel-headers
dnf install kernel-devel-$(uname -r)

rm /etc/systemd/system/default.target 
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

echo 'blacklist nouveau' >> /etc/modprobe.d/disable-nouveau.conf
echo 'nouveau modeset=0' >> /etc/modprobe.d/disable-nouveau.conf 

# Add this to /etc/default/grub
# GRUB_CMDLINE_LINUX="rd.driver.blacklist=nouveau rhgb quiet"
grub2-mkconfig > /boot/grub2/grub.cfg

# then reboot

./NVIDIA-Linux-x86_64-515.76.run --kernel-source-path /usr/src/kernels/$(uname -r)

rm /etc/systemd/system/default.target 
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

# then reboot again

Okay, Ninux and Nvidia have a complicated relationship, and I have a bunch of skills that I decided to flex instead of installing the driver from RPM.

What else?

After getting the driver installed, this is pretty nice!

Some next impressions:

The positive

  • Sounds work! h264 video works with the included media player! It was easy to install that extension.
  • It detected my printer and that works as well as on Windows and OSX. In 2022, printers are easy!
  • It was easy to increase the keyboard repeat rate. And it lets you set it to an impractically fast setting, which is nice.
  • I like that podman and git are installed by default.
  • Dolphin seems like a great replacement for the default file explorer.
  • The screenshot tool is really cool.
  • it wakes from sleep just fine.

The negative

  • The default file explorer isn’t for me.
  • Fonts don’t really look as good on this OS as they do on a mac. Reading into it and there is a lot of hair-splitting on the internet. Not going to invest in this, because the fonts do look at least as good as on Windows.
  • My other disks don’t mount by default for some reason and I’ll need to figure that out
  • Setting an alternative file explorer promises to be annoying
  • The apps aren’t always perfect. Discord doesn’t have an installer, and firefox has some issue where it hangs when i resize windows.
  • Photoshop & Excel 😭

In Summary,

Thinking about it as a user, it’s good enough to give a try for a while. That’s new for me as far as desktop linux is concerned. Previously the little issues here and there were enough to turn me off of it. While it still requires a little bit of effort and perhaps a little too much custom tuning in the terminal, the overall experience is pretty great.

6/10 for the whole experience.

9/10 for the experience once i got graphics working.


Problematics

After swapping the native file explorer for dolphin, chrome can’t launch a window. Apparently this is a dbus thing. Disabling dbus causes chrome to hang. No solution other than to launch a dolphin explorere on boot.

After upgrading to a new kernel patch release, the nvidia drivers need to be rebuilt. https://ask.fedoraproject.org/t/stuck-in-boot-screen-after-clean-install-of-fedora-34/14136

# first disable the gui and drivers and boot into the command line
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
grub2-mkconfig > /boot/grub2/grub.cfg
sed -i 's/rd.driver.blacklist=nouveau/nomodeset/g' /etc/default/grub
reboot now

# next get updated kernel headers installed and run the interactive driver installer
dnf install kernel-headers-$(uname -r)
./NVIDIA-Linux-x86_64-515.76.run --kernel-source-path /usr/src/kernels/$(uname -r)

# once that's done, re-enable drivers and gui
sed -i 's/nomodeset/rd.driver.blacklist=nouveau/g' /etc/default/grub
grub2-mkconfig > /boot/grub2/grub.cfg
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target