debian使用bumblebee切换显卡,xfce桌面

在Debian系统中,你可以使用以下步骤来切换显卡:

  1. 删除 /etc/X11/xorg.conf 文件⁴:这个文件是X Window系统的主要配置文件,它可能包含了指定使用NVIDIA显卡的设置。你可以通过 sudo rm /etc/X11/xorg.conf 命令来删除这个文件⁴。
  2. 注释掉 /usr/share/sddm/scripts/Xsetup 文件中的一行代码⁴:这个文件可能包含了在启动时加载NVIDIA显卡驱动的设置。你可以通过 sudo nano /usr/share/sddm/scripts/Xsetup 命令来编辑这个文件,然后在相关的代码行前面加上 # 来注释掉这行代码⁴。
  3. 重启你的电脑:这样,你的系统在下次启动时就会默认使用Intel集成显卡。

如果你的系统中没有 /etc/X11/xorg.conf /usr/share/sddm/scripts/Xsetup 这两个文件,那么你的系统可能正在使用默认的配置,或者这些配置被保存在其他地方。

在这种情况下,你可以尝试使用 prime-select 工具来切换你的显卡prime-select 是一个命令行工具,它可以让你在NVIDIA显卡和Intel集成显卡之间切换。

可以通过以下步骤来安装和使用 prime-select

  1. 打开终端。
  2. 输入 sudo apt install nvidia-prime 命令来安装 prime-select
  3. 输入 sudo prime-select intel 命令来切换到Intel集成显卡。
  4. 重启电脑。

当你需要使用NVIDIA显卡时,你可以通过 sudo prime-select nvidia 命令来切换到NVIDIA显卡。

在一部分Debian系统中,nvidia-prime 包可能并不可用。在这种情况下,可以尝试使用 Bumblebee 或者 nvidia-xrun 工具来切换你的显卡¹²。

对于 Bumblebee,可以通过以下步骤来安装和配置:

  1. 安装 Bumblebee 和相关的包:sudo apt-get install bumblebee-nvidia primus linux-headers-generic¹。
  2. 将使用的用户添加到 bumblebee 用户组:sudo adduser $USER bumblebee¹。
  3. 重启你的电脑。

当你需要使用NVIDIA显卡时,你可以通过 optirun your-application 命令来启动你的应用程序¹。

Bumblebee的修改

Bumblebee的工作方式是修改系统的配置来切换显卡。如果在安装或配置Bumblebee后出现问题,可能需要按照以下步骤来恢复你的系统:

  1. 卸载Bumblebee:你可以通过 sudo apt-get remove --purge bumblebee 命令来卸载Bumblebee。
  2. 重装NVIDIA驱动:你可以通过 sudo apt-get install --reinstall nvidia-driver 命令来重装NVIDIA驱动。
  3. 重启你的电脑。

这样,你的系统应该就可以恢复正常了。如果问题仍然存在,建议寻求专业人士的帮助。

切换显卡 | 临时使用独显

在安装了Bumblebee后,你可以使用以下命令来查看当前正在使用的显卡:

  1. 使用 glxinfo | grep "OpenGL renderer" 命令:这个命令会显示当前正在使用的OpenGL渲染器,也就是当前正在使用的显卡¹。
  2. 使用 optirun glxgears -info | grep GL_RENDERER 命令:这个命令会显示在使用 optirun 命令时使用的显卡¹。如果这个命令的输出显示的是你的NVIDIA显卡,那么说明你的NVIDIA显卡可以正常工作¹。

由于Bumblebee服务没有在系统启动时自动启动,或者Bumblebee的配置文件中的套接字路径设置不正确。可能会解决问题的方法:

  1. 检查Bumblebee服务的状态:你可以通过 systemctl status bumblebeed 命令来检查Bumblebee服务的状态¹。如果服务没有运行,你可以通过 sudo systemctl start bumblebeed 命令来启动服务¹。
  2. 检查Bumblebee的配置文件:你可以通过 cat /etc/bumblebee/bumblebee.conf 命令来查看Bumblebee的配置文件¹。你需要确保 bumblebeed 部分的 Driver 设置为 nvidia,并且 driver-nvidia 部分的 KernelDriver 设置为你的NVIDIA驱动的名称(例如 nvidia-current)¹。
  3. 重启你的电脑:这样,Bumblebee服务应该会在系统启动时自动启动。

optirun结束程序后系统卡死:主要表现在新显卡

查看Bumblebee守护进程已经在运行,但是当尝试使用 optirun 命令时,它无法访问NVIDIA显卡。这可能是由于Bumblebee无法找到正确的配置文件目录:/etc/bumblebee/xorg.conf.d¹。

可以通过以下步骤来解决这个问题:

  1. 检查 /etc/bumblebee/xorg.conf.d 目录是否存在:可以通过 ls /etc/bumblebee/xorg.conf.d 命令来检查这个目录是否存在。如果这个目录不存在,你需要创建它:sudo mkdir /etc/bumblebee/xorg.conf.d¹。
  2. 检查 /etc/bumblebee/xorg.conf.nvidia 文件是否存在:这个文件是Bumblebee用来配置NVIDIA显卡的。你可以通过 cat /etc/bumblebee/xorg.conf.nvidia 命令来查看这个文件的内容¹。如果这个文件不存在或者内容不正确,你可能需要重新安装Bumblebee¹。
  3. 重新安装Bumblebee:你可以通过以下命令来卸载并重新安装Bumblebee³:
sudo apt-get remove --purge bumblebee
sudo apt-get install bumblebee
  1. 实验性:保持一个程序在 optirun 中
optirun watch -n 0.1 -d nvidia-smi

intel显卡查询状态

sudo apt install intel-gpu-tools -y
intel_gpu_top

临时查看nvidia状态(见上方实验性)

optirun nvidia-smi

临时调用:其实就是在运行的程序前面加optirun

使用primusrun替代optirun其实非常简单。你只需要在你通常使用optirun运行的命令前面替换为primusrun即可。

例如,如果你通常运行:

optirun <your-application>

你可以改为运行:

primusrun <your-application>

这里的<your-application>是你想要使用独立显卡运行的程序的名称。例如,如果你想要运行glxgears,你可以运行primusrun glxgears

注意,primusrunoptirun的工作方式略有不同。optirun使用VirtualGL来复制像素,可能会有一些性能损失,但是兼容性更好。primusrun直接把像素从独立显卡传输到集成显卡,性能更好,但是可能会有一些兼容性问题。因此,如果primusrun不能运行你的程序,你可能还需要回到optirun

环境变量参数调用

在Linux系统中,如果你想临时使用NVIDIA显卡运行特定的程序,你可以使用环境变量来指定显卡。这通常是通过在命令前加上一些特定的环境变量来实现的。

例如,如果你想使用NVIDIA显卡运行Edge浏览器,你可以尝试以下命令:

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia edge

这个命令会设置两个环境变量:__NV_PRIME_RENDER_OFFLOAD__GLX_VENDOR_LIBRARY_NAME。这两个环境变量会告诉系统使用NVIDIA显卡来运行接下来的命令(在这个例子中是 edge)。

这个方法可能需要系统支持PRIME Offloading,并且已经正确地安装和配置了NVIDIA驱动。


欢迎指出任何有错误或不够清晰的表达,可以在下面评论区评论。

×

喜欢就点赞,疼爱就打赏

//