• 3 Posts
  • 27 Comments
Joined 1 year ago
cake
Cake day: June 19th, 2023

help-circle

  • Hmmm never used xubuntu per se, but XFCE already seems like a good option for a low-spec computer. You could probably chip away at the resource usage some more by building your own desktop environment around a bare window manager, but honestly at this point the gain is negligible. If anything, you might want to look into tiling window managers just because they can offer a much more fluid and customizeable desktop experience as opposed to floating WMs. I’m using BSPWM right now, but considering switching to wayland with hyprland or qtile.

    As for choice of distro: Not sure if NixOS would run well on your machine – my homeserver is also a pretty low-spec computer (dual-core Intel Atom), and nixos-rebuild switch takes ages to run. Otherwise, go for Debian Testing if you want stability, Void if you want to not have systemd. There’s also Devuan, which is basically Debian without systemd, but iirc it’s not as popular as Void. But honestly if xubuntu works for you, then it’s fine.

    Also, some miscellaneous tweaks for improved performance:

    1. IF YOU BOOT FROM A HARD DRIVE REPLACE IT WITH AN SSD! Solid-state drives are pretty cheap nowadays, and the upgrade from hdd to sdd is the single biggest performance improvement you can do for an old laptop
    2. If on x11, disable compositing. On XFCE, there should be an option for it somewhere in the settings. If on a bare window manager, simply don’t install any compositing manager (picom, xcompmgr, etc.). The downside is screen tearing and no proper window transparency, but it does put less strain on the CPU.
    3. Consider looking into a custom linux kernel? I boot linux-tkg on my main laptop and it gives some pretty good performance improvements. But I’m not so sure whether it would translate well to a low-spec system.
    4. Again, not exactly a performance tip, but consider formatting your boot partition as btrfs. Apart from all of the other cool features that you get with BTRFS, transparent file compression can, in some cases, be a win-win-win situation: less disk usage, faster file access, and longer SSD longevity. On low end system tho it may actually be the case that the CPU is the bottleneck as opposed to the disk, so transparent file compression may actually slow things down. Here are the settings I use for btrfs on my laptop (thinkpad with a core i7-5600U, mSATA solid state drive): lazytime,noatime,autodefrag,compress=zstd:3,discard=async,space_cache=v2,ssd. Again, not sure how well these translate to a low-end system, you should do your research.
    5. If your system supports uefi, consider using EFISTUB as opposed to Grub. Much faster boot times. Another option is to add two efi entries: one for EFISTUB (and have that be the default), and a second one for Grub, for when you need to change boot options or boot into recovery mode.
















  • Does the method you’re describing play well with speaking at the same time

    Yes.
    With pipewire, it is possible to patch two sources (i.e. your microphone and an application’s audio) into a single input, and it will mix them together into one stream. I just tested this with Audacity (didn’t feel like booting up Discord, but it should work the same). I could hear my voice and the application’s audio at the same time. This is what it looked like for me in Helvum:

    The gray PortAudio block is Audacity (would be Discord in your case). “ALC3232 Analog” is my microphone (on the left) and my headphones (on the right). Music Player Daemon is the application whose audio I wanted to stream. The connection between the microphone and Audacity was made automatically as soon as I started the recording. I had to manually make the connections from Music Player Daemon to Audacity for both left and right channels. After that I could see both the mic sound and the music player daemon sound in the recording, mixed into one stream. It should work the same way with Discord. If you wanted to, for example, make your voice louder or quiter compared to the application audio, you could just adjust your mic’s gain (or the application’s volume) with Pavucontrol (it’s an app made for Pulseaudio, but it works flawlessly under pipewire as well).

    In my original comment, I said that you could patch your output’s monitor back into Discord. This is a bad idea, since if anyone speaks to you in the call, that audio will also be echoed back to them. So it’s better to connect the individual applications’ audio into Discord as opposed to the output monitor.

    Now, this could get a little tedious, making those connections by hand every time you want to screen share. So you could try to make a script that does something like that automatically. Pipewire also has the concept of a “session manager”, which is basically a daemon that decides which connections are made by default, when new sources or sinks register with Pipewire. For example, wireplumber, the default session manager, was responsible for connection audacity to my microphone automatically. Maybe you could try to configure your session manager to also automatically make connection between Discord and any app that outputs audio (idk tho, never done it before).