I’ll start with mine. yes part of this was to brag about my somewhat but not too unusual setup. But I also wanna learn from your setups!
Anyways: I primarily use Gentoo Linux.
I have two headless servers: a Raspberry Pi 4B and a Oracle cloud VM (free tier). Both running OpenRC, and both were running mainline kernel with custom config (I recently switched the Pi to PiFoundation kernel due to some issues). The raspberry pi boots from SSD and has no sd card inserted.
Both servers were running musl libc instead of glibc for a while. This gave me a couple of random issues, but eventually I got tired and switched back to glibc.
I have a desktop running gentoo and a laptop running arch, but hoping to switch the laptop to gentoo soon.
Both are daily driving wayland (the desktop had nvidia card and used for gaming). The desktop is running a kernel with a minimal config that compiles in 2-3 minutes.
What’s your unusual setup like?
I sometimes use a snap
Gross
🤷♀️ the snap works absolutely fine with no issues, the flatpak doesn’t exist and the apt is two years out of date.
I’m not on the outrage boat myself tho
I mean seeing how often malware and other bad stuff has gotten on their. It is bad for the linux eco system in general. Worse then finding random installers on windows
Check out guix or nixpkgs too, very good alts if flatpak or distro pkg manager doesn’t have it. Snap’s store is proprietary.
Both are terrible for security. Apt is actually safe
Lol, no, it isn’t. Anyone can set up an apt repository and ask you to use it. Many providers do… You might mean the walled garden of an official singular apt repository is safe.
My username has a space and a newline in it.
Random things break at random times.
a) why? b) what does your shell prompt look like?
My work machine isn’t too unusual, apart that it has 52 USB devices connected. And here’s something you may not know: Linux can’t enumerate more than 16 USB ports if the root is configured as USB3, so I had to force all the ports to run in USB2 mode - which is fine in this case, since most of them are serial ports.
This is caused by your root controller’s limited bandwidth and it’s inability to handle that many 3.0 devices at the same time. Some of the newer motherboards with USB C PD have controllers in them that can do a lot more.
It’s basically a hack on part of the company that made the root controller IC. They know they only have enough internal bandwidth to support 16 USB 3.0 devices so they intentionally bork things when you plug in more than that since their Transaction Translator (TT) can’t handle more and they were too lazy to bother implementing the ability to share 2.0 and 3.0 properly.
I’m guessing the decision went something like this…
“We have enough bandwidth for 16 3.0 devices… What do we do if someone plugs in more than that?” “Only a few people will ever have that many! We don’t have the budget to handle every tiny little use case! Just ship it.”
So it’s not Linux fault in this case. Or at least, if it is (a problem with the driver) it’s because of some proprietary bullshit that the driver requires to function properly 🤷
Yeah I figured it might be something like that. But I wasn’t sure it wasn’t a kernel limit - or even a limit in the USB3 specification - because I actually only have one USB3-capable device connected (my cellphone). All the other devices are low-bandwidth USB2 FTDI USB serial converters. I thought it couldn’t be a bandwidth issue when all but one device can only use a fraction of what’s available.
Uh, you’re outputing 52 DMX universes straight from USB? I have questions!
- What software are you using, and is qlcplus really able to do that?
- Have you ever heard the words ArtNet? SACN?
I had no idea what you’re talking about so I had to look it up 🙂
I think you’re making assumptions on what I need many serial ports for and it’s nothing like what you think.
I work for a company that makes measuring instruments that talk serial (RS232, RS422 and UART), we have many variants of our products and I’m tired of plugging and unplugging devices to the same serial ports to test code. Also, I can’t do that remotely when I work from home. So I have many serial ports and all the different devices I need to test my code on regularly are all plugged in and powered at the same time.
No lighting here 🙂
Oh, here I thought you was running a fancy dancefloor or something! TIL the creator of that chip was a prick.
Linux can’t enumerate more than 16 USB ports if the root is configured as USB3
What? Really?
I’m not sure it’s a kernel limitation or a hardware limitation. But it does throw an error in syslog when you connect the 17th device. Not as USB2 though.
Libreboot Gaming Desktop
- Dell OptiPlex 9020 MT Motherboard
- i7 4790K
- 32GB DDR3 1600Mhz RAM
- 9TB (1TB M.2 NVME, 2x4TB Hard drives) RAID 0 with LUKS and LVM (/boot stored on SD card)
- NVIDIA 2080 SUPER 8GB VRAM
- NZXT S340 Elite Case
- EVGA 700W BR
- Kicksecure GNU/Linux
Libreboot Server
- Dell Precision T1650
- Xeon E3 1275 V2
- 32GB DDR3L 1600Mhz RAM (ECC)
- 8TB (2x4TB Hard drives) RAID 1 with LUKS and LVM (/boot stored on SD card)
- AMD RX580 8GB VRAM
- Proxmox VE / Learning to use YunoHost inside VM
Libreboot Laptop
- Lenovo Thinkpad T440P
- i7 4810MQ (Recommend i7 4700MQ for better battery life)
- 16GB DDR3 1600Mhz RAM
- 1TB SSD (/boot encrypted with Argon2)
- 100% Free BIOS (LibreMRC), Intel Management Engine is still present but neutered
- Intel AC 7260 (Can run without blobs when running Linux-libre kernel)
- AR9271 USB for WiFi (100% FOSS)
- Kicksecure GNU/Linux with Linux-libre kernel (Removed all non-free-firmware with vrms)
GrapheneOS Phone (100% FOSS in the OS layer)
- Cheogram / JMP.chat for Calling / Texting
- Mint Mobile for Service (Cash)
- Ported number into JMP.chat
- F-Droid
LibreCMC Routers (100% Free Firmware/Software)
- ThinkPenguin R1400 Ethernet (1Gbps)
- ThinkPenguin R1300 WiFi Router (100Mbs)
- Running under MullvadVPN (Paid in XMR)
OpenWRT Network Switch
- D-Link DGS-1210-28MP
- VLAN Support
Yeah that’s pretty much my setup, don’t know if it’s really strange or not lol
It’s strange!
How does it game for you so far?!
It can play all my games at 1440p and ultra settings (RDR2, GTA V, etc.) I’ve never had a time where I’ve wanted to upgrade from it. I built most of this computer for about $450-$500, all used parts I got off eBay plus some other parts that I pulled from my other computer
The Optiplex gaming setup is quite bizzare. Isn’t that CPU a bit of a bottleneck for this relatively powerful GPU?
Btw I used to own the same Thinkpad but it was supplied with a dedicated NVIDIA GeForce 6xx-something, but never tried Libreboot on it. Given that I sold it in 2020, not sure if libreboot was even doable on it back then.
A bit, it’s actually not too bad. Rarely any micro stuttering on ultra settings in RDR2, I am actually planning on buying the AMD 7900XTX graphics card to put in this machine. I want to run local LLMs on it, I’m not too much of a gamer as I used to be. Anyways, this thing rocks! I love it. Eventually, I’ll plan on buying a MSI Z690-A DDR5 motherboard and install Dasharo firmware onto it.
Lenovo support seems to think I have an unusual setup since I run Linux on their Thinkpad & while the NVMe even after an RMA fails under heavy IO despite their partner WD, who sent me an email response saying they never test or certify drives for Linux or BSD. Many users have been experiencing similar failures with their controllers WD proudly boasts as in-house. Note that Lenovo also has a support PDF about running the device on Linux, but the support is ran by a bunch of clowns. Also not that when you purchase, the hardware brand is never mentioned so there is na room for due diligence.
Tl;dr: if you want a working Linux system, don’t purchase Western Digital or Sandisk drives.
I have been running my linux installs off of wd drives for years without any issues. Most of the devices I run are Asus laptops, maybe it is a Lenovo issue?
https://github.com/openzfs/zfs/discussions/14793
It seems to be an issue in the last year-ish but across a range of WD/Sandisk drives. They build controllers in house &, if the support is to be believed, don’t test or support Linux/BSD.
Ah, i see now. I use btrfs and the issue is with zfs.
Nope. Read it a bit deeper as the failures are for ZFS, BtrFS, Bcachefs, & Ext4.
deleted by creator
Very cool! Thanks for sharing. I’ll pass this on to my friend who’s been at sea with his family for over 1 year.
deleted by creator
I’ve long wanted to attend Ultra Music Festival. It’s somewhat reassuring to hear that I’m not missing out (this year). Sorry that wasn’t better.
deleted by creator
Not my main rig, but my most unusual is 32-bit Yocto Linux on an Intel Edison that I got for free from a college professor that worked for Intel.
Yocto is awful. I mean it has a niche I guess, but there is basically no package manager. Somehow I managed to install a Rust toolchain on it, but it couldn’t build the web server I wanted to run on it.
I’d much rather have a Pi running a sane distro.
Oh, I remember having to use Yocto when I started experimenting with the BeagleBone Black SBC back in 2015. Yes I remember it being very hard to use. I remember I had need to rebuild the kernel to include a disabled kernel module. The cross compilation on my desktop PC didn’t work, so I had to build it on the BeagleBone. That was an awful process, it took about 6 hours.
For anyone not familiar, the BeagleBone Black was an SBC that came out as competitor to the Raspberry Pi 2. The main difference was the BeagleBone used an open source design, based on a non-NDA CPU unlike the RPI, so it meant they published full kernel sources. But in my experiments I found the BeagleBone CPU was much slower than the RPI, and it’s graphics hardware was almost non-existent compared to RPIs integrated graphics.
Yah, BBB was horrendously slow. Lots of neat features like realtime PDU and tons of IO, but the only way to use it was Debian headless because a full DE was painful. I bought a 7" touch display to use as an HMI that the BBB mounted on the back of and it duplicated the pins so you could put a cape on it (that didn’t conflict with the HDMI pins it used), but I never used it because it was so slow.
BBB is actually really good nowadays compared to where it started. I’ve got quite a few deployed hardware appliance designs with them baked in. The real time IO and subprocessor was a nice quick and dirty way to get a little psuedo FPGA
It isn’t built to be changed after the image is created. I would either just go straight builtroot or Debian.
On my desktop I use 2 virtual audio devices that are linked to my real audio card with qpwgraph in order to split audio between VoIP applications and desktop/game audio.
I tried to set this up on a mac using soundflower so I could share my screen with an edit project with the director during lockdown and still chat to them at the same time. Didn’t work for some frustrating reason relating to Skype.
soundflower
Funny, I was going to suggest Audio Hijack, but a search for
soundflower
revealed that Rogue Amoeba were the stewards of that app for a few years. Anyway, Audio Hijack might be what you need if you’re still in the market for such a tool. Rogue Amoeba are the experts in Mac audio-routing.I believe while I was figuring this out I discovered one of rogue amoebas apps that I could use in conjunction with sound flower and I was nearly certain I had it, it was something to do with how Skype worked that sabotaged me, I couldn’t believe how stubbornly persistent Skype was despite how hard I tried to workaround it. I believe I was trying to make a single virtual sound device that combined my mic output with the system Audio so I could choose that as my microphone in Skype but SOMEHOW it was always able to fuck me over don’t remember how, only that I was extremely angry.
But what benefits do you get. At the end it lands on your real audio card anyways
When recording in OBS, I can split the voice and desktop audio and edit them separately.
I want this now
Pretty easy to do if you use Pipewire, just add a file named
~/.config/pipewire/pipewire.conf.d/10-virtual.conf
with the following content:context.objects = [ { factory = adapter args = { factory.name = support.null-audio-sink node.name = "Virtual-Sink-1" node.description = "Virtual Sink 1" media.class = "Audio/Sink" audio.position = "FL,FR" } } { factory = adapter args = { factory.name = support.null-audio-sink node.name = "Virtual-Sink-2" node.description = "Virtual Sink 2" media.class = "Audio/Sink" audio.position = "FL,FR" } } ]
This will add 2 virtual sinks to your device list after a restart, which you can use in all applications.
After that you can install qpwgraph and add it to autostart: https://flathub.org/apps/org.rncbc.qpwgraph
Now you can drag & drop all connections from your Virtual sinks to you output device (as shown in the image I posted). You can even send it to multiple output devices at the same time.
When you are done hit
Ctrl + S
to save your patchbay and selectPatchbay -> Activated
. Now qpwgraph will load your connections every time it starts.
Not mine, but while I was an intern for a lab I enjoyed using a very normal-looking desktop with a casual 4TB of DDR4 and no SSD or HD, dual Xeon configuration. Rather, it did network boot and pivot root into an in-memory filesystem. It had a UPS and typically ran for months entirely from volatile storage and was used to run experimental photo and video processing. This was about ten years ago.
I can only imagine what that much RAM and a system that could hold it cost 10 years ago. Yikes.
Knowing some fringe users, your setup is probably ~3 points or so ahead of the middle of the bell curve. You never know. There’s probably a guy running kernel 4.12 on a 1990s CPU with his showa era CRT monitor to play freedoom.
fringe
Kept reading it as fridge users and was really flummoxed for a few seconds
Well, you aren’t that far off after all!
I have 100% done this. I have a picture somewhere of my old ass p3 laptop with an rgb keyboard. So not showa era crt, it’s heisei era LCD (more appropriate considering it’s a Sony vaio f series)
i have a gentoo system with a custom s6-rc service tree that fully replaces openrc and boots via s6-linux-init.
instead of a display manager i have tinydm (from postmarketos) and autologin setup. since i use full-disk encryption and suspend-to-disk i find that i don’t need the extra login step into my user session.
i have a bunch of bemenu-based helpers for wifi, bluetooth, vpn, audio, passwords, mounting drives, etc.
i don’t have polkit or sudo installed. i use doas.
Do you have those bemenu helpers in a repo somewhere? I’ve been really getting into bemenu scripting recently and I’m really enjoying the results (case in point: when I do a logout/shutdown via my bemenu logout script I feel like an absolute boss).
I use Wayfire (which not many people use for unknown reasons), and one of the things I like to do with it is have a fiery drop-down Kitty terminal. :)
I haven’t seen anyone else do a drop-down Kitty in Wayfire before, so I’d like to boldly claim I’m the first one to do so. :) Yes I know it’s pointless, but it’s also cool, and it’s fast thanks to being fully GPU-accelerated, so why not?
And no, I don’t use the fire effect for other windows - that’d get real old, real fast. Thanks to Wayfire, I can define window rules so the effect only applies to my drop-down kitty. Also, my regular kitty windows open normally, without any fancy effects - and it’s possible to differentiate this thanks to kitty allowing you to specify an custom appid.
I also use doas instead of
sudo
. I just got tired always fighting with sudoers, doas is so much more easier to setup and work with.
Finally, I use grc to colorize all my log output. Makes my
journactl
looks nice. :)what issues were you having with sudoers?
Wayfire is not tiling right? I imagine its a similar reason people didn’t use open box much. It’s a non-tiling window system, and people who go that route tend to to full DE. But I am with you. I wonder why not many more people use them.
Doas is cool. I actually switched to it shortly before ditching both it and sudo, and deciding to rely on a users/groups system.
Yes Wayfire is a floating WM, but it does have a tiling module which supports simple tiling (up/down/left/right/top/bottom), and you can even define window rules for automatic tile and workspace assignment.
Of course, this is probably not enough for hardcore tilers, but personally don’t think I’d ever need more than 4 tiles per screen - and if one or more of those tiles is a terminal, I can easily multiplex it using Kitty’s built-in splitter, or Zellij.
I read through all the comments and its both glorious and frightening. My setup probably is the most vanilla in here…
- Debian 12 + KDE on my daily for work, play and streaming
- Pop_os on asus a15 with 3070m
- Ubuntu Server on an old xeon 4 core which runs many services (plex, homeassistant, pihole, etc)
- LibreELEC on pi4 8 GB connected to my dumbtv in the bedroom
- Ununtu Server on a VPS running 4 fediverse services (lemmy, mastodon, peertube and matrix) a wiki, a forum and surrounding stuff
Probably only the amount of different things is a bit different, otherwise I‘m quite risk averse.
Thanks for reading. Have a good one!
I think I have you beat for most vanilla.
I play games on PopOS, and host FoundryVTT on my micro PC running Windows for DnD. I also stream games from the PopOS gaming rig to the Windows PC so I can play them from the couch on the weekend.
Waiiiit… what is FoundryVTT and why windows? Aside from adobe I dont know a lot of things that a linux pc cant do, especially with pop os (damn i love it).
Foundry is a virtual tabletop I use for my DnD game I’ve been DMing for my group for the last four years. It’s only on windows right now because I also use it for streaming games from my gaming rig, and the Linux drivers for the Xbox controller Bluetooth option weren’t up to par. I’ve since gotten a Xbox wireless dongle which is supposed to work flawlessly. When I have more time I’ll probably switch it back over to Linux.
I run a node.js version of foundry as a service from it though, and everyone just accesses it through their browser window. I’m 100% with you on preferring Linux. My deadline for getting it switched back over is probably when win10 goes EOL, because it is an old enough PC that it can’t install win11 without the workarounds.
Sounds like you‘re ready to come back! Thanks for mentioning the dnd thing. I dm myself and maybe it would be a good addition to my toolset. :)
If you have any questions I’d be happy to try and answer them. My favorite part is that it isn’t subscription based. Once you own a license, it’s yours. MacOS, Linux, and windows support too. There are hundreds of modules, with fantastic support for DND 5E, Pathfinder 2.5, and then Star Wars 5e.
SW5e.com represent!
I have NixOS running on my main desktop with some unusual changes:
- / is mounted as tmpfs, with /etc, /nix and /var being mounted from the actual system partition (this actually isn’t too uncommon on NixOS)
- For swap, zswap and dynamically allocated swapfiles using swapspace daemon (this is imo the best swap setup if you don’t need hibernation)
- Akonadi (KDE’s PIM server) using PostgreSQL instead of MySQL
- ISO8601 date format, for this I have glibc’s en_DK locale which does this copied to en_SE because Qt has en_SE as the locale with ISO date
- A couple changes to make the layout more like macOS because I can:
- Partitions are either mounted or auto-symlinked (if they can’t be mounted there, such as for the system partition) under /Volumes
- I patched udisks to also mount devices under /Volumes
- User home directories are under /Users and root’s home is /var/root
- Keyboard layout changed as far as I can to be mostly like Mac’s so I don’t have to rethink layouts as much when switching between this and my MacBook
- Can’t technically list this anymore since I’ve had to tear it down for unrelated reasons but NFS using Kerberos authentication for my NAS
- This is apparently very unusual since a lot of games completely break with it but two monitors with the main monitor on the right
A fellow en_DK user, I thought I was the only one.
This is apparently very unusual since a lot of games completely break with it but two monitors with the main monitor on the right
This is unusual? I use the same monitor configuration, and I didn’t notice any problems with it. Or at least I didn’t figure out they could have been caused by monitor setup. Could you give me an example of what problems have you encountered?
Either games spawning on the wrong monitor and not reacting well to you moving the fullscreen window to the other monitor, or mouse input issues. Latest I’ve had was L.A. Noire, which locks the mouse to a portion of the screen and doesn’t allow you to freely turn the camera. (I just tested it again and now it seems to work fine though! I hope that persists.) Quake II doesn’t allow you to move the mouse at all, or rather only in what seems in like a 2 pixel wide boundary in the middle of the screen. No such issues if the other monitor is turned off or configured to be on the right side. I’ve encountered more games that had issues with this in the past but these two are the recent ones I’ve had trouble with since setting it up like this again.
If you’re on Wayland, try gamescope. It’s basically built to handle issue like this.
With L.A. Noire, that actually made it worse. It spawned on the wrong monitor, and every time I moved the mouse, the camera would spin to the right no matter what (even with only one monitor, I think). I need to get around to making bug reports for these.
Question: are you using Flakes?
I’ve been kinda dipping my toes on NixOS but the flakes are really throwing a wrench my way… Yet they are apparently NixOS’ future so I’m just kinda stuck
Yeah. Flakes are essentially three things (or four if you count the new CLI):
- Lock files for inputs (like NPM)
- A defined output layout (so, every flake has its packages at packages.<system> for example)
- Pure mode (don’t worry about it unless you read from arbitrary locations in the file system or try to download files without a hash)
That’s it, essentially nothing else changes. It’s just a different entry point to Nix code including NixOS configurations.
Here’s a great article (apparently, I have only skimmed it myself) explaining flakes more in detail: https://jade.fyi/blog/flakes-arent-real/
Flakes on the system level aren’t too bad. You can pretty much just keep your configuration.nix, but now you call that from a flake.nix. The difference is you remove all your nix-channels and you specify your nixpkgs in your flake.nix. So its really using a flake instead of nix-channels.
The cool part is when you nixos-rebuild the first time, it will save your nixpkgs version in a flake.lock. Then it will stay that way until you choose to upgrade with
nix flake update
. Nice and stable.use flakes
What’s the deal with / as tmpfs about? I’m so trying to understand nixos.
NixOS can boot from a file system that only has /nix, since essentially the kernel command line has
init=/nix/store/.../init
. Everything else will be created during boot by that if it isn’t already there. So technically you could only mount /nix and you would get a blank system every time you boot (but that wouldn’t be very useful in most cases). Mounting these is done in the initrd.A lot of people have a setup where only select files are mounted from a persistent partition, such as /var/lib/postgresql, basically anything they want to keep across reboots, so that the rest is discarded when they reboot. This prevents the system from accumulating junk over time, from services you once used to have but no longer have running, and so on. Personally I found it too much of a hassle to keep track of what files I want to keep, so I save the entire /etc and /var. I still keep the tmpfs though because it’s pretty cool.