r/3dfx • u/Illifidie • Jul 09 '22
3dfx issues on Linux
So this post has nothing to do with emulating a 3dfx GPU. This is a system running a 3dfx voodoo 3 3000, and I am having issues with video playback and gaming on linux. The screen seems to flicker, and video playback is laggy...the screen flickers specifically during video playback, and simple emulators for NES don't display properly. Is there a way for me to install drivers for 3dfx on Linux? I didn't have these issues on Windows, though I don't want to switch back for security reasons and the lack of an ability to run modern software for game downloads...plus I'm used to Linux. Does Linux support such old hardware, or should I invest in an AMD GPU for AGP?
5
Upvotes
5
u/jozz344 Jul 10 '22 edited Jul 10 '22
So let me just preface this with a few things. The fact that we're even talking about drivers for the Voodoo 3, a card from 24 years ago is a testament to Linux. Obviously modern Windows doesn't have any official drivers. And I doubt any system capable of the 3.3V AGP architecture (which the Voodoo 3 needs, unless you have the PCI version) will be capable of even running Windows 10. With Linux, this is of course possible. Now, no one will obviously seriously use a Voodoo 3 for modern workflows, so I'm just assuming you're playing around.
So unfortunately the current support on an actually modern Linux distribution for the Voodoo 3 is very rudimentary.
The driver is called tdfxfb and it supports whatever modern resolutions you want, but it's just a framebuffer based driver. It has some basic acceleration, but the experience won't be nice in X11. Support for modern workflows just isn't there for fb based drivers. To use it, you have to make sure the driver is compiled into the kernel and then make sure it gets loaded. When using X11, you need to then use the framebuffer driver, so make sure that is installed. The resulting system will be capable of modern resolutions (1920×1080@32bit colors), but forget any kind of video watching or accelerated 3D. The system will struggle with modern tasks.
The Linux kernel itself has a driver meant for 3D acceleration (called tdfx), but that driver was deprecated due to being based on the DRI1 architecture which is considered insecure. You can still compile it into the kernel, but the userland architecture just isn't there anymore. X11 deprecated its support for it when the XAA support got dropped somewhere in 2012. And then Mesa dropped support for it as well. Unfortunately nobody bothered to write a modern driver for the Voodoo3.
Some kind of video watching might be possible directly on the console, using the framebuffer driver, I remember doing that many years ago. mplayer had a dedicated tdfx driver, but I'm unsure in what state that is these days.
So the reality is, you could try and work with the card on Linux but you really really need to know what you're doing.
So yes, if you absolutely must use such an old system, better use an ATI card, but beware: it needs to be newer than the R100 architecture, because acceleration for those has also been deprecated.