External display goes black after suspend or log in

Hello everyone,

My secondary display (HDMI or USB-C) works fine, but after a suspend, sleep or whatever, when I log in again, display goes black. It is still connected and detected, but black. Turn off & on screen doesn’t do anything. The only solution is to unplug and plug cable a couple of times and then goes on again normally. Do you know how to solve this issue? I’m on a Lenovo ThinkPad X1 Carbon Gen 11 (Manjaro 6.4 XFCE).

A workaround I found is to use xrandr to turn off & on DP-1, something like: xrandr --output DP-1 --off && sleep 5 && xrandr --output DP-1 --auto --above eDP-1 (or with --mode 1920x1200) but then resolution 1920x1200 is not recognized by monitor anymore, and turns on with a shitty resolution. I then created a script to add such resolution but didn’t work, and screen went black again:

cvt 1920 1200
xrandr --newmode “1920x1200_60.00"  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync
xrandr --addmode DP-1 “1920x1200_60.00”

Any idea?

Here a few outputs that may be useful:

mhwd -l

> 0000:00:02.0 (0300:8086:a7a1) Display controller Intel Corporation:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
           video-linux            2018.05.04                true            PCI
     video-modesetting            2020.01.13                true            PCI
            video-vesa            2017.03.12                true            PCI

inxi -v7azy

System:
  Kernel: 6.4.14-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc available: acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.4-x86_64
    root=UUID=f57b8c55-af46-45a0-85d2-130619f68152 rw quiet splash apparmor=1
    security=apparmor resume=UUID=63a34b65-00bd-4416-a293-844ffcb5e0b4
    udev.log_priority=3
  Desktop: Xfce v: 4.18.1 tk: Gtk v: 3.24.36 info: xfce4-panel wm: xfwm
    v: 4.18.0 vt: 7 dm: LightDM v: 1.32.0 Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Laptop System: LENOVO product: 21HMCTO1WW v: ThinkPad X1 Carbon Gen 11
    serial: <superuser required> Chassis: type: 10 serial: <superuser required>
  Mobo: LENOVO model: 21HMCTO1WW v: SDK0T76463 WIN
    serial: <superuser required> UEFI: LENOVO v: N3XET38W (1.13 )
    date: 04/26/2023
Battery:
  ID-1: BAT0 charge: 57.6 Wh (100.0%) condition: 57.6/57.0 Wh (101.0%)
    volts: 17.7 min: 15.4 model: Sunwoda 5B10W13975 type: Li-poly
    serial: <filter> status: full cycles: 23
  Device-1: hidpp_battery_1 model: Logitech Marathon Mouse/Performance Plus
    M705 serial: <filter> charge: 10% (should be ignored) rechargeable: yes
    status: discharging
Memory:
  System RAM: total: 16 GiB note: est. available: 15.3 GiB
    used: 2.97 GiB (19.4%)
  RAM Report: permissions: Unable to run dmidecode. Root privileges required.
