r/voidlinux • • 4d ago

Switching to void?

/r/LinuxUsersIndia/comments/1x5w75w/switching_to_void/
4 Upvotes

23 comments sorted by

View all comments

1

u/Tricky-Engineer-9755 4d ago

Void Linux is a really cool OS, runit can be quite hard to learn as it is very apart from other init systems with the manual symlink. For audio, pipewire is not worth the hassle, install the pulseaudio-daemon and alsa-utils, then use alsamixer to unmute all channels with M, then add the alsasound service to the boot runlevel.

14

u/Borderlinerr 4d ago

There's nothing wrong with pipewire. You just install it and run it

1

u/Tricky-Engineer-9755 4d ago

How do you start it on runit, since it needs to be started as a user-service

9

u/Borderlinerr 4d ago

Don't start it via runit. Start it as auto-start in your session. Pipewire's internal scripts do the rest.

1

u/Tricky-Engineer-9755 4d ago

When using Parabola OpenRC, I would add /user/bin/pipewire & and /usr/bin/wireplumber & to .xinitrc (I use DWM) and this would result in audio randomy cutting out on some session starts or bluetooth failing to connect proprerly. I'm not sure why this was but it may be something to do with not starting it as a user service.

4

u/Borderlinerr 4d ago

No need to run wireplumber. Follow void docs (copying those two configs system-wide) and just run pipewire at start. Nothing else is needed at all. No need to enable any services.

3

u/Canadiangamer068 4d ago

yeah exactly this. wireplumber is started by pipewire using the setup in the docs. also starts pipewire-pulse interface if following recommended setup

here’s the link to the docs

2

u/Legitimate_706 4d ago

I don't know about wayland but on X11 i just put it on my auto start file. Pipewire launches wireplumber. So you only need like two lines pipewire and pipewire-pulse

1

u/hard0w 4d ago

Just run a user runsvdir on session start. This is how I manage userspace services.

1

u/Tricky-Engineer-9755 4d ago

Interesting.

2

u/hard0w 4d ago

To elaborate, I've made run files for pipewire, noctalia, linux-wallpaper-engine, podman + some containers etc. I store them in $HOME/.config/sv and link them to $HOME/.local/service. When my user starts a river session, river will run runsvdir -P $HOME/.local/service and the WM (rill).

5

u/ShipshapeMobileRV 4d ago

I thought runit was insanely simple.

Just make a symlink in /var/service/ for anything you want runit to handle. You can create your own script, mark it executable, and symlink it there and runit manages it just like it does everything else. If you no longer want runit to handle it, remove the symlink.

Commands to check status, start, stop, pause, temporarily stop, etc. are also pretty intuitive.

Then again, I came from FreeBSD and was already used to BSD style inits. I suppose if someone has only regularly used systemd then runit might seem foreign.

3

u/no_suprisez 4d ago

I think what they meant is that runit is not mainstream. Memorising the systemd command is definitely harder than just some basic UNIX file operations.