You are not logged in.

#1 2016-04-16 14:13:52

machinedgod
Member
Registered: 2016-03-07
Posts: 24

[SOLVED] SDDM hangs in blank screen

Hi all,
I spent whole morning searching around, both in logs and the internet, to try and fix this myself, but I failed, so I need your help. I'll try to lay out everything I found out:

I'm using Dell Latitude 3550, with two Asus monitors connected via HDMI and VGA. I'm running current Arch kernel *and* lts kernel and both show the same issue. I'm using intel driver.

Since update on Thursday evening (UTC-5), my SDDM boots to blank screen. Ctrl+Alt+F2 works just fine, so I tried restarting with systemctl and it is repeatable. I tried disabling sddm and booting gdm - same issue.

XDM works, however, and I assume its because it runs in sw mode.
startx doesn't if I run it as an user for the first time, but if I first do it once as root - then it does. Once inside X, I can boot xfce4-session (my "fallback"), and then I tried glxgears to get this output:

libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  36
  Current serial number in output stream:  38

Running with primusrun yields very similar log, but it creates blank glxgears window:

libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  33
  Current serial number in output stream:  32

Then I went and added custom file in xorg.conf.d, randomly hoping that if I switch acceleration manually to UXA, things would work:

Section "Module"
        Load "dri2"
        Load "intel"
EndSection

Section "Device"
        Identifier  "Default Device"
        Driver      "intel"
        Option      "AccelMethod"  "uxa"
        Option      "DRI"          "2"
        Option      "TearFree"     "true"
EndSection

That helped nothing.

Since I ran startx as an user, I checked the log at .local/share/xorg/Xorg.0.log and the only EE entry I found was this:

....
[  6464.304] (II) intel(0): EDID vendor "LGD", prod id 1135
[  6464.304] (II) intel(0): Printing DDC gathered Modelines:
[  6464.304] (II) intel(0): Modeline "1920x1080"x0.0  138.70  1920 1968 2000 2080  1080 1083 1088 1111 +hsync -vsync (66.7 kHz eP)
[  6464.304] (II) intel(0): Modeline "1920x1080"x0.0  110.90  1920 1968 2000 2080  1080 1083 1088 1111 +hsync -vsync (53.3 kHz e)
(EE) [mi] EQ overflowing.  Additional events will be discarded until existing events are processed.
(EE) 
(EE) Backtrace:
(EE) 0: /usr/lib/xorg-server/Xorg (mieqEnqueue+0x253) [0x5722c3]
(EE) 1: /usr/lib/xorg-server/Xorg (QueuePointerEvents+0x52) [0x44ec02]
(EE) 2: /usr/lib/xorg/modules/input/evdev_drv.so (_init+0x3153) [0x7f081ba2cf83]
(EE) 3: /usr/lib/xorg/modules/input/evdev_drv.so (_init+0x39bd) [0x7f081ba2e3bd]
(EE) 4: /usr/lib/xorg-server/Xorg (DPMSSupported+0xe8) [0x476798]
(EE) 5: /usr/lib/xorg-server/Xorg (xf86SerialModemClearBits+0x2b2) [0x49bce2]
(EE) 6: /usr/lib/libc.so.6 (__restore_rt+0x0) [0x7f08234d932f]
(EE) 7: /usr/lib/libc.so.6 (ioctl+0x5) [0x7f0823586275]
(EE) 8: /usr/lib/xorg/modules/drivers/intel_drv.so (_init+0x1c054) [0x7f081e290bc4]
(EE) 9: /usr/lib/xorg/modules/drivers/intel_drv.so (_init+0x4a517) [0x7f081e2ed3b7]
(EE) 10: /usr/lib/xorg/modules/drivers/intel_drv.so (_init+0x4aaf8) [0x7f081e2edef8]
(EE) 11: /usr/lib/xorg/modules/drivers/intel_drv.so (_init+0x4aed2) [0x7f081e2ee6e2]
(EE) 12: /usr/lib/xorg-server/Xorg (DamageRegionAppend+0x3783) [0x51ee13]
(EE) 13: /usr/lib/xorg-server/Xorg (SendGraphicsExpose+0xeb3) [0x433aa3]
(EE) 14: /usr/lib/xorg-server/Xorg (SendErrorToClient+0x2df) [0x43623f]
(EE) 15: /usr/lib/xorg-server/Xorg (remove_fs_handlers+0x453) [0x43a263]
(EE) 16: /usr/lib/libc.so.6 (__libc_start_main+0xf0) [0x7f08234c6710]
(EE) 17: /usr/lib/xorg-server/Xorg (_start+0x29) [0x424589]
(EE) 18: ? (?+0x29) [0x29]
(EE) 
(EE) [mi] These backtraces from mieqEnqueue may point to a culprit higher up the stack.
(EE) [mi] mieq is *NOT* the cause.  It is a victim.
(EE) [mi] EQ overflow continuing.  100 events have been dropped.
....

There's few similar stacktraces following one another, at the last one, these are reported:

(EE) 17: ? (?+0x29) [0x29]
(EE) 
[  6556.973] [mi] Increasing EQ size to 2048 to prevent dropped events.
[  6556.974] [mi] EQ processing has resumed after 107 dropped events.
[  6556.974] [mi] This may be caused by a misbehaving driver monopolizing the server's resources.
[  6556.978] (EE) intel(0): Failed to submit rendering commands (Input/output error), disabling acceleration.

