使用长时间后,应用程序窗口无法呈现应用程序窗口。
问题:
- 应用程序屏幕有时会变黑(附图)
- 出现在任何应用程序中(Chrome、Thunderbird、Alacritty、KSettings、Slack、Discord 等)
- 渲染崩溃但功能正常(终端应用程序接受命令,Chrome 可以连接(通过 wireshark 检查))
状况及复现方法
- 开机几天后(约100小时)
- (照常工作)
- 操作窗口(升高、扩大、缩小)
- 有时屏幕会变黑
实际上,除了长时间运行之外,我找不到重现的方法。这个问题在最初几天不会发生。
错误:
# journalctl -b
Jan 31 08:49:59 arch-desktop kernel: Linux version 6.1.8-arch1-1 (linux@archlinux) (gcc (GCC) 12.2.1 20230111, GNU ld (GNU Binutils) 2.40) #1 SMP PREEMPT_DYNAMIC Tue, 24 Jan 2023 21:07:04 +0000
...
Feb 03 20:40:39 arch-desktop plasmashell[339482]: [339515:339515:0203/204039.778323:ERROR:shared_image_factory.cc(575)] Could not find SharedImageBackingFactory with params: usage: Gles2|Raster|DisplayRead|Scanout, format: RED_8, share_between_threads: 0, gmb_type: shared_memory
Feb 03 20:40:39 arch-desktop plasmashell[339482]: [339515:339515:0203/204039.845182:ERROR:shared_image_factory.cc(575)] Could not find SharedImageBackingFactory with params: usage: Gles2|Raster|DisplayRead|Scanout, format: RG_88, share_between_threads: 0, gmb_type: shared_memory
内存使用情况
看起来很健康
$ sudo nvidia-smi
Tue Feb 7 15:35:14 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.85.05 Driver Version: 525.85.05 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... On | 00000000:07:00.0 On | N/A |
| 0% 42C P8 28W / 270W | 4288MiB / 8192MiB | 47% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
环境
- 操作系统:Arch Linux(内核:6.1.8)
$ uname -a Linux arch-desktop 6.1.8-arch1-1 #1 SMP PREEMPT_DYNAMIC Tue, 24 Jan 2023 21:07:04 +0000 x86_64 GNU/Linux
- 桌面:KDE Plasma(5.26.5)
$ plasmashell --version plasmashell 5.26.5
问题
问题发生在哪里 (或如何找到)?这是内核错误还是 kwin 错误?
这个问题确实让我很烦恼,我可以用我的时间来解决这个问题。但我找不到正确的贡献地点,因为 Linux 和 KDE 项目非常大。
更新 - 2023-10-18
经过一番努力,我找到了一些线索。我比较了ps auxf
错误发生和未发生时的进程树()。它通常看起来相同,但有时会有所不同,如下所示:
\_ /usr/bin/kwin_x11 --replace
| | \_ [cat] <defunct>
当我重新启动该进程时,问题无需注销即可解决。
因此,以下命令是解决此问题的技巧。
kwin_x11 --replace
答案1
很棒的帖子。我也有同样的困境。
它非常不一致,但一旦开始就会累积。我使用流程管理器解决了这个问题,并感谢您的建议 kwin_x11 --replace
我经常同时使用 brave 和 firefox,它似乎对 firefox 和 windows 进行了最严重的报复。浏览器本身仍然可见,但视口内容变黑,或者右键单击菜单。
我今天要进行更新,如果您发现有改进,请告知我,因为我正在运行原始安装:操作系统:Kubuntu 23.04 KDE Plasma 版本:5.27.4 KDE Frameworks 版本:5.104.0 Qt 版本:5.15.8 内核版本:6.2.0-20-generic (64 位) 图形平台:X11 处理器:8 × Intel® Core™ i7-4790K CPU @ 4.00GHz 内存:23.3 GiB RAM 图形处理器:NVIDIA GeForce GTX 960/PCIe/SSE2 NVIDIA-driver-525