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 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
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.
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.
A fellow en_DK user, I thought I was the only one.
I sometimes use a snap
Gross
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!
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 🙂
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.
deleted by creator
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?
Alpine Linux on my desktop and laptop, Alpine on a Raspberry Pi 3 working as a network/Bluetooth speaker for 5.1 surround speakers, postmarketOS on 2 RockPro64’s which I’m currently replacing for a single x86 NAS running Alpine.
Core2Duo with 2 GPUs running 6 monitors. Works like a charm for the last 5 years, it’s my everyday desktop and development station.
Downvote away because Manjaro and Wayland.
I am mostly concerned about that Core2Duo. How do you manage to not overload it?
I used to have Gentoo running a Libvirt hypervisor, which would then run multiple short lived isolated windows and Linux machines with GPU passthrough for all the different companies and projects I was working on.
Spent far too much time keeping the guest machine images up to date, and all the configs and stuff managed and synchronised.
Then my laptop died that I was using to manage everything so I gave up.
A Qubes OS-like setup for windows machines. I like it. I do have an headless GPU ready in case I want to do such a thing.
Some tips? Were you running Windows 10? How was the performance?
I have a laptop with an easily accessible m.2 slot, which I use with an m.2 to pcie x16 adapter to connect an external desktop grapics card to game and run ai. apart from that, a diy nas running opensuse and a couple vms for dns, remote nas access, etc
Damn I need to find out if that works on my machine.
These adapters only exist for pcie 3.0 and m.2 slots for ssds have 4 lanes at best, so you should expect performance to be between thunderbolt 4 and a full x16 slot in a desktop, but it’s been working very reliably for me and is absolutely faster than the iGPU in my laptop. You do typically need a desktop power supply connected to the adapter though, but since it only needs to power the card, it’s fine to go with a lower power one.
I use Parabola GNU/Linux-libre.