CPU:
  Info: model: 13th Gen Intel Core i7-1355U bits: 64 type: MST AMCP
    arch: Raptor Lake level: v3 note: check built: 2022+ process: Intel 7 (10nm)
    family: 6 model-id: 0xBA (186) stepping: 3 microcode: 0x4119
  Topology: cpus: 1x cores: 10 mt: 2 tpc: 2 st: 8 threads: 12 smt: enabled
    cache: L1: 928 KiB desc: d-8x32 KiB, 2x48 KiB; i-2x32 KiB, 8x64 KiB
    L2: 6.5 MiB desc: 2x1.2 MiB, 2x2 MiB L3: 12 MiB desc: 1x12 MiB
  Speed (MHz): avg: 2600 min/max: 400/5000:3700 scaling: driver: intel_pstate
    governor: powersave cores: 1: 2600 2: 2600 3: 2600 4: 2600 5: 2600 6: 2600
    7: 2600 8: 2600 9: 2600 10: 2600 11: 2600 12: 2600 bogomips: 62688
  Flags: 3dnowprefetch abm acpi adx aes aperfmperf apic arat
    arch_capabilities arch_lbr arch_perfmon art avx avx2 avx_vnni bmi1 bmi2
    bts clflush clflushopt clwb cmov constant_tsc cpuid cpuid_fault cx16 cx8
    de ds_cpl dtes64 dtherm dts epb ept ept_ad erms est f16c flexpriority
    flush_l1d fma fpu fsgsbase fsrm fxsr gfni hfi ht hwp hwp_act_window
    hwp_epp hwp_notify hwp_pkg_req ibpb ibrs ibrs_enhanced ibt ida intel_pt
    invpcid lahf_lm lm mca mce md_clear mmx monitor movbe movdir64b movdiri
    msr mtrr nonstop_tsc nopl nx ospke pae pat pbe pclmulqdq pdcm pdpe1gb pebs
    pge pku pln pni popcnt pse pse36 pts rdpid rdrand rdseed rdtscp rep_good
    sdbg sep serialize sha_ni smap smep smx split_lock_detect ss ssbd sse sse2
    sse4_1 sse4_2 ssse3 stibp syscall tm tm2 tpr_shadow tsc tsc_adjust
    tsc_deadline_timer tsc_known_freq umip vaes vme vmx vnmi vpclmulqdq vpid
    waitpkg x2apic xgetbv1 xsave xsavec xsaveopt xsaves xtopology xtpr
  Vulnerabilities:
  Type: gather_data_sampling status: Not affected
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: retbleed status: Not affected
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: Enhanced / Automatic IBRS, IBPB: conditional,
    RSB filling, PBRSB-eIBRS: SW sequence
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel Raptor Lake-P [Iris Xe Graphics] vendor: Lenovo driver: i915
    v: kernel arch: Gen-13 process: Intel 7 (10nm) built: 2022+ ports:
    active: DP-1,eDP-1 empty: DP-2, DP-3, DP-4, HDMI-A-1 bus-ID: 00:02.0
    chip-ID: 8086:a7a1 class-ID: 0300
  Device-2: Luxvisions Innotech Integrated RGB Camera driver: uvcvideo
    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-8:3
    chip-ID: 30c9:0052 class-ID: fe01 serial: <filter>
  Display: x11 server: X.Org v: 21.1.8 compositor: xfwm v: 4.18.0 driver: X:
    loaded: modesetting alternate: fbdev,vesa dri: iris gpu: i915
    display-ID: :0.0 screens: 1
  Screen-1: 0 s-res: 1920x2400 s-dpi: 96 s-size: 508x635mm (20.00x25.00")
    s-diag: 813mm (32.02") monitors: <missing: xrandr>
  Monitor-1: DP-1 model: EIZO NANAO EV2360 serial: <filter> built: 2022
    res: 1920x1200 dpi: 100 gamma: 1.2 size: 489x298mm (19.25x11.73")
    diag: 573mm (22.5") ratio: 15:9 modes: max: 1920x1200 min: 720x400
  Monitor-2: eDP-1 model: BOE Display 0x0ac9 built: 2021 res: 2240x1400
    dpi: 188 gamma: 1.2 size: 302x189mm (11.89x7.44") diag: 356mm (14")
    ratio: 16:10 modes: 2240x1400
  API: OpenGL Message: Unable to show GL data. Required tool glxinfo missing.
Audio:
  Device-1: Intel Raptor Lake-P/U/H cAVS vendor: Lenovo
    driver: sof-audio-pci-intel-tgl
    alternate: snd_hda_intel,snd_sof_pci_intel_tgl bus-ID: 00:1f.3
    chip-ID: 8086:51ca class-ID: 0403
  API: ALSA v: k6.4.14-1-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: JACK v: 1.9.22 status: off tools: N/A
  Server-2: PipeWire v: 0.3.79 status: off tools: pw-cli
  Server-3: PulseAudio v: 16.1 status: active with: pulseaudio-alsa
    type: plugin tools: pacat,pactl,pavucontrol
Network:
  Device-1: Intel Raptor Lake PCH CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 00:14.3 chip-ID: 8086:51f1 class-ID: 0280
  IF: wlp0s20f3 state: up mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
    broadcast: <filter>
  IP v6: <filter> type: noprefixroute scope: link
  WAN IP: <filter>
Bluetooth:
  Device-1: Intel driver: btusb v: 0.8 type: USB rev: 2.0 speed: 12 Mb/s
    lanes: 1 mode: 1.1 bus-ID: 3-10:5 chip-ID: 8087:0033 class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 2 state: up address: see --recommends
Logical:
  Message: No logical block device data found.
RAID:
  Message: No RAID data found.
Drives:
  Local Storage: total: 953.87 GiB used: 138.88 GiB (14.6%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: KIOXIA model: N/A
    size: 953.87 GiB block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: 5106APLA temp: 32.9 C
    scheme: GPT
  Message: No optical or floppy data found.
Partition:
  ID-1: / raw-size: 48.83 GiB size: 47.76 GiB (97.81%) used: 19.72 GiB (41.3%)
    fs: ext4 dev: /dev/nvme0n1p1 maj-min: 259:1 label: N/A
    uuid: f57b8c55-af46-45a0-85d2-130619f68152
  ID-2: /boot/efi raw-size: 513 MiB size: 512 MiB (99.80%)
    used: 288 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p4 maj-min: 259:4 label: N/A
    uuid: 623A-3FEC
  ID-3: /home raw-size: 885.01 GiB size: 870.04 GiB (98.31%)
    used: 119.16 GiB (13.7%) fs: ext4 dev: /dev/nvme0n1p3 maj-min: 259:3
    label: N/A uuid: 23ea8524-0ed0-4c61-a085-2afdfa8cdc79
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) zswap: yes
    compressor: zstd max-pool: 20%
  ID-1: swap-1 type: partition size: 19.53 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/nvme0n1p2 maj-min: 259:2 label: N/A
    uuid: 63a34b65-00bd-4416-a293-844ffcb5e0b4
Unmounted:
  Message: No unmounted partitions found.
USB:
  Hub-1: 1-0:1 info: hi-speed hub with single TT ports: 1 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 chip-ID: 1d6b:0002
    class-ID: 0900
  Hub-2: 2-0:1 info: super-speed hub ports: 4 rev: 3.1
    speed: 20 Gb/s (2.33 GiB/s) lanes: 2 mode: 3.2 gen-2x2 chip-ID: 1d6b:0003
    class-ID: 0900
  Hub-3: 2-1:4 info: VIA Labs USB3.0 Hub ports: 4 rev: 3.1
    speed: 5 Gb/s (596.0 MiB/s) lanes: 1 mode: 3.2 gen-1x1 chip-ID: 2109:0817
    class-ID: 0900
  Hub-4: 3-0:1 info: hi-speed hub with single TT ports: 12 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 chip-ID: 1d6b:0002
    class-ID: 0900
  Hub-5: 3-1:15 info: VIA Labs USB2.0 Hub ports: 5 rev: 2.1
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 chip-ID: 2109:2817
    class-ID: 0900
  Device-1: 3-1.3:16 info: Logitech Unifying Receiver
    type: keyboard,mouse,HID driver: logitech-djreceiver,usbhid interfaces: 3
    rev: 2.0 speed: 12 Mb/s (1.4 MiB/s) lanes: 1 mode: 1.1 power: 98mA
    chip-ID: 046d:c52b class-ID: 0300
  Device-2: 3-1.5:17 info: VIA Labs USB Billboard Device type: billboard
    driver: N/A interfaces: 1 rev: 2.0 speed: 480 Mb/s (57.2 MiB/s) lanes: 1
    mode: 2.0 power: 100mA chip-ID: 2109:8888 class-ID: 1100 serial: <filter>
  Device-3: 3-6:8 info: Synaptics type: <vendor specific> driver: N/A
    interfaces: 1 rev: 2.0 speed: 12 Mb/s (1.4 MiB/s) lanes: 1 mode: 1.1
    power: 100mA chip-ID: 06cb:00fc class-ID: ff00 serial: <filter>
  Device-4: 3-8:3 info: Luxvisions Innotech Integrated RGB Camera type: video
    driver: uvcvideo interfaces: 5 rev: 2.0 speed: 480 Mb/s (57.2 MiB/s) lanes: 1
    mode: 2.0 power: 500mA chip-ID: 30c9:0052 class-ID: fe01 serial: <filter>
  Device-5: 3-10:5 info: Intel type: bluetooth driver: btusb interfaces: 2
    rev: 2.0 speed: 12 Mb/s (1.4 MiB/s) lanes: 1 mode: 1.1 power: 100mA
    chip-ID: 8087:0033 class-ID: e001
  Hub-6: 4-0:1 info: super-speed hub ports: 4 rev: 3.1
    speed: 10 Gb/s (1.16 GiB/s) lanes: 1 mode: 3.2 gen-2x1 chip-ID: 1d6b:0003
    class-ID: 0900
Sensors:
  System Temperatures: cpu: 46.0 C mobo: N/A
  Fan Speeds (rpm): fan-1: 0 fan-2: 0
Info:
  Processes: 285 Uptime: 19h 21m wakeups: 33027 Init: systemd v: 253
  default: graphical tool: systemctl Compilers: gcc: 13.2.1 clang: 16.0.6
  Packages: 1275 pm: pacman pkgs: 1263 libs: 379 tools: pamac pm: flatpak
  pkgs: 5 pm: snap pkgs: 7 Shell: Bash v: 5.1.16 running-in: xfce4-terminal
  inxi: 3.3.29

and xrandr --listmonitors

Monitors: 2
 0: +eDP-1 1920/302x1200/189+0+1200  eDP-1
 1: +DP-1 1920/489x1200/298+0+0  DP-1

Hello @sakinyu :wink:

What I suspect is that the display port connection is not waking up from power save mode. So when you wake up, a signal is sent to the monitor that it should be active again, but apparently your monitor doesn’t understand the request or ignores it. This then results in an existing connection, but the screen remains black.

If I were you, I would look for the menu items “eco”, “signal” or “compatibility” in the monitor settings and test them.

Thanks @megavolt. I’ll check. Weird thing, I’m pretty sure the monitor worked well before upgrading Kernel 6.1 or 5.15 to 6.4; and had no troubles with my previous laptop (Dell XPS) also on Manjaro. So I suspect something changed when I upgraded Kernel, maybe on this request you mention. I cannot go back to previous kernel because then I have screen flickering problems unfortunately.

BTW, I tested all settings, and I don’t think it is a problem with the monitor. Anyone has a workaround to this problem?

I remember there was problem with another Lenovo Laptop. One of a friend, on the forum or it was mine, can’t say exactly. Anyway, the problem was that the HDMI connection stays powered off when you suspend/hibernate and then wake it up.

Linux also power off these connections just like any usb ports when in battery mode.

You could check:

grep . /sys/class/drm/card[0-9]-*/power/control /sys/class/drm/card[0-9]-*/{status,enabled,dpms}

If power/control is set to auto then overwrite it temporary with on.

sudo bash -c 'echo on > /sys/class/drm/card1-DP-1/power/control'

Now the connection should not be powered off, means: It doesn’t turn off the power.

Maybe also disable dpms: Display Power Management Signaling - ArchWiki

Set this and test a suspend/wakeup. If that works, then I believe it must be the issue with BC/AC mode of the laptop. So:

You start the laptop, Monitor connected: Works in BC/AC :white_check_mark:
Switch to BC mode: HDMI still works :white_check_mark:
Re-Plugin the cable: No :x:
Wakeup after suspend: No :x:
Reason: While in Battery mode, it will not power on again the connection.
Solution: Disable power saving.

You are right, turning power/control on seems to work. I’ll check all the other tests you suggest (AC/BC, etc). I’ll let you know how it goes.

Cheers

@megavolt is there a way to make this change permanent?

Also, I checked the link for the dpms, but the script they show seems to be for the main screen. Do you know how to turn off dpms only for DP-1?

Section "Monitor"
    Identifier "LVDS0" #<-- This must be DP-1
    Option "DPMS" "false"
EndSection

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.