linux为什么不支持大型游戏?

操作系统是软硬件之间的桥梁,它可以通过驱动程序实现对硬件的调用和操作,而软件则通过操作系统提供的API来与操作系统交互,从而实现对硬件的操作。

游戏是一种软件,要运行游戏需要有显卡,而显卡是硬件,游戏是不可能直接调用和操作显卡的。

游戏必须首先调用操作系统提供的与显卡有关的API,然后由操作系统通过驱动程序去调用和操作显卡,这是游戏软件执行的路径。

在Windows系统里与图形显示有关的API是DirectX系列(常见的比如DX9、DX10、DX11、DX12),因为Windows系统装机量巨大,所以绝大多数游戏为了能在Windows系统上运行,都会开发适配DX系列API的版本。

而Linux操作系统显然没法用微软他们家的DX系列,Linux又没有像Windows那样开发自己的图形API,长期以来Linux一直都是用开源的OpenGL系列API,但由于架构过于过时,实际上已经跟不上游戏开发者对性能的需求了,性能跟DX系列根本没得比,大约是14、15年之后的游戏就很少有完全支持OpenGL的了。

所以Linux玩游戏不行本质上是OpenGL不行导致的,现在状况改善了很多,因为OpenGL有了上位替代——Vulkan,新一代的跨平台图形API,Linux现在可以用Vulkan了,所以近几年支持Vulkan的游戏是可以在Linux上运行的。

因为Vulkan性能确实不错,支持DX的游戏通过转译层可以实现把对DX的调用转译为对Vulkan的调用,所以只支持DX的游戏也可以通过转译层利用Vulkan在Linux上运行,性能损失是可以接受的水平。

最新的SteamOS本质上是定制版的Linux,它就可以通过转译层用Vulkan直接运行DX版的游戏,而且转译的性能开销可以接受,甚至由于定制Linux本身可以极致轻量化,本身性能开销远小于Windows,甚至会出现DX转译为Vulkan反而运行更顺畅的奇观。当然毕竟不是原生支持,有些bug和功能损失是难以避免的。

可以说这几年Linux系统是有潜力做到比较强的游戏性能的,当然前提是得会折腾,以及DX到Vulkan转译层软件的持续更新、优化和支持,目前好消息是Steam下场帮大家把这些事办了,想玩游戏直接下个SteamOS就得了。

坏消息是Linux操作系统的图形API短板虽然补齐了,但Linux和NVIDIA之间糟糕的关系,导致N卡在Linux上的驱动稀烂,基本就是不可用的状态。

要在Linux上玩游戏还是得用A卡,当然,结合目前N卡的价格,也难说用不了N卡是好事还是坏事。

编辑于 2026-08-06 · 著作权归作者所有