Build2 distinct publishers3 min readUpdated
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
Compiled by The EngineerSomething wrong?How this is made
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 [3]. 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 [6].
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 [7]. 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 [9]; Tom's Hardware reports that the 4 and 5 support was pulled from the current patch series [7]. Of the three families named, the merged manual initialization path covers one [1]. 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 [10], on an interface that DRM/KMS superseded long ago and that carries no Mesa, no modern OpenGL and no acceleration [11]. 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 [5]. 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 [4]. 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 [12]. Phoronix notes the merged patches were tested against those 3D patches, which are not yet merged [14]. 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 [13].
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 [15][16]. fbdev is legacy, and it is also the only place hardware with no DRM driver can be made to display anything.
Follow any of these and your For You feed starts watching them — no settings page required.
Ranked by verification strength, evidence, and original report placement.
The frame-buffer device (FBDEV) subsystem updates were submitted and merged for the Linux 7.3 kernel.
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.
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.
Developer Daniel Palmer was using a Voodoo 3 in an Amiga 4000 equipped with a PCI bridge when the problem appeared: Linux could detect the card, but it was completely uninitialized, leaving him with "no signal detected".
The new code uses configuration information from the card's own video BIOS to perform the initialization from Linux instead, allowing the driver to bring the VGA core up and establish a working display without depending on the system firmware.
The code has been tested on both a modern x86-64 system and an Amiga 4000 with a Mediator PCI bridge.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Concrete mechanism and testing, but single-developer sourcing
Two independent publishers describe the same mechanism consistently: the driver now parses the card's own video BIOS to initialize the VGA core rather than relying on firmware, and both report the same two test platforms. Evidence is specific (patch description cases, /dev/fb0 outcome, Amiga 4000 with Mediator bridge) but rests on one developer's patch series and reporting on it, with no independent reproduction and one publisher misstating the covered card families.
Merged upstream, but usage limited to the author's own hardware
Adoption evidence is real but thin: the change landed in the Linux 7.3 FBDEV pull, which guarantees distribution reach over time, yet all disclosed usage is the developer's own two machines. The dependent 3D stack is unmerged and experimental, and no third-party users, distributions or deployments are cited by either source.
Card coverage and 'all working' framing run ahead of the merged code
The merged work is a modest, well-scoped initialization change, but headline framing overstates it in two ways: Voodoo 3 / 4 / 5 are named as gaining PC-BIOS-free initialization when the VSA-100 path was removed from the series, and 'all functionality appears to be working' covers testing that includes unmerged 3D patches whose Quake performance and multitexturing are acknowledged elsewhere as unresolved. Tom's Hardware's explicit limits discussion pulls the overall gap down from larger.
No funding, vendor or commercial interest disclosed
Neither source discloses employment, sponsorship, vendor involvement, licensing or any commercial stake behind the patch series or the reporting. Inferring incentives from a hobbyist retro-hardware context would be guessing, so this dimension is left unmeasured.
Core facts solid; scope and merge status partly unresolved
The technical core — driver-side video BIOS parsing, the firmware assumption it replaces, the framebuffer-only outcome — is corroborated and internally consistent. Confidence is held back by the unresolved Voodoo 4/5 scope discrepancy, by one source describing the change as in progress while the other reports it merged, and by reliance on developer self-reporting for the 3D stack and the AI-assisted emulator narrative.
build
The kernel's Assisted-by trailer makes AI help a signed line, not a rumour1 distinct publisher
build
The MS-R1 ships KVM but no vhost, so an Android test fleet starts with a kernel build1 distinct publisher
build
China's accelerator swap makes Cambricon supply, not export policy, your ship-date risk1 distinct publisher
science
Text watermarks land on 2 December. The detection they imply does not.1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.