
Linux 7.3版内核带来了一项意外更新,3dfx Voodoo3这款“上古”经典显卡配资之家网首页,居然获得了驱动更新!
要知道,3dfx都已经破产24年了……
据芯硬件了解,Voodoo3诞生于1999年,是20世纪90年代末PC 3D显卡普及浪潮中的标志性产品,也是3dfx收购显卡制造商STB Systems、转向自研自产自销完整显卡后的首款主力产品。
它还是3dfx首款全功能单芯片显卡,彻底告别了此前两代产品“3D加速子卡+独立2D显卡”的模式,将2D加速、3D渲染、VGA显示核心、RAMDAC转换器全部集成在单颗芯片中。
该卡搭载双纹理单元,搭配128-bit 8/16MB SDR显存,最高支持2048×1536分辨率,同时提供AGP 2x、PCI两种总线接口,包括1000、2000、3000、3500 TV等从入门到旗舰的不同型号。

3dfx Voodoo3 3000 PCI
遗憾的是,Voodoo3也是3dfx从巅峰转向衰落的标志。
它延续了3dfx Glide API生态的统治力,拥有几乎所有主流3D游戏的深度优化,同时兼容DirectX 6.0、OpenGL。
但是,它的硬件规格被NVIDIA RIVA TNT2、ATI Rage 128等竞品紧追,最关键的是3dfx转向自研自产,彻底失去了大量第三方板卡厂商的支持,很快被市场彻底抛弃,3dfx也在2000年圣诞节被NVIDIA以区区1.12亿美元的超低价格收购,两年后彻底破产。
时至今日,Voodoo3仍是复古硬件收藏圈的经典符号,也深受怀旧DIYer、复古游戏玩家的钟爱,仍然有不少开发者为它维护现代系统下的兼容方案。
所以,Linux 7.3这次为它更新驱动,其实也不意外。

3dfx Voodoo3 2000 AGP
当然啦,这次更新不可能让Voodoo3得到现代化的Linux图形堆栈,更不可能提升性能,而是升级了系统内核中已有的tdfxfb帧缓冲驱动,从而能够自主完成Voodoo3的硬件初始化,不再依赖系统固件预先运行显卡的VBIOS。
这次更新变化不大,但却不是无聊之举,而是有着非常明确的应用需求,也再次解释了为何这么古老的硬件依然能在如今的Linux获得关注。
问题的根源在于,tdfxfb驱动历来默认Voodoo显卡已由PC固件完成了初始化。
对于早些年的x86 PC而言,这么设计是合理的,因为系统固件会在开机时首先执行显卡VBIOS,完成硬件配置,使其具备显示能力,再移交给Linux系统管理。
但是在新平台或者非x86架构平台上,固件很可能不会执行显卡VBIOS,显卡就无法正常工作了。
提交本次驱动补丁的开发者是Daniel Palmer,zhijie 在一台配备Mediator PCI桥接器的Amiga 4000电脑上使用Voodoo3时遇到了这个问题。
Linux系统能够识别显卡硬件,但是始终处于未初始化状态,屏幕只会提示“无信号输入”。

新驱动则会从显卡自带的VBIOS中读取配置参数,从而摆脱对系统固件的依赖,直接由Linux内核完成显卡的初始化,让驱动可以自主唤醒VGA核心,建立可用的显示输出。
不仅如此,驱动更新后,Linux系统会生成一个可用的帧缓冲设备,由Voodoo显卡负责输出显示,承载Linux虚拟控制台。
也就是说,这次升级可以让Voodoo3从一个可以被Linux识别的PCI设备,变成真正可用的显示适配器,即便固件没有预先初始化也能正常输出画面。
当然了,fbdev图形接口早已被Linux DRM/KMS图形架构取代,这次更新显然不能让Voodoo3真正适配当代系统。
因此,这次更新适合三类场景:非x86架构的PC、其他显卡作为主显示卡的系统、无法兼容运行老旧VBIOS的新型BIOS。

3dfx Voodoo5 5000
开发者原本还计划支持Voodoo4/5,但因为VBIOS差异过大,暂时无法实现。
值得一提的是,开发者还在为Voodoo3开发独立的3D驱动通路,已完成测试,可以直接通过显卡寄存器完成3D渲染,无需依赖X窗口系统、Mesa驱动或者3dfx Glide API接口。
他甚至还在为Voodoo3开发QEMU模拟器,已经可以跑《雷神之锤》了,不过性能一般,多重纹理等功能还有问题。
配资之家网首页
盛多网配资提示:文章来自网络,不代表本站观点。