I'm at loss. My lspci output is:

00:00.0 Host bridge: Intel Corporation Broadwell-U Host Bridge -OPI (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Broadwell-U Integrated Graphics (rev 09)
00:03.0 Audio device: Intel Corporation Broadwell-U Audio Controller (rev 09)
00:14.0 USB controller: Intel Corporation Wildcat Point-LP USB xHCI Controller (rev 03)
00:16.0 Communication controller: Intel Corporation Wildcat Point-LP MEI Controller #1 (rev 03)
00:1b.0 Audio device: Intel Corporation Wildcat Point-LP High Definition Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #1 (rev e3)
00:1c.2 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #3 (rev e3)
00:1c.3 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #4 (rev e3)
00:1c.4 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #5 (rev e3)
00:1d.0 USB controller: Intel Corporation Wildcat Point-LP USB EHCI Controller (rev 03)
00:1f.0 ISA bridge: Intel Corporation Wildcat Point-LP LPC Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation Wildcat Point-LP SATA Controller [AHCI Mode] (rev 03)
00:1f.3 SMBus: Intel Corporation Wildcat Point-LP SMBus Controller (rev 03)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 10)
03:00.0 Network controller: Intel Corporation Wireless 7265 (rev 59)
04:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 830M] (rev a2)

If I happened to miss an obvious link to a previous discussion or a wiki entry - I apologize, but its not that I didn't try.
I'll gladly provide other data if necessary, just let me know what.


Edit:
One more note, don't know if its important - right now, while running startx, all three screens (laptop, two monitors) are showing the mirrored output and at correct resolution. The display config I had in Plasma would disable laptop's screen and only leave monitors. Plugging and unplugging cables triggers no change (as opposed to usually switching between display configs).

Last edited by machinedgod (2016-05-16 23:14:33)

Offline

#2 2016-04-20 15:57:38

machinedgod
Member
Registered: 2016-03-07
Posts: 24

Re: [SOLVED] SDDM hangs in blank screen

Hello,
am I allowed to bump this? I still didn't manage to fix it and have no new information. Updates didn't help.

Offline

#3 2016-04-20 16:43:40

Rog131
Member
Registered: 2015-08-23
Posts: 90

Re: [SOLVED] SDDM hangs in blank screen

Offline

#4 2016-04-20 23:48:30

machinedgod
Member
Registered: 2016-03-07
Posts: 24

Re: [SOLVED] SDDM hangs in blank screen

Hi,
yes, there's plenty of red in there. From what I gathered, most of applications simply segfaults because X isn't running. I think that the reason why X fails to boot is up there in the logs - SDDM wants hardware acceleration but can't get it because intel_drv.so fails.

I ran into a similar problem that someone has, but they're using nvidia driver.

Offline

#5 2016-04-21 05:35:49

der_joachim
Member
From: the Netherlands
Registered: 2008-12-17
Posts: 143
Website

Re: [SOLVED] SDDM hangs in blank screen

machinedgod wrote:

Edit:
One more note, don't know if its important - right now, while running startx, all three screens (laptop, two monitors) are showing the mirrored output and at correct resolution. The display config I had in Plasma would disable laptop's screen and only leave monitors. Plugging and unplugging cables triggers no change (as opposed to usually switching between display configs).

Now this issue sounds familiar. When connecting my external monitor at work, Plasma screws up leaving me with either a black screen or a very garbled primary screen and it freezes. All I can do, is go to a console, stop SDDM, remove my .local/share/kscreen subdirectory end start SDDM. It is no real solution, but at least it allows me to do my work again. hmm


Geek, runner, motorcyclist and professional know-it-all

Offline

#6 2016-05-16 22:29:56

machinedgod
Member
Registered: 2016-03-07
Posts: 24

Re: [SOLVED] SDDM hangs in blank screen

*FIXED*
Read bottom of message
-----------------------------------

I hope this doesn't constitute necrobumping.

I still did not resolve the issue. At the moment, I resorted to using XFCE4 in what I believe is software mode. Running glxgears shows that it can't load i965_dri.so:

libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  36
  Current serial number in output stream:  38

I've reinstalled all mesa packages, xf86-video-intel, tried git versions instead of stable versions, and did the same process using LTS kernel.
No go.
This weekend, when I get a bit more time, I'll try booting from usb stick and testing if hardware itself at least works. Short of that, I'm one step shy of reinstalling the complete system and break about 15 years of refusing to resort to windows-type solutions. I'd really like to avoid this chore, if at all possible.

If anyone has *any* ideas, can point me to where can I gather more information, please do.


-----
Fix:

LIBGL_DEBUG="verbose" with glxgears reported that it can't load i965.so because symbol nouveau_drm_<something> was undefined.
I tried looking if library is in its place, and it was.
Listing symbols with nm -g listed no symbols, though. After checking the library with file, I saw that symbols are stripped.

This got me thinking that maybe, somehow, I got a broken package setup where some drivers are running -git versions from AUR, and some were using core/extra/community binaries.

This happened to be the reason!
Instead of libdrm, I installed (somehow?) libdrm-git.

Installing libdrm (and removing -git version in the process) resolved all issues.

Last edited by machinedgod (2016-05-16 23:13:54)

Offline

Board footer

Powered by FluxBB