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?
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.
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.
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.
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
I used Ubuntu for years and never had a single issue with snap. I didn’t even know about the hate back then, nor had I heard of Flatpak. I eventually started to really like it and prefer to get my apps as snaps when available. Eventually I had to give up that laptop because it belonged to my work, and I left for another job. When I installed linux on my personal laptop, I decided to move away from Ubuntu for reasons completely unrelated to snap or proprietary software.
Security.
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.
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)
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
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
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.I felt the same, but I’m reading through this book and so far it’s been helpful for understanding and setting up system flakes: https://nixos-and-flakes.thiscute.world/
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.
A fellow en_DK user, I thought I was the only one.
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.
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?
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?
It’s amazing how well Linux performs on older hardware. Wayland seems to reduce the resource utilization a fair bit as well. The screens on the 980Ti are quite a bit slower than the RX480 so I arrange my workload accordingly and throw some windows over to an activity to increase my available higher speed screens. But the CPU rarely pegs out, it’s not like I’m doing ML shit, just building software for telemetry and automation, or working in spreadsheets.
Couldn’t you switch to a ARM machine? There are some nice boards from Pine64 that would do the same thing with less heat and power draw
Find me an ARM board that supports 6 monitors. She don’t exist.
www.pine64.com/boards/quartz128
!Ok, this isn’t a real link and you do have a point.!<
https://gadgetversus.com/processor/arm-cortex-a55-vs-intel-core-2-duo/
They’re kinda neck and neck on performance, though obviously at a vastly different TDP. At least if I’m reading that weird way they present the data correctly.
But yah, short of some sort of external displays, I can’t think how you’d get it to support all that video real estate that I like. Besides, I think the power usage of the computer pales next to the monitors.
I have Void Linux running on a GPD Win 4 (6800u). It performs well enough to emulate Demon’s Souls through rpcs3 at 720p 40-60 fps. It has a button on the side which toggles the built in controller between a “kb+m” mode and a normal controller mode, so I wrote a udev rule which opens Steam in big picture mode if its not running already when I switch to the controller mode.
I also sandbox a bunch of applications installed from the repos (including Steam and Firefox) using bubblewrap instead of using something like Flatpak.
I have a custom (half-working) version of slurp which allows starting selection immediately, which in turn allows me to immediately get the position of the cursor, which I use to launch tofi under the cursor (I don’t know of any other way to do this on river or even Wayland in general).
I use secureboot with custom keys (using sbctl), and I build a unified kernel image from which I boot with dracut, into a fairly standard LVM-on-LUKS setup, all flicker-free (by manually turning off Plymouth at the right time). UKIs allow me to boot from an efi shell very easily if thing go very wrong.
I run dnsmasq for caching, together with stubby for DoT. I highly recommend at least dnsmasq if you use Steam (fixes weird issues with their downloads).
I toggle running Qt apps’ dark/light mode by modifying the qt5/6ct config file with a perl script which darkman runs. I switch the wallpaper in a similar way.
I don’t use a status bar, I put most of what should go there into the Emacs tab bar (with custom dynamic icons and everything). It has volume, battery, temperature, wifi, system load, incoming mail, playing music and time display. Everything but temperature display works on both Linux and OpenBSD (and some on Android too).
Honestly there’s a bunch more weird stuff but this is getting pretty long.
Screenshot or didnt happen :D
You can use Emacs for panels??
I don’t use Emacs as a panel (though I’m sure you can do it somehow), I just almost always have a window open so I can just look at its tab bar.
This is how it looks: https://ibb.co/tbyZ8vH
And when the window is too small, it uses two lines: https://ibb.co/s3dhzCr
These are from my main PC, which use the same setup (no batter