--- 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 桌面会通过独显启动,其他程序则默认使用核显。 --- 希望以上经验能为有此需求的用户提供参考帮助。