Trying to cram a little bit of everything in here! Normally, it’s a very simple and clean desktop experience. Very responsive, quick, and easy to use.

A noob tries Solus 3 (Budgie)

I’ve enjoyed OpenSUSE Tumbleweed, but the release of Solus 3 seems to warrant another try. Last time there was a serious lack of packages and lots of missing QoL features like an alt-tab menu.

What’s great:

  • Load up times. Wow it boots fast! Faster than my arch install even. You can get to work quickly on this one! (If you can get all the packages you need installed; which, yes, I was able to do). Here’s my systemd-analyze blame:
231ms apparmor.service                              
158ms lvm2-pvscan@259:2.service
46ms udisks2.service
40ms systemd-journald.service
37ms NetworkManager.service
35ms geoclue.service
34ms lightdm.service
34ms upower.service
28ms polkit.service
28ms systemd-udevd.service
28ms systemd-logind.service
22ms clr-boot-manager-booted.service
22ms systemd-user-sessions.service
22ms systemd-resolved.service
20ms accounts-daemon.service
20ms user@1000.service
17ms colord.service
17ms systemd-journal-flush.service
15ms systemd-tmpfiles-clean.service
13ms on-demand-cpupower.service
13ms systemd-udev-trigger.service
8ms systemd-tmpfiles-setup-dev.service
8ms systemd-tmpfiles-setup.service
6ms systemd-sysctl.service
5ms tmp.mount
5ms wpa_supplicant.service
5ms systemd-timesyncd.service
4ms kmod-static-nodes.service
4ms systemd-vconsole-setup.service
4ms dev-mqueue.mount
4ms systemd-update-utmp.service
3ms dev-hugepages.mount
3ms alsa-restore.service
2ms systemd-remount-fs.service
2ms systemd-random-seed.service
2ms sys-fs-fuse-connections.mount
2ms sys-kernel-debug.mount
607us snapd.socket

And systemd-analyze critical-chain:

