GNU/Hurd Hardware Compatibility Guide

This guide is for a system running GNU Hurd running on top of GNU Mach.

A note on naming. GNU Mach is the current microkernel in use by the GNU/Hurd operating system which uses GNU Hurd as a set of server replacements for the standard UN*X kernel. Some devices are supported in kernel space by GNU Mach, others are supported in userspace by a GNU Hurd translator.

Table of Contents

Node:Introduction, Next:, Previous:Top, Up:Top


This documention contains a list of hardware that is known to be supported by the GNU Mach microkernel. Where possible, specific unsupported hardward is also listed.

This information is provided as a public service. It comes AS IS, with absolutely NO WARRANTY.

This document is maintained by James A. Morrison <ja2morri at uwaterloo dot ca >. Please send him any updates or corrections.

Node:Architectures, Next:, Previous:Introduction, Up:Top


The GNU/Hurd should run on any archictecture that is supported by the underlying GNU Mach kernel. GNU Hurd will also run, with a few glibc modifications, on any architecture that has a Mach microkernel, Mach 3 or newer, such as PowerPC. Currently this is only the Intel x86 architecture. Any 80386 chip or better in that processor line is supported, so long as it has a math co-processor. Additionally, there are restrictions on the bus architectures that are supported. The supported buses are

GNU/Hurd should run on a laptop system. However, PCMCIA is NOT supported.

Node:Memory, Next:, Previous:Architectures, Up:Top


GNU Mach supports all type of system memory, including FPM, EDO, and SDRAM. Please note, there seems to be a limit around 768 megabytes.

Node:Video Cards, Next:, Previous:Memory, Up:Top

Video Cards

GNU Mach has console so it will supports any card that has a standard VGA text mode. OSKIT-Mach does not have it's own console and thus a translator has been written to take its place. The X window system runs on GNU/Hurd via XFree86, currently 4.1.0, and thus GNU/Hurd supports any card that is supported by XFree86, except cards which require the agpgart Linux module. Cards that do require agpgart are limited to a resolution of 320x480x8. The list of supported cards is available on the net at

If you have a VGA monochrome monitor, it will not be supported even if the video card is supported. Only color monitors are supported at this time.

SVGALIB is currently not supported. Debian packages which depend on it can link against the stub library. This can be useful for packages that have a console mode as well as a graphics mode. The best option for getting SVGALIB support is to port the GNU/Linux GGI code to GNU/Hurd. It has a library abstraction layer that can emulate SVGALIB. If anyone is interested in doing this, please contact <help-hurd at gnu dot org>.

Node:SCSI Controllers, Next:, Previous:Video Cards, Up:Top

SCSI Controllers

The following SCSI controllers are supported:

Note that the Debian GNU Mach package does NOT include the NCR drivers, except the NCR 53C8xx driver.

Note: The NCR 53C8xx driver does not support any FAST80 160 MB/s cards. The driver needed for this is the SYM53C8xx which is not included in GNU Mach v1.

All hard drives should be supported provided the controller is supported (devices show up as "sd%d"). All CD-ROM drives should likewise be supported provided the controller is supported and the block size is 512 or 2048 (devices show up as "cd%d") . However, tape drives and generic devices are currently NOT supported.

Exceptions to the supported disk drive list are the NEC D3817, D3827, and D3847. These disk drives are not supported under any controller.

Node:Other Disk Controllers, Next:, Previous:SCSI Controllers, Up:Top

Other Disk Controllers

Standard PC floppy drives are supported.

Most IDE controllers should also be supported. The following controllers are known to work:

If a disk drive is supported by the controller and the controller is supported, then the hard drive will be supported by GNU/Hurd (devices show up as "hd%d"). UltraDMA (also known as UltraATA) hard drives should work, but will operate in standard IDE mode. As with hard drives, almost all CD-ROM drives supported by a supported controller are themsevles supported under GNU/Hurd (devices show up as "wcd%d"). All other types of IDE devices are NOT supported, ie ATA100 controllers are not supported.

Node:Other I/O Controllers, Next:, Previous:Other Disk Controllers, Up:Top

Other I/O Controllers

Standard PC parallel ports are supported (devices show up as "lpr%d"), eg zip drives.

Standard PC serial ports are supported (devices show up as "com%d"). All UARTS are supported, including 8250, 16450, 16550, and 16650A.

Node:Network Interface Cards, Next:, Previous:Other I/O Controllers, Up:Top

Network Interface Cards.

GNU Mach supports a large number of ethernet controllers. Token ring, Arcnet, FDDI, and other network types are all NOT supported.

The supported ethernet controllers are (devices show up as "eth%d" except the atp device which shows up as ???):

If a supported card supports 100MB ethernet, then GNU Mach can make use of that mode.

Node:Sound Cards, Next:, Previous:Network Interface Cards, Up:Top

Sound Cards

The GNU/Hurd currently does not support any sound cards. However, for GNU/Hurd to support sound we will need a good character device infrastructure, perhaps called libchannel, like libstore for block devices. Support for actual sound cards should be put into OSKIT.

Node:CD-ROM Drives, Next:, Previous:Sound Cards, Up:Top

CD-ROM Drives

All SCSI CD-ROM drives with a block size of 514 or 2048 should be supported if the controller is supported.

Almost all EIDE/ATAPI CD-ROM drives are supported.

No proprietary CD-ROM drives are supported at this time.

No CD-R (recordable CD) devices are supported at this time.

Node:Tape Drives, Next:, Previous:CD-ROM Drives, Up:Top

Tape Drives

No tape drives are supported by GNU/Hurd at this time.

Node:Mice, Next:, Previous:Tape Drives, Up:Top


Serial mice are supported. PS/2 style mice are supported in the debian packages of GNU Hurd. A permenant solution will be to have a mouse translator using libchannel that understands any mouse protocol.

Node:Modems, Next:, Previous:Mice, Up:Top


Any internal or external modems that connect to a serial port should be supported. The major exceptions are the so called "Winmodems" that require a proprietary operating system in order to work.

Fax modems should work, provided appropriate fax software is available for GNU/Hurd. Currently no such software is available, however.

PPP is currently supported by GNU/Hurd. However, ppp is not stable on top of GNU/Hurd and thus is not for everday use. You can find the source for ppp here or 'apt-get install um-pppd' on Debian GNU/Hurd to get a binary. Using a modem to establish a PPP connection to the Internet is not recommened.

Node:Printers, Next:, Previous:Modems, Up:Top


Almost all parallel or serial port printers should be supported. The main exceptions are printers that are designed solely for use with a proprietary operating system. Printers that support PostScript are preferred. However, many other printers can support PostScript via the Ghostscript program. A list of supported Ghostscript devices is available at

Node:Scanners, Next:, Previous:Printers, Up:Top


No scanners are currently supported by GNU/Hurd.

Node:Miscellaneous, Previous:Scanners, Up:Top


Removable drives such as Zip and Jaz drives may be supported by GNU/Hurd. The most likely candidates are SCSI devices. For example parallel port zip drives are supported via parport drivers.

The Universal Serial Bus (USB) and all USB devices are NOT supported.

Multiport terminal cards are NOT supported.

Joysticks are NOT supported.

TV tuner devices are NOT supported

Uninterruptable Power Supply (UPS) devices are NOT supported

Copyright (C) 1999 Aaron M. Renn (

Copyright (C) 2001 James A. Morrison (

Permission is granted to make and distribute verbatim copies of this document provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this document under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the author.