[[!meta copyright="Copyright © 2001, 2002, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] [[!tag stable_URL]] 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. [[!img hurd-fvwm-screenshot-2009-11-12.png size=300x alt="FVWM and Gnumeric running on GNU/Hurd" title="FVWM and Gnumeric running on GNU/Hurd" align="right" ]] 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|faq/posix_compatibility]] 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. [[!img hurd-iceweasel-screenshot-2012-03-21.png size=300x alt="Iceweasel running on GNU/Hurd" title="Iceweasel running on GNU/Hurd" align="right" ]] [[Debian GNU/Hurd|running/debian]] 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 "wheezy" release (but not as an official Debian release), in May 2013 the Debian GNU/Hurd team released [[Debian GNU/Hurd 2013|news/2013-05-debian_gnu_hurd_2013]]. [[hurd/running/Arch_Hurd]] offers *LiveCDs* for testing and installation. [[hurd/running/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](http://multixden.blogspot.com/2009/02/browser-on-hurd.html).