Supported Hardware

Ubuntu does not impose hardware requirements beyond the requirements of the Linux kernel and the GNU tool-sets. Therefore, any architecture or platform to which the Linux kernel, libc, gcc, etc. have been ported, and for which an Ubuntu port exists, can run Ubuntu.

Rather than attempting to describe all the different hardware configurations which are supported for SPARC, this section contains general information and pointers to where additional information can be found.

Supported Architectures

Ubuntu 9.04 supports three major architectures and several variations of each architecture known as flavors. Three other architectures (HP PA-RISC, Intel ia64, and IBM/Motorola PowerPC) have unofficial ports.

Architecture Ubuntu Designation Subarchitecture Flavor
Intel x86-based i386    
AMD64 & Intel EM64T amd64    
HP PA-RISC hppa PA-RISC 1.1 32
PA-RISC 2.0 64
Intel IA-64 ia64    
IBM/Motorola PowerPC powerpc PowerMac pmac
Sun SPARC sparc sun4u sparc64
sun4v    

CPU and Main Boards Support

Sparc-based hardware is divided into a number of different subarchitectures, identified by one of the following names: sun4, sun4c, sun4d, sun4m, sun4u or sun4v. The following list describes what machines they include and what level of support may be expected for each of them.

sun4, sun4c, sun4d, sun4m

None of these 32-bit sparc subarchitectures (sparc32) is supported. For a complete list of machines belonging to these subarchitectures, please consult the Wikipedia SPARCstation page.

The last Debian release to support sparc32 was Etch, but even then only for sun4m systems. Support for the other 32-bits subarchitectures had already been discontinued after earlier releases.

sun4u

This subarchitecture includes all 64-bit machines (sparc64) based on the UltraSparc processor and its clones. Most of the machines are well supported, even though for some you may experience problems booting from CD due to firmware or bootloader bugs (this problem may be worked around by using netbooting). Use the sparc64 or sparc64-smp kernel in UP and SMP configurations respectively.

sun4v

This is the newest addition to the Sparc family, which includes machines based on the Niagara multi-core CPUs. At the moment such CPUs are only available in T1000 and T2000 servers by Sun, and are well supported. Use the sparc64-smp kernel.

Note that Fujitsu's SPARC64 CPUs used in PRIMEPOWER family of servers are not supported due to lack of support in the Linux kernel.

Graphics Card Support

Ubuntu's support for graphical interfaces is determined by the underlying support found in X.Org's X11 system. Most AGP, PCI and PCIe video cards work under X.Org. Details on supported graphics buses, cards, monitors, and pointing devices can be found at http://xorg.freedesktop.org/. Ubuntu 9.04 ships with X.Org version 7.3.

Most graphics options commonly found on Sparc-based machines are supported. X.org graphics drivers are available for sunbw2, suncg14, suncg3, suncg6, sunleo and suntcx framebuffers, Creator3D and Elite3D cards (sunffb driver), PGX24/PGX64 ATI-based video cards (ati driver), and PermediaII-based cards (glint driver). To use an Elite3D card with X.org you additionally need to install the afbinit package, and read the documentation included with it on how to activate the card.

It is not uncommon for a Sparc machine to have two graphics cards in a default configuration. In such a case there is a possibility that the Linux kernel will not direct its output to the card initially used by the firmware. The lack of output on the graphical console may then be mistaken for a hang (usually the last message seen on console is 'Booting Linux...'). One possible solution is to physically remove one of the video cards; another option is to disable one of the cards using a kernel boot parameter. Also, if graphical output is not required or desired, serial console may be used as an alternative. On some systems use of serial console can be activated automatically by disconnecting the keyboard before booting the system.

Network Connectivity Hardware

Almost any network interface card (NIC) supported by the Linux kernel should also be supported by the installation system; modular drivers should normally be loaded automatically.

This includes a lot of generic PCI cards (for systems that have PCI) and the following NICs from Sun:

  • Sun LANCE

  • Sun Happy Meal

  • Sun BigMAC

  • Sun QuadEthernet

  • MyriCOM Gigabit Ethernet

Known Issues for SPARC

There are a couple of issues with specific network cards that are worth mentioning here.

Conflict between tulip and dfme drivers

There are various PCI network cards that have the same PCI identification, but are supported by related, but different drivers. Some cards work with the tulip driver, others with the dfme driver. Because they have the same identification, the kernel cannot distinguish between them and it is not certain which driver will be loaded. If this happens to be the wrong one, the NIC may not work, or work badly.

This is a common problem on Netra systems with a Davicom (DEC-Tulip compatible) NIC. In that case the tulip driver is probably the correct one. You can prevent this issue by blacklisting the wrong driver module as described in the section called “Blacklisting kernel modules”.

An alternative solution during the installation is to switch to a shell and unload the wrong driver module using modprobe -r module (or both, if they are both loaded). After that you can load the correct module using modprobe module. Note that the wrong module may then still be loaded when the system is rebooted.

Sun B100 blade

The cassini network driver does not work with Sun B100 blade systems.

Peripherals and Other Hardware

Linux supports a large variety of hardware devices such as mice, printers, scanners, PCMCIA and USB devices. However, most of these devices are not required while installing the system.