Skip to content

Endeavour OS

Intro

Starting in early June of 2023, I began to experiment with Endeavour OS, a flavor of Arch Linux. Right off the bat, my first impression of this OS was that it looked quite cool. Its default desktop theme focuses on dark space colors- which throws off a pretty cool vibe, especially when working at night in the dark. (An aside: a new colleague, on hearing my praises of dark themes for working at night, remarked incredulously, 'You work at night?'. I was too shocked to reply. I mean- don't y'all?)

However, there have been many unpleasant bugs with the default install. Below are the problems I encountered with the initial install.

Wifi

The first problem right out of the install was a non-functioninig wifi. It seems that all Linux distributions do not have functioning wifi by default. This is quite exceptional. Shocking. This is the year 2023 and Linux OSes still do not have wifis working right after installation!

Literally Linux users are expected to install wifi adapter drivers to get their wifis to work. In addition, there is a chicken-and-egg problem. There is no way to get the driver files for either your wifi card or usb without internet connectivity. But for machines stationed far away from the router, this is quite a problem.

After hefting the machine next to the router, some online forum postings advised to download and install the correct wifi driver for my adapter. To find the proper driver required, use the lsusb command. And then use the EndeavourOS package manager tool yay to download and install that driver.

A quick look with lsusb shows:

lsusb

Bus 001 Device 003: ID 0bda:8813 Realtek Semiconductor Corp. RTL8814AU 802.11a/b/g/n/ac Wireless Adapter

This identified the usb adapter chipset as RTL8814AU. A follow-up query with yay shows the name of the driver to install.

yay rtl8814au

1 aur/rtl8814au-dkms-git 5.8.5.1.r149.g752d8ea-1 (+23 0.87) (Installed: 5.8.5.1.r162.g0e4c2bf-1)
RTL8814AU and RTL8813AU chipset driver with firmware v5.8.5.1

Following the instructions installed the driver and ... success!. Got wifi. This circuitous route to obtain wifi was ridiculous- given that it's 2023- when this feature should have been working just 'right-out-of-the-box'.

Sound

The second annoying problem with EndeavourOS was that no sound came out of the headset audio jack. A google revealed a suggestion to update the file /etc/modprobe.d/alsa.conf with the following contents:

/etc/modprobe.d/alsa.conf

options snd-hda-intel model=headset-mode

With the line inserted into the file, a reboot fixed the sound problem. This was both great and not so great. Why there was a sound problem to begin with and why did that update fixed the problem? This really should not have happened.

Bluetooth

Next I wanted to connect my wireless keyboard to the PC via bluetooth. However, starting Bluetooth manager immediately failed. The error message showed:

Connecting to BlueZ Failed
BlueZ daemon is not running, Blueman-manager cannot continue.

That was a mystery. Another google search advised to start the OS' bluetooth service via the following:

sudo systemctl enable bluetooth.service
sudo systemctl start bluetooth.service

After that, EndeavourOS' bluetooth manager worked. That was just plain annoying. Why wasn't bluetooth working out of the box - just didn't make any sense.

Display

My particular home workstation has two displays, a primary widescreen and a smaller secondary rotated as a vertical e-reader/web browser. This took some setup in the display manager to save this partciular configuration. However, with each reboot, the OS lost my display configuration and I'd had to redo the same configuration.

A quick google showed that the tool xrandr sets up configuration commands for the displays. The command arandr starts up a graphical tool for configuring displays.

In the end, I used arandr to generate a xrandr command for my display setup which I then put into my bash startup script- to ensure the OS correctly configures the displays on each reboot.

The xrandr command generated by arandr looks somewhat like this:

xrandr --output VGA-1 --mode 1280x1024 -pos 2560x0 --rotate left...

Edit- 202405

Troubling. Over the past few months, I became increasingly annoyed as it became clear that the dual monitor screen resolution problem only fixed itself if I open an xterm, which triggered the bashrc startup script.

To fix this, I needed a way to run the xrandr command upon login. I used neofetch to check the window manager I was using- which was xfce. Then I checked Xfce's documentation on [how to startup a command upon login] (https://wiki.archlinux.org/title/Xfce#Autostart)- I added a xrandr.sh script containing the xrandr configuration command- and the following the instructions added the script to Xfce's startup. And it worked!

Screen freeze

After another day or two, I started to notice yet another problem with EndeavourOS. Whenever it went into sleep mode, it was impossible to get out of sleep mode without hard-rebooting the machine. The screen was frozen.

Another query to Dr Google returned with the advice that I should turn off sleep mode and screen savers. This worked. Again, while this quick remedy prevented the screen freezing up, why this should have failed in the first place was the real problem.

Yay failure

Next, I tried to install pandoc, but the installation failed with a download timeout of the package, hslua-cli. All previous installations made using yay and pacman succeeded previously, so what was wrong this time?

An online post suggested to use pacman with the options -Syu like so:

sudo pacman -Syu hslua-cli

This worked! Option S forces pacman to update its repository mirrors to the latest working sources. Option y downloads a copy of the master package database from the servers listed in pacman.conf. And Option u removes unneeded packages.

Unfortunately, once I ran pandoc, it reported the library ibHSsafe-0.3.19-2aVM1fCfxX88jnlVeNbd8Q-ghc9.0.2.so was missing. I found this library was in the package haskell-safe. Why wasn't this installed along with pandoc if it's a dependency? I manually installed this package via yay:

yay haskell-safe

Retrying pandoc again, I next hit yet another error: pdfengine not installed. That's odd. Didn't that come along with installing pandoc? I found an online comment to install texlive. Using yay, I installed texdlive-bin, texlive-core, and other texlive auxilary packages.

Finally, after all these installs were done, I was able to convert a markdown file to pdf.

Summary

All in all, while EndeavourOS does have its rough edges, its package manager yay and its set of cool desktop themes makes working with it a quiet joy.

2023-06