I found this article interesting for understanding who would like Void:
Void Linux covers use cases where a simple, small, reliable, modular, maleable Linux is needed. Void Linux works best when administered by a POSIX-aware admin or a user with some degree of programming or scripting chops, who doesn’t object to rolling up his/her sleeves and reaching into the internals. Someone who wants absolute control over the system, without having to manipulate, push aside, or drill through too many layers of abstractions. Someone who either doesn’t have the funding to outsource administration, or believes “if you want it done right, do it yourself.”
And it also gives reasons some might not like Void. This one applies to me:
Some businesses and individual prioritize having a distro used by millions, so that when they have a problem, it’s likely that a simple web search can turn up instances of that same problem, and solutions that worked. And if need be, it’s easy to find and talk to others using that distro. This paragraph’s use case is best handled by Ubuntu, Debian, OpenSuSE, or Redhat.
If I needed to avoid systemd, FreeBSD would be my first consideration.
While we’re hating on the work of Lennart Poettering, does anyone have a sane config for pulse audio? I’d like a config where the quality isn’t pegged at 48000/16.
Whenever I change the stock settings in daemon.conf, I get choppy garbage. I’m using a USB to SPDIF converter to a Denon receiver. Spec says it supports 96000/24.
I’m trying to setup vfio passthrough for my graphics card on NixOS and I’m having trouble getting the card to not bind to the Nvidia drivers. I have added both nouveau and nvidia to the blacklist in modprobe and also included it in my kernel command line:
If you don’t use the proprietary nvidia driver, I would start by ininstalling it.
As for the modules being loaded, that could be because your initramfs doesn’t know you’ve blacklisted the nvidia and nouveau modules. Check the NixOS documentation on how to do that, I’ve never used that distro myself.
thanks for the reply, I finally got this working. I was referencing the cards id directly but decided to switch to using a vfio override script that I use on Fedora and it seems to work much better.
I changed my boot config to include a postBootCommand to run the script and my modprobe config to reference it also:
then modified the vfio override script to include the PATH for my bin folder on NixOS and it binds to the vfio driver on boot now.
#!/bin/sh
export PATH='/run/current-system/sw/bin/'${PATH:+':'}$PATH
for i in $(find /sys/devices/pci* -name boot_vga); do
if [ $(cat $i) -eq 0 ]; then
GPU=$(dirname $i)
AUDIO=$(echo $GPU | sed -e "s/0$/1/")
echo "vfio-pci" > $GPU/driver_override
if [ -d $AUDIO ]; then
echo "vfio-pci" > $AUDIO/driver_override
fi
fi
done
modprobe -i vfio-pci
you should be able to have postBootCommands setup like this. Its also the more proper “NixOS” way todo it since it doesnt rely on a external dependency that can change without nixs knowledge of it
postBootCommands = ''
export PATH='/run/current-system/sw/bin/'${PATH:+':'}$PATH
for i in $(find /sys/devices/pci* -name boot_vga); do
if [ $(cat $i) -eq 0 ]; then
GPU=$(dirname $i)
AUDIO=$(echo $GPU | sed -e "s/0$/1/")
echo "vfio-pci" > $GPU/driver_override
if [ -d $AUDIO ]; then
echo "vfio-pci" > $AUDIO/driver_override
fi
fi
done
modprobe -i vfio-pci
''
Have a funny little problem where I don’t even know where to begin looking.
System: RPi 2 with Alpine linux 3.7 (Kernel 4.9.65) used as LTE router
Problem: In my LTE stick is a microSD card reader in which is a card but that card will not be detected on insertion or on reboot and will only be deteced when I run things like “blkid”. How is that even possible? So the kernel doesn’t probe/poll the card reader? How do I solve that or even look for a solution?
The kernel auto detects devices on insertion. I’m not sure if blkid/lsblk does a more aggressive poll or something that the card possibly responds to, but that would be my first bet.
Second bet is that the SD card isn’t available until the antenna is ready, so it may not get picked up by udev because of that.
Thanks thats a much cleaner solution, my only issue is that the Modprobe line also has to reference that same file and as far as I’m aware it can’t run the commands directly like postBootCommands can e.g.
Thanks for answering, thought nobody ever would be
Alpine linux doesn’t use “udev” nor “systemd” but “mdev” and “openrc”
But the fun thing is, that the kernel detects the LTE stick > modem > ncm interface > card reader (sda) and then stops detecting. But as soon as I run “blkid” it also detects “sda1”. Looks like this:
usb 1-1.4: new high-speed USB device number 6 using dwc_otg
usb 1-1.4: New USB device found, idVendor=12d1, idProduct=1506
usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.4: Product: MOBILE
usb 1-1.4: Manufacturer: MOBILE
option 1-1.4:1.0: GSM modem (1-port) converter detected
usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB0
option 1-1.4:1.1: GSM modem (1-port) converter detected
usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB1
huawei_cdc_ncm 1-1.4:1.2: MAC-Address:
huawei_cdc_ncm 1-1.4:1.2: setting rx_max = 16384
huawei_cdc_ncm 1-1.4:1.2: NDP will be placed at end of frame for this device.
huawei_cdc_ncm 1-1.4:1.2: cdc-wdm0: USB WDM device
huawei_cdc_ncm 1-1.4:1.2 wwan0: register ‘huawei_cdc_ncm’ at usb-3f980000.usb-1.4, Huawei CDC NCM device,
usb-storage 1-1.4:1.3: USB Mass Storage device detected
scsi host0: usb-storage 1-1.4:1.3
scsi 0:0:0:0: Direct-Access TF CARD storage ffff PQ: 0 ANSI: 2
sd 0:0:0:0: [sda] Attached SCSI removable disk
Nothing after that without running “blkid”
After running “blkid”:
You can use brightnessctl to control the backlight of your display. first install it from the repo
sudo dnf install brightnessctl
then edit your i3 configuration file to contain something like this:
bindsym XF86MonBrightnessUp exec brightnessctl s 20%+
bindsym XF86MonBrightnessDown exec brightnessctl s 20%-
XF86MonBrightnessUp and down will bind to the brightness control keys on your keyboard but you can set them to whatever you want and brightnessctl s 20%+/- will increase/decrease the backlight by 20%.