我有一块 Intel IvyBridge 显卡。今天早上,我的 12.04.02 LTS 导致 Xorg 服务器崩溃。
- 尝试使用较旧的内核,成功过一次,但重启时仍出现同样的错误。该问题似乎与内核无关。
重新启动 lightdm 确实让我进入了 GUI 登录屏幕:
sudo service lightdm stop sudo service lightdm start
所以现在我可以做一些诊断了。我对第一次 Xorg 启动(崩溃)和第二次启动(成功)之间的 Xorg 日志进行了比较。它们看起来很相似,直到某个点为止。
好的:
[ 310.379] (II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G, 915G,
E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G,
965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45,
4 Series, G45/G43, Q45/Q43, G41, B43, B43, Clarkdale, Arrandale,
Sandybridge Desktop (GT1), Sandybridge Desktop (GT2),
Sandybridge Desktop (GT2+), Sandybridge Mobile (GT1),
Sandybridge Mobile (GT2), Sandybridge Mobile (GT2+),
Sandybridge Server, Ivybridge Mobile (GT1), Ivybridge Mobile (GT2),
Ivybridge Desktop (GT1), Ivybridge Desktop (GT2), Ivybridge Server,
Ivybridge Server (GT2)
[ 310.379] (II) VESA: driver for VESA chipsets: vesa
[ 310.379] (II) FBDEV: driver for framebuffer: fbdev
[ 310.379] (++) using VT number 7
[ 310.380] (II) Loading /usr/lib/xorg/modules/drivers/intel_drv.so
[ 310.380] (WW) Falling back to old probe method for vesa
[ 310.380] (WW) Falling back to old probe method for fbdev
[ 310.380] (II) Loading sub module "fbdevhw"
[ 310.380] (II) LoadModule: "fbdevhw"
[ 310.380] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 310.380] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 310.380] compiled for 1.11.3, module version = 0.0.2
[ 310.380] ABI class: X.Org Video Driver, version 11.0
[ 310.380] drmOpenDevice: node name is /dev/dri/card0
[ 310.380] drmOpenDevice: open result is 9, (OK)
[ 310.380] drmOpenByBusid: Searching for BusID pci:0000:00:02.0
[ 310.380] drmOpenDevice: node name is /dev/dri/card0
[ 310.380] drmOpenDevice: open result is 9, (OK)
[ 310.380] drmOpenByBusid: drmOpenMinor returns 9
[ 310.380] drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0
[ 310.380] (II) intel(0): Creating default Display subsection in Screen section
坏的:
[ 2.986] (II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G, 915G,
E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G,
965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45,
4 Series, G45/G43, Q45/Q43, G41, B43, B43, Clarkdale, Arrandale,
Sandybridge Desktop (GT1), Sandybridge Desktop (GT2),
Sandybridge Desktop (GT2+), Sandybridge Mobile (GT1),
Sandybridge Mobile (GT2), Sandybridge Mobile (GT2+),
Sandybridge Server, Ivybridge Mobile (GT1), Ivybridge Mobile (GT2),
Ivybridge Desktop (GT1), Ivybridge Desktop (GT2), Ivybridge Server,
Ivybridge Server (GT2)
[ 2.986] (II) VESA: driver for VESA chipsets: vesa
[ 2.986] (II) FBDEV: driver for framebuffer: fbdev
[ 2.986] (++) using VT number 7
[ 2.987] (II) Loading /usr/lib/xorg/modules/drivers/intel_drv.so
[ 2.987] (WW) Falling back to old probe method for vesa
[ 2.987] (WW) Falling back to old probe method for fbdev
[ 2.987] (II) Loading sub module "fbdevhw"
[ 2.987] (II) LoadModule: "fbdevhw"
[ 2.987] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 2.987] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 2.987] compiled for 1.11.3, module version = 0.0.2
[ 2.987] ABI class: X.Org Video Driver, version 11.0
[ 2.987] drmOpenDevice: node name is /dev/dri/card0
[ 3.151] drmOpenDevice: open result is 9, (OK)
[ 3.287] drmOpenByBusid: Searching for BusID pci:0000:00:02.0
[ 3.287] drmOpenDevice: node name is /dev/dri/card0
[ 3.287] drmOpenDevice: open result is 9, (OK)
[ 3.287] drmOpenByBusid: drmOpenMinor returns 9
[ 3.287] drmOpenByBusid: Interface 1.4 failed, trying 1.1
[ 3.287] drmOpenByBusid: drmGetBusid reports
[ 3.287] drmOpenDevice: node name is /dev/dri/card1
[ 3.291] drmOpenByBusid: drmOpenMinor returns -1
[ 3.291] drmOpenDevice: node name is /dev/dri/card2
[ 3.295] drmOpenByBusid: drmOpenMinor returns -1
[ 3.295] drmOpenDevice: node name is /dev/dri/card3
[ 3.299] drmOpenByBusid: drmOpenMinor returns -1
[ 3.299] drmOpenDevice: node name is /dev/dri/card4
[ 3.302] drmOpenByBusid: drmOpenMinor returns -1
[ 3.302] drmOpenDevice: node name is /dev/dri/card5
[ 3.306] drmOpenByBusid: drmOpenMinor returns -1
[ 3.306] drmOpenDevice: node name is /dev/dri/card6
[ 3.310] drmOpenByBusid: drmOpenMinor returns -1
[ 3.310] drmOpenDevice: node name is /dev/dri/card7
[ 3.314] drmOpenByBusid: drmOpenMinor returns -1
[ 3.314] drmOpenDevice: node name is /dev/dri/card8
[ 3.317] drmOpenByBusid: drmOpenMinor returns -1
[ 3.317] drmOpenDevice: node name is /dev/dri/card9
[ 3.321] drmOpenByBusid: drmOpenMinor returns -1
[ 3.321] drmOpenDevice: node name is /dev/dri/card10
[ 3.325] drmOpenByBusid: drmOpenMinor returns -1
[ 3.325] drmOpenDevice: node name is /dev/dri/card11
[ 3.329] drmOpenByBusid: drmOpenMinor returns -1
[ 3.329] drmOpenDevice: node name is /dev/dri/card12
[ 3.332] drmOpenByBusid: drmOpenMinor returns -1
[ 3.332] drmOpenDevice: node name is /dev/dri/card13
[ 3.336] drmOpenByBusid: drmOpenMinor returns -1
[ 3.336] drmOpenDevice: node name is /dev/dri/card14
[ 3.340] drmOpenByBusid: drmOpenMinor returns -1
[ 3.340] drmOpenDevice: node name is /dev/dri/card15
[ 3.344] drmOpenByBusid: drmOpenMinor returns -1
[ 3.344] drmOpenDevice: node name is /dev/dri/card0
[ 3.344] drmOpenDevice: open result is 9, (OK)
[ 3.404] drmOpenDevice: node name is /dev/dri/card0
[ 3.404] drmOpenDevice: open result is 9, (OK)
[ 3.404] drmGetBusid returned ''
[ 3.404] (EE) intel(0): [drm] failed to set drm interface version.
[ 3.404] (EE) intel(0): Failed to become DRM master.
[ 3.404] (II) intel(0): Creating default Display subsection in Screen section
"Default Screen Section" for depth/fbbpp 24/32
[ 3.404] (==) intel(0): Depth 24, (--) framebuffer bpp 32
[ 3.404] (==) intel(0): RGB weight 888
[ 3.404] (==) intel(0): Default visual is TrueColor
[ 3.404] (II) intel(0): Integrated Graphics Chipset: Intel(R) Ivybridge Desktop (GT1)
[ 3.404] (--) intel(0): Chipset: "Ivybridge Desktop (GT1)"
[ 3.404] (II) UnloadModule: "intel"
[ 3.404] (II) Unloading intel
[ 3.404] (EE) Screen(s) found, but none have a usable configuration.
[ 3.404]
Fatal server error:
[ 3.404] no screens found
[ 3.404]
更多问题:
- 为什么 Xorg 在启动时崩溃,而之后不久又能够正常启动?
- 这是一个错误吗?如果是,我会提交报告。
如果有人感兴趣的话,我可以发布完整的日志。
答案1
好的,我发现了这个错误:https://bugs.launchpad.net/ubuntu/+source/libdrm/+bug/982889
有一个对我有用的推荐解决方法:
A workaround is to add some sleep to /etc/init/lightdm.conf:
sleep 10
exec lightdm
顺便说一句, 1 秒就足够了。