安装Nvidia驱动踩坑记录
本文最后更新于 964 天前,其中的信息可能已经有所发展或是发生改变。

背景

由于Linux自带的开源nouveau驱动,由逆向工程得到,无法完全发挥显卡性能,也不能精确控制功耗,亮度调整经常失效,无法自主决定使用哪块显卡,续航严重不足。所以我决定安装Nvidia官方的驱动程序。

硬件配置

  • 华硕天选3笔记本电脑
  • Nvidia RTX 3060独立显卡
  • AMD集成显卡
  • Kali Linux操作系统
  • Kali Live启动盘(救援用)

安装过程

首先,我从Nvidia官方网站下载适用于RTX 3060的驱动程序NVIDIA-Linux-x86_64-525.105.17.run

然后,编辑/etc/modprobe.d/blacklist.conf文件,添加如下内容

# 禁用开源nouveau驱动
blacklist nouveau

# 保存后在命令行执行,读取上面写入的设置
sudo update-initramfs -u

关闭图形界面

sudo systemctl stop lightdm.service

关闭图形界面后,屏幕黑屏,并不会自动进入控制台,需要按ctrl+alt+f1进入tty1终端。然后输入用户名和密码登录。

运行刚才下载的NVIDIA-Linux-x86_64-525.105.17.run,安装Nvidia驱动程序。

安装时会有一些选项需要配置,等到安装程序进度条走完后,重启无法启动图形界面,只能进入tty终端。

最后发现这是由于一些不明所以的原因,导致系统无法驱动AMD集成显卡,切换为使用RTX 3060后,成功进入桌面。

使用nvidia-smi确认Nvidia驱动已成功安装。

但是无法使用集显,控制功耗的目的仍然没有达到。

在chatgpt的指导下,我安装了bumblebee。chatgpt说:

S:我希望系统能在独立显卡启动的时候使用nvidia驱动,在独立显卡关闭的时候,使用集成显卡。

A:要实现这个目标,你需要安装bumblebee软件包,它是一个用于集成Intel和Nvidia GPU的开源解决方案。在安装bumblebee之后,你可以使用primusrun或optirun来在独立显卡上运行应用程序,而在集成显卡上运行其他应用程序。这样,当你不需要使用独立显卡时,系统会自动切换到集成显卡,并关闭独立显卡。

具体步骤如下:

安装bumblebee
在终端中运行以下命令安装bumblebee:

arduino
Copy code
sudo apt-get install bumblebee bumblebee-nvidia primus linux-headers-generic

设置bumblebee
运行以下命令来设置bumblebee:

bash
Copy code
sudo gedit /etc/bumblebee/bumblebee.conf

在文件中,将以下行取消注释,并将其值更改为“nvidia”:

makefile
Copy code
Driver=nvidia

将用户添加到bumblebee组
运行以下命令将当前用户添加到bumblebee组中:

bash
Copy code
sudo adduser $USER bumblebee

测试bumblebee
运行以下命令来测试bumblebee:

Copy code
optirun glxgears

如果一切正常,你应该会看到glxgears运行在独立显卡上。

切换到集成显卡
要切换到集成显卡,请在终端中运行以下命令:

csharp
Copy code
sudo prime-select intel

切换回独立显卡
要切换回独立显卡,请在终端中运行以下命令:

csharp
Copy code
sudo prime-select nvidia

注意:这种方式不适用于所有硬件配置,某些硬件可能需要进行更改。如果遇到问题,请查阅官方文档或咨询硬件生产商。
注意!这是一个错误示范!

执行chatgpt给予的建议之后,我的Kali就无法成功引导了。

尝试救援

问题由bumblebee引起,那么卸载bumblebee是显而易见的解决方法。想要卸载bumblebee,前提条件是需要拿到shell。我后续的所有努力都是为了拿到shell。并为此消耗了大量的时间。

我尝试从grub中修改引导项,但是失败了。单用户模式同样无法成功引导。

尝试多次均无法获得shell,然后我放弃来救援,准备重新安装操作系统。

重新安装

重新安装之前首先确认了几个条件。

我的文件数据全部都在用户目录中,而我的用户目录是单独分区后挂载到/home上的,和根目录不在一个文件系统上,这意味着我可以在保留用户数据的前提下重新安装操作系统。

重装流程不多赘述,只需要在分配磁盘空间时,不要格式化保存用户目录的分区,直接挂载即可。

再次尝试

根据下面这篇博客,我重新尝试安装Nvidia驱动,可以使用独显和核显成功启动。

https://blog.csdn.net/wzh312222/article/details/123149695:安装Nvidia驱动踩坑记录

在nvidia-smi中显示系统中只有一块RTX 3060被成功驱动了,实际上AMD核显也在运行,不过Nvidia驱动程序无法驱动它,所以不显示。

使用radeontop命令可以查看AMD核显的运行情况。

此时,RTX 3060和AMD核显同时工作。断电运行时,可以通过调整独显的运行模式为自动,来控制它的功耗。此时独显几乎不工作,渲染任务由核显承担。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