在 Linux 上,我可以使用不带 X 的 Nvidia 卡获得 3D 加速吗?

在 Linux 上,我可以使用不带 X 的 Nvidia 卡获得 3D 加速吗?

我喜欢 Linux。

我喜欢 OpenGL。

我不喜欢 X。

在 Linux 上,有没有办法在不使用 X 的情况下从我的 Nvidia 卡获得 3D 加速?理想情况下,我会启动内核,进入控制台,然后以某种方式进入“图形模式”,其中我的整个显示器只是一个 OpenGL 屏幕...然后我使用 OpenGL 在其上绘制内容。没有 X。这可能吗?

谢谢!

答案1

嗯,应该可以使用带有硬件加速的帧缓冲区,请参阅这里

答案2

Nvidia 的二进制驱动程序仅适用于 X。但是,您可以运行无头 X 服务器。请参阅 README 中有关“UseDisplayDevice”“none”的部分:

ftp://download.nvidia.com/XFree86/Linux-x86/190.36/README/appendix-b.html#UseDisplayDevice

我相信未来的 Gallium + nouveau 堆栈将在 sans X 下工作,但现在仍处于密集开发中。

答案3

维基百科有一个部分X 的竞争对手

其中,你想要的可能匹配的是直接FB但它说“直接渲染基础设施[在 X 中]......可能会使这些努力变得多余”

除非您打算编写自己的操作系统,然后在其基础上编写应用程序,否则我建议坚持使用 X。它已经开发和使用了几十年,我很确定目前还没有任何好的替代品。

答案4

从我发现的所有情况来看,OpenGL 似乎需要 X。

  • OpenGL 支持的实现包括
    • 适用于 *nix 的 X 窗口系统
    • Linux 上的 GLX(OpenGL 和 GLX 以及 X 服务器集成的 GLX,都是 Linux 系统组件
  • Mesa 3D 和直接渲染基础设施
    • 直接渲染基础架构是一个允许在 X Window 系统下直接访问图形硬件的框架

相关内容