[Display] Laptop display does not work in Kwin Wayland

I believe this bug started in Plasma 5.16 but I have rarely used in the last two or three months. However, I am starting to need this laptop more again. My hardware is a 13 inch Macbook Pro Late 2012 (so retina display with 3rd gen core i5)

If I open a Plasma Wayland session, my laptop display is black. The external display works as normal. Using the gesture to show all windows (sliding four fingers upwards on the touchpad) I can see the windows that should be on both screens. If I go back to SDDM, both of my displays are good again.

If I am not in a Plasma Wayland session, everything works correctly (this would include any X.org session, SDDM, and the OpenSuse boot screen when cold booting).

edit: Added hardware info

Your hardware info is actually rather sketchy for those trying to offer help. Please install (if not already installed) inxi and Mesa-demo-x. Inxi can be installed either from TW’s standard repos, or the latest version directly from upstream, then run the following in Konsole and post the complete input and output here using code tags:

inxi -Gxxbza
xrandr | egrep 'onnect|creen|\*' | grep -v disconn | sort -r

I did this while inside the Wayland session:

~> inxi -Gxxbza
System:
Host: linux-7tjv Kernel: 5.2.3-1-default x86_64 bits: 64 compiler: gcc v: 9.1.1
Desktop: KDE Plasma 5.16.3 tk: Qt 5.13.0 wm: kwin_wayland dm: SDDM
Distro: openSUSE Tumbleweed 20190730
Machine:
Type: Laptop System: Apple product: MacBookPro10,2 v: 1.0 serial: <filter> Chassis:
type: 10 v: Mac-AFD8A9D944EA4843 serial: <filter>
Mobo: Apple model: Mac-AFD8A9D944EA4843 v: MacBookPro10,2 serial: <filter>
UEFI: Apple v: MBP102.88Z.010E.B00.1804100832 date: 04/10/2018
Battery:
ID-1: BAT0 charge: 60.4 Wh condition: 62.1/73.9 Wh (84%) volts: 12.4/11.2
model: DP bq20z451 serial: N/A status: Full
CPU:
Dual Core: Intel Core i5-3210M type: MT MCP arch: Ivy Bridge speed: 1197 MHz
min/max: 1200/3100 MHz
Graphics:
Device-1: Intel 3rd Gen Core processor Graphics vendor: Apple driver: i915
v: kernel bus ID: 00:02.0 chip ID: 8086:0166
Display: wayland server: X.Org 1.20.5 driver: modesetting unloaded: fbdev,vesa
alternate: intel compositor: kwin_wayland resolution: 1920x1080~60Hz
OpenGL: renderer: Mesa DRI Intel Ivybridge Mobile v: 4.2 Mesa 19.1.3 compat-v: 3.0
direct render: Yes
Network:
Device-1: Broadcom and subsidiaries NetXtreme BCM57786 Gigabit Ethernet PCIe
driver: N/A port: efa0 bus ID: 02:00.0 chip ID: 14e4:16a3
Device-2: Broadcom and subsidiaries BCM4331 802.11a/b/g/n
vendor: Apple AirPort Extreme driver: wl v: kernel port: efa0 bus ID: 03:00.0
chip ID: 14e4:4331
Drives:
Local Storage: total: 113.00 GiB used: 35.73 GiB (31.6%)
Info:
Processes: 228
Uptime: 01:06:02 up 1 day 1:32, 2 users, load average: 0.89, 0.41, 0.16
Memory: 7.66 GiB used: 1.49 GiB (19.5%) Init: systemd v: 242 runlevel: 5
target: graphical.target Compilers: gcc: 9.1.1 alt: 7/8/9 clang: 8.0.1 Shell: bash
v: 5.0.7 running in: konsole inxi: 3.0.32

~> xrandr | egrep ‘onnect|creen|*’ | grep -v disconn | sort -r
XWAYLAND1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 550mm x 310mm
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
1920x1080 59.88*+

Also, if I go to the System Settings Display module, I do see both displays. However, the laptop display is ALWAYS set to disable when I log into a Wayland session. If I enable the laptop display, all I get is black screen with three periods printed in the upper left corner on both displays.

