我的 Arch-Linux 系统有问题。我用来startx
启动我的 GUI,这个问题在我的一天中随机发生。没有任何迹象表明出现任何问题(直到我切换到虚拟终端/控制台),并且无论我的桌面环境如何,此问题都将持续存在。
所以问题是:当我从 DE 切换到 VT 时,我的 VT 显示屏似乎冻结了。我所说的“冻结”是指它显示在“崩溃”之前(由于缺乏更好的术语)VT 上最后出现的任何文本。我输入的任何内容都不会显示,但我知道我输入的任何命令都会经过并正确执行。所以基本上 VT 工作得很好,只是这个显示器保持冻结状态。即使我切换到不同的 VT,它也会显示相同的“冻结”文本。
查看日志 ( journalctl -xe
) 显示没有错误,没有警告 - 没有什么奇怪的。如果我只启动计算机并使用 GUI,这不会成为问题,但我花费大量时间同时使用图形界面和虚拟终端。我注意到的一个模式是,在应用程序中全屏显示几乎可以保证 VT 冻结,但同样不会出现错误。
所以问题是:我该如何解决??
编辑:
我的显卡:Intel HD 5500 (Integrated Graphics)
我使用该xf86-video-intel
软件包,因为DRI(2) Drivers
使用light-dm
而不是从 VT 启动没有什么区别,在我的会话中的某个时候仍然出现该错误。
编辑2:
我现在认为这可能是由 a 引起的GPU hang
,但我不能 100% 确定。我还注意到,通过运行某些程序或游戏时会出现此错误Wine
。
编辑3:
跑步:
$ glxinfo | grep -i vendor
输出:
server glx vendor string: SGI
client glx vendor string: Mesa Project and SGI
Vendor: Intel Open Source Technology Center (0x8086)
OpenGL vendor string: Intel Open Source Technology Center
我的内核驱动程序是i915
:
$ lspci -nnk | grep -i vga -A3 | grep 'in use'
Kernel driver in use: i915
编辑4:
输出自journctl -xe
(从相关时间开始到文件结尾)
Apr 09 10:45:00 UNIX-ARCH-Ankush kernel: psmouse serio2: bad data from KBC - timeout
Apr 09 10:46:59 UNIX-ARCH-Ankush kernel: psmouse serio2: bad data from KBC - timeout
Apr 09 10:51:43 UNIX-ARCH-Ankush kernel: psmouse serio2: bad data from KBC - timeout
Apr 09 10:52:28 UNIX-ARCH-Ankush kernel: psmouse serio2: bad data from KBC - timeout
Apr 09 11:20:54 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:22:35 UNIX-ARCH-Ankush kernel: VBoxPciLinuxLinuxUnload
Apr 09 11:22:35 UNIX-ARCH-Ankush kernel: vboxdrv: Found 4 processor cores
Apr 09 11:22:35 UNIX-ARCH-Ankush kernel: vboxdrv: TSC mode is Invariant, tentative frequency 1995507786 Hz
Apr 09 11:22:35 UNIX-ARCH-Ankush kernel: vboxdrv: Successfully loaded version 5.0.16_OSE (interface 0x00240000)
Apr 09 11:22:35 UNIX-ARCH-Ankush kernel: VBoxNetAdp: Successfully started.
Apr 09 11:22:35 UNIX-ARCH-Ankush kernel: VBoxNetFlt: Successfully started.
Apr 09 11:22:35 UNIX-ARCH-Ankush kernel: VBoxPciLinuxInit
Apr 09 11:22:35 UNIX-ARCH-Ankush kernel: vboxpci: IOMMU not found (not registered)
Apr 09 11:22:40 UNIX-ARCH-Ankush kernel: capability: warning: `VirtualBox' uses 32-bit capabilities (legacy support in use)
Apr 09 11:22:41 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:22:42 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:22:48 UNIX-ARCH-Ankush kernel: SUPR0GipMap: fGetGipCpu=0x3
Apr 09 11:22:49 UNIX-ARCH-Ankush kernel: vboxdrv: ffffffffa1008020 VMMR0.r0
Apr 09 11:22:50 UNIX-ARCH-Ankush kernel: vboxdrv: ffffffffa0258020 VBoxDDR0.r0
Apr 09 11:22:50 UNIX-ARCH-Ankush kernel: vboxdrv: ffffffffa002e020 VBoxDD2R0.r0
Apr 09 11:22:50 UNIX-ARCH-Ankush kernel: vboxdrv: ffffffffa0047020 VBoxEhciR0.r0
Apr 09 11:23:20 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:23:20 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:31:48 UNIX-ARCH-Ankush dbus[240]: [system] Activating via systemd: service name='org.bluez' unit='dbus-org.bluez.service'
Apr 09 11:31:48 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:31:48 UNIX-ARCH-Ankush dbus[240]: [system] Activation via systemd failed for unit 'dbus-org.bluez.service': Unit dbus-org.bluez.service not found.
Apr 09 11:31:48 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:31:48 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:31:49 UNIX-ARCH-Ankush dbus[240]: [system] Activating via systemd: service name='org.bluez' unit='dbus-org.bluez.service'
Apr 09 11:31:49 UNIX-ARCH-Ankush dbus[240]: [system] Activation via systemd failed for unit 'dbus-org.bluez.service': Unit dbus-org.bluez.service not found.
Apr 09 11:31:49 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:31:57 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:34:18 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:34:19 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:34:31 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:34:31 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
与上相同,但没有-xe
( journalctl
)
Apr 09 11:20:54 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:22:35 UNIX-ARCH-Ankush kernel: VBoxPciLinuxLinuxUnload
Apr 09 11:22:35 UNIX-ARCH-Ankush kernel: vboxdrv: Found 4 processor cores
Apr 09 11:22:35 UNIX-ARCH-Ankush kernel: vboxdrv: TSC mode is Invariant, tentative frequency 1995507786 Hz
Apr 09 11:22:35 UNIX-ARCH-Ankush kernel: vboxdrv: Successfully loaded version 5.0.16_OSE (interface 0x00240000)
Apr 09 11:22:35 UNIX-ARCH-Ankush kernel: VBoxNetAdp: Successfully started.
Apr 09 11:22:35 UNIX-ARCH-Ankush kernel: VBoxNetFlt: Successfully started.
Apr 09 11:22:35 UNIX-ARCH-Ankush kernel: VBoxPciLinuxInit
Apr 09 11:22:35 UNIX-ARCH-Ankush kernel: vboxpci: IOMMU not found (not registered)
Apr 09 11:22:40 UNIX-ARCH-Ankush kernel: capability: warning: `VirtualBox' uses 32-bit capabilities (legacy support in use)
Apr 09 11:22:41 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:22:42 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:22:48 UNIX-ARCH-Ankush kernel: SUPR0GipMap: fGetGipCpu=0x3
Apr 09 11:22:49 UNIX-ARCH-Ankush kernel: vboxdrv: ffffffffa1008020 VMMR0.r0
Apr 09 11:22:50 UNIX-ARCH-Ankush kernel: vboxdrv: ffffffffa0258020 VBoxDDR0.r0
Apr 09 11:22:50 UNIX-ARCH-Ankush kernel: vboxdrv: ffffffffa002e020 VBoxDD2R0.r0
Apr 09 11:22:50 UNIX-ARCH-Ankush kernel: vboxdrv: ffffffffa0047020 VBoxEhciR0.r0
Apr 09 11:23:20 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:23:20 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:31:48 UNIX-ARCH-Ankush dbus[240]: [system] Activating via systemd: service name='org.bluez' unit='dbus-org.bluez.service'
Apr 09 11:31:48 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:31:48 UNIX-ARCH-Ankush dbus[240]: [system] Activation via systemd failed for unit 'dbus-org.bluez.service': Unit dbus-org.bluez.service not found.
Apr 09 11:31:48 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:31:48 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:31:49 UNIX-ARCH-Ankush dbus[240]: [system] Activating via systemd: service name='org.bluez' unit='dbus-org.bluez.service'
Apr 09 11:31:49 UNIX-ARCH-Ankush dbus[240]: [system] Activation via systemd failed for unit 'dbus-org.bluez.service': Unit dbus-org.bluez.service not found.
Apr 09 11:31:49 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:31:57 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:34:18 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:34:19 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:34:31 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:34:31 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:39:47 UNIX-ARCH-Ankush dhcpcd[2126]: wlp7s0: carrier lost
Apr 09 11:39:47 UNIX-ARCH-Ankush dhcpcd[2126]: wlp7s0: deleting route to 192.168.1.0/24
Apr 09 11:39:47 UNIX-ARCH-Ankush dhcpcd[2126]: wlp7s0: deleting default route via 192.168.1.254
Apr 09 11:39:47 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:39:47 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:39:47 UNIX-ARCH-Ankush kernel: r8169 0000:08:00.0 enp8s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
Apr 09 11:55:25 UNIX-ARCH-Ankush kernel: psmouse serio2: bad data from KBC - timeout
Apr 09 11:57:07 UNIX-ARCH-Ankush dbus[240]: [system] Activating via systemd: service name='org.freedesktop.Avahi' unit='dbus-org.freedesktop.Avahi.service'
Apr 09 11:57:07 UNIX-ARCH-Ankush dbus[240]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.Avahi.service': Unit dbus-org.freedesktop.Avahi.service not found.
Apr 09 11:57:46 UNIX-ARCH-Ankush dbus-daemon[585]: Activating service name='org.gnome.evince.Daemon'
Apr 09 11:57:46 UNIX-ARCH-Ankush dbus-daemon[585]: Successfully activated service 'org.gnome.evince.Daemon'
Apr 09 11:58:28 UNIX-ARCH-Ankush dbus[240]: [system] Activating via systemd: service name='org.freedesktop.Avahi' unit='dbus-org.freedesktop.Avahi.service'
Apr 09 11:58:28 UNIX-ARCH-Ankush dbus[240]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.Avahi.service': Unit dbus-org.freedesktop.Avahi.service not found.
Apr 09 11:58:54 UNIX-ARCH-Ankush dbus[240]: [system] Activating via systemd: service name='org.freedesktop.Avahi' unit='dbus-org.freedesktop.Avahi.service'
Apr 09 11:58:54 UNIX-ARCH-Ankush dbus[240]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.Avahi.service': Unit dbus-org.freedesktop.Avahi.service not found.
Apr 09 11:59:07 UNIX-ARCH-Ankush kernel: psmouse serio2: bad data from KBC - timeout
Apr 09 11:59:10 UNIX-ARCH-Ankush dbus[240]: [system] Activating via systemd: service name='org.freedesktop.Avahi' unit='dbus-org.freedesktop.Avahi.service'
Apr 09 11:59:10 UNIX-ARCH-Ankush dbus[240]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.Avahi.service': Unit dbus-org.freedesktop.Avahi.service not found.
Apr 09 12:03:05 UNIX-ARCH-Ankush dbus-daemon[585]: Activating service name='org.gnome.Terminal'
Apr 09 12:03:05 UNIX-ARCH-Ankush org.gnome.Terminal[585]: (gnome-terminal-server:7081): Gtk-WARNING **: Theme parsing error: gtk.css:700:22: 'text-decoration-line' is not a valid property name
Apr 09 12:03:05 UNIX-ARCH-Ankush dbus-daemon[585]: Successfully activated service 'org.gnome.Terminal'
Apr 09 12:07:41 UNIX-ARCH-Ankush dbus[240]: [system] Activating via systemd: service name='org.freedesktop.hostname1' unit='dbus-org.freedesktop.hostname1.service'
Apr 09 12:07:41 UNIX-ARCH-Ankush systemd[1]: Starting Hostname Service...
Apr 09 12:07:41 UNIX-ARCH-Ankush dbus[240]: [system] Successfully activated service 'org.freedesktop.hostname1'
Apr 09 12:07:41 UNIX-ARCH-Ankush systemd[1]: Started Hostname Service.
Apr 09 12:08:24 UNIX-ARCH-Ankush kernel: psmouse serio2: bad data from KBC - timeout
Apr 09 12:08:50 UNIX-ARCH-Ankush dbus-daemon[585]: Activating service name='org.gnome.gedit'
Apr 09 12:08:50 UNIX-ARCH-Ankush dbus-daemon[585]: Successfully activated service 'org.gnome.gedit'
Apr 09 12:08:50 UNIX-ARCH-Ankush org.gnome.gedit[585]: (gedit:7237): Gtk-WARNING **: Theme parsing error: gtk.css:700:22: 'text-decoration-line' is not a valid property name
答案1
这看起来确实像是视频驱动程序问题。
来源
wiki.archlinux Intel_graphics
wiki.archlinux Xorg
X 使用英特尔驱动程序时冻结/崩溃
X 崩溃、GPU 挂起或 X 冻结问题的一些问题可以通过使用 NoAccel 选项禁用 GPU 使用来修复 - 将以下行添加到您的配置文件中:
Option "NoAccel" "True"
或者,尝试仅使用 DRI 选项禁用 3D 加速:
Option "DRI" "False"
如果您遇到崩溃并且有
Option "TearFree" "true"
Option "AccelMethod" "sna"
在您的配置文件中,在大多数情况下,可以通过添加来修复这些问题
i915.semaphores=1
到您的启动参数。
如果您在 Baytrail 架构上使用 4.0.X 或更高版本的内核,并且经常遇到系统完全冻结的情况(特别是在观看视频或大量使用 GFX 时),您应该尝试添加以下内核选项作为解决方法,直到永久修复此错误。
intel_idle.max_cstate=1
如果这不能解决问题,请尝试排除故障。
视频驱动程序故障排除:
查看当前使用的驱动程序:(
lspci -nnk | grep -i vga -A3 | grep 'in use'
有关完整信息,请删除 grep)
就我而言:正在使用的内核驱动程序:i915。
也可以方便地了解输出关闭:
glxinfo | grep -i vendor
(mesa-utils
glxinfo 需要)
我所有的包裹
命令:pacman -Q | grep mesa
lib32-mesa 11.1.2-1
lib32-mesa-libgl 11.1.2-1
命令:pacman -Q | grep video
videoproto 2.3.3-1
xf86-video-amdgpu 1.0.1-1
xf86-video-ark 0.7.5-7
xf86-video-ati 1:7.6.1-1
xf86-video-dummy 0.3.7-5
xf86-video-fbdev 0.4.4-5
xf86-video-glint 1.2.8-7
xf86-video-i128 1.3.6-7
xf86-video-intel 1:2.99.917+587+gc186d4d-1
xf86-video-mach64 6.9.5-2
xf86-video-neomagic 1.2.9-2
xf86-video-nouveau 1.0.12-1
xf86-video-nv 2.1.20-7
xf86-video-openchrome 0.3.3-6
xf86-video-r128 6.10.1-1
xf86-video-savage 2.3.8-2
xf86-video-siliconmotion 1.7.8-2
xf86-video-sis 0.10.8-2
xf86-video-tdfx 1.4.5-7
xf86-video-trident 1.3.7-2
xf86-video-vesa 2.3.4-2
xf86-video-vmware 13.1.0-3
xf86-video-voodoo 1.2.5-7
英特尔显卡
安装 xf86-video-intel 软件包。它提供用于 2D 加速的 DDX 驱动程序,并引入 mesa 作为依赖项,为 3D 加速提供 DRI 驱动程序。
要启用 OpenGL 支持,还需安装 mesa-libgl。如果您使用的是 x86_64 并且需要 32 位支持,还可以从 multilib 存储库安装 lib32-mesa-libgl。
遵循VA-API和VDPAU进行硬件加速视频处理;在较旧的 GPU 上,这是由 XvMC 驱动程序提供的,该驱动程序包含在 DDX 驱动程序中。
要获得 Vulkan 支持,请在 Ivy-Bridge 或更新的 GPU 上安装 vulkan-intel。
要重新安装基于英特尔的视频驱动程序:
sudo pacman -Syu
sudo pacman -S xf86-video-intel lib32-mesa lib32-mesa-libgl
完整驱动程序列表:
$ pacman -Ss xf86-video
答案2
我也遇到了同样的问题。我无意中解决了这个问题。答案很简单:
pacman -Syu