[经验分享]记一次显卡驱动切换卡logo的悲惨过程与补救步骤
Tofloor
poster avatar
花心胡萝卜
deepin
2020-09-29 18:44
Author
本帖最后由 hxhlb 于 2020-9-29 10:45 编辑

这是一个小白的杯具经验分享...

故事背景:
之前在DeepinV20Beta版的时候, 我曾经在我的ThinkPad T410上装过, 然而在使用深度显卡管理器切换显卡驱动的时候, 进入了无尽大茶壶重启模式.
当时, 作为一个体验的电脑, 我并没有太在意, 直接就重装了. 后来重装之后, 顺利的用显卡驱动管理器切换了驱动.
当时使用了系统感觉非常NICE, 于是就在公司的主力开发机上部署了DeepinV20.
公司主力开发机也是比较烂的ThinkPad T530, 连个独显都没有, 因为有过显卡驱动不顺利的事情发生, 所以一直也没搞Intel核显的加速模式.
昨天下班之后, 我在公司的主力开发机上, 玩了一会儿steam, 发现十分的卡, 就想到如果切换到加速模式, 会不会好一点呢...说干就干, 于是就有了这篇杯具的文章....

过程:
安装了显卡驱动管理器, 点击切换到加速模式, 一切顺利, 然后就重启了.
重启之后, 立马杯具, 卡在logo处不动了, 我惊呆了, 吓尿了, 这他妈可是我的主力开发机啊, 各种交叉编译环境啊, 于是乎抽了根烟压压惊, 让grub跑码启动看看错误.
结果, 直接就报错说找不到 /sbin/init,

当时我就出了一身汗, 我擦, 难道切换显卡还能把文件系统整没了么!!! 幸好我还有个N年前装的Ubuntu系统, 进去一看, 文件都在, 我就奇怪了, 于是, 从grub引导项中删掉quiet(这个是显示精简内核启动信息) splash(这个是使用图形界面代替跑码)两项之后, F10启动. 这次看到的错误就详细多了, 可惜当时忘了拍照. 从错误中发现是overlayroot的问题, 我就想起来, 我的/usr是单独的分区挂载的, 因为手机上没有FQ工具, 百度搜出来的overlayroot也没什么实质性的内容, 所以就从grub引导项动手, 除了删掉quiet和splash外, 还增加了一个 overlayroot=disabled 选项, 这次顺利开机, 进入大茶壶了.

然后另一个新的杯具开始了, 无论是点击应用还是点击取消, 都会无限循环在大茶壶, 当然每次开机还必须修改grub的配置...在我经历了绝望之后, 点燃一根烟, 看着烟雾缭绕的办公室里黑乎乎的电脑屏幕, 看到那不断输出数据的dgradvrmgr.sh, 突然灵光一闪, 于是乎, 再次进入Ubuntu, 准备研究一下dgradvrmgr.sh的代码.

具体过程就不详细说了, 在经过了九九八十一次重启之后, 我再次绝望了.... 绝望中, 我仿佛看到了我悲惨的明天, 进度耽误了, 环境没有了, 工程坏掉了, 工作丢失了.... 不得不说, 烟是个好东西, 再次点燃一支烟, 让自己冷静一下, 思考为什么每次开机都会启动大茶壶而不是进系统呢? 随着思考, 我的目光落到了dgradvrmgr.sh的第一行, systemctl stop lightdm, 我擦, 脑子瞬间清醒, 这不就是不让启动桌面的一句话么! 于是我做了一个大胆的决定, 把这个文件改名了!

改名后, 顺便把/etc/overlayroot.conf也改了, 直接从配置文件禁用了overlayroot, 这次重启也懒得去改grub启动项了, 直接进系统, 完美的一幕出现了, 系统顺利进入, 并且还把显卡更新了, 之后正常重启, 一切回到了原来的样子.....

