![安装 GPU 驱动程序后,Linux 图形堆栈会发生哪些变化?](https://linux22.com/image/226033/%E5%AE%89%E8%A3%85%20GPU%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E5%90%8E%EF%BC%8CLinux%20%E5%9B%BE%E5%BD%A2%E5%A0%86%E6%A0%88%E4%BC%9A%E5%8F%91%E7%94%9F%E5%93%AA%E4%BA%9B%E5%8F%98%E5%8C%96%EF%BC%9F.png)
答案1
在这些图形上,图像堆栈并没有真正改变(因此在抽象层面上)。大多数程序不会注意到任何差异(但例如,如果它们测量每秒的帧数)。
但读取的文件几乎没有变化。
第一个变化是 Linux 内核,或者更好的内核模块。新的显卡可能需要新的驱动程序。注意:许多驱动程序都非常通用,因此如果您只使用现有系列中的新 GPU,大多数功能都可以正常工作,但可能无法充分发挥潜力。或者最终应该输入一些启动参数(或者更好:模块参数)来接受未知的卡。内核主要处理权限和资源,所以不是核使用视频卡。
其他变化是在用户空间,例如上图中:libGL(渲染、计算),并且可能有其他驱动程序来处理其他部分(颜色管理、屏幕管理、GPU 中的计算等)。当您安装程序时,包管理器将安装一个通用驱动程序,该驱动程序将完成可能使用 GPU 的工作(或者只是告诉没有可用的 GPU)。这里主要工作已经完成(或者更好:委托):一个程序告诉:我需要这样的效果,并且库将在 CPU 上完成它,委托给 GPU 或混合(分解并向 GPU 发送大量操作)。再次强调:如果您不使用新的 GPU 系列,某些功能将被识别并使用。虽然没有充分发挥潜力,但它会减轻 CPU 的负担。
不要高估 GPU 上的差异。大多数架构保持不变。基准测试会有很多改进,但架构是相同的:可能会有一些优化、新内核、更多内存等,这些可能会被旧驱动程序识别。可能还有新功能(例如光线追踪、3D 阴影等),但在这种情况下,新的驱动程序不会有太大帮助,直到出现使用这些功能的程序(以及实现它的库/驱动程序)。
因此,在 Ubuntu(和其他发行版)上:您可能会从一开始就获得一些支持(非常基本,又名新类型的 VESA,高级但在其他情况下未完全优化)(与其他制造商相比,某些制造商在 Linux 中更加活跃)。要获得全面支持(驱动程序),您可能需要更多时间(如果是新架构,则需要更多时间;如果没有好的文档,则需要更多时间,请参阅“Apple Silicon”中的 GPU)。并且您需要更多时间(如果每个它都会得到它)来获得程序和游戏(和库)的全面支持。