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
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.
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.
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
A fellow en_DK user, I thought I was the only one.
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.
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 battery/wifi, but you can see that the volume icon only has a single “bar”). The name of the song is truncated to the maximum possible width and “cycles” through the name. Second picture also shows tofi which was opened under my cursor in an arbitrary position. BTW the header bar only appears for the floating Emacs window (so I can drag it with a touchscreen) using a GTK css hack.
Edit: Wow, I took the pictures 9 minutes apart and both the CPU and GPU temperatures are exactly the same (they both fluctuate slightly while idling).
Very neat!
Always nice to have inline images :D
Huh, for some reason I thought I had to upload the images to my instance to inline them. Thanks!
deleted by creator
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.
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.
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.
Not sure how unusual it is but I run openwrt x86 on a fanless Asus mini PC as my main router at home.
Do you use an external modem?
Yes I do. I have hooked up my x86 openwrt router to my fiber modem.
I want to use OpenWRT too but have no idea of the hardware, and we have cable here, and there is no supported router with cable. Do you know if I could just use some proprietary cable modem and attach that? Probably…
You can buy off the shelf hardware
I just have my Xfinity modem in bridge mode. They looked at me like I had two heads when I asked if they could tell me how to do it at the counter but it was trivial by searching the model number.
Then it’s unusual
That seems overkill. Why don’t you use something less power hungry?
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.
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.
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.
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.