Weird issues w/ external monitor on OpenSUSE TW

Hey all, I’m new to the OpenSUSE space and tried to do a bit of digging on how to resolve my issue but was not able to find anything.

I have a Dell laptop that I have connected via HDMI to my 27 inch external monitor and am experiencing the following issues:

  • Plank is unable to be used on the external monitor for that resolution. i.e. the dock sits not on the bottom or top, it sits in the middle of the screen.
  • Can’t change the primary screen. I would rather have the primary screen be the laptop and do all the extras on the monitor but when I switch it, none of the panels transfer over.
  • It is showing up as "DP-1 connected primary 2560x1440+0+0 " in xrandr even though it is connected via the HDMI port. Not sure if this is normal?
  • The mouse cursor is massive on the external and normal on the laptop.
**Set-up:** 
System:
  Kernel: 6.7.1-2-default arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    Desktop: Xfce v: 4.18.1 Distro: openSUSE Tumbleweed 20240126

Machine:
  Type: Laptop System: Dell product: Latitude 7410 v: N/A
    serial: <superuser required>

  Mobo: Dell model: 0M5G57 v: A00 serial: <superuser required> UEFI: Dell
    v: 1.23.1 date: 05/10/2023

Battery:
  ID-1: BAT0 charge: 32.9 Wh (100.0%) condition: 32.9/51.0 Wh (64.5%)
    volts: 8.0 min: 7.6 model: Samsung SDI DELL X825P07 status: full

CPU:
  Info: quad core model: Intel Core i5-10210U bits: 64 type: MT MCP
    arch: Comet/Whiskey Lake note: check rev: C cache: L1: 256 KiB L2: 1024 KiB
    L3: 6 MiB
  Speed (MHz): avg: 2500 high: 3901 min/max: 400/4200 cores: 1: 3863 2: 3901
    3: 3857 4: 400 5: 3900 6: 400 7: 3283 8: 400 bogomips: 33615
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx

Graphics:
  Device-1: Intel CometLake-U GT2 [UHD Graphics] vendor: Dell Latitude 7410
    driver: i915 v: kernel arch: Gen-9.5 bus-ID: 00:02.0
  Device-2: Realtek Integrated_Webcam_HD driver: uvcvideo type: USB
    bus-ID: 1-6:3
  Display: x11 server: X.org v: 1.21.1.11 driver: X: loaded: modesetting
    unloaded: fbdev,vesa dri: iris gpu: i915 resolution: 1: 2560x1440
    2: 1920x1080~60Hz
  API: OpenGL v: 4.6 vendor: intel mesa v: 23.3.4 glx-v: 1.4
    direct-render: yes renderer: Mesa Intel UHD Graphics (CML GT2)

Audio:
  Device-1: Intel Comet Lake PCH-LP cAVS vendor: Dell Latitude 7410
    driver: snd_hda_intel v: kernel bus-ID: 00:1f.3
  API: ALSA v: k6.7.1-2-default status: kernel-api
  Server-1: PipeWire v: 1.0.1 status: active
Network:
  Device-1: Intel Comet Lake PCH-LP CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 00:14.3
  IF: wlo1 state: up mac: <filter>

Bluetooth:
  Device-1: Intel Bluetooth 9460/9560 Jefferson Peak (JfP) driver: btusb
    v: 0.8 type: USB bus-ID: 1-10:5
  Report: btmgmt ID: hci0 rfk-id: 3 state: down bt-service: enabled,running
    rfk-block: hardware: no software: yes address: <filter> bt-v: 5.1 lmp-v: 10

Drives:
  Local Storage: total: 238.47 GiB used: 14.27 GiB (6.0%)
  ID-1: /dev/nvme0n1 vendor: Micron model: 2200S NVMe 256GB size: 238.47 GiB
    temp: 48.9 C
Partition:
  ID-1: / size: 35 GiB used: 14.24 GiB (40.7%) fs: btrfs dev: /dev/nvme0n1p3
  ID-2: /boot/efi size: 95 MiB used: 31.9 MiB (33.5%) fs: vfat
    dev: /dev/nvme0n1p1
  ID-3: /home size: 35 GiB used: 14.24 GiB (40.7%) fs: btrfs
    dev: /dev/nvme0n1p3
  ID-4: /opt size: 35 GiB used: 14.24 GiB (40.7%) fs: btrfs
    dev: /dev/nvme0n1p3
  ID-5: /var size: 35 GiB used: 14.24 GiB (40.7%) fs: btrfs
    dev: /dev/nvme0n1p3
