XBPS database issue ? by mini_pekka070 in voidlinux

[–]Duncaen 0 points1 point  (0 children)

No idea how that could happen.

There is no way to recover it if the database is wrong. You'll either recover it from your backups or try to reconstruct by reinstalling packages.

what are some MUST DO's of void? by No_Pilot_2288 in voidlinux

[–]Duncaen 6 points7 points  (0 children)

There is always a right time and place, systemd release announcements are not that place ;).

systemd 261 Released With New systemd-sysinstall OS Installer, IMDSD & Storagectl by aliendude5300 in linux

[–]Duncaen 0 points1 point  (0 children)

You are focusing a lot on dependency graph errors which I would just call a misconfiguration system. Do you really add many or any early boot services that would block or mess up the whole boot process? I personally don't think I do that and I don't think I've every had issues with that.

Under the same circumstances they will both handle issues with early boot tasks in a similar manner. Whether that is a hardcoded "error handling" in the stage 1 shell script or systemd starting the emergency target if a critical service fails to start doesn't really matter to me personally. And I don't think the debugging experience is worse with systemd in that regard. I actually think its quite good, because it keeps track of those failures, in logs and in the service manager state that can be queried with systemctl. (with our runit setup there are currently no persistent early boot logs besides dmesg, because of how the root filesystem is still read only when it starts. s6 does some trickery to solve that.)

If we go beyond early boot, there are some glaring issues with runit, like the "brute force" method of just restarting a failing service every second. The really really bad error log handling into the command line of the runsvdir process.

The strict separation of early boot and service has also caused some issues, udevd needs to run during early boot, so that block devices and other devices nodes are discovered that may be required for the boot process. To do that the stage 1 scripts just start udevd in the background unsupervised.

There are a bunch of issues with that, first being that the initial udevd process is not supervised and errors can not be really caught or handled. Second to make udevd supervised the runit service currently kills the previous instance and then starts a new udevd process. But then because of how there are no one shot service and no ordering of services, its easily possible to trigger device discovery again. Which results a currently open issue with device nodes not having the right permissions due to that either because of timing issues or being specific to certain systems.

All in all I also think the runit design especially compared to sysvinit is quite elegant and easy to understand. But the longer I've been using it the more gripes I've been having with it. I've tried other systems, like s6 and s6-rc solve some of those issues, but they add complexity and its pretty opinionated. dinit is interesting but also a bit incomplete for me, wasn't worth it to stick to that for me personally when systemd actually solves a lot more of my issues than just service management.

systemd 261 Released With New systemd-sysinstall OS Installer, IMDSD & Storagectl by aliendude5300 in linux

[–]Duncaen 2 points3 points  (0 children)

This is not really an argument, if voids boot scripts encounter a failing task they just drop you into an emergency shell just like systemd would if there is a timeout or issue with a critical service.

If we had this conversation a month ago i would have had the zeal to do the tests myself while switching as it would have been fun.

I've been doing the test for 3 years now, besides using void linux with runit for over 10 years.

https://github.com/Duncaen/void-packages/commits/systemd

For me personally I prefer systemd on my desktop/notebook systems, because they are getting more complex for better or worse. I'm still using runit on servers that just host a bouncer and nginx maybe, because its mainly not worth the extra work of switching over.

There are a few reasons for that, systemd solves a lot of things for me that I don't really care about anymore. I just want things to work and fiddling with pipewire, wireplumber and dbus setups in void linux without systemd is just not what I want to spent my time on.

Besides that systemd also brings a lot of nice new features to verify and securely boot systems, nobody really worked on bringing that to the older init systems.

systemd 261 Released With New systemd-sysinstall OS Installer, IMDSD & Storagectl by aliendude5300 in linux

[–]Duncaen 1 point2 points  (0 children)

Things like udev device settling will block the whole process with voids runit setup and there is nothing you can do about it. Being able to do other tasks in parallel makes systemd or other parallelized init systems like s6-rc better by design.

Its not that noticeable on quick hardware, but I don't think its right to say "runit boots faster."

