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
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
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.
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
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?
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.
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?
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.
I'm not too sure how unusual it is, but I have a satellite tracker on a pi 3 b+ based on satnogs. It helps other scientists get data out of cutsats and other satellites. It's pretty easy to set up once you know what to set up.
I once had a butler program on a pi 1 with WiFi chip back around 10+ years ago. No ai, just a bunch of batch scripts + espeak. It was a cool project that would tell us the weather, time, any to-do items, and internet usage ( att had a hard limit of 100gb and I used a script tu tell how much we used per month). Ran for a couple of years and then disassembled it. Still have the GitHub repo. This was many years before Alexa, Google, and the other such projects. It wasn't better at all (espeak sounds so robotic, even when tweaked).
I ran a Bitcoin miner on a pi and made -$4.50ish a month back a decade ago. It was my most popular wiki pages back when I self hosted one. People were really interested, but it never made any money. It was more of a proof of concept . It's pretty easy to compile, but hard to track down all the dependencies. That was waaaay before the asci miners came into play.
Not sure how unusual it is but I run openwrt x86 on a fanless Asus mini PC as my main router at home.
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. :)
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.
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
Probably the weirdest I've done was play doom on a sansa mp3 player with rockbox installed
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 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
Sometimes I'll start up ConnectBot, which is an android ssh client, on my meta quest. Then I connect to my laptop and attach to a running tmux session so I can use the laptop keyboard but see the text in a virtual window.
My actual laptop setup is pretty boring though
Now, not so unusual, I have pretty dull and standard "gaming" type PC running stock Debian, but about 20 years ago as a broke mofo I was running a phpBB forum off a wheezing Pentium MMX laptop with no screen (got ripped off a year prior) on Mandrake Linux. The whole thing was just loosely sitting under my bed. Managed to get a userbase of just under a hundred people before I lost interest. I was using Webmin to manage it from another PC.
I had to connect up an external monitor every time I needed to do something I couldn't do remotely. I learned so much from that laptop. "./configure, make, make install" became muscle memory.
My casual-browsing-only netbook is currently running on a RAID0 setup between the internal eMMC and the microSD card because I think it's funnier that way. Nothing useful's stored on there and it's one nixos-rebuild
away from being reinstalled so I don't mind the inevitable breakage.
Not THAT unusual, but... I have a Dell R520 server that was leftover/retired from work. I mostly use it for storage due to the amount of disk trays it has. I have all of these disks in a ZFS pool, leaving no actual drives for the OS. However, this was an old VM server, so it has an internal USB 2 port and a ridiculous amount of RAM, so the OS is booted from USB, and I don't use swap.
Boot performance is abysmal (on the rare occasion where I actually need to reboot), but once booted I notice no real downside to having the OS itself on really slow storage. Sure, it's somewhat slow to do os-related stuff such as apt-get, but it's not like I'm in a hurry when doing it. Plus other than updating stuff, the OS storage doesn't see a whole lot of changes/writes.
Now I just need to figure out how to economically attach these 40 additional SAS drives I have. It doesn't have to look good (i.e. fit in the same chassis. Or any chassis at all, for that matter), it just have to work. These additional drives are only 4TB each, but they were free.
Just started running Arch + KDE on a Kingston Traveller to experiment with setup. Installed from live usb iso and then ran archinstall to the same device.
Runs nicely on my dell xps laptop and my desktop with 3 monitors connected to an Nvidia 1070Ti.
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.
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 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.
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.
I use a very very minimal OpenSuse Tumbleweed KDE but I start the DE manually; startplasma-wayland or startx
I think my most unusual step os to select dvoark keyboard layout. Otherwise I'm pretty vanilla.
I've got a thunderbolt chip on an AMD motherboard, which doesn't usually happen, and I'm running an LG 5k monitor through it. I use an IBM model M over native PS/2. I've got a Ryzen 7, but a GTX 1060 cuz it still works. It's running Ultramarine Linux, based on Fedora.
i have a single box i use for data storage; backup; wifi; router; and switch.
it runs ubuntu on the bare iron with
- a windows 10 kvm/qemu vm with pci pass through on wifi to get 1 gig wifi speeds on intel in ap mode (intel won't allow it using linux drivers)
- a pfsense kvm/qemu vm for router & firewall to internet and with pci pass through on a 1 gig nic to gap the internet from the base ubuntu
- dns & ip masquerade along with kvm/qemu based sofware defined networking for windows, pfsense and ubuntu to forward all wifi and cabled network through to internet and
- connected via 3 gig nic and switch for much faster local data storage and backup on the ubuntu install.
- vpn and remote backup using pfsense for access to my setup from anywhere else in the world. (eg routing traffic from the office to my home connection for personal use and access to my data)
topographically, it looks like this, but in reality it's all one box:
┌────┐ ┌─────────────┐
┌───────────────────┤vpn │ ┌──────────────────┤windows (wifi│
▼ └────┘ │ └─────────────┘
┌──────────┐ │
│ internet │ │
└──────────┘ ▼ ┌───────┐ ┌──────┐ ┌───────────┐
▲ ┌─────────┐ │ubuntu │◄───────┤switch│◄─────┤ backups │
└────────────────┤ pfsense │◄─────────────────┴───────┘ └──────┘ └───────────┘
└─────────┘
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.
musl in a nutshell
Oracle cloud VM (free tier)
Remember to back that shit up rigorously, as Oracle is known to terminate free accounts with no warning (....which is fair for a free account imo)
You probably already know this but I thought I'd say it just in case
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.