笔记本是二手的,配置为:
i5-8350U,16 GB RAM,512 GB SSD
装完 Arch 后依次安装了 KDE、dwm 和 lightdm,运行均卡顿,且容易崩溃。
于是尝试了其他 Linux 发行版,卡顿崩溃的问题仍在。
之前在一台台式上也装过包含 Arch 在内的各种发行版,流畅运行桌面环境,还是 Win 10 双系统。机子的配置:
i3-8100,16 GB RAM,128 GB SSD + 2 TB HDD,GTX 1050 Ti
Linux 下并没有安装过 Nvidia 显卡的相关驱动,按道理来说也是用的集显,各项都应该不如笔记本。
已查阅过 Arch Wiki 上的 ThinkPad T480s 条目,未能找到有效解决办法。
卡顿崩溃是周期性的,或许是内存溢出了?
最近编辑记录 vialektik (2023-03-18 19:19:08)
离线
来几个具体的崩溃描述。
离线
来几个具体的崩溃描述。
运行桌面环境时通常先黑屏较长一段时间,此时光标仍可自由移动。之后桌面完全显示,尚可使用。
一段时间后桌面和鼠标都失去响应,Ctrl + Alt + F2 也无法切换 tty。
之后就是未响应—运行—未响应—运行的循环,或者彻底崩溃,通过电源键才能关机。
渲染也会出现撕裂画面的现象。
最近编辑记录 vialektik (2023-03-08 22:53:17)
离线
重启之后看看系统日志呢?journalctl -b -1 -n 1000 这样子
离线
重启之后看看系统日志呢?journalctl -b -1 -n 1000 这样子
抱歉,我仍是个刚入门 Linux 的新手,暂且看不明白系统日志,请见谅。
一千多行的文本直接发在论坛不大现实,只好放在 Github 上面了,暂时没有想到别的替代方法。
https://github.com/vialektik/TemporaryF … output.txt
第 754 行或许就是崩溃的开始?
离线
抱歉,我仍是个刚入门 Linux 的新手,暂且看不明白系统日志,请见谅。
这个不是问题,谁也不是天生就会的,多看就懂了,
一千多行的文本直接发在论坛不大现实,只好放在 Github 上面了,暂时没有想到别的替代方法。
正确的做法。
https://github.com/vialektik/TemporaryF … output.txt
第 754 行或许就是崩溃的开始?
我简单看了一下,问题表现还是比较明显的,就是intel的显卡驱动i915出现了问题,我这里看到的最早报告error在log的687行,
Mar 09 00:39:28 prts kernel: i915 0000:00:02.0: [drm] Resetting rcs0 for preemption time out
Mar 09 00:39:28 prts kernel: i915 0000:00:02.0: [drm] sddm-greeter[579] context reset due to GPU hang
Mar 09 00:39:28 prts kernel: i915 0000:00:02.0: [drm] GPU HANG: ecode 9:1:85df9cff, in sddm-greeter [579]
Mar 09 00:39:28 prts kernel: i915 0000:00:02.0: [drm] Resetting rcs0 for preemption time out
Mar 09 00:39:28 prts kernel: i915 0000:00:02.0: [drm] GPU HANG: ecode 9:1:85dffffb
Mar 09 00:39:29 prts kernel: i915 0000:00:02.0: [drm] Resetting rcs0 for preemption time out
Mar 09 00:39:29 prts kernel: i915 0000:00:02.0: [drm] GPU HANG: ecode 9:1:85dffffb
Mar 09 00:39:30 prts kernel: i915 0000:00:02.0: [drm] Resetting rcs0 for preemption time out
Mar 09 00:39:30 prts kernel: i915 0000:00:02.0: [drm] *ERROR* rcs0 reset request timed out: {request: 00000001, RESET_CTL: 00000001}
Mar 09 00:39:30 prts kernel: i915 0000:00:02.0: [drm] GPU HANG: ecode 9:1:9edeffef, in QSGRenderThread [597]
Mar 09 00:39:40 prts kernel: Asynchronous wait on fence 0000:00:02.0:QSGRenderThread[597]:c timed out (hint:intel_atomic_commit_ready [i915])
这部分应该是开源的代码,如果你要深入研究的话甚至可以找到intel_atomic_commit_ready 这个函数(问题发生在QSGRenderThread这个线程)
如果不想深入研究的话,就把在上面的错误中找关键词丢到google里面搜索看有没有别人也遇到过类似问题,以及有没有现成的解决方案。
一个比较拼运气的做法,因为上面的error来自内核显卡驱动程序部分,可以多换几种内核看会不会好(例如linux-zen/linux-lts等),尤其注意内核的版本,不同大版本之间差异还是很大的
另外,可以描述一下你的硬件显卡型号等,增加信息可以加快问题的检索和排查
我用 intel i915 GPU hang on QSGRenderThread 这个关键词在google搜到了许多相关的信息,应该是已知问题, 在这个页面的最后有人说更新内核会好,https://bugzilla.redhat.com/show_bug.cgi?id=2027040
最后实在不行你也可以试试用关键词去问问最近大火的chatgpt /误
最近编辑记录 matrikslee (2023-03-09 11:06:38)
离线
是显卡驱动 i915 的问题。好多 GPU hang。
我也不知道怎么办,网上也没找到完全相同的症状。可以考虑给 i915 报个 bug。
离线
回复完才发现 matrikslee 已经回复了啊。不过这个看上去不是已知问题,因为那个是 5.15 版本的,现在都 6.2 啦。
离线
跟这台机子已经死磕了大半天,由于不会在原有 Arch 的基础上更改内核,于是采用了最笨的方法——重装,然而无济于事。
顺带一提,机子的 ISP 屏幕出了点问题,已经联系过商家准备退换,所以这几天会选择在台式上临时装个双系统。
目前看来,唯一的解决方案就是提 bug 了。英语能力勉勉强强还说得过去,尽量不麻烦各位,避免做个伸手党。
离线
跟这台机子已经死磕了大半天,由于不会在原有 Arch 的基础上更改内核,于是采用了最笨的方法——重装,然而无济于事。
其实关于arch系统的常用操作,wiki上都有,建议你可以看看, wiki主页是 https://wiki.archlinuxcn.org/
关于内核的wiki页面
https://wiki.archlinuxcn.org/wiki/%E5%86%85%E6%A0%B8
对于普通用户而言,换内核就是换linux-xxx软件包,最基本的是官方提供的 linux 软件包,官方的教程默认用户会安装这个包
对于wiki上的右上角有‘AUR’字样的软件包,默认无法通过pacman安装,需要用aur helper例如yay/paru(这两个是官方仓库的软件,可以通过pacman安装)等
在安装了新的linux内核软件包之后,需要配置你的引导加载程序让它在启动的时候使用新的内核,参考wiki的这个页面
https://wiki.archlinuxcn.org/wiki/Arch_ … B%E5%BA%8F
离线
yay 和 paru 不是官方仓库的软件,是 [archlinuxcn] 的。
离线
其实关于arch系统的常用操作,wiki上都有,建议你可以看看, wiki主页是 https://wiki.archlinuxcn.org/
起初我的确阅读了 Arch Wiki 上的相关条目,但实际操作中遇到了各式各样的问题,内核编译起来也得花上不少时间,于是打算之后再具体学习。
相比之下,重新安装 Arch 对我来说效率更高一些 (前后安装了将近十遍,指令都快背完了)。
此外我发现我做了一个相当愚蠢的决定,那就是没有在保存 Xorg 日志文件的情况下把系统换回了 Win 10,并将机子和配件放进包裹后准备寄给商家退换,这几天应该是提不了 bug 了……
离线
久违地更新一波帖子:
今天下午拿到了退换后的机子,给它装上 Arch + KDE 后完美运行!看来这段时间内问题已经被开发者给解决了。
一波折腾下来,发自内心地感慨道 Arch 的 Wiki 和用户社区真是强大,让新人省走了不少弯路。
感谢依云和 matrikslee 的热心解答,谢谢你们在我手足无措的时候给予了帮助!
离线