My Arch Linux experience
Back to Computers and Technology#1 cyrmax
Hi there!
Recently I have decided to challenge myself: can I switch to Arch Linux and use it as a complete desktop OS.
In this topic I will share my good and bad experience and will try to answer your questions. But beware that I am newbie and sometimes I don't know some things.
Here is the description of what I want to achieve (Note that this is an ideal situation and I hope it is realistic, but the goal is to actually check):
1. Arch Linux should be the only operating system installed physically (not including virtual machines);
2. Windows can be installed as a virtual machine but used as rarely as it possible;
3. Using Wine and wine-related projects is not considered cheating because works without virtual machine;
4. The following programs and program suites should be used without a virtual machine aka natively:
4.1. Office programs, especially some software to write, read and edit (including advanced formatting) of doc/docx documents and excel sheets;
4.2. Browsing the internet (including browser games, social media, youtube and other websites);
4.3. Software for communication, in my case Teamtalk5, Discord, Zoom, Google Meet, VK Calls and Jitsi meet;
4.4. Software for playing audio and video, in my case something like VLC, FooBar2000 or similar;
4.5. As much audio games as it is possible without a windows virtual machine, including bgt games and some audio games from steam;
4.6. Software needed for development, in my case VSCode and soft for Go, Python and probably Rust development;
5. Other software can be run in windows virtual machine without rebooting the computer. If something is run inside the virtual machine it should be as much close to the real system as possible. For example Reaper should have minimal audio delay and midi keyboard should be connected to virtual machine directly to minimize any lag.
If you have your own thoughts then welcome and share them with us.
But please please please!
If you hate Linux, if you came just to tell that linux is a bullshit, then please stay silent and go away.
I also have my own big pain about setting up Linux and I will tell about it, but not for shaming Linux or to just express my rage. I will share all bad things for others to decide and consider.
#2 cyrmax
Installation.
I wanted to use archinstall script to ease the installation process.
But archinstall misbehaved several times, destroying my configuration for which I have spent more than 30 minutes and so I have decided to not use it and install everything manually.
Archinstall even couldn't read its own config backup which I have saved before trying to install the system with it.
So I have followed the official arch wiki installation guide along with arch wiki accessibility installation guide and it worked just fine for me.
I will not describe the full installation process because it is already done on wiki.
Instead I will write down some important packages which you will likely need in your new system, at least to solve common problems, read manuals, etc.
This list does not include packages related to desktop environment. I will tell about GUI setup in next post.
Also, this list is very very opinionated, at least I need these packages or I personally consider them usefull.
If you re installing to laptop with wi-fi and/or bluetooth, you probably will need more packages to deal with wireless connections.
These packages are covered in installation guide and you can decide if you need them or not.
So, besides of base, linux, linux-firmware and amd-ucode or intel-ucode packages which you will probably install with pacstrap, you likely will need these ones:
alsa-utils
binutils
curl
diffutils
efibootmgr
efivar
espeak-ng
espeakup
ethtool
file
findutils
gnu-netcat
gnupg
gptfdisk
grep
iputils
lsb-release
lynx
man-db
man-pages
nano
neovim
networkmanager
openssh
parted
psmisc
pv
readline
reflector
screen
sed
sudo
testdisk
texinfo
usbutils
xz
zstd
After installing these packages do not forget to turn on some usefull services.
In my case I needed espeakup.service and NetworkManager.service.
Also for dns names resolution you will need systemd-resolved.service.
Again, if you are on laptop with wi-fi powers probably you will have to enable some more services, for example bluetooth.
#3 cyrmax
Desktop Environment.
I have chosen Mate desktop environment because it is known to be good in terms of accessibility and because I already used it a few years ago.
Also Gnome desktop, XFCE and KDE are known to be accessible, though have some accessibility problems.
I would recommend Mate for beginners.
To install Mate Desktop I have installed the following:
xorg
xorg-server
mate
mate-extra
mate-terminal
pipewire
pipewire-pulse
pipewire-alsa
pipewire-jack
speech-dispatcher
orca
lightdm
lightdm-gtk-greeter
After that we need to enable the lightdm service with systemctl enable lightdm.
And finally patch the /etc/lightdm/lightdm-gtk-greeter.conf file by adding at the end
[greeter]
reader = orca --replace
a11y-states = +reader
Without that lines you will not get orca speaking on login screen.
#4 zywek
mate-terminal is already added to the installation queue from mate-extra group.
#5 cyrmax
@zywek
Good to know that!
A bit less letters to type.
#6 cyrmax
Sound.
We have been using pulseaudio for long long period, but now developers offer a new better solution called pipewire.
It is aimed to combine audio and video processing in a single stack, replace pulseaudio and Jack with fully compatible API and offer faster signal processing without breaking all your apps.
So I have decided to try it, because lots of people recommend it as something faster and more stable in many situations.
I've already mentioned pipewire packages in desktop environment section (post number 3) but as I have encountered serious problems and found a solution I want to share my experience.
Every day I have to make my self realize that Arch Linux is a kind of Lego without any ready to use parts.
The audio stack is not an exception.
I have installed pipewire, pipewire-alsa, pipewire-pulse, pipewire-jack and was happy until my USB wireless headset started to disconnect and glitch randomly.
It was a great journey via frustration, rage, crying and shouting at my computer, writing rage posts on forums, reading reading and reading again.
But finally the fix was simple, and I share it here with you.
Most problems are either so usual that can be solved by exactly following arch wiki troubleshooting section on pipewire page (just copy and paste), or by installing two very small but usefull packages: alsa-firmware and sof-firmware.
Which of them fixed the issue in my case? No ideas. But after installing them and rebooting all audio problems seems to be gone.
Also in some cases the fastest fix is to restart audio stack, exactly pipewire pipewire-pulse and wireplumber user services.
Another fast and known to work fix is to delete the entire ~/.local/state/wireplumber directory and either reboot or better just restart the audio stack.
All other typical issues and their solutions are described on the pipewire arch wiki page.
Btw, almost all fixes which work for Discord and Skype also work for Teamtalk.
#7 zywek
Unfortunatley pipewire does not provide a way to increase internal speakers latency t have synchronous sound with the bluetooth speaker. Someone recommends use pavucontrol to do it, but it only works with pulse. So if You wanna have synchronous sound on jack connected speakers and another bluetooth speaker in e.g. another room, You should unfortunately use Pulse instead.
#8 cyrmax
Steam.
Today I have installed Steam and tried to use it because I have some steam games which are known to run in Linux natively.
And the only thing I can say is that Steam is not accessible.
Totally, nothing, neither in standard mode, nor in Big Picture mode.
I have managed to sign in using ocrdesktop but using Steam with very slow and a little laggy ocrdesktop is a great pain.
You can if you wish, but it is not about comfort, it is only about pain and suffering.
Maybe someone can share some hacks to get it work but I didn't find any solution.
#9 cyrmax
Discord.
Discord works just fine.
Some users report that screen sharing doesn't work or works without any sound, but I have not yet tested it.
Usual text and voice chats work fine and you get exactly the same web-like interface as it is on Windows Discord client.
The one problem is that Discord tries to re-initialize sound devices frequently and so you need to apply common fixes from troubleshooting section of pipewire or pulseaudio arch wiki page.
#10 cyrmax
Spotify.
Spotify works just well like Discord.
The one problem is that for me all keyboard shortcuts with ctrl key don't work. For example previous and next track with ctrl plus left and right arrows and volume control with ctrl plus up and down arrows.
This is not a problem of Orca, because if I boot entirely without Orca I get the same experience.
How to fix? I have no ideas.
Besides this problem everything works just well, thanks to universal electron applications.
#11 destructatron
Does your keyboard have media keys? Spotify integrates with thos just fine.
#12 cyrmax
@destructatron
Yep, I have media keys and yes, I can switch tracks and play/pause with them.
But of course volume keys change the system volume and not only spotify volume and that is the biggest problem.