可惜, 凡事都不会很完美, 经过今天的使用, 虽然显示效果果然更好了, 但是kwin已经连续死了N次了... 我在忍受一下, 如果还是不行, 我就只能在切换回默认驱动了....

总结:
上边其实都是废话, 真正有用的在这里.
  1. 1. 如果有任何开机卡LOGO, 并且硬盘灯也不闪, 请在出现开机启动项的时候, 选中要进入的启动项, 按下e, 随后进入编辑grub启动项的界面, 删掉quiet splash 两个选项后, F10启动观察跑码输出.
  2. 2. 根据错误去解决问题, 比如我这个overlayroot出现问题, 就在grub启动项添加 overlayroot=disabled 来禁用它.
  3. 3. 无线卡大茶壶的兄弟们, 只要你们出现大茶壶并没有什么问题, 请按照如下方法跳过大茶壶.
  4.     0). 前提, 你需要准备一个live系统或者其他系统能够修改文件, 在大茶壶上切换tty也不是不行, 但是它的时间比较短, 不熟悉的选手可能不能完成操作.
  5.     1). 在挂载上文件系统后, 进入deepin系统的 /usr/lib/deepin-graphics-driver-manager/working-dir, 用你最熟悉的方式修改 config.conf, 如果你的大茶壶很完美, 是要点击确定的, 那么就把 config.conf 中的 exit_test 为 true, gltest-success 为 true, 保存.
  6.         如果你的大茶壶不完美, 是要点击取消的, 那么就把 config.conf 中的 exit_test 为 true, gltest-success 为 false, 保存.
  7.         关于大茶壶不完美, 我并没有测试, 因为我的大茶壶是完美的, 所以, 请大家斟酌, 什么都不改也是可以的, 主要在下边一步.
  8.     2). 返回到上一层, 也就是 /usr/lib/deepin-graphics-driver-manager, 把 dgradvrmgr.sh 直接改名或删掉, 建议改个名吧. 避免出现啥问题.
  9.     3). 编辑 /etc/overlayroot.conf, 最后一行, 如果不是 overlayroot="", 就修改成 overlayroot="", 一般来说, 编辑这个文件的时候, 除非你有自己的操作, 否则应该就是 overlayroot="tmpfs:swap=1,recurse=0" 这样的, 大差不差, 直接改成 overlayroot="" 即可禁用overlayroot.
  10.     4). 重启, 应该就能正常进入系统, 并且显卡驱动管理器会自动更新新的显卡驱动(大茶壶完美的情况下).
Copy the Code


其实杯具依然在继续.........
写这篇文章的时候, kwin就死了6次, FUCK!!!!! 并且我悄悄的玩了玩游戏, 感觉还不如不加速呢, 唉.....
希望这篇文章能够帮助像我一样的小白吧..




Reply Favorite View the author
All Replies
花心胡萝卜
deepin
2020-09-29 19:26
#1
我擦, 现在不光是假死了, 还开始闪屏了, 看来真的是要在切换回去了....
Reply View the author
zhangn1985
deepin
2020-09-29 19:34
#2
intel核心显卡推荐使用modesetting驱动,不要使用intel自己的。
Reply View the author
zhangn1985
deepin
2020-09-29 19:37
#3
对于intel核心显卡驱动切换工具,仅仅修改了/etc/X11/x.org.conf.d/*里面的东西,没有安装任何其他的东西。
你可以`man intel`学习它做的改动。
另外也可以`man modesetting`
Reply View the author
zhangn1985
deepin
2020-09-29 19:39
#4
Reply View the author
花心胡萝卜
deepin
2020-09-29 20:21
#5
https://bbs.deepin.org/post/203076
对于intel核心显卡驱动切换工具,仅仅修改了/etc/X11/x.org.conf.d/*里面的东西,没有安装任何其他的东西。 ...

是的 脚本我都看了, 很悲伤, 折腾这么久发现就是改配置, 太伤心了
Reply View the author