Dysfunctional Programming

About me

My name is David Herrmann and I live in Germany. I am a student in Computer Science and Mathematics and in my spare time I like coding C, working on the Linux kernel or writing firmwares. If you are interested in my work, see below.

systemd(Co-Maintainer, 2013 – now): The systemd project provides a common base layer and core operating system for a modern, linux based OS. I am working on the desktop-related functionality.

kdbus(Co-Maintainer, 2014 – now): kdbus is a kernel IPC layer that provides easy to use, low-overhead inter-process communication. It is a bus-based approach, providing many advanced features, including single-copy, metadata transmission, a name registry and more.

XWiimote(Maintainer, 2010 – now): The XWiimote Tools include a Linux kernel driver and user-space utilities to use Nintendo Wii Remotes as input devices on Linux. I worked on reverse-engineering the proprietary protocol and develop the Linux hid-wiimote kernel driver and user-space software. The driver is available in the upstream repositories and included in all major Linux distributions.

BlueZ(Contributor, 2011 – now):BlueZ is the official Linux Bluetooth stack. Since Google-Summer-of-Code 2011 I am contributing to the development of BlueZ due to my involvement of the XWiimote software stack. I am working on the kernel drivers and co-maintaining the BT HID layer.

KMSCON(Maintainer, 2011 – 2014): KMSCON is a terminal/console emulator for Linux. It was created as replacement for the in-kernel terminal emulator and VT subsystem. It is based on the Linux DRM subsystem and uses Kernel Mode Setting (KMS) to display the console to the screen. Similar to Wayland it is an attempt to replace the old Linux infrastructure with a modern approach and producing better maintainable code while dropping the 20-year old mess that is VT+X11. In 2014, I stopped working on it. We implemented a replacement in systemd, based on the lessons learned on KMSCON.

Wayland(Contributor, 2011 – now): Wayland is an approach to replace the old X11 protocol with a new fresh and modern protocol. I am working on the DRM backend and contributing to the reference implementation called weston.

Regarding OpenWF: It’s called OpenWF, not OpenWFD, so I think it shouldn’t be ambiguous. Besides, OpenWF is not really used by anyone in the Open-Source community and rather considered a horrible API. So I doubt anyone cares for now.
Anyhow, OpenWFD needs a lot more work, I just started it a week ago so I cannot really talk much about it. If I have something that works, I will let you know ;)

I’m trying to compile Miraclecast/libwfd under OSX (for source side). I’m using mac ports to do that, but I’m stuck on libsystemd/libudev. Implementation for those are not available under macports or osx. Can you please guide me with alternatives.

AIGLX (and GLX in particular) is X11-specific. I never did any X11 development, so you’d have to ask people who did. But I’m not aware of any DRM deficiencies that would have prompted AIGLX development. DRI is a different story..