Archlinux 更新失败之驱动与 Xorg 配置错误
Archlinux系统更新是滚动更新,所以更新失败又被叫做“滚挂了”
此次滚挂发生在1月27日,过了那么久了才想起来该记录了……
现象
滚挂的现象是,能够进系统,但是笔记本电脑自带的显示器无法显示图形界面。根据本人排查问题的经验,首先想到的是如何更加精确的定义现象。所以做了这一些尝试:
- 外接的显示器,可以进图形界面
- 用VNC,可以启动图形界面
问题解决尝试一
既然是更新导致的,那么回退有可能可以搞定。Archlinux更新的包与旧的包保存在/var/cache/pacman/pkg中,通过ls按时间排序,找到了几个相关的东西,即内核、固件、nvidia驱动。
到此依然不行,直接手动启动Xorg也不行。
问题解决尝试二
回退不行,那就只能试试全过程法了(这招真的是屡试不爽),即图形界面到显示到显示器的整个过程挨个排查。
全过程法依赖于我对正常流程的理解。我使用的是KDE桌面,KDE要用Xorg才能启动,之后的过程就不知道了。然后显示数据肯定会走到内核或者驱动中,之后的过程也不知道,最后会显示到显示器上。也就是说,目前想到的过程是:KDE->Xorg->...->内核或驱动->...->显示器。
中间不知道的怎么办?车到山前必有路,船到桥头自然直,我相信我排查到Xorg之后,就可以弄清楚Xorg之后的流程了。
根据之前“精确定义的现象”,得出结论:
- KDE与Xorg大概率是没有问题,因为可以外接显示器并且启动
- Xorg没有核心的更新,所以Xorg大概也没有问题
- 显示器是正常的,因为windows是可以启动的。
所以出现问题的地方可能是:
- 内核或驱动
- Xorg与内核或驱动的结合方式,大概率就是Xorg没有配置对
- 内核或驱动与显示器的结合方式
1通过回滚试了,没用。
至于2,检查了/etc/X11/xorg.conf.d/的两个配置文件,没啥头绪,只记得linux的nvidia驱动不是很好用,就改了 /etc/X11/xorg.conf.d/10-optimus-manager.conf 中关于nvidia的部分,修改如图,原本文件中写的那两行被注释了。
然后?然后就意外地解决了?!
所以到底是为啥?我现在只知道这大概率和我默认选择nvidia显卡相关,但是更加具体的我真不知道。
Archlinux 更新失败之驱动与 Xorg 配置错误的更多相关文章
- Dell R410 broadcom网卡驱动更新失败
问题描述: 最近遇到一个Dell R410 broadcom网卡驱动更新失败的问题.从官网上下载的驱动在安装的过程中都会自己回滚回来,很是困惑. 尝试解决: Dell官网现在提供的驱动一般最少有两种格 ...
- Win8.1+VS2013+WDK8.1+VirtualBox or VMware 驱动开发环境配置
https://blog.csdn.net/charlessimonyi/article/details/50904956 Win8.1+VS2013+WDK8.1+VirtualBox or VMw ...
- Win7 & Win 8系统更新失败的解决
转自:Win 8系统更新失败的解决(原创) 这几天win 8又出了一大堆更新,而且是一更新完就要重启,重启之后照例要进入更新包的安装过程.不爽的是,屡屡在重启后出现"配置Windows更新失 ...
- git更新失败Probably the path to Git executable is not valid
git更新代码失败 检查setting配置,发现路径配置错误 找对git的安装目录,修改路径后保存即可
- Win10更新失败 无限重启 怎么修复
首先使用安全模式进入电脑,win+R 输入gpedit.msc,进入组策略管理器.或者在开始菜单输入gpedit.msc 在组策略的左侧依次单击打开“计算机配置—管理模板—Windows组件”,并在右 ...
- 解决mybatis-plus更新数据的时候,有值为空导致更新失败的问题
问题 在用mybatis-plus更新数据的时候,更新失败,错误信息如下: Cause: org.apache.ibatis.type.TypeException: Could not set par ...
- windows7 更新失败,无法开机处理方法
记录一次今天同事笔记本无法开机的故障处理 windows7系统,安装更新失败,无法开机,卡在配置更新界面 处理方法,强制关机,开机按F8,进入安全模式,安全模式还会卡在配置更新界面,但是卡一会会进入系 ...
- 接收新信息,在会话中看不到(thread表数据插入/更新失败)
分析原因:收到短信,sms表插入信息,触发器会自动更新thread表,更新失败导致一直有一条未读信息数量显示,但在会话列表中却看不到. (偶现,低概率. 解决方法:接收新信息插入后,立即查询threa ...
- SQL SERVER 2008 R2 SP1更新时,遇上共享功能更新失败解决方案
SQL SERVER 2008 R2 SP1更新时,遇上共享功能更新失败的问题,可作如下尝试: 更新失败后,在windows的[事件查看器→应用程序]中找到来源为MsiInstaller,事件ID为1 ...
- 更新新网卡驱动,修复win7雷凌网卡Ralink RT3290在电脑睡眠时和启动网卡时出现蓝屏netr28x.sys驱动文件错误
更新新网卡驱动,修复win7雷凌网卡Ralink RT3290在电脑睡眠时和启动网卡时出现蓝屏netr28x.sys驱动文件错误 我的本本是win7,雷凌网卡Ralink RT3290 802.1 ...
随机推荐
- 共建共荣金融生态!金融级数字底座“源启”与GoldenDB数据库完成互认证
近日,中电金信金融级数字底座"源启"顺利与金篆信科GoldenDB分布式数据库完成互认证.GoldenDB数据库安全稳定运行在"源启"之上,整体性能表现卓越,进 ...
- 我们为什么选择Vue.js而不是React(转载)
这篇非常好,可以当做 why React sucks 看 ;D 其实 vue 也不如 molecule 最近,Qwintry开发团队把很多项目都迁移至Vue.js,包括所有遗留的项目和新开始的项目: ...
- Podman与docker兼容性问题
使用Podman最好的地方就是支持rootless,也就是说用户不需要为root权限即可进行容器的管理操作.因此现在在CentOS 8及以后的版本中,默认使用Podman替代Docker,如果使用do ...
- 【NAS】Docker Gitea+SakuraFrp+绿联DPX4800标 搭建私有代码托管平台
本文主要分享 Gitea的一些设置,和Https的实现. Gitea的一些设置 映射 网络 HTTPS的实现 先准备好一个域名,建议准备一个1Panel 创建一个AC账户然后点击申请证书,手动解析. ...
- go编译可以指定os和arch
是的,Go 编译器支持通过环境变量来指定目标操作系统(OS)和架构(Arch).这允许你为不同的平台交叉编译 Go 程序.你可以使用 GOOS 和 GOARCH 环境变量来指定目标系统. 例如,如果你 ...
- Base58在java程序中应用
Base58是用于Bitcoin中使用的一种独特的编码方式,主要用于产生Bitcoin的钱包地址. 相比Base64,Base58不使用数字"0",字母大写"O" ...
- Qt/C++地图测距/显示不同线段的距离/拿到测距结果/测距结束信号
一.前言说明 地图测距在地图组件中属于一个比较小众的功能,但是又不得不提供,有时候用户希望直接在地图上选点,测算距离,尤其是在一些军事领域用的比较多,测距功能提炼出来的共性就是,每一段都有距离,最后鼠 ...
- Qt音视频开发39-海康sdk回调拿到数据GPU绘制的实现
一.前言 采用海康的sdk做开发,最简单最容易的方式就是传入句柄(windows和linux都支持/很多人以为只有windows才支持)即可,这种方式不用自己处理绘制,全部交给了sdk去处理,所以cp ...
- Qt音视频开发08-ffmpeg内核优化(极速打开/超时回调/实时响应)
一.前言 最初编写这套视频解析组件的时候,面对的场景是视频监控行业,对应设备都是网络监控摄像机,传过来的都是rtsp这种视频流,做过这一块的人都知道,打开某个视频流默认耗时比较大,基本上在2s左右,那 ...
- 零基础快速入门WebRTC:基本概念、关键技术、与WebSocket的区别等
本文引用自Hussein Nasser的两个视频分享,原文内容由卢冰聪翻译整理,即时通讯网收录时有大量修订和重新排版. 1.内容概述 本文是专为学习开源实时音视频工程WebRTC的入门者编写的速成指南 ...