Linux kernel 7.3 brings a nostalgic update for 3dfx Voodoo 3 graphics cards. This update makes it easier to use classic hardware from the late 1990s in modern systems. 3dfx Voodoo 3 graphics cards can now be started directly from Linux without needing support from the system BIOS. This development provides a great advantage, especially […]
Linux kernel 7.3 brings a nostalgic update for 3dfx Voodoo 3 graphics cards. This update makes it easier to use classic hardware from the late 1990s in modern systems.
3dfx Voodoo 3 graphics cards can now be started directly from Linux without needing support from the system BIOS. This development provides a great advantage, especially in older or exotic systems where firmware support is limited.
New Driver That Removes BIOS Dependency
Patches prepared by developer Daniel Palmer change the working logic of the tdfxfb framebuffer driver. The old driver operated on the assumption that the card was actually initialized by the system.
However, the new code performs the initialization process via Linux using the configuration information in the card’s own display BIOS. This allows the graphics card to display an image even if the system firmware is disabled.
Palmer first noticed this problem while using a Voodoo 3 on an Amiga 4000 system with a PCI bridge. Although Linux detected the card, no image appeared on the screen because the card was not initialized.
With the new update, this issue is resolved, and the card’s VGA core can be directly managed by Linux. Currently, this feature is only available for Voodoo 3 models.
Since Voodoo 4 and 5 series cards have different BIOS configurations, the support planned for these models has been excluded from the current patches. Nevertheless, this development proves why retro hardware is still popular in modern Linux kernels.
Experimental 3D Performance and Future Plans
The possibilities brought by the update are not limited to basic rendering. Palmer is also working on an experimental 3D path for the Voodoo 3.
The new /dev/tdfx3d device interface allows software to directly access the card’s 3D hardware. This structure, combined with the smoltdfx library and the smolminigl OpenGL implementation, reveals the card’s 3D capabilities.
Tests show that this setup can run the Quake game without needing modern layers like an X server or Mesa. While performance isn’t perfect yet, this work is quite exciting for retro hardware enthusiasts.
Palmer is also using QEMU emulation in the development process. Differences between the real hardware and the emulator are constantly compared to optimize the code.
This technology could pave the way for the use of Voodoo 3 in virtual machines via PCI passthrough in the future. It becomes theoretically possible to run software from the Windows 98 or DOS era on original hardware.
While Linux 7.3 doesn’t transform 25-year-old hardware into a modern GPU, it fills a valuable gap in hardware enhancement. Do you think it’s still sensible to run old graphics cards on modern systems, or is it just a hobby?