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.

12 thoughts on “About me

  1. Stefan Brüns

    Hi David,
    as I have not found any other means to contact you, this must do …

    I am really looking forward to the outcome of your openWFD project, although the naming is unfortunate, as there is already another Khronos group specification with the same name:

    Nevertheless, I recently read through the miracast specification and did some experiments with WiFi Direct, so if you need any tech savvy testers, give me a call.

    Regards, Stefan

    1. David Herrmann Post author

      All files and docs in the repository contain my email-addr, btw:

      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 ;)

  2. Ralph

    Hallo David, schön, dass Sie an openwfd arbeiten. Eine großartige Sache. Bin schon auf die ersten Ergebnisse gespannt. Vielen Dank für das Engagement. Das ist wirklich eine wichtige Erweiterung für Linux im Businessbereich.

  3. tuchkata

    Hallo David. Wie laeuft die Arbeit mit OpenWF? Ich habe ueber dein Produkt auf FOSDEM erstmal gehoert und ich bin echt gespannt wann werden wir die erste Alpha version sehen? Ich will das echt mal testen! Viel Erfolg und vielen Dank dafuer!

  4. Ash

    Hello David,

    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.

  5. garegin

    I have a small question. I read somewhere that AIGLX was invented because of the deficiencies of DRI and that it is not really used anymore with modern versions of DRI. Is that true?

    1. David Herrmann Post author

      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..

  6. Rick

    Hi David,

    Where can I clone the latest code for MiracleCast? I want to run it on uBuntu, which uBuntu version is preferred?


    Rick Xu

  7. jose

    hi david i am trying to compile miraclecast on kali linux for my presentation and i get some problems any idea
    lb:/miracle# apt-get install libsystemd-dev
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
    libsystemd-dev : Depends: libsystemd0 (= 219-7) but it is not going to be installed
    E: Unable to correct problems, you have held broken packages.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s