The officially official Devuan Forum!

You are not logged in.

#1 Re: Freedom Hacks » what about "turnstile" for user services? » 2026-02-09 01:31:59

i develop shed, which is simpler as it is written in posix shell, it does some simple and rudimentary implementation of XDG_RUNTIME_DIR management, service files are just simple key=val files, it has multiple shortcomings as of right now as in spite of some users being interested and even using shed i'm the sole developer.

shed is intended to eventually provide the expected functionality of what debian defines as "x-session-manager" however at the time it does not and needs to be started before the window manager in the xsession, at the moment the design considers only x11 but eventually it aims to be agnostic to the session type so it can be used for tty sessions, x11 sessions, wayland sessions and even ssh sessions, it implements exactly 0 dbus anything.

if anyone is curious here's the repo https://git.devuan.org/eylles/shed it has gathered very low traction specially here on the devuan forums

#2 Re: Devuan » Proposal "Devuan User Repository" » 2026-02-04 23:00:10

ah offtopic discussions, the pepsi to the coca cola of on topic discussions, seems like the forum loves pepsi

anyway, back on track would be a good thing to have the easydeb repo and the DUR proposed repo in more forges than just gitea cuz the gitea links posted in this thread are innacessible to me, also cuz mirrors are a good thing and there's no such thing as too many mirrors

#3 Re: Devuan » Proposal "Devuan User Repository" » 2026-02-03 09:42:15

since the user made content was mentioned, and the stated goal of the proposed devuan user repo is to be an "educational staging area" it may be a nice idea to encourage stuff from the user made content and the DIY forum to be packaged in the DUR proposal, i  mean there are more than a pair of scripts from greenjeans that many would add to their setups if there was a package or at least a package recipe.

#4 Re: Documentation » [SOLVED] struggling starting auto-cpufreq --daemon » 2026-02-03 03:29:14

i have no idea how to avoid that tbh, what i did is reduce the speed/amount the cache buffers fill by implementing dynamic polling, sort of, the current master commit of afreq.sh increases the time of the sleep calls from a fixed 500ms up to 5000ms (5 seconds) if the governor and boost stay stable (say at idle) for at least 5 ticks (5 runs of the tick function), it also reduces the sleep time down by 100ms if there is not a stable state and will keep doing so until every sleep is just 100ms with time going up once there are 5 stable states.

in my testing the buffers usage went down by 1GB, but i got other daemons that are also written in posix shell and operate in the same type of wait sleep cycle...

#5 Re: Documentation » [SOLVED] struggling starting auto-cpufreq --daemon » 2026-02-02 19:45:10

did my own digging, it is because of the buffers and caches getting filled by the instances of busybox usleep, i didn't notice earlier because i also use zram (through https://github.com/eylles/zram-service) with zstd so i don't really think of ram usage as all data that goes onto zram is effectively compressed to about 1/4 the size (in average 1/3rd the ram consumption)

#7 Re: Devuan » Proposal "Devuan User Repository" » 2026-01-31 21:05:31

"remedial classes" now that is fun,  no education ministry in the americas nor western europe has had competency as a goal for the students in at least 2 decades and i can back that claim by first hand experience, the technological illiteracy of modern times is not result of the youth collectivelly flunking a computers class but moreso the result of the never getting one or at least a decent one in the first place.

#8 Re: Devuan » Proposal "Devuan User Repository" » 2026-01-31 18:59:07

It needs more hands on deck to take care of the essentials that are required. Currently, there is little or no redundancy to maintain those essential tasks and the new ones that keep popping up. Better use of your talents would be to join the team

when there is no one young whom know how to build a bridge the standing bridges begin to fall with no one in sight to repair them less alone build new ones for generations, but all easy learning is bad, learning must be hard enough to chase away everyone otherwise there's no worth in the learning itself am i right?

#9 Re: Devuan » Proposal "Devuan User Repository" » 2026-01-31 06:47:56

all ideas are good, seeing them in action is another thing

i've tried to get into packaging some of the software i cobble for debian but gave up and have not looked back since, so i only release programs once in a while but package absolutely nothing.

#10 Re: Documentation » [SOLVED] struggling starting auto-cpufreq --daemon » 2026-01-30 23:10:39

that is extremely odd

you can get the PID of the running afreq instance by running cat /var/run/afreq/status

with vmrss https://github.com/ThePrimeagen/vmrss it says that afreq is using 1.88281 MB of memory

