The officially official Devuan Forum!

You are not logged in.

#1 Re: Hardware & System Configuration » (HowTo) repair wrong permission-set? » Yesterday 16:56:28

Mine:

/usr> find ! -group root -ls
  1000852     16 -rwxr-sr-x   1 root     utmp        14416 Nov 12  2024 ./lib/x86_64-linux-gnu/utempter/utempter
   980836     52 -rwsr-xr--   1 root     messagebus    51272 Mar 10  2025 ./lib/dbus-1.0/dbus-daemon-launch-helper
     4612      4 drwxr-xr-x   4 mercury   mercury        4096 Aug 10 02:00 ./share/runit/sv.now/ntpsec
     4620      4 drwxr-xr-x   2 mercury   mercury        4096 Aug 10 02:00 ./share/runit/sv.now/ntpsec/.meta
......  a bunch of stuff in ./share/runit/ ..... not sure that's actually correct but it works so w/e.....
   935307    420 -rwsr-xr--   1 root      dip          428424 Feb 17  2025 ./sbin/pppd
   923748     44 -rwxr-sr-x   1 root      shadow        43256 Jun 29  2025 ./sbin/unix_chkpwd
   924273     32 -rwxr-sr-x   1 root      shadow        31256 Apr 19  2025 ./bin/expiry
   924270    112 -rwxr-sr-x   1 root      shadow       113848 Apr 19  2025 ./bin/chage
   926142     52 -rwxr-sr-x   1 root      crontab       51936 Jun 13  2025 ./bin/crontab

This is a pretty minimal 6.1 excalibur.

#2 Re: Installation » avoid reinstalling nvidia drivers for every kernel update? » 2026-10-03 21:47:33

I believe you're describing the same issue I had. After a kernel update, run:

sudo dpkg-reconfigure nvidia-kernel-dkms

Video is reliant on nvidia dkms modules, which for some reason aren't automatically rebuilt for the new kernel, hence the need to do it manually. dpkg-reconfigure will do it (which is what I use), as will reinstalling the nvidia driver completely (as you found).

Gemini says this will also work:

sudo dkms autoinstall

But I have not tested it.

As to how to do it automatically... one could put together a script which checks whether dkms modules exist for the current kernel, rebuild them if not, and set that script to autorun. But that seems like a lot of work.

#3 Re: Freedom Hacks » The Absurdist Comedy » 2026-10-02 03:04:41

For those who prefer single commands, you can just list all the packages you don't want in the apt remove command, including the ones that aren't installed yet. That will prevent their installation as dependencies/recommends/alternatives, and if that is impossible, apt will say so and tell you why.

#4 Re: Desktop and Multimedia » [SOLVED] Steam is being problematic without SystemD » 2026-09-29 03:52:39

The OP was clearly having some dbus issues. There was not enough investigation done to try to fix it, just a switch to a different distro. If OP is satisfied with that, that's good enough for them. However, Steam does work in Devuan as many users, including myself, can confirm.

#5 Re: Hardware & System Configuration » [SOLVED] tzdata from daedalus-security is a deb12 build on a deb13 system » 2026-09-25 23:46:48

This is what happens when your product has a version number and a codename, and is based on another product that has a version number and a codename, and version numbers and codenames of the base and derivative product are used haphazardly all over the place, and none of them can be naturally inferred to match without doing research.

Then you got the rolling designations of stable, oldstable, oldoldstable....

#7 Re: Desktop and Multimedia » Chromium-based browsers killed HW accel for some old video cards » 2026-09-19 04:16:52

I know there are other solutions, and in fact I have yt-dlp based scripts to play videos. However, that's not a solution for Netflix (720p works just fine if HW accel is available) and (I presume) similar services. FreeTube was also the most user friendly UI, but the devs really don't care about any kind of legacy support.

I looked into pipe-viewer a while back but had some problems. Maybe I'll try it again.

This post was intended as info for people who might find their browser performance unexpectedly bad. In this case, it's not your imagination or your system "getting old". It's a real code change that degrades performance.

#8 Re: Desktop and Multimedia » [SOLVED] xdg-desktop-portal xdg-open and mimetypes » 2026-09-19 01:36:12

Try these first:

