Next Previous Contents

12. Which Graphics Cards Work With Linux/Alpha?

Linux/Alpha supports both DEC's TGA and generic VGA cards. The new PowerStorm cards from DEC are not supported yet.

12.1 TGA Card

TGA is DEC's (first) family of workstation graphics cards for the PCI bus. It makes for nice and very quick cards. The only drawback is that since it is coming from the workstation market, it does not support 16-bit color mode.

There are three versions of the TGA card. They are all based on the 21030 chip:

Model:  Description:
ZLXp-E1  8-plane TGA (256 colors)
ZLXp-E2 24-plane TGA (16 million colors)
ZLXp-E3 24-plane TGA + 32-plane Zbuffer (16 million colors and 3D support)
Caveat: as described below, only the ZLXp-E1 is currently supported by an X server.

12.2 VGA Cards

Linux boots in VGA mode, so pretty much any graphics card should do for Linux. However, the graphics card also needs to work with the firmware. This is non-trivial since many PCI cards need proprietary wakeup sequences to bring them into a VGA compatible mode. To solve this problem, the firmware includes an x86 emulator that is used to execute the BIOS initialization code on the graphics card. In theory, it is therefore possible plug in any PC graphics card.

DEC implemented an x86 emulator that is used by the MILO (Linux), SRM (DEC Unix), and ARC (Windows NT) firmware. This emulator is mature and can indeed initialize most, if not all, cards. To be on the safe side, take a look at the hardware-compatibility lists for DEC Unix and Windows NT before deciding on a card.

MILO also comes with an (optional) emulator that is free. It is not nearly as mature as DEC's emulator, but it nevertheless is able to initialize at least following graphics cards:

bus card type:                  chip:   BIOS version:                   Note:
=== =========================== ======  ===========================     =====
ISA Orchid Fahrenheit 1280      S3 805  ????                            4
ISA #9 GXE Level 12             S3 928  BIOS Version 1.13.03S
PCI #9 GXE 64 PCI               S3 864  BIOS Version 1.02.09u
PCI Diamond Stealth 64 DRAM PCI S3 864  BIOS Version 1.14               1
PCI Diamond Video 64 DRAM PCI   S3 868  BIOS Version 1.02               1
PCI Diamond Stealth 64 DRAM     S3 764  BIOS Version 2.01               2,3

Notes:
======
1:     Reported by pgwduane@mail.atnet.net.
2:     The S3 764 chip is mostly known as Trio64.
3:     Reported by viper@ludd.luth.se.
4:     Reported by jestabro@amt.tay1.dec.com.

12.3 Cards Supported by the X Windowing System

According to the XFree 3.3.3.1 Release Notes:

The following X servers are available for Alpha hardware:

          XMa64.tgz       Mach 64 server
          XMono.tgz       Mono server (generic driver only)
          XP9K.tgz        P9000 server
          XTGA.tgz        DEC 21030 (TGA) server
          XS3.tgz         S3 server
          XS3V.tgz        old S3 ViRGE server (please use SVGA server)
          XSVGA.tgz       SVGA server (Matrox Millennium and S3 ViRGE drivers only)
The S3 server is known to work with 764x, 805, 864, 928 based cards (e.g., Orchid Fahrenheit 1280, #9 GXE64, #9 Level 12, #9 Motion 771). The Mach64 server is known to work with WinTurbo GX-VRAM and Graphics Xpression CX-DRAM cards.

These servers are available from ftp://ftp.xfree86.org/pub/. More recent developments are available from SuSE. Check out the section on commercial software for other options.

For TGA not just one, but two servers exist: the first one is by the XFree project, as mentioned above. It's relatively young so it's not well-optimized yet, but it's definitively usable and since sources are available for it, anybody can improve it.
The other one is based on DEC-proprietary code (sources are not available). It is fast and relatively stable and can be found here.

12.4 Can Linux/Alpha Run Without Graphics Card?

The firmware can be controlled over a serial line terminal at 9600 Baud and it is possible to boot Linux/Alpha in that manner. The kernel can also handle being booted headless without any trouble. Make sure to pass the kernel the device name of the console you wish to use. For example if you wanted to redirect the console to the first serial port, you would add 'console=ttyS0' to the list of flags sent to the kernel.

The other important thing to remember here is that by default there is no getty spawned on the serial ports. You must add a line like this to the /etc/inittab to be able to login on the serial port(s):

S1:2345:respawn:/sbin/mingetty ttyS0

Then force init to reread its configuration file with:

init q

By default you also can not login as root over the serial port. To add this ability add the serial port(s) (ttyS0 and/or ttyS1) to the /etc/securetty file.


Next Previous Contents