The Hurd, together with the GNU Mach microkernel, the GNU C Library and the other GNU and non-GNU programs in the GNU system, provide a rather complete and usable operating system today. It may not be ready for production use, as there are still some bugs and missing features. However, it should be a good base for further development and non-critical application usage.

FVWM and Gnumeric running on GNU/Hurd The GNU system (also called GNU/Hurd) is completely self-contained (you can compile all parts of it using GNU itself). You can run several instances of the Hurd in parallel, and debug even critical servers in one Hurd instance with gdb running on another Hurd instance. You can run the X window system, applications that use it such as gnumeric, iceweasel, and advanced server applications like the Apache webserver.

The DDE environment allows for reusing half of the Linux 2.6.32 network device drivers, and experimental support for SATA devices was added in May 2013. On the other side, support for character devices (like sound cards) and other hardware (USB, multicore) is mostly missing.

Although the POSIX interface is provided, some additional interfaces like POSIX shared memory or semaphores are still under development.

We encourage everybody who is interested to try out the current development version, and send feedback to the Hurd developers.

Iceweasel running on GNU/Hurd Debian GNU/Hurd closely tracks the progress of the Hurd (and often includes new features). They offer LiveCDs and QEMU images to test-drive the Hurd, and about 78% of the Debian software archive are available. Along with the official Debian "jessie" release (but not as an official Debian release), in April 2015 the Debian GNU/Hurd team released Debian GNU/Hurd 2015.

Arch Hurd offers LiveCDs for testing and installation.

Nix provides QEMU images.

Usability Reports

Svante Signell, 2013-05-21

I have been running GNU/Hurd for some years now, with VMs, mainly in the QEMU/KVM environment on host computers supporting hardware acceleration. On these boxes Hurd runs decently fast with the correct KVM settings. On my latest box, a 4-core, 8-thread, 3.4GHz CPU, 16GiB RAM, 128GiB SSD host it is very fast. One can not complain on execution speeds at least in a hosted environment. Additionally, the KVM images are very stable, you only get into problems if you push to the limits, like memory, swap space etc. In fact one build daemon for Debian GNU/Hurd is running under KVM and it is one of the fastest.

I don't use GNU/Hurd for my day-to-day business (yet), that is mainly due to some of the above mentioned missing features. I do use it for porting packages, mainly for the Debian GNU/Hurd distribution, partly contributing to the kernel development (gnumach/Hurd/gcc/gdb/libc) and running package test suites for checks of performance and POSIX compatibility.

When some of the missing features are implemented (and remaining bugs squeezed out) I will seriously consider using the Hurd on real hardware, as my primary system. For now it stays in the VM environment, mainly for porting and development purposes. Why don't you try it out too?

Olaf Buddenhagen, 2009-06-09

I have been using the Hurd for most of my everyday work for some two years now. Most of the time it's pretty OK, but occasionally programs crash, or the screen session dies, or even the whole system. Also, various programs simply don't work at all, or don't work in certain situations.

While I have learned to work around many of these issues, I don't believe I would be able to use it as my primary system, without having a GNU/Linux system running in parallel, as a fallback for all the stuff that doesn't work on the Hurd.

My everyday work includes reading/writing email and other texts, preparing and giving presentations, text-mode web browsing, viewing pictures, IRC, reading PDF documents, programming, and various other random stuff...


One particular problem for desktop use is the fact that while X does work, it works very poorly -- it's not only slow and jerky all the time, but also tends to lock up completely. (At least with the local socket transport... Haven't tried whether forcing TCP works better.)

Note that while many of the stability problems are simply bugs to fix, the system will still be very fragile in the absence of these -- a simple port leak is sufficient to kill it within seconds. This is something that can't be easily solved. Properly fixing this will require a sound resource accounting framework, i.e. very fundamental changes to the system... Though I tend to believe that it could be improved at least partially, at the expense of flexibility, by enforcing certain fixed limits on users, processes etc. like other UNIX systems do.


[But] unlike a few years back [...] the system is stable enough under load nowadays [...].

GNUStep on GNU Hurd, 2009-02-15

Riccardo Mottola Bergamo shows screenshots of the GNUStep browser Vespuzzi running on Hurd.