我在一台新笔记本电脑上安装了 Ubuntu,LG Gram 17 具有 Whiskey Lake 3x8 GT2 图形。
某些应用程序会导致损坏的三角形段被涂黑。附有一个应用程序的屏幕截图,该应用程序 100% 的时间重现了该问题。我也看到了 VLC 的问题,但只有当它切换到全屏时 - 但如果我制作了相同大小但不是全屏模式的窗口,则不会。有趣的是,我刚刚测试了 tuxracer,效果很好。
此外,我有一个可能相关的问题,有时打开一个新窗口(即使是像 xterm 这样无害的东西)会崩溃/挂起 X。屏幕会变黑并且只显示一个闪烁的光标,但子进程将继续运行。我可以切换到文本虚拟终端,机器仍然运行良好,但我无法让 X 再次显示。
我正在运行启用了 HWE 的 Ubuntu 18.04.3 LTS - 所以我使用的是内核 5.3.0-26。
LG Gram 需要内核选项“pci=nommconf”——不知道这是否会影响图形。
我尝试将 i915.blacklist=yes 添加到我的内核启动选项中,但我不相信它实际上做了任何事情,因为 i915 似乎仍然处于启用状态。我也试过:
- i915.enable_fbc=0 (我验证它实际上已禁用)
- intel_iommu=on,igrfx_off (不相信这实际上禁用了 i915)
关于我还能做些什么来弄清楚发生了什么的任何建议?
我的视频设置是:
# lshw -c video | grep 'configuration'
configuration: depth=32 driver=i915 latency=0 mode=2560x1440 visual=truecolor xres=2560 yres=1440
# lshw -c video
*-display
description: VGA compatible controller
product: Intel Corporation
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
logical name: /dev/fb0
version: 00
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm vga_controller bus_master cap_list rom fb
configuration: depth=32 driver=i915 latency=0 mode=2560x1440 visual=truecolor xres=2560 yres=1440
resources: iomemory:600-5ff iomemory:400-3ff irq:177 memory:6022000000-6022ffffff memory:4000000000-400fffffff ioport:2000(size=64) memory:c0000-dffff
这是图形的 lspci 信息:
00:02.0 VGA compatible controller: Intel Corporation Device 3ea0 (prog-if 00 [VGA controller])
Subsystem: LG Electronics, Inc. Device 0325
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 177
Region 0: Memory at 6022000000 (64-bit, non-prefetchable) [size=16M]
Region 2: Memory at 4000000000 (64-bit, prefetchable) [size=256M]
Region 4: I/O ports at 2000 [size=64]
[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: [40] Vendor Specific Information: Len=0c <?>
Capabilities: [70] Express (v2) Root Complex Integrated Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0
ExtTag- RBE+
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
DevCap2: Completion Timeout: Not Supported, TimeoutDis-, LTR-, OBFF Not Supported
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-
Address: fee00018 Data: 0000
Capabilities: [d0] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Kernel driver in use: i915
Kernel modules: i915
更新到 X “崩溃” - 我发现如果我转到文本终端,我可以重新启动我的窗口管理器,然后我可以回到我桌面的至少一部分,尽管窗口装饰器(翡翠)和我的面板(gnome-panel 和 cairo-dock) 消失了,但如果我在 emerald 和窗口管理器和 gnome-panel 上重新启动几次,它们最终会重新出现。某处是否有日志可以告诉我发生了什么崩溃?
在将新安装和我十多年前的 Ubuntu 设置之间的差异一分为二之后,我终于找到了罪魁祸首 cairo-dock。
cairo-dock 不仅破坏了 Sidequest 的图形,还破坏了 Steam 的图形,大概还有其他任何以相同方式呈现的东西。
cairo-dock 能够启动 opengl 后端或“cairo 后端”,但它们都会破坏 Sidequest/Steam 的图像。
奇怪的是,情况并非总是如此,因为我以前使用过 Steam,而且这个人显然使用了这两种方法而没有图形损坏:
https://classicforum.manjaro.org/index.php?topic=7960.0
有趣的是,只有首先启动 cairo-dock 才会发生这种情况。如果我在启动 sidequest 或 steam 时重新启动 cairo-dock,一切似乎都很好。那是不对的。
无论如何,是时候开始研究其他码头发射器了。