Swap:
  ID-1: swap-1 type: partition size: 2 GiB used: 0 KiB (0.0%)
    dev: /dev/nvme0n1p4

Sensors:
  System Temperatures: cpu: 59.0 C mobo: 52.0 C
  Fan Speeds (rpm): cpu: 4818

Info:
  Processes: 279 Uptime: N/A Memory: total: 16 GiB note: est.
  available: 15.3 GiB used: 3.51 GiB (22.9%) Init: systemd Compilers:
  gcc: 13.2.1 Packages: N/A note: see --rpm Shell: Bash v: 5.2.26 inxi: 3.3.31

Opensuse Version:
Linux POPOVAC 6.7.1-2-default #1 SMP PREEMPT_DYNAMIC Fri Jan 26 06:32:58 UTC 2024 (6aca254) x86_64 x86_64 x86_64 GNU/Linux

Monitor: 
LG 27GL850-B

XANDR Output: 
Screen 0: minimum 320 x 200, current 2560 x 2520, maximum 16384 x 16384
eDP-1 connected 1920x1080+334+1440 (normal left inverted right x axis y axis) 309mm x 173mm
   1920x1080     60.01*+  60.01    59.97    59.96    48.01    59.93  
   1680x1050     59.95    59.88  
   1400x1050     59.98  
   1600x900      59.99    59.94    59.95    59.82  
   1280x1024     60.02  
   1400x900      59.96    59.88  
   1280x960      60.00  
   1440x810      60.00    59.97  
   1368x768      59.88    59.85  
   1280x800      59.99    59.97    59.81    59.91  
   1280x720      60.00    59.99    59.86    59.74  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   1024x576      59.95    59.96    59.90    59.82  
   960x600       59.93    60.00  
   960x540       59.96    59.99    59.63    59.82  
   800x600       60.00    60.32    56.25  
   840x525       60.01    59.88  
   864x486       59.92    59.57  
   700x525       59.98  
   800x450       59.95    59.82  
   640x512       60.02  
   700x450       59.96    59.88  
   640x480       60.00    59.94  
   720x405       59.51    58.99  
   684x384       59.88    59.85  
   640x400       59.88    59.98  
   640x360       59.86    59.83    59.84    59.32  
   512x384       60.00  
   512x288       60.00    59.92  
   480x270       59.63    59.82  
   400x300       60.32    56.34  
   432x243       59.92    59.57  
   320x240       60.05  
   360x202       59.51    59.13  
   320x180       59.84    59.32  
DP-1 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 697mm x 392mm
   2560x1440     99.95 +  74.97    59.95* 
   3840x2160     60.00    50.00    59.94    30.00    25.00    24.00    29.97    23.98  
   1920x1080    120.00   119.88    74.99    60.00    60.00    50.00    59.94  
   1680x1050     59.88  
   1600x900      60.00  
   1280x1024     75.02    60.02  
   1280x800      59.91  
   1152x864      59.97  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    60.00    59.94  
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)

Not sure if my XANDR setup is wrong or I need to update some drivers. Let me know if there is anything you’d suggest me trying.

Hi and welcome.

I suggest you try a different desktop environment just to rule out that it’s not XFCE.

I don’t use XFCE or normally have two screens on my laptop but sometimes I connect an extra one. I use KDE with plasma and /usr/bin/systemsettings (KDE) has no problem setting primary monitor to laptop. The mouse pointers are also the same size as the laptop screen.

Plank seems to have a problem with where to place the dock and multiple monitors. Have you search through the bug reports? There are some old bugs but also some new once about multiple monitors.

Thanks for the welcome message
I think I’ve got most of it figured out although it is still pretty buggy. I might try USB-C to displayport and see what happens. From what I can see in xrandr it is registering it as a DP-1 source, which is confusing because I’m connecting via HDMI. Maybe that is causing problems idno. Could be my laptop too running at 2560x1440. It’s a second hand dell latitude so I’m not entirely sure.

I just made a script that’s bound to a shortcut that restarts the plank process and it fixes it. Workaround but it works!

I’ve re-sized it manually for now.