sudo update-desktop-database
update-desktop-database ~/.local/share/applications/

That should pick up mimetype changes. (Though it should've been already done automatically.)

If that has no effect, you can try to manually set the handler:

xdg-mime default '/home/JnvSor/.local/share/applications/steam.desktop' x-scheme-handler/steam

I don't have answers to your questions beyond this.

#9 Re: Hardware & System Configuration » Radeon HD 5770 at G27Q20 monitor, how set 2560x1440 mode? » 2026-09-17 23:33:06

That's 2056px not 2560px horizontal. That'll work but it's not the native resolution of the monitor.

You can try the native resolution with 30Hz (nonstandard) or 40Hz (very nonstandard).

xrandr --newmode "2560x1440_30.00"  119.217 2560 2608 2640 2720 1440 1443 1448 1461 +hsync -vsync
xrandr --addmode HDMI-0 "2560x1440_30.00"

xrandr --newmode "2560x1440_40.00"  159.609 2560 2608 2640 2720 1440 1443 1448 1467 +hsync -vsync
xrandr --addmode HDMI-0 "2560x1440_40.00"

#10 Re: Hardware & System Configuration » Radeon HD 5770 at G27Q20 monitor, how set 2560x1440 mode? » 2026-09-17 02:26:36

also now working

,
Did you mean not working?

I'm close to certain EDID is not the problem so patching it will do nothing.

I notice the modelines you used are for 50Hz. Try the 60Hz from my post. Probably won't work, but just to confirm.

#11 Desktop and Multimedia » Chromium-based browsers killed HW accel for some old video cards » 2026-09-16 18:41:13

Mercury
Replies: 5

Topical to Devuan since this OS is often used to give new life to old systems.

Starting with Chromium 146 (March 2026), the minimum requirement for hardware video acceleration is OpenGL ES 3.0. Some GPUs manufactured around 2010, especially those on some laptop or low-power integrated solutions, only provide OpenGL ES 2.0.

This is a hard requirement. On pre-3.0 GPUs hardware acceleration, including WebGL, will not work. This affects every Chromium-derivative browser, including Chrome, Edge, Vivaldi, Opera, Brave, etc. which takes up Chromium v146 and later.

The most noticeable real-world effect of this is in-browser videos (YouTube, Netflix, etc.) stuttering or becoming unplayable/unwatchable at resolutions that previously worked fine. The browser uses entirely CPU rendering where previous versions could offload some work to the GPU, creating a rendering bottleneck.

The only solution that retains GPU acceleration is to remain at Chromium version 145.

Note this also affects FreeTube, because it is also built on Chromium code, and there is no solution here because old FreeTube versions no longer work with recent changes to YouTube.

The last problem is the one that hit me. I used FreeTube to watch videos since it gave acceptable performance even on old systems. That's no longer possible.

Reddit thread: https://www.reddit.com/r/opengl/comment … illed_gpu/

#12 Re: Hardware & System Configuration » Radeon HD 5770 at G27Q20 monitor, how set 2560x1440 mode? » 2026-09-16 16:21:28

deepforest wrote:

When i am try apply custom modes using cvt or cvt12 i get "No signal" from monitor?

How exactly are you using these?

Maybe it opensource Radeon driver issue?

Possibly.

HDMI 1.3 officially has a max pixel clock of 340MHz so this monitor's desired clock (241.5Mhz) should be supportable.

The EDID does not seem to be the issue. What does a plain xrandr output? Is 2560x1440 available?

Have you tired adding a custom mode using xrandr?

# 1. Define the new mode using the CVT-RB parameters
xrandr --newmode "2560x1440_60.00"  241.50  2560 2608 2640 2720  1440 1443 1448 1481 +hsync -vsync

# 2. Assign the mode to your active display output
xrandr --addmode HDMI-0 "2560x1440_60.00"

# 3. Switch the display to the new resolution
xrandr --output HDMI-0 --mode "2560x1440_60.00"

#13 Re: Desktop and Multimedia » No move to trash can on symbolic linked folders » 2026-09-15 21:40:52

I use LUKS encryption but only one partition and trashing works normally. I suspect that like Dutch_Master said, there is an issue with "boundary crossing" from one partition to another.

Try it from command line:

gio trash /path/to/file

That might at least explain why it can't.

#14 Re: Hardware & System Configuration » Is there a way to find/open usb device without terminal commands? » 2026-09-14 21:48:01

CD drive should appear in /media/cdrom when there is a readable disc inside.

Regular USB flash drives should also appear under /media but you need the gvfs package installed (which it should be if you picked the typical options during install, basically anything other than minimal).

The camera will depend on how it presents itself. If it's an MTP device you will need the appropriate packages to read from it.

#15 Re: Documentation » Changes in sudo (upstream) » 2026-09-14 21:40:47

kapqa wrote:

is this warranted behaviour or is it better to login as root user?

This is, it seems, a matter of some opinion and debate. I'm of the opinion that it's your system and you should use it in the way that works for you, cognizant of the risks you take by doing so. Too many people who speak of open source and "freedom" have far too rigid opinions of how things ought to be done.

fsmithred wrote:

What you should not do is log into a desktop session as root.

I hope that's not a suggestion that all root tasks should be done through the command line only. I want my GUI file browser and text editor with a mouse cursor, right-click, clipboard, and tabs. I'd have given up on Linux long ago if I had to do all the debugging and customization exclusively in the CLI.

#16 Re: Installation » system crash after upgrade to excalibur » 2026-09-14 02:28:45

My apologies. I meant Ctrl+Alt+F2, but that might actually point to your GUI session, so try Ctrl+Alt+F1 also. One of those should, under normal circumstances, switch you to a text-mode terminal where you can do additional debugging. If nothing happens after a few seconds of either key combo, then your system has actually stopped responding to input.

#17 Re: Documentation » Changes in sudo (upstream) » 2026-09-14 02:11:30

What is the "proper" way to run admin tasks? For example, what "should" I be using to edit system-wide conf files?

#18 Re: DIY » How can I run a script on resume from hibernation? » 2026-09-14 01:35:21

This is timely as I had a similar problem on my checklist. After consulting Gemini and getting past its initial wrong answer, I got the following, which works with elogind, which is what I got installed by default in Devuan:

Create /etc/elogind/system-sleep/your_script.sh

Make it executable.

Fill the contents:

#!/bin/sh
if [ "$1" = "post" ]; then
    # Your wakeup commands here
    echo "Woke up at $(date)" >> /tmp/wakeup.log
fi

This works. The $1 variable will be either "pre" or "post" for suspend or wakeup respectively.

ralph.ronnquist wrote:

iOr maybe you rely on logind in which case you'd check out man loginctl instead

...which gives the bad info (as Gemini did initially) that scripts in [/usr]/lib[64]/elogind/system-sleep will be executed. In fact, empirical testing shows they are not. Only those in /etc/elogind/system-sleep/ are, which shows once again that bad documentation is worse than no documentation. I suppose I should be expected to file a bug to fix the docs?

#19 Re: Installation » system crash after upgrade to excalibur » 2026-09-12 18:08:50

Your post does not have much information from which to diagnose.

How long after the desktop loads do you observe the crash?

When the cash occurs are you able to switch to a basic console with Ctrl+Alt+2?

[Edit: That last part was a typo; I meant Ctrl+Alt+F2, but you should also try Ctrl+Alt+F1]

#20 Re: Desktop and Multimedia » What DE do you prefer to use on Devuan? » 2026-09-11 21:38:40

XFCE works well enough for me.

Many years ago I tried GNOME and found it so unfriendly and unintuitive that it nearly put me off Linux entirely. It was downright odd in how it appeared simple but nothing about it jelled with me, like a UI "uncanny valley".

I moved to KDE for a while and liked it well enough. It wasn't quite as simple but it knew what it wanted to be and did it well. Pretty to look at. I gave it up simply because I wanted something less resource-hungry.

XFCE isn't perfect but I found my groove with it and have been using it for a decade now. I stopped chasing perfection in favor of consistency.

#21 Re: Documentation » An unofficial Guide to runit on Debian-derived distros (version 2) » 2026-09-11 21:27:00

Reposted with updates because it's impossible for me to edit the previous version of this topic.

Error reports and contributions are welcome.

#22 Documentation » An unofficial Guide to runit on Debian-derived distros (version 2) » 2026-09-11 21:23:18

Mercury
Replies: 8
About this guide

This guide is intended to describe the behavior, use, and configuration of the runit init system on Debian-descended Linux distributions, including Devuan and its derivatives. It exists because important parts of the official runit documentation are misleadingly incomplete or outright wrong as applied to the version of runit packaged for Debian and its descendants.

This guide is a best-effort, based on hobbyist-level analysis. It may, and probably does, contain material errors. This guide is current as of 2026, and applies to runit version 2.2.0 and runit-services version 0.10.1 as available in the Debian package repositories. This guide comes with no warranty whatsoever. Copying of this content, in part or in whole, with or without modification, is permitted and encouraged, and no attribution is required. This guide is licensed under the WTFPL version 2 or any later version.

Directories

Runit service files are stored as follows. ( 🔗︎ indicates a symbolic link)

/etc/service/ 🔗︎ /etc/runit/runsvdir/current/ 🔗︎ /etc/runit/runsvdir/default/
Contains the currently active (enabled) services under runit supervision/control. Runit will react immediately to the creation or removal of items here. In a typical installation, most items in this directory will be symbolic links to /usr/share/runit/sv.now/ or to /etc/sv/, but links to services located elsewhere are also possible and will function as long as the service is properly defined at the target

/etc/sv/
Contains installed (but not necessarily enabled) local services. Services installed and managed by the local admin and/or manually converted from other init systems (systemd, sysVinit) should exist here. Enabled services should be the targets of symbolic links in /etc/runit/runsvdir/default/ (see above)

/usr/share/runit/sv.current/ 🔗︎ /usr/share/runit/sv.now/
Contains installed (but not necessarily enabled) stock services, that is, those installed by packages and managed automatically. Services existing here are “runtime copies” pulled from /usr/share/runit/sv.src/ (see below) when certain conditions are met to make them available for use. Enabled services should be the targets of symbolic links in /etc/runit/runsvdir/default/ (see above)

/usr/share/runit/sv.src/ 🔗︎ /usr/share/runit/sv/
Contains stock service definitions provided by packages. This directory is an extensive library of items only some of which apply to the current OS configuration. In general, these will never be the targets of symbolic links in /etc/runit/runsvdir/default/. When certain conditions are met, indicating that specific services should be enabled, they will be automatically copied to /usr/share/runit/sv.now/ and the symbolic links in /etc/runit/runsvdir/default/ will be created to enable them. (See the section “Service Sync” below)

Service Sync

This important behavior lacks official documentation. At boot time, a service sync occurs.

Services available in /usr/share/runit/sv.src/ are checked, and if they are applicable to the currently configured OS, they will be synced via a copy operation to /usr/share/runit/sv.now/ where they are known as “runtime copies” and are considered properly installed. By default, they will then be automatically enabled by creating symbolic links in /etc/runit/runsvdir/default/ targeting these runtime copies. (See the section “Service Auto-enable” below).

Services are considered applicable if they include a /usr/share/runit/sv.src/${servicename}/.meta/bin file containing the name of an executable program present on the current OS configuration. In general, every service definition in ⋯/sv.src/ should contain this file. If the service definition does not contain this file, or—more likely—if the executable program referenced by it does not exist, then the service is presumed to be inapplicable and a runtime copy will not be created.

The sync operation will apply even to services that are already installed, so an updated service definition in ⋯/sv.src/ will automatically propagate to ⋯/sv.now/.

Conceptually, this process checks if any service executables actually present on the system have corresponding runit service definitions available and so can be supervised/controlled by runit. If they do, the service definition is copied from the ⋯/sv.src/ library and installed (or updated, as the case may be) as a proper runit service in ⋯/sv.now/.

If the service definition in /usr/share/runit/sv.src/ is removed, there will be no effect on already-installed services in ⋯/sv.now/. If the executable program referred to by the service ⋯/.meta/bin file is removed, the runtime copy in ⋯/sv.now/ will not be affected and will remain installed for potential future use. However, the service will be automatically disabled at next boot by removing its symbolic link in ⋯/default/.

This process is triggered by the helper script /usr/lib/runit/trigger_sv, which is called directly from runit level 2 (/etc/runit/2) at each boot. trigger_sv further calls cpsv which manages the installation of applicable services (that is the selective copy from ⋯/sv.src/ to ⋯/sv.now/).

To disable the service sync entirely, create a symbolic link /etc/runit/atomic.upgrade to target /usr/bin/true. trigger_sv will call atomic.upgrade preferentially over cpsv. By making this a no-op, the entire sync process is bypassed and the set of installed services remains unchanged. This method may also be used to link to a script with custom service sync/copy logic that works with a curated list of services or performs more complex operations. Note that atomic.upgrade must target an executable file to be effective.

Service Auto-enable

This important behavior lacks official documentation.

At each boot, any services located in /etc/sv/ or in /usr/share/runit/sv.now/ are automatically enabled, unless they have been explicitly disabled by the local admin.

The services in those directories are placed under runit supervision/control by creating symbolic links in /etc/runit/runsvdir/default/ targeting them. (⋯/default/ is the directory containing enabled services and is actively and continuously monitored by runit during normal operation).

If the same service name exists in both /etc/sv/ and ⋯/sv.now/, the one in /etc/sv/ will be preferred as the target. This allows the local admin to override package-provided services with locally customized versions.

If the executable program referred to by the service ⋯/.meta/bin file (if one exists) is removed, the service will be automatically disabled at next boot by removing its symbolic link in ⋯/default/. (Conceptually this is a clean-up operation.)

This process is managed by the helper script /usr/lib/runit/trigger_sv, which is called directly from runit level 2 (/etc/runit/2) at each boot. (trigger_sv also calls cpsv or atomic.upgrade as described in the section “Service Sync” above.)

To override auto-enable behavior for a specific service, create a symbolic link in ⋯/default/, matching the name of the service with the addition of a leading dot, and remove the regular service link if it exists. For example, to disable the cron service, create the symbolic link /etc/runit/runsvdir/default/.cron 🔗︎ /usr/share/runit/sv.now/cron and delete the symbolic link /etc/runit/runsvdir/default/cron 🔗︎ . These actions can be performed in one command using the update-service utility. See the section “Disabling and Enabling Services” below for more details.

There is no intended configurable way to override auto-enable behavior globally for all services.

SysVinit Emulation

This important behavior lacks official documentation.

Runit will automatically start sysVinit services enabled at runlevel 2 (those in /etc/rc2.d/), if a runit service with the same name is not installed. The purpose is to maintain a reasonably functional system by using sysVinit services for which runit variants are not available or installed. The emulation logic checks for installed runit services in /usr/share/runit/sv.now and /etc/sv/ and any enabled services in /etc/service/ to determine if a runit service with a matching name exists.

If both a sysVinit and runit service with the same name exist, the sysVinit service will not be started, regardless of whether the runit service is currently enabled. This means that if the user installs a runit service and disables it, the logic presumes that the user wants the service disabled altogether, and the sysVinit alternative is not desired. If the runit service is enabled, it will be used preferentially over its sysVinit variant.

This process is managed by the helper script /lib/runit/run_sysv_scripts, which is called directly from runit level 2 (/etc/runit/2) at each boot.

The following files can be used to override the default behavior described above. The files do not require any content. Only their existence is checked by the script logic.

/etc/runit/no.emulate.sysv
This file will disable sysVinit emulation completely.

/etc/runit/override-sysv.d/${servicename}.block
This file, matching the name of the service with the addition of a .block extension, will disable the emulation of that specific sysVinit service in all cases, even if a matching runit service does not exist.

/etc/runit/override-sysv.d/${servicename}.sysv
This file, matching the name of the service with the addition of a .sysv extension, will enable the emulation of that specific sysVinit service in all cases, even if a matching runit service (whether disabled or enabled) exists.

Note: A bug in runit-services versions 0.10.0 and earlier may cause a sysVinit service to start even when the matching runit service is installed and enabled, and even when a .block file is present for that service, which may cause unpredictable or buggy behavior. This has been observed to occur with login managers such as slim, causing login loops. This is caused by faulty script logic in dbus.dep-fixer, included in the runit-services package. This bug was corrected in runit-services version 0.10.1.

Disabling and Enabling Services

Official runit documentation states that simply deleting the service's symbolic link within /etc/runit/runsvdir/default/ will disable the service. However, because of the auto-enable behavior described in the “Service  Auto-enable” section, this change will not persist across reboots for any services located in /etc/sv/ or in /usr/share/runit/sv.now/ (which together typically comprise almost all runit services). Deleting the link in ⋯/default/ in that case will disable the service only for the current session, and the service will be automatically re-enabled at next boot.

This does not apply to services located outside those two standard directories.

The auto-enable behavior will be inhibited by the presence of a symbolic link in ⋯/default/ matching the name of the service with the addition of a leading dot. For example, /etc/runit/runsvdir/default/.cron 🔗︎  will disable the cron service, and this effect will persist across reboots. Note that in runit versions 2.3.0 and earlier, this file must be a valid symbolic link, and its target must be a directory to have the proper effect. Typically, the link targets the directory of the disabled service, but this is not strictly necessary, and linking to an empty dummy directory may be used to pre-emptively disable (or “blacklist”) a service before it is installed. Starting with runit 2.3.1 this effect may be achieved using a regular empty dotfile.

Runit will not start any service only linked by a dotfile in ⋯/default/, but if (for whatever reason) both a dotfile and regular symbolic link for a particular service exist there, then that service will start. Such a situation is typically the result of an error and may be regarded as a misconfiguration.

In general, directly adding, removing, or modifying the links in /etc/runit/runsvdir/default/ is not recommended. Debian-packaged runit provides the update-service command-line utility to manage services. This utility will manage symbolic links in ⋯/default/ and make other changes to persist service status.

Quick reference:

To enable/disable a service:
update-service --add service-directory
update-service --remove service-directory
These commands will, respectively, add and remove a service from runit supervision. This is accomplished by the creation and deletion of the appropriate symbolic links in /etc/runit/runsvdir/default/, as described above.

To set default service state:
update-service --auto service-directory
update-service --noauto service-directory
These commands will set the service to, respectively, started (“up”) and stopped (“down”) at system boot. By default any installed services are automatically started at boot time unless they have been marked not to be. This is accomplished by placing a down file within the service directory. The existence of this file indicates to runit that the service should not be auto-started at boot.

In any of the above commands, service-directory may be the full path to the service or only the basename (final part of the path; typically equal to the name of the service). In the latter case, the directories /etc/sv/ and /usr/share/runit/sv.now/ are searched, in that order, for the service, and the command is applied to the first one found.

See the manual page for more information.

Tips and Tricks

• To increase runit logging verbosity, create the file /etc/runit/verbose. This file does not require any content. Only its existence is checked. Runit logs its boot-time output to /var/log/boot.

• To list all enabled runit services and their paths, use this command:
for svc in $(update-service --list); do update-service --list $svc; done
There is currently no way to get this output from a single invocation of update-service, so the for-loop is necessary.

[More content to be added]

#23 Re: Hardware & System Configuration » rupee currency symbol (₹) » 2026-09-11 07:42:19

Xmodmap is a very commonly suggested quick-and-dirty solution and it does work, but it's a patch over a missing or incorrect xkb layout, which is what should really be fixed.

What is the output of setxkbmap -verbose 10? That will show what layout and additional options are being used.

If the command is not found, you need to install the x11-xkb-utils package first.

#24 Re: Forum Feedback » The view count is replenished every time I open my topic » 2026-09-10 18:35:10

Counting unique page views (i.e. different users, not just the same user over and over) has been done since the 1990s...

I don't think OP was worried about inflating the reported viewership of his own post, but that the current viewership mechanic can be easily abused by others.

#25 Re: Installation » [SOLVED] Chose runit but getting mashup of SysV and Runit » 2026-09-10 17:08:07

I wrote up a guide on runit after a having lot of confusion about what I was seeing. The sysVinit emulation done by debian-runit can be turned off but I don't know if that would yield a usable setup.

I notice your runit-services is a bit old. There's a bugfix in 0.10.1 that I highly recommend getting. You might need to get it from backports.

Curious what your final decision is/was.

Board footer

Forum Software