系统:KDE Neon 18.04,4.18内核
集成:英特尔高清
独立显卡:Nvidia 965M
驱动程序:nouveau
我已经让它与 Nvidia 的专有驱动程序兼容,但我正在尝试 Wayland 并希望继续使用它。问题是 Nvidia 的专有源代码意味着 Wayland 无法开发无缝集成 Nvidia 驱动程序的方法。我真的很想摆脱 xorg 和 Nvidia 软件的使用,因为它们一直很麻烦。
我可以使用独立 GPU 来运行 X.org,但只能(大多数时候)使用集成 GPU 来运行 Wayland。我说大多数时候是因为我实际上还没有看到它切换到使用独立 GPU 和桌面管理器,但当强制所有东西都使用独立 GPU 运行时,我节省的 RAM/性能提升非常明显。我知道大量渲染 3D 图形效果的应用程序可以关闭,但由于 Intel HD Graphics 决定使用更多 RAM,因此无法很好地完成这项工作。我想强制在独立 GPU 上运行的主要应用程序是浏览器和 GUI shell。
我按照列出的顺序尝试过:
清除了 nvidia 的所有东西
重新安装所有与 nouveau 相关的软件包,以防与升级内核有关
nvidia-prime
自行安装并使用命令prime-select nvidia
看看我的系统是否知道我的离散switcheroo-control
;真的不确定如果没有任何 BIOS 设置帮助的话这会有什么作用。
部分输出gdbus introspect --system --dest net.hadess.SwitcherooControl --object-path
:
interface net.hadess.SwitcherooControl {
methods:
signals:
properties:
readonly b HasDualGpu = true;
删除nouveau.modeset=0
并替换为nvidia-drm.modeset=1
。我以前使用前者来允许自己启动登录而不会挂起系统,后者是来自的建议这里。
该指南中我还没有尝试过的是sudo ubuntu-drivers autoinstall
,我现在要尝试一下。由于它安装的所有软件包,我一直犹豫不决是否要尝试它。
libbsd0:i386 libdrm-amdgpu1:i386 libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386
libdrm2:i386 libedit2:i386 libelf1:i386 libexpat1:i386 libffi6:i386 libgl1:i386 libgl1-mesa-dri:i386
libglapi-mesa:i386 libglvnd0:i386 libglx-mesa0:i386 libglx0:i386 libllvm7:i386 libnvidia-cfg1-390
libnvidia-common-390 libnvidia-compute-390 libnvidia-compute-390:i386 libnvidia-decode-390
libnvidia-decode-390:i386 libnvidia-encode-390 libnvidia-encode-390:i386 libnvidia-fbc1-390
libnvidia-fbc1-390:i386 libnvidia-gl-390 libnvidia-gl-390:i386 libnvidia-ifr1-390
libnvidia-ifr1-390:i386 libpciaccess0:i386 libsensors4:i386 libstdc++6:i386 libwayland-client0:i386
libwayland-server0:i386 libx11-6:i386 libx11-xcb1:i386 libxau6:i386 libxcb-dri2-0:i386
libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386 libxcb-sync1:i386 libxcb1:i386
libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxnvctrl0 libxshmfence1:i386
libxxf86vm1:i386 nvidia-compute-utils-390 nvidia-dkms-390 nvidia-driver-390 nvidia-kernel-common-390
nvidia-kernel-source-390 nvidia-settings nvidia-utils-390 screen-resolution-extra
xserver-xorg-video-nvidia-390
我现在已经重新启动进入 Wayland。我的 3D 处理器需要 Nvidia,但使用的主要 GPU 仍然是 Intel。nvidia-smi
打印出 30MB 正在用于/usr/lib/xorg/Xorg
。我已经输入nvidia-smi -pm 1
并将重新启动进行测试。我认为这不会有帮助。如果有用,我会重新编辑,但我将把它搁置,直到有更多经验的人可以提供帮助。通常我会使用nvidia-settings
来强制离散,但它输出ERROR: Unable to find display on any available system
。
编辑:我的系统在重启时挂起后,我重新订阅了。登录常规 shell,检查 GPU RAM 使用情况nvidia-smi
,发现多个进程使用 GPU 渲染,而不仅仅是 1 个。我能够使用nvidia-settings
并仔细检查 Nvidia/performance 是否被选为首选模式。我切换到 Wayland 的众多原因之一是,有一天我无法扩展显示器。我的第二台显示器始终是重复的……仍然没有修复,现在我的面板都丢失了。
注销后重新登录 Wayland 会话,nvidia-smi
只显示 Xorg 是通过 Nvidia GPU 渲染的进程。我真的真的需要使用虚拟操作系统来测试这类东西。
答案1
我对 Ubuntu 和 GNU/Linux 还很陌生,这是我在这里的第一个回答,所以请谨慎对待并原谅这种说法。我不确定 Nvidia GPU 是否使用 Prime,但如果它确实使用 Prime,那么我的观点是:
bashBedlam 的回答帮助我在独立 AMD gpu 上运行所有内容:如何配置应用程序以始终在 DRI_PRIME=1 的情况下运行?除了终端之外还有其他方法吗?
“(...)将您的分配 DRI_PRIME=1 插入到 /etc/environment 然后重新启动就可以了(...)”
外观: /etc/环境/ 这是一个只读文件。因此您需要以 root 身份使用 gedit 进行更改。
首先,在终端中使用此命令转到目录:
光盘/等
然后:
sudo gedit 环境
现在您可以在里面注入 DRI_PRIME=1 命令。
如果我没理解错的话,这就是你想要做的,除非你的系统有 Nvidia。