I agree, HDMI showing up as DP is strange but not unheard of. My old laptop (lenovo yoga 2015) did the same thing when it was brand new. Had something to do with xrandr and how it queries the GPU which then returns the logical ports. But it was resolved some time later when a new kernel appeared. I didn’t care much about it anymore after that. Testing with USB-C cable to DP definitely sounds like a step in the right direction.

Got another issue going on now. When I am watching a stream/video processing it goes black every 2 minutes or so then comes back. Idk what’s going on or what logs to check.

Check with journalctl:

journalctl -f (to tail)
journalctl --since ‘10 min ago’

Nothing in journalctl I can see that would tell me what’s going on:

Feb 06 00:36:26 POPOVAC dbus-daemon[7528]: [session uid=0 pid=7526] Successfully activated service 'org.freedesktop.portal.Desktop'
Feb 06 00:36:55 POPOVAC gnomesu-pam-backend[7066]: pam_unix(gnomesu-pam:session): session closed for user root
Feb 06 00:37:45 POPOVAC systemd[1]: proc-sys-fs-binfmt_misc.automount: Got automount request for /proc/sys/fs/binfmt_misc, triggered by 103>
Feb 06 00:37:45 POPOVAC systemd[1]: Mounting Arbitrary Executable File Formats File System...
Feb 06 00:37:45 POPOVAC systemd[1]: Mounted Arbitrary Executable File Formats File System.
Feb 06 00:37:54 POPOVAC systemd[1]: snapperd.service: Deactivated successfully.
Feb 06 00:37:54 POPOVAC systemd[1]: snapperd.service: Consumed 4.230s CPU time.
Feb 06 00:38:55 POPOVAC systemd[1]: Starting Cleanup of Temporary Directories...
Feb 06 00:38:55 POPOVAC systemd[1]: systemd-tmpfiles-clean.service: Deactivated successfully.
Feb 06 00:38:55 POPOVAC systemd[1]: Finished Cleanup of Temporary Directories.
Feb 06 00:40:46 POPOVAC systemd[1]: Starting One time sync configured by YaST...
Feb 06 00:40:46 POPOVAC yast-timesync[10800]: 2024-02-05T13:40:46Z chronyd version 4.4 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCF>
Feb 06 00:40:46 POPOVAC yast-timesync[10800]: 2024-02-05T13:40:46Z Frequency 0.000 +/- 1000000.000 ppm read from /var/lib/chrony/drift
Feb 06 00:40:52 POPOVAC yast-timesync[10800]: 2024-02-05T13:40:52Z System clock wrong by 0.001870 seconds (step)
Feb 06 00:40:52 POPOVAC yast-timesync[10800]: 2024-02-05T13:40:52Z chronyd exiting
Feb 06 00:40:52 POPOVAC systemd[1]: yast-timesync.service: Deactivated successfully.
Feb 06 00:40:52 POPOVAC systemd[1]: Finished One time sync configured by YaST.
Feb 06 00:46:05 POPOVAC systemd[1]: Starting One time sync configured by YaST...
Feb 06 00:46:05 POPOVAC yast-timesync[11020]: 2024-02-05T13:46:05Z chronyd version 4.4 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCF>
Feb 06 00:46:05 POPOVAC yast-timesync[11020]: 2024-02-05T13:46:05Z Frequency 0.000 +/- 1000000.000 ppm read from /var/lib/chrony/drift
Feb 06 00:46:09 POPOVAC yast-timesync[11020]: 2024-02-05T13:46:09Z System clock wrong by 0.001835 seconds (step)
Feb 06 00:46:09 POPOVAC yast-timesync[11020]: 2024-02-05T13:46:09Z chronyd exiting
Feb 06 00:46:09 POPOVAC systemd[1]: yast-timesync.service: Deactivated successfully.
Feb 06 00:46:09 POPOVAC systemd[1]: Finished One time sync configured by YaST.
Feb 06 00:46:10 POPOVAC systemd[1]: Starting Daily man-db regeneration...
Feb 06 00:46:10 POPOVAC systemd[1]: man-db.service: Deactivated successfully.
Feb 06 00:46:10 POPOVAC systemd[1]: Finished Daily man-db regeneration.
Feb 06 00:52:05 POPOVAC systemd[1]: Starting One time sync configured by YaST...
Feb 06 00:52:05 POPOVAC yast-timesync[11271]: 2024-02-05T13:52:05Z chronyd version 4.4 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCF>
Feb 06 00:52:05 POPOVAC yast-timesync[11271]: 2024-02-05T13:52:05Z Frequency 0.000 +/- 1000000.000 ppm read from /var/lib/chrony/drift
Feb 06 00:52:10 POPOVAC yast-timesync[11271]: 2024-02-05T13:52:10Z System clock wrong by 0.001845 seconds (step)
Feb 06 00:52:10 POPOVAC yast-timesync[11271]: 2024-02-05T13:52:10Z chronyd exiting
Feb 06 00:52:10 POPOVAC systemd[1]: yast-timesync.service: Deactivated successfully.
Feb 06 00:52:10 POPOVAC systemd[1]: Finished One time sync configured by YaST.
Feb 06 00:53:46 POPOVAC smartd[1236]: System clock time adjusted to the past. Resetting next wakeup time.
Feb 06 00:57:56 POPOVAC systemd[1]: Starting One time sync configured by YaST...
Feb 06 00:57:56 POPOVAC yast-timesync[11518]: 2024-02-05T13:57:56Z chronyd version 4.4 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCF>
Feb 06 00:57:56 POPOVAC yast-timesync[11518]: 2024-02-05T13:57:56Z Frequency 0.000 +/- 1000000.000 ppm read from /var/lib/chrony/drift
Feb 06 00:58:01 POPOVAC yast-timesync[11518]: 2024-02-05T13:58:01Z System clock wrong by 0.001558 seconds (step)
Feb 06 00:58:01 POPOVAC yast-timesync[11518]: 2024-02-05T13:58:01Z chronyd exiting
Feb 06 00:58:01 POPOVAC systemd[1]: yast-timesync.service: Deactivated successfully.
Feb 06 00:58:01 POPOVAC systemd[1]: Finished One time sync configured by YaST.

