External monitor freezes periodically (i3-gaps, picom)

Hello everybody,

I'm struggling to find the reason for my external monitor (MSI 27" 2560x1440, 65hz) to periodically freeze. When it happens, the applications keep running (for example I can bring them to my laptop's main display with shortcuts, or if it is a YouTube video, I can stop/play it and hear it running/stopping).

I use Garuda Linux Gaming (Dr4g0nized) KDE Plasma edition, but I installed i3 (i3-gaps specifically) on it.
Here are some other applications I use with i3:

  • picom
  • polybar
  • nitrogen

I usually have no problems using this (and other 2) monitor on my main PC (same i3-gaps configuration) connecting it with Display Port, but now I moved from home with just my laptop (Pavilion) and brought 1 monitor with me (the one causing me this problem), but from my laptop I can just use HDMI port.

It seems to happen pseudo randomically, but I have the suspect that it has something to do with the tiling of the windows when applications get moved or started. The issue happens reliably when I:

  • open Google Chrome on the external monitor (not full screen, but tiled to occupy the whole screen)
  • open IntelliJ Idea ultimate edition (it opens on my laptop's built-in screen)
  • move IntelliJ on the external monitor with i3 shortcuts

I already tried to remove the execution of picom (exec_always picom &) from the i3 config file ~/.config/i3/config, but even after poweroff and start the problem persists.

If it is not related to HDMI or some latest update, the only thing I touched in the last period are scratchpads, I recently started using them and added some custom shortcuts and rules for certain applications to automatically go in there, but I already tried to comment out the automatic execution of those apps from i3 config file and it didn't fix the issue.

Also, I tried to poweroff-poweroff (no reboot) and switch to KDE session and it happened again. Then I tried booting Windows and it didn't happen. Then I booted Garuda KDE again and it didn't happen. At last, I booted Garuda i3-gaps and it started freezing again. So I don't think it's some hardware thing, but instead something related to i3 or my customization of it.

here is the output for
$ sudo garuda-inxi

System:
  Kernel: 6.1.5-zen2-1-zen arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=a9f9fe71-baf5-4fff-9355-1744d09c517b rw [email protected]
    quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
    loglevel=3
  Desktop: i3 v: 4.22 info: polybar dm: SDDM Distro: Garuda Linux
    base: Arch Linux
Machine:
  Type: Laptop System: HP product: HP Pavilion Gaming Laptop 16-a0xxx v: N/A
    serial: <filter> Chassis: type: 10 serial: <filter>
  Mobo: HP model: 880E v: 32.30 serial: <filter> UEFI: AMI v: F.10
    date: 06/23/2020
Battery:
  ID-1: BAT0 charge: 42.9 Wh (100.0%) condition: 42.9/42.9 Wh (100.0%)
    volts: 12.7 min: 11.6 model: HP Primary type: Li-ion serial: <filter>
    status: full cycles: 135
  Device-1: hidpp_battery_0 model: Logitech MX Ergo Multi-Device Trackball
    serial: <filter> charge: 55% (should be ignored) rechargeable: yes
    status: discharging
CPU:
  Info: model: Intel Core i7-10750H socket: U3E1 bits: 64 type: MT MCP
    arch: Comet Lake gen: core 10 level: v3 note: check built: 2020
    process: Intel 14nm family: 6 model-id: 0xA5 (165) stepping: 2
    microcode: 0xF4
  Topology: cpus: 1x cores: 6 tpc: 2 threads: 12 smt: enabled cache:
    L1: 384 KiB desc: d-6x32 KiB; i-6x32 KiB L2: 1.5 MiB desc: 6x256 KiB
    L3: 12 MiB desc: 1x12 MiB
  Speed (MHz): avg: 4307 high: 4444 min/max: 800/5000 base/boost: 3069/8300
    scaling: driver: intel_pstate governor: performance volts: 0.8 V
    ext-clock: 100 MHz cores: 1: 4306 2: 4417 3: 4199 4: 4274 5: 4333 6: 4202
    7: 4214 8: 4374 9: 4268 10: 4338 11: 4444 12: 4317 bogomips: 62399
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities: <filter>
Graphics:
  Device-1: Intel CometLake-H GT2 [UHD Graphics] vendor: Hewlett-Packard
    driver: i915 v: kernel arch: Gen-9.5 process: Intel 14nm built: 2016-20
    ports: active: eDP-1 empty: none bus-ID: 00:02.0 chip-ID: 8086:9bc4
    class-ID: 0300
  Device-2: NVIDIA TU106M [GeForce RTX 2060 Max-Q] vendor: Hewlett-Packard
    driver: nvidia v: 525.78.01 alternate: nouveau,nvidia_drm non-free: 525.xx+
    status: current (as of 2022-12) arch: Turing code: TUxxx
    process: TSMC 12nm FF built: 2018-22 pcie: gen: 1 speed: 2.5 GT/s
    lanes: 8 link-max: gen: 3 speed: 8 GT/s lanes: 16 bus-ID: 01:00.0
    chip-ID: 10de:1f12 class-ID: 0300
  Device-3: Luxvisions Innotech HP TrueVision HD Camera type: USB
    driver: uvcvideo bus-ID: 1-6:4 chip-ID: 30c9:0013 class-ID: 0e02
    serial: <filter>
  Display: x11 server: X.Org v: 21.1.6 with: Xwayland v: 22.1.7
    compositor: Picom v: git-60ac2 driver: X: loaded: modesetting,nvidia
    unloaded: nouveau alternate: fbdev,intel,nv,vesa dri: iris gpu: i915
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 2560x2520 s-dpi: 96 s-size: 675x665mm (26.57x26.18")
    s-diag: 948mm (37.31")
  Monitor-1: HDMI-1-0 pos: top res: 2560x1440 hz: 144 dpi: 108
    size: 600x340mm (23.62x13.39") diag: 690mm (27.15") modes: N/A
  Monitor-2: eDP-1 pos: primary,bottom res: 1920x1080 hz: 144 dpi: 137
    size: 355x200mm (13.98x7.87") diag: 407mm (16.04") modes: N/A
  API: OpenGL v: 4.6 Mesa 22.3.3 renderer: Mesa Intel UHD Graphics (CML
    GT2) direct render: Yes
Audio:
  Device-1: Intel Comet Lake PCH cAVS vendor: Hewlett-Packard
    driver: sof-audio-pci-intel-cnl
    alternate: snd_hda_intel,snd_soc_skl,snd_sof_pci_intel_cnl
    bus-ID: 00:1f.3 chip-ID: 8086:06c8 class-ID: 0401
  Device-2: NVIDIA TU106 High Definition Audio vendor: Hewlett-Packard
    driver: snd_hda_intel v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 8
    link-max: gen: 3 speed: 8 GT/s lanes: 16 bus-ID: 01:00.1
    chip-ID: 10de:10f9 class-ID: 0403
  Sound API: ALSA v: k6.1.5-zen2-1-zen running: yes
  Sound Server-1: PulseAudio v: 16.1 running: no
  Sound Server-2: PipeWire v: 0.3.64 running: yes
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Hewlett-Packard driver: r8169 v: kernel pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 port: 4000 bus-ID: 03:00.0 chip-ID: 10ec:8168
    class-ID: 0200
  IF: eno1 state: down mac: <filter>
  Device-2: Realtek RTL8822CE 802.11ac PCIe Wireless Network Adapter
    vendor: Hewlett-Packard driver: rtw_8822ce v: N/A modules: rtw88_8822ce
    pcie: gen: 1 speed: 2.5 GT/s lanes: 1 port: 3000 bus-ID: 04:00.0
    chip-ID: 10ec:c822 class-ID: 0280
  IF: wlo1 state: up mac: <filter>
Bluetooth:
  Device-1: Realtek Bluetooth Radio type: USB driver: btusb v: 0.8
    bus-ID: 1-7:5 chip-ID: 0bda:b00c class-ID: e001 serial: <filter>
  Report: bt-adapter ID: hci0 rfk-id: 1 state: up address: <filter>
RAID:
  Hardware-1: Intel 82801 Mobile SATA Controller [RAID mode] driver: ahci
    v: 3.0 port: 6060 bus-ID: 00:17.0 chip-ID: 8086:282a rev: class-ID: 0104
Drives:
  Local Storage: total: 476.94 GiB used: 105.59 GiB (22.1%)
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Intel model: SSDPEKNW512G8H
    size: 476.94 GiB block-size: physical: 512 B logical: 512 B
    speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter> rev: HPS1
    temp: 34.9 C scheme: GPT
  SMART: yes health: PASSED on: 75d 8h cycles: 1,069
    read-units: 9,432,223 [4.82 TB] written-units: 10,624,853 [5.43 TB]
Partition:
  ID-1: / raw-size: 250.24 GiB size: 250.24 GiB (100.00%)
    used: 73.09 GiB (29.2%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2
    maj-min: 259:2
  ID-2: /boot/efi raw-size: 4.77 GiB size: 4.76 GiB (99.80%)
    used: 31.9 MiB (0.7%) fs: vfat block-size: 512 B dev: /dev/nvme0n1p1
    maj-min: 259:1
  ID-3: /home raw-size: 250.24 GiB size: 250.24 GiB (100.00%)
    used: 73.09 GiB (29.2%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2
    maj-min: 259:2
  ID-4: /var/log raw-size: 250.24 GiB size: 250.24 GiB (100.00%)
    used: 73.09 GiB (29.2%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2
    maj-min: 259:2
  ID-5: /var/tmp raw-size: 250.24 GiB size: 250.24 GiB (100.00%)
    used: 73.09 GiB (29.2%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2
    maj-min: 259:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 15.4 GiB used: 2.2 MiB (0.0%) priority: 100
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 71.0 C pch: 61.0 C mobo: N/A
  Fan Speeds (RPM): cpu: 0 fan-2: 0
Info:
  Processes: 351 Uptime: 37m wakeups: 4 Memory: 15.4 GiB
  used: 6.46 GiB (41.9%) Init: systemd v: 252 default: graphical
  tool: systemctl Compilers: gcc: 12.2.0 Packages: pm: dpkg pkgs: 0
  pm: pacman pkgs: 1955 libs: 530 tools: octopi,paru,pikaur
  Shell: garuda-inxi (sudo) default: Bash v: 5.1.16 running-in: alacritty
  inxi: 3.3.24
Garuda (2.6.14-1):
  System install date:     2022-11-09
  Last full system update: 2023-01-14
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager mkinitcpio nvidia-dkms
  Windows dual boot:       Yes
  Failed units:            

Any suggestion, even advise on how to log this problem, is appreciated.
Thanks in advance for your time.

Also, maybe it is handy to see some dotfiles:

~/.config/i3/config:

# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#

# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!

set $mod Mod4
# Kimo add
set $alt Mod1

# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango:monospace 8

# Kimo remove title bar
default_border pixel 2
default_floating_border pixel 2

# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
#font pango:DejaVu Sans Mono 8

# Start XDG autostart .desktop files using dex. See also
# https://wiki.archlinux.org/index.php/XDG_Autostart
exec --no-startup-id dex --autostart --environment i3

# The combination of xss-lock, nm-applet and pactl is a popular choice, so
# they are included here as an example. Modify as you see fit.

# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen.
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork

# NetworkManager is the most popular way to manage wireless networks on Linux,
# and nm-applet is a desktop environment-independent system tray GUI for it.
exec --no-startup-id nm-applet

# Use pactl to adjust volume in PulseAudio.
set $refresh_i3status killall -SIGUSR1 i3status
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @[email protected] +10% && $refresh_i3status
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @[email protected] -10% && $refresh_i3status
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @[email protected] toggle && $refresh_i3status
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @[email protected] toggle && $refresh_i3status

# Kimo polybar toggle
# polybar-msg -p 362336 cmd toggle
bindsym $mod+P exec --no-startup-id polybar-msg cmd toggle

# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod

# move tiling windows via drag & drop by left-clicking into the title bar,
# or left-clicking anywhere into the window while holding the floating modifier.
tiling_drag modifier titlebar

# start a terminal
# Kimo change terminal shortcut to windows
bindsym $mod+Return exec alacritty
bindsym Ctrl+$alt+t exec alacritty

# kill focused window
bindsym $mod+Shift+q kill

# start dmenu (a program launcher)
bindsym $mod+d exec --no-startup-id dmenu_run
# A more modern dmenu replacement is rofi:
# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
# There also is i3-dmenu-desktop which only displays applications shipping a
# .desktop file. It is a wrapper around dmenu, so you need that installed.
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop

# change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon focus right

# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right

# move focused window
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+semicolon move right

# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right

# split in horizontal orientation
bindsym $mod+h split h

# split in vertical orientation
bindsym $mod+v split v

# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle

# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split

# toggle tiling / floating
bindsym $mod+Shift+space floating toggle

# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle

# focus the parent container
bindsym $mod+a focus parent

# focus the child container
#bindsym $mod+d focus child

# Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places.
set $ws1 "6:1"
set $ws2 "7:2"
set $ws3 "8:3"
set $ws4 "9:4"
set $ws5 "10:5"
set $ws6 "11:6"
set $ws7 "12:7"
set $ws8 "13:8"
set $ws9 "14:9"
set $ws10 "15:10"

# Kimo workspaces names
set $ws_chats "1:chats"
set $ws_music "2:music"
set $ws_kimo1 "3:kimo1"
set $ws_kimo2 "4:kimo2"
set $ws_kimo3 "5:kimo3"

# switch to workspace
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10

# Kimo workspaces
bindsym $mod+Ctrl+1 workspace number $ws_chats
bindsym $mod+Ctrl+2 workspace number $ws_music
bindsym $mod+Ctrl+3 workspace number $ws_kimo1
bindsym $mod+Ctrl+4 workspace number $ws_kimo2
bindsym $mod+Ctrl+5 workspace number $ws_kimo3

# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10

# Kimo workspaces
bindsym $mod+Ctrl+Shift+1 move container to workspace number $ws_chats
bindsym $mod+Ctrl+Shift+2 move container to workspace number $ws_music
bindsym $mod+Ctrl+Shift+3 move container to workspace number $ws_kimo1
bindsym $mod+Ctrl+Shift+4 move container to workspace number $ws_kimo2
bindsym $mod+Ctrl+Shift+5 move container to workspace number $ws_kimo3

# Kimo moving workspaces
bindsym $mod+Shift+s move workspace to output left
bindsym $mod+Shift+d move workspace to output right
bindsym $mod+Ctrl+s move workspace to output up
bindsym $mod+Ctrl+d move workspace to output down

# Kimo switch focus between the current and the previously focused workspace
bindsym $mod+z workspace back_and_forth
# Kimo switch container between the current and the previously focused workspace
bindsym $mod+Shift+z move container to workspace back_and_forth
# Kimo go to a workspace and come back on the same shortcut
workspace_auto_back_and_forth yes

# Kimo lock binding
# 1- version with no wallpaper
# 2- version for laptop with 1 screen 1920x1080
# 3- version for triple monitor total 7680x1440
# bindsym $mod+Ctrl+l exec i3lock
# bindsym $mod+Ctrl+l exec convert /home/il_kimo/all/fun/images/wallpapers/1920x1080/3492195.jpg RGB:- | i3lock --raw 1920x1080:rgb --image /dev/stdin
bindsym $mod+Ctrl+l exec convert /home/il_kimo/all/fun/images/wallpapers/7680x1440/landscape-1648745067998-3215.jpg RGB:- | i3lock --raw 7680x1440:rgb --image /dev/stdin

# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"

# resize window (you can also use the mouse for that)
mode "resize" {
        # These bindings trigger as soon as you enter the resize mode

        # Kimo swap left and right bindings
        # Pressing down will shrink the window’s width.
        # Pressing right will grow the window’s width.
        # Pressing up will shrink the window’s height.
        # Pressing left will grow the window’s height.
        bindsym semicolon resize shrink width 10 px or 10 ppt
        bindsym k resize grow height 10 px or 10 ppt
        bindsym l resize shrink height 10 px or 10 ppt
        bindsym j resize grow width 10 px or 10 ppt

        # same bindings, but for the arrow keys
        # Kimo swap left and right bindings
        bindsym Right resize shrink width 10 px or 10 ppt
        bindsym Down resize grow height 10 px or 10 ppt
        bindsym Up resize shrink height 10 px or 10 ppt
        bindsym Left resize grow width 10 px or 10 ppt

        # back to normal: Enter or Escape or $mod+r
        bindsym Return mode "default"
        bindsym Escape mode "default"
        bindsym $mod+r mode "default"

}

bindsym $mod+r mode "resize"

# kimo gaps resize mode
mode "gap_resize" {
        bindsym Up gaps outer current plus 5
        bindsym Down gaps outer current minus 5
        bindsym Left gaps inner current plus 5
        bindsym Right gaps inner current minus 5

        # back to normal: Enter or Escape or $mod+r
        bindsym Return mode "default"
        bindsym Escape mode "default"
        bindsym $mod+g mode "default"
}

bindsym $mod+g mode "gap_resize"

# Kimo Custom colors
# class                 border  backgr. text    indicator child_border
client.focused          #4c7899 #285577 #ffffff #2e9ef4   #fe8019
client.focused_inactive #333333 #5f676a #ffffff #484e50   #5f676a
client.unfocused        #333333 #222222 #888888 #292d2e   #222222
client.urgent           #2f343a #900000 #ffffff #900000   #cc241d
client.placeholder      #000000 #0c0c0c #ffffff #000000   #0c0c0c

client.background       #ffffff

# Kimo gaps
smart_gaps on # gaps only if in the desktop there is more than 1 container
gaps inner 5
gaps outer -5

# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
# bar {
#         status_command i3status

        # Kimo strip workspaces numbers
        # This hides numbers in workspaces names
#         strip_workspace_numbers yes
# }

# Kimo launch polybar
exec_always --no-startup-id $HOME/.config/polybar/launch.sh

# Kimo Screenshots
bindsym Print exec --no-startup-id maim -f jpg "/home/$USER/Pictures/$(date)"
bindsym $mod+Print exec --no-startup-id maim -f jpg --window $(xdotool getactivewindow) "/home/$USER/Pictures/$(date)"
bindsym Shift+Print exec --no-startup-id maim -f jpg --select "/home/$USER/Pictures/$(date)"

# Kimo Clipboard Screenshots
# bindsym Ctrl+Print exec --no-startup-id maim | xclip -selection clipboard -t image/png
# bindsym Ctrl+$mod+Print exec --no-startup-id maim --window $(xdotool getactivewindow) | xclip -selection clipboard -t image/png
# bindsym Ctrl+Shift+Print exec --no-startup-id maim --select | xclip -selection clipboard -t image/png

# Kimo multimedia buttons
# Media player controls 
bindsym XF86AudioPlay exec playerctl play 
bindsym XF86AudioPause exec playerctl pause 
bindsym XF86AudioNext exec playerctl next 
bindsym XF86AudioPrev exec playerctl previous

# Kimo multi monitor specifics
# the command ($ exec_always) also executes on i3 restart
# exec_always xrandr --output DP-2 --left-of DP-0 --output DP-4 --right-of DP-0

# Kimo persist wallpaper after reboot
# It refreshesh nitrogen's wallpapers, the app I use to set my wallpaper
exec_always nitrogen --restore &

# Kimo start picom compositor
# (for transparency effect, having installed compton is required)
exec_always picom &

# Kimo scratchpads
# Make the currently focused window a scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the first scratchpad window
bindsym $mod+minus scratchpad show

# Kimo workspace bindings
# To find the correct name of the class, open the app, $ xprop from terminal, then click with mouse on the app
# Kimo Spotify workspace binding
# for_window [class="Spotify"] move to workspace $ws_music

# Kimo chats binding
# for_window [class="WhatSie"] move to workspace $ws_chats
# for_window [class="TelegramDesktop"] move to workspace $ws_chats

# Kimo application launch on start-up
exec_always --no-startup-id i3-msg 'exec spotify-launcher' &
exec_always --no-startup-id i3-msg 'exec whatsie' &
exec_always --no-startup-id i3-msg 'exec telegram-desktop' &
exec_always --no-startup-id i3-msg 'exec thunderbird' &
exec_always --no-startup-id i3-msg 'exec pavucontrol' &
exec_always --no-startup-id i3-msg 'exec bitwarden-desktop' &

# Kimo app scratchpad configuration
for_window [class="Pavucontrol"] move window to scratchpad #, scratchpad show
bindsym $mod+m [class="Pavucontrol"] scratchpad show

for_window [class="thunderbird"] move window to scratchpad #, scratchpad show
bindsym $mod+n [class="thunderbird"] scratchpad show

for_window [class="Bitwarden"] move window to scratchpad #, scratchpad show
bindsym $mod+b [class="Bitwarden"] scratchpad show

for_window [class="Spotify"] move window to scratchpad #, scratchpad show
bindsym $mod+comma [class="Spotify"] scratchpad show

for_window [class="WhatSie"] move window to scratchpad #, scratchpad show
bindsym $mod+period [class="WhatSie"] scratchpad show

for_window [class="TelegramDesktop"] move window to scratchpad #, scratchpad show
bindsym $mod+question [class="TelegramDesktop"] scratchpad show

bindsym $mod+x [class="Google-chrome"] scratchpad show

# Kimo app bindings
bindsym $mod+c exec google-chrome-stable

# ---------------------------  Kimo adds -----------------------------------  
# Look for comments in the entire section.
# Basic stuff:
#       Kimo add
#       Kimo change terminal shortcut to windows
#       Kimo remove title bar
#       Kimo workspaces names
#       Kimo workspaces
#       Kimo launch polybar
#       Kimo polybar toggle
#       Kimo Screenshots
#       Kimo Clipboard Screenshots
#       Kimo application launch on start-up
#       Kimo persist wallpaper after reboot
#       Kimo strip workspaces numbers
#       Kimo lock binding
#       # Kimo swap left and right bindings
#       Kimo start picom compositor
#       Kimo Custom colors
#       kimo gaps resize mode
#       Kimo gaps
#       Kimo multimedia buttons
#       Kimo app bindings

# Kimo workspace bindings:
#       Kimo Spotify workspace binding
#       Kimo chats binding
#       Kimo moving workspaces
#       Kimo switch focus between the current and the previously focused workspace
#       Kimo switch container between the current and the previously focused workspace
#       Kimo go to a workspace and come back on the same shortcut
#       Kimo scratchpads
#       Kimo app scratchpad configuration

# Multi Monitor specific commands:
#       Kimo multi monitor specifics

# TMP:
#       Kimo add redundancy shortcut
# ---------------------------  Kimo adds -----------------------------------


The picom dotfile has no meaningful changes, while the polybar isn't even launched on the external monitor in the first place.

I now also tried changing HDMI cable and phisical connection (the external monitor has 3 entries for HDMI cables) for both the external monitor and the laptop (instead of the HDMI port of the laptop I have connected the HDMI to a USB hub that is connected to the laptop with USB type C) with no success.

To connect the monitor I launch the command:

$ xrandr --output DP-1-0 --auto --above eDP-1

I'll also put the output of $ xrandr here:

Screen 0: minimum 320 x 200, current 2560 x 2520, maximum 16384 x 16384
eDP-1 connected primary 1920x1080+0+1440 (normal left inverted right x axis y axis) 355mm x 200mm
   1920x1080    144.02*+  60.01    59.97    59.96    59.93  
   1680x1050     59.95    59.88  
   1400x1050     74.76    59.98  
   1600x900      59.99    59.94    59.95    59.82  
   1280x1024     85.02    75.02    60.02  
   1400x900      59.96    59.88  
   1280x960      85.00    60.00  
   1440x810      60.00    59.97  
   1368x768      59.88    59.85  
   1280x800      59.99    59.97    59.81    59.91  
   1152x864      75.00  
   1280x720      60.00    59.99    59.86    59.74  
   1024x768      85.00    75.05    60.04    85.00    75.03    70.07    60.00  
   1024x768i     86.96  
   960x720       85.00    75.00    60.00  
   928x696       75.00    60.05  
   896x672       75.05    60.01  
   1024x576      59.95    59.96    59.90    59.82  
   960x600       59.93    60.00  
   832x624       74.55  
   960x540       59.96    59.99    59.63    59.82  
   800x600       85.00    75.00    70.00    65.00    60.00    85.14    72.19    75.00    60.32    56.25  
   840x525       60.01    59.88  
   864x486       59.92    59.57  
   700x525       74.76    59.98  
   800x450       59.95    59.82  
   640x512       85.02    75.02    60.02  
   700x450       59.96    59.88  
   640x480       85.09    60.00    85.01    72.81    75.00    59.94  
   720x405       59.51    58.99  
   720x400       85.04  
   684x384       59.88    59.85  
   640x400       59.88    59.98    85.08  
   576x432       75.00  
   640x360       59.86    59.83    59.84    59.32  
   640x350       85.08  
   512x384       85.00    75.03    70.07    60.00  
   512x384i      87.06  
   512x288       60.00    59.92  
   416x312       74.66  
   480x270       59.63    59.82  
   400x300       85.27    72.19    75.12    60.32    56.34  
   432x243       59.92    59.57  
   320x240       85.18    72.81    75.00    60.05  
   360x202       59.51    59.13  
   360x200       85.04  
   320x200       85.27  
   320x180       59.84    59.32  
   320x175       85.27  
DP-1-0 connected 2560x1440+0+0 (normal left inverted right x axis y axis) 598mm x 336mm
   2560x1440     84.98*+  59.95  
   1920x1080    119.88    60.00    59.94  
   1680x1050     59.95  
   1440x900      59.89  
   1440x576      50.00  
   1440x480      59.94  
   1280x1024     75.02    60.02  
   1280x960      60.00  
   1280x720      60.00    59.94    50.00  
   1152x864      75.00  
   1024x768      75.03    70.07    60.00  
   800x600       75.00    72.19    60.32    56.25  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    72.81    59.94    59.93  
DP-1-1 disconnected (normal left inverted right x axis y axis)
HDMI-1-0 disconnected (normal left inverted right x axis y axis)
  1680x1050 (0x48) 146.250MHz -HSync +VSync
        h: width  1680 start 1784 end 1960 total 2240 skew    0 clock  65.29KHz
        v: height 1050 start 1053 end 1059 total 1089           clock  59.95Hz
  1280x1024 (0x51) 135.000MHz +HSync +VSync
        h: width  1280 start 1296 end 1440 total 1688 skew    0 clock  79.98KHz
        v: height 1024 start 1025 end 1028 total 1066           clock  75.02Hz
  1280x1024 (0x52) 108.000MHz +HSync +VSync
        h: width  1280 start 1328 end 1440 total 1688 skew    0 clock  63.98KHz
        v: height 1024 start 1025 end 1028 total 1066           clock  60.02Hz
  1280x960 (0x56) 108.000MHz +HSync +VSync
        h: width  1280 start 1376 end 1488 total 1800 skew    0 clock  60.00KHz
        v: height  960 start  961 end  964 total 1000           clock  60.00Hz
  1152x864 (0x5f) 108.000MHz +HSync +VSync
        h: width  1152 start 1216 end 1344 total 1600 skew    0 clock  67.50KHz
        v: height  864 start  865 end  868 total  900           clock  75.00Hz
  1024x768 (0x68) 78.750MHz +HSync +VSync
        h: width  1024 start 1040 end 1136 total 1312 skew    0 clock  60.02KHz
        v: height  768 start  769 end  772 total  800           clock  75.03Hz
  1024x768 (0x69) 75.000MHz -HSync -VSync
        h: width  1024 start 1048 end 1184 total 1328 skew    0 clock  56.48KHz
        v: height  768 start  771 end  777 total  806           clock  70.07Hz
  1024x768 (0x6a) 65.000MHz -HSync -VSync
        h: width  1024 start 1048 end 1184 total 1344 skew    0 clock  48.36KHz
        v: height  768 start  771 end  777 total  806           clock  60.00Hz
  800x600 (0x85) 49.500MHz +HSync +VSync
        h: width   800 start  816 end  896 total 1056 skew    0 clock  46.88KHz
        v: height  600 start  601 end  604 total  625           clock  75.00Hz
  800x600 (0x84) 50.000MHz +HSync +VSync
        h: width   800 start  856 end  976 total 1040 skew    0 clock  48.08KHz
        v: height  600 start  637 end  643 total  666           clock  72.19Hz
  800x600 (0x86) 40.000MHz +HSync +VSync
        h: width   800 start  840 end  968 total 1056 skew    0 clock  37.88KHz
        v: height  600 start  601 end  605 total  628           clock  60.32Hz
  800x600 (0x87) 36.000MHz +HSync +VSync
        h: width   800 start  824 end  896 total 1024 skew    0 clock  35.16KHz
        v: height  600 start  601 end  603 total  625           clock  56.25Hz
  640x480 (0x99) 31.500MHz -HSync -VSync
        h: width   640 start  656 end  720 total  840 skew    0 clock  37.50KHz
        v: height  480 start  481 end  484 total  500           clock  75.00Hz
  640x480 (0x9a) 25.175MHz -HSync -VSync
        h: width   640 start  656 end  752 total  800 skew    0 clock  31.47KHz
        v: height  480 start  490 end  492 total  525           clock  59.94Hz