Home | News | Download | Packages | Forum | Wiki | Github

Get rid of dbus, consolekit, udevd, etc


#1

I would like to get rid of as much of possible daemons and services (dbus, consolekit, udevd, etc.) and still have a full functional and slim desktop expierence (working bluetooth, wireless, automounting, etc.).

I already tried some things but I regularly encounter problems… E.g. bluez and lot’s of wms, applications, etc. depend on dbus… So I asking myself if my goal is even possible and if so what is the best walkthrough to archieve this?

Are there any experienced users which can give me any tipps, advices, guides, … ?

Thanks a lot for any kind of help in advance!


Darcut creates symlink: systemd-udevd -> /sbin/udevd
#2

For bluetooth, bluez5 actually requires pulseaudio… an alternative is to build this https://github.com/Arkq/bluez-alsa


#3

Thx @pin

I wouldn’t have anything against pulseaudio if it would work without dbus … Or did I miss something and there is a way to use it without?


#4

Hmm!
So pulseaudio is ok but dbus is not? Guess, it’s all a matter of taste :wink:
Hope someone else have an idea…

Wireless, I’m using just dhcpcd and wpa_supplicant.


#5

If I can get of pulseaudio too it is even better :wink: Is there a way?

wpa_supplicant daemon isn’t running here only dhcpd and a wpa_supplicant hook :slight_smile:

EDIT:
Described here: https://wiki.archlinux.org/index.php/dhcpcd#10-wpa_supplicant


#6

Same here with wpa_supplicant :rofl:

It will be interesting to follow this topic… sorry no idea how to do all that without dbus and ConsoleKit


#7

Thanks. I know that you are interested in these topics too … :slight_smile: So hopefully some smart guys out here have some ideas. :slight_smile: I think consolekit is less a problem due to polkit.d rules and sudoers, but dbus is the big deal :confused:


#8

@shizonic, just found this… https://dvdhrm.github.io/rethinking-the-dbus-message-bus/ that links to https://github.com/bus1/dbus-broker/wiki
Don’t have time to read through it right now :sweat:

EDIT: Forget about it… it needs :open_mouth: systemd :sob:


#9

First impression was “Wow” :slight_smile: After I read “systemd” so no chance… :wink: But thx anyway for sharing ! :slight_smile:


#10

eudev is arguably the ‘best’ udev implementation (hence why Void uses it). Here’s some others:

  • smdev from the suckless people (I think it’s unmaintained)
  • vdev from the Devuan people (Also looks unmaintained)
  • mdev in Busybox, for embedded systems
  • mdevd from skarnet
  • devd also from skarnet, (I think it’s for the s6 init or something.)

NOTE: None of these are drop in replacements for udev/eudev these are mostly specialized implementations. It’s very likely that these won’t work with a lot things, like Chromium, X11, LVM.

  • You can run without udev and just use devtmpfs, but again, not recommended.

Gentoo has a short guide for using mdev: https://wiki.gentoo.org/wiki/Mdev

But, I personally would not replace eudev as it is very small and very useful, udev is a very integral part for modern desktop Linux.

If you really want to remove dbus, consolekit and udev I’d probably consider just using a BSD instead.


#11

Thank you for your detailed reply… I think I will stick with eudev at the moment :wink:

But what’s about consolekit and dbus? Any tipps here too?


#12

PressureAudio ?


#13

This looks interesting. Thx man.


(Edmond Dantes ) #14

Void Firefox xbps package, is compiled with native ALSA support enabled by default (together to pulseaudio and sndio). You don’t need to install apulse if you set alsa as default midi player in about:config

I can swear I’ve never installed pulseaudio or apulse on Void, still played sound correctly on Firefox through either ALSA or sndio ;).


#15

Thank you.

So I will purge pulseaudio, try it and report. :slight_smile:

EDIT:
What’s about other applications such as chromium or even bars/panels? For example: The polybar module audio / sound does not work if I just run alsa without pulseaudio… Any suggestions here too?


(Edmond Dantes ) #16

@shizonic, you can compile firefox locally with alsa-support only if you like. .

EDIT: I don’t use polybar, but look at the template for additional info and search the official branch on github to see if they provide ALSA support (you may even open a Issue/PR about this).

The programs I use to play any kibd of sound are mpv, vimb, firefox, gst123, MPD+mpc/vimpc, moc and mps-youtube and they all work with ALSA :wink:

No doubt udev and consolekit2 would be avoided , but leaving without dbus is still a relatively hard task even on BSDs. In my opinion a smooth desktop experience still implies dbus.

I don’t understand the hate towards udevd, aside from the fact it was merged to and relies on, systemd, but that’s way eudev is out there. I actually like it, though I’m still on the way of learning its rules. Nonetheless udevd is surely more bloated and perhaps unnecessarily overcomplicated when compared with FreeBSD’s devd(8) (also ported long ago to OpenBSD and inherired bt Dragonfly) and NetBSD’s devupd(8).

Devupd is extremely lightweight, but very old-school/limited, could perhaps be compared to those embedded-targeted devicevevent daemons like mdev.

Devd is actually a very good and solid compromise, unlike devupd, is featured and versatile enough to be compared with udev.

Again, looking at the sources, the difference in code weight doesn’t pass unnoticed:


#17

Thx again! I do really appreciate your help and go through your suggestions carefully. Further I will report on any progress … :slight_smile:


(Richard DW Redcroft) #18

Ive completely stripped down my laptop, so that by default i have 4 services:

agetty-tty1-autologin
agetty-tty2
dhcpcd
udevd

i have dbus linked but down by default, and i dont use consolekit. If it were a desktop id also remove dhcpcd and use a static link, but alas im using wifi most of the time (and multiple wifi networks). The only reason i have to use dbus is for steam, everything else runs fine without it. So i have a steam script which starts dbus automatically, and at the moment i manually stop dbus when i quit, but im sure i could automate that.

I also built a minimal kernel which is as stripped down as i can get, but it doesnt use an initram so it boots almost instantly (1-2s boot)

At the moment my desktop env is emacs, but my minimal setup consists of a custom dwm + slstatus bar. I then have a custom st version. The whole system is as minimal as i can get while still being usable.

My emacs setup is far less lightweight but i enjoy doing everything from emacs.


(Joseph George) #19

can you use apulse instead?


#20

A lot of Void users are minimalists. It’s possible to operate that way and avoid PulseAudio, however, for more or less normal desktop without cruft, try Lumina. It’s still alphaish but will improve with time.

xbps-install -S lumina