Files
blog.hifuu.ink/source/_posts/arch-nvidia.md
2025-02-26 09:13:52 +08:00

113 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Archlinux的KDE Plasma优先启用Nvidia独立显卡和混合显卡配置指北
date: 2024-11-06 10:02:04
tags: 技术
categories: [技术分享]
---
本文将介绍在 **X11****Wayland** 两种会话下,如何在 KDE Plasma 中优先启用 Nvidia 独立显卡,并提供 I+N 混合显卡的配置方案。**首先,请确保您已经正确安装了 Nvidia 驱动**(如果非 Mainline 内核,请使用 `nvidia-dkms``nvidia-open-dkms` 版本)。
![Nvidia设置示意图](/images/5364bba6d035326e82c53504dd53e7c2454454985.png)
### 适用系统
对于 **CachyOS****EndeavourOS** 等 Arch Linux 衍生版,这些配置大多开箱即用,但对于刚刚入坑 Arch Linux 且使用 KDE 的新手可能会遇到这样的问题:
- Nvidia 驱动已安装,`nvidia-smi` 输出正常
- KDE 系统信息显示仍在使用核显,程序运行时也优先使用核显
- 导致某些应用如浏览器、Blender可能出现卡顿或掉帧现象
这是因为 Arch Linux 的高自定义性,许多功能需要用户手动配置。以下是详细的解决方案。
---
## 配置 X11 下的 Nvidia 显卡优先
可以通过配置 `/etc/X11/xorg.conf` 实现 Nvidia 独显输出。幸运的是Nvidia 提供了自动生成配置文件的工具,用户无需手动编写:
```bash
sudo nvidia-xconfig --prime
```
该命令会根据硬件情况自动生成配置文件。执行后 **重新登录会话** 即可生效(即使是 Wayland 用户也可以执行一次此命令)。
![X11 Nvidia配置](/images/1613f5602b203b38230f19699deb0219454454985.png)
---
## 配置 Wayland 下的 Nvidia 显卡优先
在 Wayland 下优先启用 Nvidia 显卡的步骤如下:
1. 编辑 **GRUB 配置**文件:
打开 `/etc/default/grub` 文件,在 `GRUB_CMDLINE_LINUX_DEFAULT=""` 中添加 `nvidia_drm.modeset=1`
```bash
GRUB_CMDLINE_LINUX_DEFAULT="nvidia_drm.modeset=1"
```
2. 重新生成 grub 配置:
```bash
sudo grub-mkconfig -o /boot/grub/grub.cfg
```
3. 配置 **Plasma 环境**文件:
在 `~/.config/plasma-workspace/env/nvidia.sh` 中写入以下内容:
```bash
#!/bin/bash
export __NV_PRIME_RENDER_OFFLOAD=1
export __GLX_VENDOR_LIBRARY_NAME=nvidia
```
4. 保存并重启电脑,即可生效。
![Wayland Nvidia配置](/images/b2054bbaf6197624d38cc2007d885fd1454454985.png)
---
## I+N 混合显卡方案
如果不希望全局启用独显,可以选择让大部分程序默认使用核显,而少数高性能需求的程序使用独显。这种方法能有效节省功耗,同时将独显资源集中分配给需要的程序(如 Steam 游戏、Blender 等)。缺点是每个程序需要手动配置启动项。
### 配置步骤
1. 打开程序的 `.desktop` 启动文件:
位置可能在 `/usr/share/applications` 或 `~/.local/share/applications` 中。
2. 在 `Exec=` 后添加 `prime-run` 参数。例如:
```text
Exec=prime-run <程序启动命令>
```
![混合显卡配置示意图](/images/71a5357ef4bd808b10429bc2ea46cb6f454454985.png)
### Vim 快捷配置
如果使用 Vim可以使用以下快捷键快速批量替换 `Exec=` 为 `Exec=prime-run`
```vim
v -> G -> :s/Exec=/Exec=prime-run /g Enter -> :wq Enter
```
---
## 让 Plasma 桌面也使用独显
如果希望 Plasma 桌面也通过独显运行,可以修改 Wayland 配置文件并删除第二行:
```bash
#!/bin/bash
export __GLX_VENDOR_LIBRARY_NAME=nvidia
```
这样 Plasma 桌面会通过独显启动,其他程序则默认使用核显。
---
希望以上经验能为有此需求的用户提供参考帮助。