The old inxi version in TW omits information I was looking for. Please paste input and output from a fullscreen Konsole running in Xorg from the following using code tags](https://forums.opensuse.org/showthread.php/536143-Using-Code-Tags-Around-Your-Paste):

inxi -GxxSz
xrandr | egrep 'onnect|creen|\*' | grep -v disconn | sort -r
cat /proc/cmdline

Fullscreen (e.g. considerably wider than 80 columns) Konsole will avoid the line wrapping that mangles the output.

Optionally/instead, redirect output to a file and paste the file’s content (along with the commands used edited into it/them), e.g.

inxi -GxxSz>textfile.txt
xrandr | egrep 'onnect|creen|\*' | grep -v disconn | sort -r>>textfile.txt
cat /proc/cmdline>>textfile.txt

I would like to see the X logs from both session types. The susepaste utility can make this convenient, e.g.

susepaste /var/log/Xorg.0.log

if it exists and is not stale, or ~/.local/share/xorg/Xorg.0.log if it exists and is current. If susepaste doesn’t work for you, in a web browser use https://susepaste.org or https://pastebin.com or any of the similar pastebinning sites. Add the URLs provided by the processes to your reply.

I’m sorry, for the late reply. Thank you for your help. Here is the output of the command on Xorg:


System:    Host: linux-7tjv Kernel: 5.2.3-1-default x86_64 bits: 64 compiler: gcc v: 9.1.1 Desktop: KDE Plasma 5.16.3 
           tk: Qt 5.13.0 wm: kwin_x11 dm: SDDM Distro: openSUSE Tumbleweed 20190730 
Graphics:  Device-1: Intel 3rd Gen Core processor Graphics vendor: Apple driver: i915 v: kernel bus ID: 00:02.0 
           chip ID: 8086:0166 
           Display: x11 server: X.Org 1.20.5 driver: modesetting unloaded: fbdev,vesa alternate: intel compositor: kwin_x11 
           resolution: 2560x1600~60Hz, 1920x1080~60Hz 
           OpenGL: renderer: Mesa DRI Intel Ivybridge Mobile v: 4.2 Mesa 19.1.3 compat-v: 3.0 direct render: Yes 
Screen 0: minimum 320 x 200, current 2560 x 2680, maximum 8192 x 8192
HDMI-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 553mm x 309mm
eDP-1 connected primary 2560x1600+0+1080 (normal left inverted right x axis y axis) 286mm x 179mm
   2560x1600     59.97*+
   1920x1080     60.00*+  60.00    50.00    50.00    59.94  
BOOT_IMAGE=/boot/vmlinuz-5.2.3-1-default root=UUID=da4a5fca-fabe-42a9-8dee-efc35f6d46bf resume=/dev/disk/by-id/ata-APPLE_SSD_SM128E_S0XDNYAD448758-part3 splash=silent quiet showopts

Here is output on Wayland:


System:    Host: linux-7tjv Kernel: 5.2.3-1-default x86_64 bits: 64 compiler: gcc v: 9.1.1 Desktop: KDE Plasma 5.16.3 
           tk: Qt 5.13.0 wm: kwin_wayland dm: SDDM Distro: openSUSE Tumbleweed 20190730 
Graphics:  Device-1: Intel 3rd Gen Core processor Graphics vendor: Apple driver: i915 v: kernel bus ID: 00:02.0 
           chip ID: 8086:0166 
           Display: wayland server: X.Org 1.20.5 driver: modesetting unloaded: fbdev,vesa alternate: intel 
           compositor: kwin_wayland resolution: 1920x1080~60Hz 
           OpenGL: renderer: Mesa DRI Intel Ivybridge Mobile v: 4.2 Mesa 19.1.3 compat-v: 3.0 direct render: Yes 
XWAYLAND1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 550mm x 310mm
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
   1920x1080     59.88*+
BOOT_IMAGE=/boot/vmlinuz-5.2.3-1-default root=UUID=da4a5fca-fabe-42a9-8dee-efc35f6d46bf resume=/dev/disk/by-id/ata-APPLE_SSD_SM128E_S0XDNYAD448758-part3 splash=silent quiet showopts

Here is the X.org log in x.org session: SUSE Paste
Here is the X.org log in wayland session: SUSE Paste

There may be no frequenters here who can replicate your hardware combination of 13" Ivybridge Mobile Retina on eDP in combination with HDTV screen on HDMI output, so likely you’ll at best get suggestions of things to try that may or may not be helpful. I’ve never attempted to open any Wayland session. Filing a bug report might be a better way forward. What follows is in no particular order.

I did some searching as a result of seeing

(EE) Failed to open authorization file "/run/sddm/…
in both your logs that leads me to suspect SDDM could be the root of your problem. This is not particularly easy to test for, which would be

  • trying GDM (for which Wayland is closely coupled), (or KDM or LightDM), probably none of which are installed, instead of SDDM - or -
  • booting to multi-user mode by appending a space
    and a 3 to the end of the line beginning with linu that appears when you strike the E key at the Grub menu. This should result in a login prompt in plain text instead of the usual login greeter. First switch away from the boot screen via Ctrl-Alt-F2 or Ctrl-Alt-F3, then login, then try startx. As a normal user this may fail with a misleading error. Two ways around this error are to either[list]*] login as root and try again startx, only long enough to test whether the problem still appears and thus could be attributable to SDDM, or - as normal user, run this command first:
sudo chmod 4711 /usr/bin/Xorg

then try startx again.
[/list]

A tenuous suspicion from search hits is a RAM limitation. Do you have more than 4GB RAM installed? The Ivybridge GPU shares system RAM. With both the Retina and an external display connected, an abundance of video RAM is required. A RAM allocation error in Wayland that Xorg does not have could explain the black higher-definition screen.

Kernel 5.1.16.arch2 breaks laptop screen on Dell Latitude E5470 / Laptop Issues / Arch Linux Forums suggests a possible kernel cmdline option workaround that I suspect is for GPUs newer than Ivybridge but might be worth a try: i915.enable_psr=0

That URL also suggests trying the oldest kernel you still have installed if it’s from whenever the problem first appeared. With any luck this would be a 5.0.x kernel.

Simplest solution would seem to be not using Wayland, as it seems to get rather little use from or recommendation by non-Gnome users.

Wow! After playing around with all those suggestions, what fixed the issue is creating a new user and logging into that new user. The only thing I can think of that I am using that is non-standard would be Kvantum (from a repository called trmdi on the build service) and the the broadcom-wl driver from Packman. I backed up my dot folders/files so I can try to see what causes the issue tomorrow. If I can pin point the issue, I’ll post here or on a bug tracker.

Also, thank you for the help. I tried many rolling release distros (like Chakra and Antergos) and Tumbleweed has been my favorite due to the larger software repositories. Glad to know we have someone who cares here!

I knew there must have been something missing from my suggestion list. :wink:

My problems are due to a config file called ~/.local/share/kscreen/0d0953ada0527d214bdd3389afe41905](KScreen Bad Config - Pastebin.com) being created EVERY time I put my laptop to sleep. Seriously, same exact file name, every time. No idea where it came from but it keeps my laptop display disabled. I guess the temporary solution would be deleting the file and then re-logging back in.

I filed this bug on KDE’s website.