DisplayPorts have designed-in chaining support called Multi Stream Transport, or MST. Reliable docking apparently depends on it, and USB-C connected docks apparently put MST to use. For computing purposes, HDMI amounts to a subset of DP specifications. What newer HDMI specs provide that DP does not is of no import in computer graphics connectivity.

At least a decade ago, Intel graphics in an FOSS environment lost the labels VGA and DVI, at least, IME. e.g., in 2017, this is what the kernel would find from an i3-7100T’s HD Graphics 630 installed on a Gigabyte GA-B250M-D3H with B250 chipset:

# ls -1 /sys/class/drm
card0
card0-DP-1
card0-DP-2
card0-HDMI-A-1
card0-HDMI-A-2
card0-HDMI-A-3
renderD128
#

These are xrandr’s labels for the same outputs:

# xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x46; cap: 0xf (Source Output, Sink Output, Source Offload, Sink Offload); crtcs: 3; outputs: 5; associated providers: 0; name: modesetting
    output HDMI-1
    output HDMI-2
    output DP-1
    output HDMI-3
    output DP-2
#

The following shows how the motherboard/chipset translated xrandr labels into physical connectors:

Xrandr          Cable
Reports         Connector
DP-1            DisplayPort
HDMI-1          HDMI
HDMI-2          DVI
HDMI-3          none
DP-2            VGA
#

With another CPU of same generation, i5-7500T, with identical HD 630 GPU, on an Asus B250M-C with same B250 chipset as the Gigabyte, the kernel’s labeling differs slightly:

# ls -1 /sys/class/drm
card1
card1-DP-1
card1-DP-2
card1-HDMI-A-1
card1-HDMI-A-2
card1-HDMI-A-3
renderD128
#

Xrandr uses the same labels on the Asus as on the Gigabyte, but rearranges them:

# xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x46; cap: 0xf (Source Output, Sink Output, Source Offload, Sink Offload); crtcs: 3; outputs: 5; associated providers: 0; name: modesetting
    output DP-1
    output HDMI-1
    output HDMI-2
    output HDMI-3
    output DP-2
#

And though the motherboards provide the same 4 physical connectors on both, some labels are differently assigned:

Xrandr          Cable
Reports         Connector
DP-1            DisplayPort
HDMI-1          none
HDMI-2          HDMI
HDMI-3          DVI
DP-2            VGA
#

IOW, don’t let yourself get bogged down in graphics connection labeling.

appreciate this breakdown and clarity as to whether the labels actually matter.

Do you have any idea why my external would be cutting in and out every now again during tasks that use more GPU processing?