小智 9
啊,PRIME,也被称为“为什么这永远行不通”。冗长的解释如下...
因此,我假设您已经购买了(就像我一样)一台至少带有两张显卡的计算机。在某些系统上,这些共享您的计算机图形输出并通过某种切换机制连接到它们,通常称为 MUX(指 MULTIPLEXER),因此您基本上可以在 BIOS(或 UEFI)中设置一个参数,即应该使用什么显卡或连接到什么输出。
然而,大多数系统采用了更便宜、更复杂的共享图形缓冲区的替代方案。这意味着,例如,您的标准低功耗集成卡始终连接到您的显示器,并且在该输出上绘制的所有像素都必须以某种方式通过该卡。
如果您运行的只是轻量级应用程序,您可能只会使用内部卡。但有时你想用你强大的外卡来为你计算所有这些 3d 东西,所以你必须告诉 xrandr
这称为“ GPU卸载”,在这种情况下,外部卡是“卸载源”,而内部卡是“卸载接收器”(因此数据流从源到接收器),您可以启用此功能(如果默认情况下未启用)与
xrandr --setprovideroffloadsink source_provider sink_provider
其中source_provider和sink_provider可能是您的图形驱动程序的名称,例如,nouveau和Intel.
但是,在某些系统上,某些视频输出连接到外部卡。这意味着内部卡,完成不同程序的屏幕空间的所有摆弄,必须以某种方式将其输出发送到外部卡,然后外部卡只在其输出上绘制像素。在这种情况下,数据从一张卡的来源传到另一张卡的输出,要启用它,您必须使用它。
xrandr --setprovideroutputsource output_provider source_provider
哪里output_provider是外部卡的名称,它连接了以前无法访问的输出,source_provider是集成卡,它进行数据处理,但不能绘制连接到外部卡的输出。
最后一件事,如果您同时启用了这两种方法(这可能发生),图形密集型应用程序的内容将在“好”卡上计算,发送到“跛脚”卡,与屏幕空间的其余部分,有时会被送回“好”卡,在那里它会被绘制在屏幕上。所有这些的缺点是,所有“屏幕空间摆弄”(也称为渲染)都是在“跛脚”卡上完成的,这可能很慢。
为了解决这个问题,您必须将进行所有渲染的卡(称为主 GPU)从集成的显卡更改为外部显卡,(据我所知)如果不重新启动 X 服务器就无法完成,并且它需要您摆弄 Xorg 配置文件。
如果你愿意,我可以给你很多关于我如何设置的信息(Arch Linux、带有英特尔和 nouveau 驱动程序的联想 W530、i3wm),否则,我建议你阅读man xrandr.
| 归档时间: |
|
| 查看次数: |
2192 次 |
| 最近记录: |