samsung-serranove: Waking up screen fails on Xfce4 and MATE
Describe your issue
What's the expected behaviour?
After the screensaver turned off the screen or the screen has been locked by the user, touching the screen or hitting a hardware button should wake up the screen and show the unlock screen.
What's the current behaviour?
Once the screensaver turned off the screen or the screen has been locked by the user, it's not possible to wake up the screen again. When touching the screen or hitting a hardware button, the screen stays turned off.
The device is still running and accessible via ssh.
How to reproduce your issue?
On device samsung-serranove, on an up-to-date installation of Xfce4, lock the screen or let the screensaver turn off the screen. Thereafter try to wake up the screen: Doesn't work.
What device are you using?
samsung-serranove
On what postmarketOS version did you encounter the issue?
-
[x] edge (
master
branch) -
[ ]
v22.06
-
[ ]
v21.12
(supported until 2022-07-12) -
[x] I confirm that the issue still is present after running
sudo apk upgrade -a
On what environment did you encounter the issue?
Phone environments
- [ ] Phosh
- [ ] Plasma Mobile
- [ ] Sxmo (Wayland/Sway)
Other
- [ ] No environment ("none" in pmbootstrap)
- [ ] GNOME
- [ ] KDE Plasma
- [ ] Kodi
- [ ] MATE
- [ ] Shelli
- [ ] Sway
- [ ] Weston
- [x] Xfce4
- [ ] fbkeyboard
- [ ] i3wm
- [ ] Sxmo (Xorg/Dwm)
- [ ] console UI
- [ ] framebufferphone
How did you get postmarketOS image?
- [ ] from https://images.postmarketos.org
- [x] I built it using pmbootstrap
- [ ] It was preinstalled on my device
What's the build date of the image? (in yyyy-mm-dd format)
2022-06-14
Additional information
Device samsung-serranove is MSM8916-based. Current kernel version is 5.18.0.
In dmesg, when touching the screen or hitting a hardware button, following messages show up:
[ 1067.737057] panel-s6e88a0-ams427ap24 1a98000.dsi.0: Failed to initialize panel: -22
[ 1067.737218] dsi_mgr_bridge_pre_enable: prepare panel 0 failed, -22
[ 1067.791525] msm 1a00000.mdss: vblank time out, crtc=0
[ 1077.915349] msm 1a00000.mdss: [drm] *ERROR* flip_done timed out
[ 1077.915398] msm 1a00000.mdss: [drm] *ERROR* [CRTC:57:crtc-0] commit wait timed out
[ 1088.155326] msm 1a00000.mdss: [drm] *ERROR* flip_done timed out
[ 1088.155374] msm 1a00000.mdss: [drm] *ERROR* [CONNECTOR:32:DSI-1] commit wait timed out
[ 1088.155495] ------------[ cut here ]------------
[ 1088.155515] WARNING: CPU: 1 PID: 2221 at drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c:801 mdp5_crtc_atomic_flush+0x1b4/0x1d8 [msm]
[ 1088.157333] Modules linked in: rfcomm rpmsg_wwan_ctrl q6asm_dai q6afe_dai q6routing q6voice_dai q6voice q6adm q6asm q6afe q6cvp q6cvs q6mvm snd_q6dsp_common q6voice_common q6core apr pdr_interface nft_reject_inet nft_reject nf_reject_ipv4 nf_reject_ipv6 nft_ct nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 algif_hash cbc aes_arm_bs nf_tables libcrc32c algif_skcipher af_alg nfnetlink bnep wcn36xx btqcomsmd btqca wcnss_ctrl venus_dec venus_enc videobuf2_dma_contig videobuf2_memops qcom_bam_dmux ipv6 snd_soc_msm8916_analog pm8xxx_vibrator rt5033_battery venus_core st_lsm6dsx_i2c st_lsm6dsx_spi st_lsm6dsx v4l2_mem2mem videobuf2_v4l2 snd_soc_apq8016_sbc snd_soc_msm8916_digital videobuf2_common snd_soc_qcom_common qcom_q6v5_mss qcom_wcnss_pil qcom_pil_info qcom_q6v5 qcom_common videodev mc nxp_nci_i2c nxp_nci nci nfc tm2_touchkey qcom_memshare zinitix msm mdt_loader drm_dp_helper gpu_sched panel_samsung_s6e88a0_ams427ap24
[ 1088.158521] CPU: 1 PID: 2221 Comm: Xorg Not tainted 5.18.0-msm8916 #1
[ 1088.158563] Hardware name: Generic DT based system
[ 1088.158597] unwind_backtrace from show_stack+0x10/0x14
[ 1088.158670] show_stack from dump_stack_lvl+0x40/0x4c
[ 1088.158733] dump_stack_lvl from __warn+0xa8/0xd0
[ 1088.158802] __warn from warn_slowpath_fmt+0x5c/0xb8
[ 1088.158877] warn_slowpath_fmt from mdp5_crtc_atomic_flush+0x1b4/0x1d8 [msm]
[ 1088.160683] mdp5_crtc_atomic_flush [msm] from drm_atomic_helper_commit_planes+0x214/0x288
[ 1088.162504] drm_atomic_helper_commit_planes from msm_atomic_commit_tail+0x164/0x458 [msm]
[ 1088.164315] msm_atomic_commit_tail [msm] from commit_tail+0x9c/0x180
[ 1088.166099] commit_tail from drm_atomic_helper_commit+0x134/0x158
[ 1088.166154] drm_atomic_helper_commit from drm_atomic_helper_set_config+0x88/0xc0
[ 1088.166225] drm_atomic_helper_set_config from drm_mode_setcrtc+0x1ec/0x6e8
[ 1088.166303] drm_mode_setcrtc from drm_ioctl+0x1a0/0x378
[ 1088.166362] drm_ioctl from sys_ioctl+0x11c/0xb5c
[ 1088.166423] sys_ioctl from ret_fast_syscall+0x0/0x54
[ 1088.166480] Exception stack(0xf1f2dfa8 to 0xf1f2dff0)
[ 1088.166525] dfa0: beaddf40 0000000a 0000000a c06864a2 beadde88 beadde88
[ 1088.166571] dfc0: beaddf40 0000000a c06864a2 00000036 0000000a af1c8970 af778c30 b66de030
[ 1088.166607] dfe0: b6dede7c beaddd38 b6dd6cf3 b6f8b2e2
[ 1088.166795] ---[ end trace 0000000000000000 ]---
... and similar messages following.
On an older installation of Xfce4 (mid-April, kernel 5.17.0), the screen wake-up works. In dmesg, there is one message when waking up the screen. It doesn't seem to matter, though.
[drm:mdp5_irq_error_handler [msm]] *ERROR* errors: 04000000
In an up-to-date Phosh installation (kernel 5.18.0), the sceen wake-up works as well. In dmesg, there is the same message:
[drm:mdp5_irq_error_handler [msm]] *ERROR* errors: 04000000
In up-to-date MATE installation (kernel 5.18.0), the sceen wake-up works too. In dmesg, there is no message when waking up the screen.
On qemu64 with Xfce4, the screen wake-up also works, no messages in dmesg.
It's not clear yet what's the cause of the issue. Other MSM8916 devices might be affected in Xfce4 too.