This sounds amazing. Thanks for your offering to the community! Jude Nelson wrote: > 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 -- Joel Roth