with btop tree view on the sleep part of the cycle it shows that afreq is using 1.8 MB while the busybox usleep is consuming also 1.8 MB (yes it does prefer busybox usleep when available as that is more reliable than just hoping sleep supports decimals as the system could be using a sleep implementation other than gnu sleep), the busybox usleep program runs every 500 milliseconds so at about 2MB per millisecond it uses 4 MB each second (even tho those are 2 different invocations), so if a program is measuring the memory usage every X seconds then it may get that afreq is using 6 MB times X seconds, say 5 seconds that ought to sum up to 30 MB, tho i dunno if some system monitoring program measures that way, unless this is some shenanigans with the caches...

bCKmrpR.png

during tick the programs vmstat, tail, awk and others are invocated, they complete so fast that btop could only register vmstat, tail and awk, in the tick step afreq would have a memory footprint of 12MB (i'm ceiling the sum)

kMcXDIP.png

looking at htop these are the numbers of resource usage for afreq and as far as i know those are in kilobytes

9NYkJ2s.png

so i am at a loss of how afreq could balloon all the way to 1960 megabytes on your machine

#11 Re: Documentation » [SOLVED] struggling starting auto-cpufreq --daemon » 2026-01-30 19:29:43

yes powermgmt-base is a dependency tho the afreq.sh repo bundles a copy of on_ac_power for tho whol don't want to install powermgmt-base or for distros that don't ship said package, as for the memory usage that is odd, it really shouldn't use anywhere even close to that amount of memory consumption as it is a shell script after all, how did you got that number for memory consumption? if you check with btop what does it say? i'm not at home rn so cannot check the memory usage on my personal machine.

#12 Re: Documentation » [SOLVED] struggling starting auto-cpufreq --daemon » 2026-01-30 12:29:11

yeh auto-cpufreq has one of the designs of all time... that and it requiring python for doing something so simple as it is to just write to a handful of locations inside the kernel sysfs among other reasons got me to write an alternative, it is tried and tested in devuan under sysvinit and elogind, have not tried on even more minimal setups like ones lacking elogind so cannot comment there, also i know it isn't what you want but just putting it out here since i was also unable to get the auto-cpufreq daemon properly running on devuan

https://github.com/eylles/afreq.sh

#13 Re: Off-topic » Is AI going to become a Frankenstein monster? » 2025-12-31 18:57:33

a frankenstein monster? you mean a sentience forced into life to satiate the ego of it's creator, also a missunderstood existance victim of the monstrosity of it's creator whom explicitly refused to care for or to nurture his creation beyond what served to ego jerk himself?

cuz if that is the case then AI is already a frankenstein creature, it and us being just victims to the many victor frankenstein aspirers out there that have an ongoing ego cock measuring contest...

#14 Re: Other Issues » [SOLVED] tmp files now stored in a tempfs? Excalibur/Trixie » 2025-12-31 04:16:39

debian trixie does that with a systemd service iirc, devuan is not affected, not that you cannot mount /tmp or any other dir as a tmpfs if you want to for some usecase, just do it in fstab i guess.

as for the output of mount in a devuan excalibur system

mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=7816860k,nr_inodes=1954215,mode=755,inode64)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=600,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1576544k,mode=755,inode64)
/dev/nvme0n1p4 on / type btrfs (rw,noatime,compress=zstd:10,ssd,discard=async,space_cache=v2,subvolid=256,subvol=/@rootfs)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k,inode64)
securityfs on /sys/kernel/security type securityfs (rw,relatime)
pstore on /sys/fs/pstore type pstore (rw,relatime)
none on /sys/firmware/efi/efivars type efivarfs (rw,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=7840540k,inode64)
/dev/nvme0n1p2 on /boot type ext2 (rw,relatime)
/dev/nvme0n1p1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)
/dev/nvme0n1p5 on /home type btrfs (rw,noatime,compress=zstd:10,ssd,discard=async,space_cache,subvolid=5,subvol=/)
/dev/sda1 on /media/storage type btrfs (rw,noatime,compress=zstd:10,ssd,discard=async,space_cache,subvolid=5,subvol=/)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot)
tmpfs on /run/user/112 type tmpfs (rw,nosuid,nodev,relatime,size=1576540k,nr_inodes=394135,mode=700,uid=112,gid=121,inode64)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=1576540k,nr_inodes=394135,mode=700,uid=1000,gid=1000,inode64)
portal on /run/user/1000/doc type fuse.portal (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

#15 Re: Installation » Brave browser, OnlyOffice and FreeOffice » 2025-12-25 22:04:44

if ya wanna be lazy and barely type commands to install brave there's always https://github.com/eylles/devuan-script … -installer

just run the script as brave-installer install and it takes care of the installation, it uses classic style sources tho, i have to add the option to use the deb822 format

#16 Re: Desktop and Multimedia » Multiple Windows programs in a single wine config? » 2025-12-22 06:21:33

speaking of image viewers, in my opinion nothing beats nsxiv https://codeberg.org/nsxiv/nsxiv the interface may be super minimalist but the extensibility and scripting are unmatched, not to mention the latest release is available on devuan stable.

as for optimizing images... i just convert jpg and webp to png and run the pngs through optipng with these scripts

topng

#!/bin/sh

myname="${0##*/}"

convert_to_png () {
    img="$1"
    imgname="${img%.*}"
    pngname="${imgname}.png"

    if [ -f "$pngname" ]; then
        printf 'image: %s already exists!\n' "$pngname"
        if [ -f "$img" ]; then
            trash-put "$img"
            printf 'image: %s deleted\n' "$img"
        fi
    else
        convert "$img" "$pngname"
        printf 'image: %s created\n' "$pngname"
        if [ -f "$img" ]; then
            trash-put "$img"
            printf 'image: %s deleted\n' "$img"
        fi
        optipng -quiet "$pngname"
        printf 'image: %s optimized\n' "$pngname"
    fi
}

if [ $# -lt 1 ]; then
    printf '%s\n' "$myname: error no images passed"
    exit 1
fi

while [ $# -gt 0 ]; do
    if [ -f "$1" ]; then
        if file "$1" | grep -q "image"; then
            convert_to_png "$1"
        else
            printf '%s\n' "$myname: '$1' is not an image!"
        fi
    else
        printf '%s\n' "$myname: '$1' does not exist!"
    fi
    shift
done

jpgconvert

#!/bin/sh

for image in "${PWD}"/*.jp*g; do
    topng "$image"
done

back to OP, wine does little assumptions so it only creates the default wine prefix and runs every program with said prefix unless a prefix is explicitly set.

personally i do not like letting wine create .desktop files and prefer to write runscripts and dedicated .desktop files for the programs i want to run with wine, that includes setting their wineprefix, for that reason i got a runscript template that works for most stuff you wanna run through wine

runscript template

#!/bin/sh
# wine runscript

myname="${0##*/}"
execdir=""
execname=""

# load config
configdir="${XDG_CONFIG_HOME:-$HOME/.config}/${myname}/"
config="${configdir}/config.rc"
if [ -r "${config}" ]; then
    . "${config}"
else
    if [ ! -d "$configdir" ]; then
        mkdir -p "$configdir"
    fi
    echo "# ${myname} runscript config" > "$config"
fi

# go to executable directory
cd "$execdir" || exit

# run executable
wine "$execname"

with that the runscript's config can be as follows

# runscript config
# wineprefix
export WINEPREFIX="${HOME}/.local/share/wineprefixes/pref1"

for a real example my photoshop cs6 runscript

#!/bin/sh
# wine runscript

myname="${0##*/}"
execdir="$HOME/Downloads/Photoshop portable/Photoshop cs6 portable/"
execname="PSCS6.exe"
WINEPREFIX="$HOME/.local/share/wineprefixes/photoshop"

# load config
configdir="${XDG_CONFIG_HOME:-$HOME/.config}/${myname}/"
config="${configdir}/config.rc"
if [ -r "${config}" ]; then
    . "${config}"
else
    if [ ! -d "$configdir" ]; then
        mkdir -p "$configdir"
    fi
    cat << __CONF__ > "$config"
# ${myname} runscript config
WINEPREFIX="\$HOME/.local/share/wineprefixes/photoshop"
__CONF__
fi

# go to executable directory
cd "$execdir" || exit

# export prefix
export WINEPREFIX
# run executable
wine "$execname"

#17 Re: Hardware & System Configuration » [SOLVED] fstrim and HDDs » 2025-12-19 00:15:08

ah nice, gotta love western digital, they truly embody their name.

#18 Re: Freedom Hacks » [HowTo] Markdown (ronn) to man » 2025-12-08 18:03:22

i have hand written manpages by hand for scripts that aren't even 500 lines of code long and that is because i have not generalized redundant code into functions enough like for this systemact script https://github.com/eylles/systemact which as far as i know i'm the only user and i don't even use like half of the features i've added...

#19 Re: Freedom Hacks » [HowTo] Markdown (ronn) to man » 2025-12-08 13:36:13

but where is the fun of writing manpages by hand and having formatting not work cuz you typed one extra char after the macro?

#20 Re: Documentation » How to use the Init system? » 2025-11-29 23:21:21

if ya miss the systemctl heuristics there's this script i call initctl which wraps update-rc.d(8) and service(8) in a familiar way while ya learn the ropes of using those commands.

https://github.com/eylles/devuan-script … er/initctl

#21 Re: DIY » easydeb deb packager » 2025-11-29 23:09:24

well this thread if anything vindicates my refusal to create packages for anything i develop, less alone packaging for debian as it is an unnecesarely complicated crapshow or at least everything i've read so far has painted the creation of a new deb package from an upstream source that has not been previously packaged, admitedly i have not read the guide in the link shared by golinux but by this point i don't got high hopes.

#22 Re: DIY » SHED init independient/agnostic user services » 2025-11-27 03:19:51

hope it works in your setup, anyway i go back to my usual unemployed activities, play videogames while pretending i'm working on this one business idea thing that idk if will even work.

#23 Re: DIY » SHED init independient/agnostic user services » 2025-11-27 02:05:00

ah yes, sorry it took me until today but it should be sorta kinda solved-ish in master as of now.

by mistake i was using the hardcoded path of the XDG_RUNTIME_DIR instead of using the env var.... shedc should use the env var now

as for the env var, i added the option to have a shed.rc file inside ${XDG_CONFIG_HOME:-${HOME}/.config}/shed/conf, that file is just loaded as a script file so use with care, there you can set the variable SHED_ENV_EXPORT_LOC to a filepath that your user can write to, say if you are already setting and exporting the GUI_SESSION_PID var inside your .xsession then you should be able to define the var like so:

# this is just a suggestion that hopefully ought to work if you startx in multiple ttys
SHED_ENV_EXPORT_LOC="/tmp/shed_session_${GUI_SESSION_PID}/shed.env"

the shed.rc being a loaded "script" the variable substitution should just work with dash, yes the variable definition should end in a filename at the end of a path, no you cannot just give a path as it will break how it works, no there is no checking of werether the variable definition ends in a path or a file since this is THAT cobbled together.

as for the contents of the export file it would look something akin to this:

export XDG_RUNTIME_DIR="/tmp/1000-runtime-dir"
export XDG_SESSION_ID="67"
export GUI_SESSION_PID="42069"

this ought to let ya just load that file inside your .xsession right after starting shed and before launching the window manager, or at least i hope, otherwise you'll have to use an until waiter loop like this

until [ -f "/tmp/shed_session_${GUI_SESSION_PID}/shed.env" ]; do
    # 50 miliseconds
    sleep 0.050
done

. /tmp/shed_session_${GUI_SESSION_PID}/shed.env"

anyways sorry for shed being such a hacked together thing that works all the time like 60% of the time outside of my setup, the whole thing started as a pair of scripts i cobbled for myself to be part of my dotfiles until i broke it "free" from my dotfiles into it's own script that has only continued to grow at a snailpace cuz i'm the only moron working on it and i mean MORON cuz i don't see anyone else stupid enough to write such a piece of software in posix(-ish) compliant shell...

#24 Re: Hardware & System Configuration » [SOLVED] fstrim and HDDs » 2025-11-26 05:23:04

technically the logs are correct, fstrim sends the trim operation to every mounted partition with a filesystem that supports it, the discard is calculated and then passed from the filesystem (through the kernel i'd assume) onto the drive's firmware, the firmware accepts the trim operation with the provided discard parameters, reports back that the proposed operation was accepted but then ignores it internally as the firmware does it's own handling of empty/unused space, the kernel gets the success status back to fstrim and fstrim reports back that the operation was a success and prints out the output that as far as the process is concerned was correct, fstrim simply has no way to know that the drive's firmware is lying while ignoring the trim and discard so the log output is "correct"

#25 Re: Hardware & System Configuration » [SOLVED] fstrim and HDDs » 2025-11-25 14:58:07

it all depends on the specific hard drive, yours has a firmware scheme that accepts trim but ignores it, others may actively make use of the trim instruction but handle it differently at the firmware/hardware level

Board footer

Forum Software