[modular-debian] Announcing vdev

  • From: Jude Nelson <judecn@xxxxxxxxx>
  • To: modular-debian@xxxxxxxxxxxxx
  • Date: Sat, 13 Dec 2014 03:02:50 -0500

Hey everyone,

I've started working on a dynamic device manager for *nix that I'm calling
vdev.  My main goals for it are to be portable to !Linux, and to obviate
the need for systemd-udev and parts of systemd-logind.  It will offer
comparable functionality to udev, but with per-process device node
filtering (a requirement that precludes forking udev or going with eudev).
This means that vdev will be capable of doing things like exposing
/dev/dri/* and /dev/input/* only to the program at /usr/bin/X, regardless
of which user/group it runs as.  It won't be necessary for systemd-logind
to mediate access to device nodes for other programs--since vdev is
implemented as a FUSE filesystem, it can tell which process makes which I/O
request and equivocate about the devices it knows about.

I've taken care to design for portability.  It will be possible one day to
use vdev on Debian/kFreeBSD and Debian/HURD, as well as OpenBSD, and any
*nix OS that offers a mechanism for reporting device state changes to
userspace.  All that is needed is a back-end that can translate and forward
hardware events to vdev's core logic.

The project is hosted here:  https://github.com/jcnelson/vdev
The license is GPLv3.
The dependencies are:
* fskit (another project of mine)
* libpstat (another project of mine)
* OpenSSL
* libfuse
* libc
* libstdc++ (for STL)
* libpthread

This is a nights/weekends project for me since it's not part of $DAYJOB, so
any contributions, feedback, and feature requests are welcome and
appreciated :)

Thanks!
-Jude

Other related posts: