Md *_*ani 40 nvidia graphics hybrid-graphics nvidia-prime
我已经在 Ubuntu 19.10 上安装了 Nvidia 专有驱动程序。
在 Prime Profiles 部分,有三个选项:
* NVIDIA(性能模式)
* NVIDIA On-Demand
* Intel(节能模式)
第一个和最后一个选项很明显,但我不知道第二个选项是如何工作的。它如何检测哪些应用程序需要 NVIDIA 驱动程序,哪些不需要?
Md *_*ani 25
好吧,我终于想通了。此刻,NVIDIA 似乎可以为 OpenGL 和 Vulkan 应用程序进行卸载渲染。
为了启用此卸载渲染,您必须将 Prime 配置文件置于“按需”状态,然后对于 Vulkan 卸载,您必须将此变量放入您的/etc/environment文件中:
__NV_PRIME_RENDER_OFFLOAD=1
对于 OpenGL 应用程序,您必须放置这些变量:
__NV_PRIME_RENDER_OFFLOAD=1
__GLX_VENDOR_LIBRARY_NAME=nvidia
重新启动后,它将开始渲染卸载。
为了检查正在使用的图形卡,您可以在终端中输入以下命令:
glxinfo | grep vendor
Win*_*nix 12
来自:第一部分安装和配置说明
PRIME 渲染卸载是让 X 屏幕由一个 GPU 渲染的能力,但选择该 X 屏幕内的某些应用程序在不同的 GPU 上渲染。这与动态电源管理结合使用特别有用,可以关闭 NVIDIA GPU,除非需要渲染选定的性能敏感应用程序。
渲染大部分 X 屏幕的 GPU 被称为“接收器”,某些应用程序渲染被“卸载”到的 GPU 被称为“源”。渲染卸载源生成呈现在渲染卸载接收器上的内容。NVIDIA 驱动程序可以作为 PRIME 渲染卸载源,卸载 GLX+OpenGL 或 Vulkan 的渲染,呈现给由 xf86-video-modesetting X 驱动程序驱动的 X 屏幕。
NVIDIA 的 PRIME 渲染卸载支持需要在 X.Org X 服务器中进行以下 git 提交:
7f962c70 - xsync:在 SyncCreate 中添加资源,导出 SyncCreate
37a36a6b - GLX:添加每个客户端供应商映射
8b67ec7c - GLX:使用发送客户端查找 XID
56c0a71f - GLX:添加更改客户供应商列表的功能
b4231d69 - GLX:设置 GlxServerExports::{major,minor}Version
在撰写本文时,这些提交仅在 X.Org X 服务器的 master 分支中,尚未在任何官方 X.Org X 服务器版本中。
Ste*_*ger 10
作为Md Narimani 回答的扩展:我可以确认这实际上对我在 kubuntu 19.10 和 nvidia 驱动程序版本 440 上工作
一些背景信息可以在第 34 章找到。 PRIME Render Offload
您也可以在 GUI 中设置“按需”选项: Nvidia X Server Settings - PRIME Profiles: NVIDIA On-Demand
然后重新启动。
然后您也可以直接从命令行使用环境变量启动您的应用程序 - 这样您就可以根据需要切换 GPU:
stefan@stefan-Zen:~$ glxheads :0
Name: :0
Display: 0x556081a45d40
Window: 0x7000002
Context: 0x556081a64a70
GL_VERSION: 3.0 Mesa 19.2.8
GL_VENDOR: Intel Open Source Technology Center
GL_RENDERER: Mesa DRI Intel(R) UHD Graphics 630 (Coffeelake 3x8 GT2)
stefan@stefan-Zen:~$ __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxheads :0
Name: :0
Display: 0x55f6dd9097a0
Window: 0x7000002
Context: 0x55f6dd944878
GL_VERSION: 4.6.0 NVIDIA 440.64
GL_VENDOR: NVIDIA Corporation
GL_RENDERER: GeForce RTX 2060/PCIe/SSE2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28842 次 |
| 最近记录: |