graphical.target @349ms        
└─multi-user.target @349ms
└─plexmediaserver.service @349ms
└─network.target @348ms
└─NetworkManager.service @311ms +37ms
└─dbus.service @291ms
└─basic.target @290ms
└─sockets.target @290ms
└─snapd.socket @289ms +607us
└─sysinit.target @288ms
└─apparmor.service @57ms +231ms
└─local-fs.target @57ms
└─local-fs-pre.target @57ms
└─systemd-tmpfiles-setup-dev.service @48ms +8ms
└─kmod-static-nodes.service @32ms +4ms
└─system.slice
└─-.slice
  • look at NetworkManager. 37ms?! On openSUSE Tumbleweed getting an ethernet connection can be reduced to as low as 1–4 seconds using YaST and comes at a default of around 18 seconds due to some weird choice of wanting to connect ipv6. If you search the forums or ask on their IRC they have no way to really help you sadly. Here’s my ArchLinux (ignore the media-NAS.mount and I’m not quite sure what the first two are for, it’s been a while since I fiddled with Arch now:
18.098s man-db.service
13.174s updatedb.service
10.304s media-NAS.mount
3.714s dhcpcd@enp38s0.service
1.209s systemd-journal-flush.service
1.029s dev-sdb3.device
677ms systemd-hwdb-update.service
587ms systemd-udevd.service
405ms systemd-modules-load.service
352ms lvm2-pvscan@259:2.service
323ms systemd-hostnamed.service
287ms home-win10.mount
252ms systemd-localed.service
186ms ldconfig.service
159ms org.cups.cupsd.service
157ms systemd-fsck@dev-disk-by\x2duuid-899676bd\x2d6c35\x2d4d0f\x2db335\x2d100d995bfb33.service
151ms systemd-udev-trigger.service
137ms systemd-timesyncd.service
131ms lm_sensors.service
123ms systemd-timedated.service
101ms user@1000.service
101ms logrotate.service
73ms nmbd.service
71ms swapfile.swap
46ms smbd.service
43ms upower.service
43ms systemd-tmpfiles-setup.service
42ms udisks2.service
40ms systemd-sysctl.service
38ms systemd-journal-catalog-update.service
35ms systemd-journald.service
35ms dnsmasq.service
29ms polkit.service
27ms packagekit.service
26ms geoclue.service
24ms colord.service
18ms systemd-tmpfiles-setup-dev.service
14ms systemd-binfmt.service
13ms boot.mount
12ms avahi-daemon.service
12ms accounts-daemon.service
11ms wpa_supplicant.service
9ms dev-mqueue.mount
9ms sys-kernel-debug.mount
9ms systemd-logind.service
8ms cpupower.service
8ms systemd-user-sessions.service
7ms systemd-sysusers.service
7ms alsa-restore.service
6ms sys-kernel-config.mount
6ms systemd-update-utmp.service
6ms dev-hugepages.mount
6ms kmod-static-nodes.service
6ms systemd-update-done.service
6ms systemd-random-seed.service
5ms sys-fs-fuse-connections.mount
4ms rtkit-daemon.service
graphical.target @15.626s
└─multi-user.target @15.621s
└─getty.target @15.613s
└─getty@tty1.service @15.605s
└─systemd-user-sessions.service @15.588s +8ms
└─network.target @5.250s
└─dhcpcd@enp38s0.service @1.534s +3.714s
└─basic.target @1.533s
└─sockets.target @1.533s
└─avahi-daemon.socket @1.532s
└─sysinit.target @1.529s
└─systemd-update-done.service @1.522s +6ms
└─ldconfig.service @1.335s +186ms
└─local-fs.target @1.334s
└─home-win10.mount @1.047s +287ms
└─dev-disk-by\x2duuid-A4CC62CDCC6298F6.device @1.042s
  • Software Center is vastly improved and actually has a good amount of packages now. Snaps/Flatpak coming are great too.
  • Adapta GTK Theme + Papirus Icon theme by default. I seriously consider these the best. I normally modify adapta to use a proper grayscale for things like titlebars, statusbars, etc. But this time around I’m gonna keep it. I usually switch the cursors to El Capitan as well, but they’re basically the same as the Breeze icons bundled with Solus 3 minus the beachball. So again I’m quite happy with the aesthetics off the bat. Good default list of fonts as well. And great font aliasing / hinting out of the box. Fonts look good!
  • You can set commands as startup items. WTF Gnome? Why is this so hard for you to do? So amazing. I loved not having to create a .desktop file just to run a startup script.
  • Changelog in software center is nice! Great to see when something was updated. (It can be improved by showing the date added to repo of the old and new packages).
  • Nvidia proprietary drivers loaded by default. If you want a free distro, use a free distro, right? That being said, I thought AMD open source were pretty close to proprietary so I was actually expecting those to be open source by default. Luckily you can switch them easily. I tested a Nvidia on install. Shut down, plug in a AMD and Nvidia at the same time (With AMD in the main slot instead of Nvidia from the install round), and it properly installed the drivers (or had them ready, idk) and used AMD for the main display. I had a lot of fears when I tried this and was beyond pleasantly surprised with how well it all worked on it’s own.
  • Printer setup. All through the GUI, painlessly and easily. Can’t remember the last time I set up a printer in less than 15 seconds on Linux. (My printer does have a fixed IP address, and yes, even trying to search by IP address in other distros takes too much time/fiddling).

What I got used to, but hope is improved:

  • Not bunching apps together in the dock. If you launch two instances of anything, it just puts two icons on the dock (And not even next to each other). I got used to it, ‘cuz it’s actually nice if you have a good memory of which window is which.
  • Not having the categories on the right side of the budgie menu. If you use Roll-over mouse for categories, you have to do a weird maneuver for the default list. Would’ve preferred a “favorites”/”pinned” section at the top as well.
  • Can’t really tell what the Software Center is doing. Idk if it’s hanging or if it’s going to actually just take “some time” as they write in bold. Would’ve been cooler if the progress bar didn’t just ping pong back and forth but kept filling up for different sections (even if I don’t know what exactly the section is, I can tell if something is in the same spot for too long). After waiting a half hour I cancelled on installing “plexmediaserver”. I really don’t think it was working. E-17–09–02: Tried to install a database browser, it hung on downloading openJDK at around 80kb/s for a long time. Trying to close and open the app again keep showing it stuck at that download. Trying to close solus-sc from htop did not help.
  • Installing nvidia-proprietary. For so long I was confused with which drivers I was using, turns out after a week I found out I was on open-source with modaliases for the proprietary. They have this very handy, nifty app called “Hardware Drivers” which can be accessed in the budgie menu that will help you install the correct proprietary drivers.

What’s coming soon that I’m eagerly awaiting:

  • Samba.

What’s annoying/weird:

  • Having to type my password in for every install. I guess I could use the command line. And it’s true OpenSUSE makes you do it too, Budgie is better at it than that. Still… You’d think an admin would be an admin. At least you have time between installs before needing to type the password again. So it definitely beats Tumbleweed there at least.
  • Settings, Budgie Desktop Settings, and GNOME Tweak Tool; There’s three different apps for making system changes. I’m hoping more things will eventually be combined.
  • Can’t “launch” an app after installing it from the software center. Install just becomes “Remove”. Great, where’s “Open”? It’s all the way in the budgie menu.
  • Alt-tab menu is set to a minimum width of about 5–6 icons. If you have less open it looks a bit odd.
  • Let’s say you’re migrating from another linux partition and you’re copying files. Well near the end the system hangs up. It happens, I’m not blaming Solus for something that literally happens with every distro I use from time to time. Now back to the point: You can’t check two folder’s sizes in nautilus at the same time. There’s a Budgie Setting fro “Attach modal dialogs to windows”. That’s not what I’m saying, but it’s related I’m sure. Whereas you can alt-<enter> or ctrl-i (right click > properties) multiple folders in Gnome, for some reason in Budgie you can only open one. Really not sure why they’re dumbing that part down for me. It worked well before. Now you have to open different instances of nautilus to do the same. Can’t do it with tabs or in the same window.

Bugs:

  • Settings in Gnome Tweak Tool > Typing don’t work. I’m just trying to bind my caps lock into a control key. At least I can still get my functionality in a different way. (xmodmap + xcape).
  • Clicking on an icon in alt-tab doesn’t change the name shown below.
  • Alt-tab, escape doesn’t cancel alt-tab. It will switch to whatever you were highlighting.

Suggestions:

  • Combine the raven menu “Applets” and “Notifications” for tall screens. I’m on a 1440p and all that can easily fit on one screen. (A resizable version is coming in Budgie 11, let’s see what happens overall).
  • Show day of the week and date in the clock (as an option of course).
  • Allow pinning things to task bar from the budgie menu.
  • Allow cancellation of software center install. It correctly greys everything out from being installable, but if something hangs (like plexmediaserver did for me), it’s better if I can cancel it and retry it or just move on to installing something else.
  • I tried installing golang. It was hella easy. What I didn’t understand was if it’s from the solus repos or if it’s in the third-party section. I manually scrolled through both in Software Center and couldn’t find golang. Though it did install correctly! E: Turns out you have to restart software center to see them in the installed list. Still would be nice to know which one I installed.

Questions:

  • What is open in safe mode? Is it a container? If it’s something important, would be nice to be able to open in safe mode from the budgie menu.
  • How to fix screen tearing? I think Solus installed proprietary nvidia drivers for me automatically. But I don’t have any nvidia settings gui. I’ll look into this later. E-2017–09–05: Turns out I never had proprietary drivers installed. Easy fix, just open “Hardware Drivers” in the budgie menu.

Long shot wishes for the future:

  • Windows 10 ala you mouse-tile a window to one half of the screen, show me the other applications that I can tile for the other half. Let the user just click the window they tiled to cancel the prompt.
  • Auto-tiling. Once you’re hitting the 1440p mark, you’re probably almost always going to be at least tiling two windows half and half. I used shellshape on Gnome (it’s set to only tile up to 3 windows, after that they’re just floating again like normal). And it’s well done I would say. That would be a good starting point for Solus if they wanted to add that. But hey, perhaps you can just add gnome extensions to Budgie? I know they’re different, but maybe…? I still have a lot to read and learn about this distro/DE.
  • Show progress on the icon task list. If software is updating/installing something, show me somehow on the task bar. I don’t want to keep opening it to find out. Same thing with files/nautilus if you’re transferring files. At the least show notifications when they’re done. I’ll feel more comfortable that my desktop is doing it’s job a little better for me. (On the plus side, I like that gnome-terminal did this when it did a eopkg install).

List of things needing manual install: (N.B. For myself in case I have to re-install or something.)

  • imwheel (how else can you scroll multiple lines at a time?)
    required: libx11-devel, libx11–32bit-devel, libxtst-devel, libxmu-devel all found in software center. I applied the patch found on the AUR and followed the build() instructions in the PKGBUILD.
    note: try scrolling around first, a lot of things are working like ctrl+scroll wheel in browsers, moving more than one line up and down. In the end I decided to not install this. E-17–09–05: Ended up installing it… Saving my finger from scrolling too much.
  • kakoune
    required: asciidoc, libboost-devel
  • exa
    required: rust; built with: cargo build --release (which requires cargo from software center)
  • fonts (go, powerline)
  • rofi-pass / passmenu (dmenu requires one less dependency).
  • — Below still to do —
  • termite/alacritty (gonna just stick with gnome-terminal I guess, can’t be fussed to install either for now).

Things I was able to install from the software center:

  • git
  • make (I’ll be checking if there is another preferred “way” to do manual installs on solus later).
  • gcc/libgcc (searching for g++ doesn’t work, even though it shows up in the list when you search gcc, hmm…)

Okay scratch the two above out. I asked on hexchat, and the preferred way is the command: `sudo eopkg install -c system.devel`. If you already did the two above, it’s okay — the command would’ve installed them anyways.

  • tmux
  • fish
  • golang, rust, julia; Python2/3 was pre-installed
  • password-store
  • rofi/dmenu
  • htop
  • xcape
  • neofetch
  • syncthing(-gtk)

Lastly, some changes in dconf-editor for Gnome/Budgie:

  • /org/gnome/desktop/session/idle-delay 30 seconds to blank screen on idle (E: Turns out Nvidia proprietary drivers don’t work too well with night-light, when the computer is about to blank the screen, at the start of the blanking transition night-light is turned off. If you move your mouse and cancel the transition, night-light remains off. To avoid having to toggle night-light off and back on again over and over, I set this value to 2 minutes through the GUI settings).
  • /org/gnome/desktop/screensaver/lock-delay 5 seconds to lock screen after blanking (E: I find this a bit annoying in actual use, so I set this back to default).
  • /org/gnome/settings-daemon/plugins/power/sleep-inactive-ac-timeout 150 seconds to suspend machine
  • /org/gnome/desktop/peripherals/keyboard/ delay was set to 250 (half of default) and repeat-interval was set to 20. Repeat-interval is different from that of Xfce’s settings. Instead of key-repeats per second, in budgie/gnome it is milliseconds between key-repeats. So if you had set 50 key-repeats per second in Xfce, you would want to do 1000/50 = 20ms between key-repeats for budgie/gnome.