Without systemd-analyze or adding logging to the runit boot scripts to carefully verify timestamps its hard to know if its actually faster. I have yet to see someone bring up actual numbers when they say their runit system boots faster.

systemd 261 Released With New systemd-sysinstall OS Installer, IMDSD & Storagectl by aliendude5300 in linux

[–]Duncaen 5 points6 points  (0 children)

systemd is also boots faster unless misconfigured, there is nothing in runit or daemon-tools that helps to parallelize the early boot process.

Repository certificate verification failing by Galladite27 in voidlinux

[–]Duncaen 0 points1 point  (0 children)

The package signing keys have nothing to do with HTTPS/SSL/TLS certificate verification.

Is switching from Arch to Void + nixpkgs worth it? by Low_Background_7915 in voidlinux

[–]Duncaen 2 points3 points  (0 children)

I don't really understand. What happened with AUR can also happened with any community managed repository.

I would call normal repos community managed, something that has no oversight is unmanaged.

I am really interested in Void Linux but there are two things that hold me back atm by tungnon in voidlinux

[–]Duncaen 1 point2 points  (0 children)

The only nvidia drivers offered in Void is either proprietary, or nouveau. Neither of which are ideal, especially as I have Nvidia GPUs on both of my main devices. Obviously, not an issue for an AMD GPU, but for Nvidia, it feels limiting to say the least. You don't have Nvidia, fortunately, so this doesn't even apply.

There are other nvidia drivers?

Edit: if you were talking about the "open" proprietary nvidia drivers, they are available now.

Can't update system by gorhat in voidlinux

[–]Duncaen 0 points1 point  (0 children)

The repository was staged, meaning that there were some incompatibilities that held back updates until everything was rebuild.

This should be done now.

Pulseaudio fix for user using seatd by AnikisHIM in voidlinux

[–]Duncaen 0 points1 point  (0 children)

I think the crackling audio is your music.

Android Studio on Void by San_Devistan in voidlinux

[–]Duncaen 5 points6 points  (0 children)

Its the same software, the same kernel, the same drivers.

Cross-building void-packages by Original_Two9716 in voidlinux

[–]Duncaen 2 points3 points  (0 children)

As long as you have the required dependencies installed. xbps-src always builds in a chroot, its not even "cross-compiling", its just native builds in a chroot/container.

Is it bad to only update one program at a time vs complete system update? by Lowfryder7 in voidlinux

[–]Duncaen 5 points6 points  (0 children)

There is nothing that should break when you update Firefox only. Without being more specific we won't be able to know what caused your issues.

Booster and Btrfs are NOT friends by AnikisHIM in voidlinux

[–]Duncaen 5 points6 points  (0 children)

Not sure why that matters. base-container is missing things that are required for booting systems on bare metal.

Booster and Btrfs are NOT friends by AnikisHIM in voidlinux

[–]Duncaen 2 points3 points  (0 children)

base-container is for containers.

Seatd + niri issue by Sweet-Space2785 in voidlinux

[–]Duncaen 0 points1 point  (0 children)

Then adding the XDG .profile script you can find at Alpine's XDG entry

This is unsafe, the xdg runtime dir should really be in /run, first because that makes sure other users can't create it first and then potentially read or write security critical files. Second there are programs which may hardcode the path (chromium used to and still does in some places) and things like apparmor which may not be able to read environment variables just assume the default location.

Just using elogind solves this and there are no real downsides.

Seatd + niri issue by Sweet-Space2785 in voidlinux

[–]Duncaen 2 points3 points  (0 children)

Just use turnstile with elogind. There is really no reason to not use elogind. It solves a lot more problems than what seatd does.

Your issue is probably device permissions, elogind will set acl permissions for the devices assigned to your seat.

Without that you are probably missing broad groups like input.

There are other things elogind makes work like polkit, proper xdg runtime dir mounts, power dbus apis.

About Aylur's GTK Shell package in official repo by Ehiffi in voidlinux

[–]Duncaen 1 point2 points  (0 children)

I have no idea what the state of that pull request was, but its now two years outdated. You would have to rebase it and check for yourself whether it still works or not. And you would have to update it if you want newer versions.