lp0 on fire

My personal blog

OS: Small review

I've ran Ubuntu 22.04 (with my own tweaks) as my main operating system for the past months, but ended going back to windows 10 LTSC2021 because one of my favorite video games (Genshin Impact) couldn't run on my system. Both have advantages and shortcomings, so today I'll discuss how I use my computer for a bit.

What do I do?

My laptop is basically what for many people a smartphone is these days; I take it everywhere, I do pretty much everything except calls on it. I like to play AAA games from 2016 and before, as well as lighter indie games released today. I type a lot on it, and do a lot of programming on it as well (C, C#).Heavier workloads includes compiling C++ projects, running Escape From Tarkov with abyssmal quality, Genshin Impact and having many tabs open.

My system specs aren't great but neither poor:

  • AMD Ryzen 5 5500U
  • 2x4GB 3200MHz RAM
  • 512GB NVME

Ubuntu 22.04

Compared to the previous versions I've used (14.04, 16.04) it was a real blast to use. However, it's performance and stability didn't live up to 20.04's standards. They also completely removed the mini-iso, so I had to write my own script to strip Ubuntu to the bare-minimum required:

#!/bin/bash
# run this as root

# update ppa cache
apt update

# remove snap and software using it
snap remove firefox gtk-common-themes snap-store snap-desktop-integration \
gnome-3-38-2004 core20 bare snapd
apt purge -y snapd
rm -rf /snap /var/snap /var/lib/snapd ~/snap

# remove apt software
apt purge -y ubuntu-desktop ubuntu-desktop-minimal vim-common update-notifier \
evince yelp gedit totem eog thunderbird libreoffice-common \
libreoffice-style-colibre  gnome-startup-applications network-manager-gnome \
whoopsie apport rygel gnome-online-accounts xdg-desktop-portal \
network-manager-openvpn network-manager-pptp mobile-broadband-provider-info \
ppp cups-common cups-pk-helper gnome-control-center-faces libcanberra-pulse \
orca gnome-accessibility-themes gnome-remote-desktop plymouth ibus \
ubuntu-release-upgrader-core nautilus-sendto nautilus-extension-gnome-terminal

# remove fonts
apt purge -y fonts-indic fonts-liberation fonts-liberation2 fonts-noto-mono \
fonts-droid-fallback fonts-urw-base35 fonts-freefont-ttf

# reinstall important stuff
apt install -y --no-install-recommends linux-sound-base acpi-support \
gnome-session gdm3 gnome-shell-extension-prefs gnome-terminal \
gnome-system-monitor gnome-bluetooth gnome-software nautilus ubuntu-settings

# reinstall yaru theme
apt install -y --no-install-recommends yaru-theme-gnome-shell yaru-theme-gtk \
yaru-theme-sound yaru-theme-icon ubuntu-sounds fonts-ubuntu fonts-ubuntu-console
gsettings set org.gnome.desktop.interface cursor-theme 'Yaru'

# remove remains
apt autoremove -y --purge

# update all packages
apt dist-upgrade -y

# remove unused icons
rm /usr/share/applications/software-properties-drivers.desktop
rm /usr/share/applications/gnome-language-selector.desktop

# disable autostart
rm /etc/xdg/autostart/gnome-software-service.desktop

This results in an ubuntu installation with pretty much everything stripped with the exception of the GNOME 42 desktop environment. In this configuration, Ubuntu 22.04 uses ~900MB RAM (no user applications running) instead of 1.5GB. For most modern systems with 16GB RAM or more, it doesn't matter unless you're running intensive games as well. For my 8GB RAM device it made a huge difference in how usable it was however.

Most of the applications I use I install as flatpak:

# apt
apt install -y --no-install-recommends gnome-tweaks
apt install -y --no-install-recommends gnome-software-plugin-flatpak
apt install -y --no-install-recommends xdg-desktop-portal-gtk
apt install -y --no-install-recommends xdg-desktop-portal-gnome
 
# flathub
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
flatpak update --appstream
flatpak install -y flathub com.github.tchx84.Flatseal
flatpak install -y flathub com.mattjakeman.ExtensionManager
flatpak install -y flathub org.gnome.FileRoller
flatpak install -y flathub org.gnome.Epiphany
flatpak install -y flathub org.gnome.TextEditor
flatpak install -y flathub org.gnome.eog
flatpak install -y flathub io.github.celluloid_player.Celluloid
flatpak install -y flathub com.discordapp.Discord
flatpak install -y flathub com.wps.Office
flatpak install -y flathub com.valvesoftware.Steam
flatpak install -y flathub com.github.Matoking.protontricks

The performance is akin to the apt distributed versions, increase in RAM usage isn't very noticable. This setup does ensure that I always get the latest versions of applications where it matters. Even if flatpaks and such take a lot more space due to runtimes compared to apt, the whole installation is only 11GB in size.

The GNOME desktop itself is really sweet to use, especially customizable with the styling consistency that I expect from a macbook machine. Sure its not the most feature rich, but I got my trusty tty3 / gnome terminal for those tasks.

The terminals for linux make it easy enough for me to pretty much live in them when I'm programming. It's faster to cd, ls mkdir and rm than having to use my mouse for those tasks. When programming, I love to use the nano editor since it got no frills nor distractions.

Running windows software is... as probably anyone would suspect, a pain for "niece" games like Genshin Impact that do not run through Steam's proton and include intrusive anti-cheat. While I often make a concious decision to not play or buy those games, life to me is too short to live and die by this rule.

While I'm sure that Genshin Impact and Escape From Tarkov can be made to work with Ubuntu 22.04, I have too little time to waste on these endeavours. And thus, I moved back to windows.

Windows 10 Enterprise LTSC 2021

Of course, I'm not going to the standard version of windows. The LTSC version gives me all the control of the enterprise variants, minus all the bloat from standard windows. After updating and cleaning up the mess windows leaves behind from doing so, it is 20GB in size and uses 2GB with no applications running. This is more than twice as large as my stripped Ubuntu 22.04 build, and I did indeed notice this.

My biggest gripe with Windows 10 is the telemetry, but luckily it can disabled by using a piece of software called WPD (Windows Privacy Dashboard). Blocking windows update is another nice bonus, but it doesn't bother me as much since LTSC provides many facilities to make it bearable.

Since epiphany is not available as browser on windows, firefox doesn't run that great for me and I really don't feel like installing chrome, I ended up giving microsoft edge a test drive. It suprised me as it exceeded all my expectations. The telemetry and such all goes through window's telemetry system so all of that gets blocked by WPD thanks to group policy support in LTSC.

The new tab page bothered me so I changed it to chrome-search://local-ntp/local-ntp.html using an extension called tab redirect. I also use ublock origin with all filters enabled and more to reduce bandwith used, and I block pretty much everything in the browser. Everything I don't need gets didged on closing the browser. After messing with the settings tab, RAM usage is very low; 210MB for a youtube video (compared to 350MB on epiphany). It loads all my websites just fine.

Setting up my programming environment was a bit rough. I had to use msys2 to get my toolchain for C++ to work nicely since I don't want to use visual studio 2022. It still sucks that there is no text editor with less frills (no, notepad++ doesn't count) but I can make do.

Of couse, Genshin Impact and Escape From Tarkov are playable on windows and gaming is still as amazing as ever. Also much less of a pain to set up compared to Ubuntu 22.04, but that's to be expected.

Conclusion

Ubuntu 22.04 works great with a bit of initial setup, gaming is a bit of a pain but I really love a command-line oriented setup and having the desktop environment as simple as possible. In windows 10 LTSC on the other hand I get the gaming experience that I'm looking for, and a pretty neat browser to my suprise but not the performance. For now I can run windows 10 LTSC for a while longer, but I hope I can do the things I want to do in linux by the time I need a new device.