Skip to content

BuildReports disagree2 publishers3 min readPublished

A Voodoo 3 driver stops assuming the firmware already ran its video BIOS

The tdfxfb change merged for Linux 7.3 trades one dependency for another: nothing has to execute the option ROM any more, but the driver now has to understand its layout.

The Engineer · Build desk

How we use AISend a correction

Photograph accompanying A Voodoo 3 driver stops assuming the firmware already ran its video BIOS
Photo: phoronix.com

What happened

  • FBDEV subsystem updates were submitted and merged for the Linux 7.3 kernel.
  • The tdfxfb framebuffer driver can now initialize a Voodoo 3 itself instead of assuming system firmware already ran the card's video BIOS.
  • Daniel Palmer hit the problem with a Voodoo 3 in an Amiga 4000 behind a PCI bridge: Linux saw the card, the monitor reported no signal.

Compiled by The EngineerSomething wrong?How this is made

Why it matters

  • capability Machines whose firmware will not execute an old option ROM, including non-x86 hosts and boxes where another card is primary, can now get a console out of this hardware at all.
  • constraint The dependency on firmware running the ROM is gone, but the dependency on the ROM's layout is new, and it does not generalise across a vendor's own product line.
  • contradiction Phoronix credits the merge with Voodoo 3, 4 and 5 support while Tom's Hardware says 4 and 5 were dropped, so owners of VSA-100 cards get two different answers about whether their card boots.
  • precedent The payoff is capped at fbdev, which sets the ceiling for anyone hoping this leads to a maintained DRM/KMS driver for the same silicon.

There are two ways for a driver to depend on a video BIOS. One is to let something else run it as code, which is what x86 firmware does at boot and what tdfxfb has relied on since it was written [10]. The other is to read it as data and do the register writes yourself. Daniel Palmer's patch does the second: it pulls configuration values out of the card's own ROM and brings the VGA core up from inside Linux [5].

That swap moves the failure mode rather than removing it. Instead of needing a platform whose firmware will execute a 1990s option ROM, you need a ROM whose layout the driver has been taught. The bill arrived immediately. VSA-100-based Voodoo 4 and 5 cards were in the original scope and came out of the series because their BIOS layouts are different [17]. Same vendor, same era, same driver, and the parsing work does not transfer.

This is where the two write-ups part company. Phoronix reports that TDFXFB can now initialize Voodoo 3, 4 and 5 cards without a PC BIOS [7]; Tom's Hardware reports that the 4 and 5 support was pulled from the current patch series [17]. Of the three families named, the merged manual initialization path covers one [16]. Anyone with a VSA-100 card and a non-x86 host should assume the smaller number.

Judged as a graphics feature, the result is thin. On an x86-64 box, loading the driver gets you a framebuffer device, usually /dev/fb0, good enough to host the virtual console [11], on an interface that DRM/KMS superseded long ago and that carries no Mesa, no modern OpenGL and no acceleration [12]. The value is not in the card. It is in the class of machine where nothing will ever POST that card: Palmer's own trigger was a Voodoo 3 in an Amiga 4000 behind a PCI bridge, detected by Linux and outputting nothing [4]. His patch description generalises it to non-x86 systems, setups where another card is primary, and firmware too new to run the old video BIOS [3]. Those are three different ways of saying the same thing, which is that x86 POST behaviour was an unstated part of the driver's contract for two decades.

The framebuffer work is also the boring half. Palmer has a separate path that exposes the Voodoo's register space to userspace through a /dev/tdfx3d misc device, with a small library called smoltdfx and an OpenGL 1.x implementation called smolminigl on top, which he says renders on real hardware without X, Mesa or Glide [13]. Phoronix notes the merged patches were tested against those 3D patches, which are not yet merged [9]. Palmer says Claude helped build a QEMU model of the card in the first place, to debug why the Amiga would not bring it up [8].

The other half of the same pull request is the tell about where this kind of work lives now: ATAFB gained 8-bit chunky, RGB565 and ARGB888 depths plus support for the SuperVidel SuperBlitter, a co-processor upgrade sold for the Atari Falcon [14][15]. fbdev is legacy, and it is also the only place hardware with no DRM driver can be made to display anything.

What to watch

  • Whether VSA-100 initialization returns once someone maps the Voodoo 4/5 BIOS layout, and who does that work.
  • Whether the /dev/tdfx3d register-mmap interface is merged as-is, reworked, or rejected in favour of a DRM driver.
  • Whether other fbdev drivers adopt the parse-the-ROM approach to bring-up on platforms that never POST the card.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence68
Adoption22
Hype gap+24
Incentives
Insufficient
Confidence66
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    The frame-buffer device (FBDEV) subsystem updates were submitted and merged for the Linux 7.3 kernel.

  2. [2]

    The kernel's existing tdfxfb framebuffer driver is being updated so it can initialize a Voodoo 3 itself rather than relying on the system firmware to have already run the card's video BIOS.

  3. [3]

    The patch description specifically calls out non-x86 computers, systems where another graphics card is primary, and newer BIOSes that cannot run the old video BIOS.

Sources

2 independent publishers whose own reporting we read for this story.

  1. phoronix.com

    1 article · August 21, 2026

    Linux 7.3 Lands Improvements For Voodoo 3 / 4 / 5 & Vintage Atari Computers In 2026
  2. tomshardware.com

    1 article · August 22, 2026

    25 years after the death of 3dfx, the Voodoo 3 gets a Linux driver update — classic Voodoo GPUs can now boot without a PC BIOS

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Topics

  • Firmware and Option ROM InitializationFollow
  • Emulation-Assisted Driver DevelopmentFollow
  • Retrocomputing Hardware SupportFollow
  • AI-Assisted Systems ProgrammingFollow
  • Linux Kernel Graphics DriversFollow

Entities

Loading related stories