hyprwm / Hyprland

Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
https://hyprland.org
BSD 3-Clause "New" or "Revised" License
19.64k stars 829 forks source link

3rd monitor not getting a signal #7572

Closed platz-halter closed 1 week ago

platz-halter commented 2 weeks ago

Regression?

Yes

System Info and Version

System/Version info ```sh Hyprland, built from branch main at commit b9b8e6220f55af34e862b541a5a4b30ae6d8f15f (renderer: fade out windows on silent moves). Date: Wed Aug 28 21:54:49 2024 Tag: v0.42.0-86-gb9b8e622, commits: 5155 flags: (if any) System Information: System name: Linux Node name: archlinux Release: 6.10.6-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Mon, 19 Aug 2024 17:02:39 +0000 GPU information: 00:02.0 VGA compatible controller [0300]: Intel Corporation Skylake GT2 [HD Graphics 520] [8086:1916] (rev 07) (prog-if 00 [VGA controller]) os-release: NAME="Arch Linux" PRETTY_NAME="Arch Linux" ID=arch BUILD_ID=rolling ANSI_COLOR="38;2;23;147;209" HOME_URL="https://archlinux.org/" DOCUMENTATION_URL="https://wiki.archlinux.org/" SUPPORT_URL="https://bbs.archlinux.org/" BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues" PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/" LOGO=archlinux-logo plugins: ======Config-Start====== Config File: /home/simson/.config/hypr/hyprland.conf: Read Succeeded $terminal = kitty $explorer = pcmanfm $menu = wofi --show drun $task_man = htop $browser = firefox $screenshot = grim $notes = obsidian $mainMod = SUPER #Custom Scripts $pyenv = source ~/Documents/coding_workspace/python_workspace/bin/activate #Source files #source = ~/.config/hypr/themes/catpuccin_mocha/mocha.conf source = ~/.config/hypr/settings/env_vars.conf source = ~/.config/hypr/settings/sim_theme.conf source = ~/.config/hypr/settings/workspaces.conf source = ~/.config/hypr/settings/win_rules.conf source = ~/.config/hypr/settings/layout.conf source = ~/.config/hypr/settings/input.conf source = ~/.config/hypr/settings/misc.conf source = ~/.config/hypr/settings/style.conf source = ~/.config/hypr/settings/keybinds.conf source = ~/.config/hypr/settings/monitors.conf source = ~/.config/hypr/settings/autostart.conf Config File: /home/simson/.config/hypr/settings/env_vars.conf: Read Succeeded # ______ ____ # / ____/___ _ __ _ ______ ___________ _________ ____ / ___/ # / __/ / __ \ | / / | | / / __ `/ ___/ ___// ___/ __ \/ __ \/ /_ # / /___/ / / / |/ / | |/ / /_/ / / (__ )/ /__/ /_/ / / / / __/ #/_____/_/ /_/|___/____|___/\__,_/_/ /____(_)___/\____/_/ /_/_/ # /_____/ # # System wiede enviornment vars that are set on startup # Other theme relevant vars are placed in the theme.conf file. env = DEBUG15, 1 env = QT_QPA_PLATFORMTHEME, qt5ct env = RUST_BACKTRACE, 1 env = GDK_SCALE,1 env = XCURSOR_SIZE,32 Config File: /home/simson/.config/hypr/settings/sim_theme.conf: Read Succeeded source = ~/.config/hypr/themes/catpuccin_mocha/theme.conf Config File: /home/simson/.config/hypr/themes/catpuccin_mocha/theme.conf: Read Succeeded env = NEOFETCH_LOGO_COLOR, 15 env = $MAIN_WALLPAPER, ~/.config/hypr/themes/catpuccin_mocha/wallpapers/cat_lofi_cafe.jpg # Theme vars $wallpapers = /home/simson/.config/hypr/themes/catpuccin_mocha/hyprpaper.conf $active_color = rgba(cba6f7ff) $inactive_color = rgb(f4dbd6) $kitty_theme = "Catpuccin-Mocha" # Config locations $hyprlock_conf = $HOME/.config/hypr/themes/catpuccin_mocha/hyprlock.conf # Change Browser and Dashboard themes # Change Obsidian themes # Change Spotify text color # Change applied web theme Config File: /home/simson/.config/hypr/settings/workspaces.conf: Read Succeeded # _ __ __ ____ #| | / /___ _____/ /___________ ____ _________ _____ _________ ____ / __/ #| | /| / / __ \/ ___/ //_/ ___/ __ \/ __ `/ ___/ _ \/ ___// ___/ __ \/ __ \/ /_ #| |/ |/ / /_/ / / / ,< (__ ) /_/ / /_/ / /__/ __(__ )/ /__/ /_/ / / / / __/ #|__/|__/\____/_/ /_/|_/____/ .___/\__,_/\___/\___/____(_)___/\____/_/ /_/_/ # /_/ # # Workspace settings and workpspace keybinds. # #Special workspaces bind = $mainMod, S, togglespecialworkspace, magic bind = $mainMod SHIFT, S, movetoworkspace, special:magic # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 # Move/resize windows bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow # Move focus with mainMod + arrow keys bind = $mainMod, left, movefocus, l bind = $mainMod, right, movefocus, r bind = $mainMod, up, movefocus, u bind = $mainMod, down, movefocus, d # Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, workspace, 1 bind = $mainMod, 2, workspace, 2 bind = $mainMod, 3, workspace, 3 bind = $mainMod, 4, workspace, 4 bind = $mainMod, 5, workspace, 5 bind = $mainMod, 6, workspace, 6 bind = $mainMod, 7, workspace, 7 bind = $mainMod, 8, workspace, 8 bind = $mainMod, 9, workspace, 9 bind = $mainMod, 0, workspace, 10 #Move window with mainMod + SHIFT + Arrupbind = $mainMod SHIFT,left, movewindow, l bind = $mainMod SHIFT,right, movewindow, r bind = $mainMod SHIFT,up, movewindow, u bind = $mainMod SHIFT,down, movewindow, d bind = $mainMod SHIFT,left, movewindow, l #Scale active window with main + numpad arrows binde = $mainMod ,KP_Up, resizeactive, 0 -20 binde = $mainMod ,KP_Down, resizeactive, 0 20 binde = $mainMod ,KP_Right, resizeactive, 20 0 binde = $mainMod ,KP_Left, resizeactive, -20 0 # Move active window to a workspace with mainMod + SHIFT + [0-9] bind = $mainMod SHIFT, 1, movetoworkspace, 1 bind = $mainMod SHIFT, 2, movetoworkspace, 2 bind = $mainMod SHIFT, 3, movetoworkspace, 3 bind = $mainMod SHIFT, 4, movetoworkspace, 4 bind = $mainMod SHIFT, 5, movetoworkspace, 5 bind = $mainMod SHIFT, 6, movetoworkspace, 6 bind = $mainMod SHIFT, 7, movetoworkspace, 7 bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 workspace = 1,monitor:eDP-1,default:false workspace = 2,monitor:DP-3,default:true workspace = 3,monitor:DP-4,default:false #Secondary monitor workspaces bind = $mainMod CTRL, 1, workspace, 11 bind = $mainMod CTRL, 2, workspace, 12 bind = $mainMod CTRL, 3, workspace, 13 bind = $mainMod CTRL SHIFT, 1, movetoworkspace, 11 bind = $mainMod CTRL SHIFT, 2, movetoworkspace, 12 bind = $mainMod CTRL SHIFT, 3, movetoworkspace, 13 workspace = 11,monitor:eDP-1,default:false workspace = 12,monitor:DP-3,default:false workspace = 13,monitor:DP-4,default:false Config File: /home/simson/.config/hypr/settings/win_rules.conf: Read Succeeded # _ ___ __ ____ #| | / (_)___ _______ __/ /__ _____ _________ ____ / __/ #| | /| / / / __ \/ ___/ / / / / _ \/ ___// ___/ __ \/ __ \/ /_ #| |/ |/ / / / / / / / /_/ / / __(__ )/ /__/ /_/ / / / / __/ #|__/|__/_/_/ /_/_/ \__,_/_/\___/____(_)___/\____/_/ /_/_/ # # Windowrules define how a window behaves on start. # They can alter properties of a default window. # windowrulev2 = workspace activeworkspace, class:.+ windowrulev2 = workspace activeworkspace, class:^(obsidian)$ windowrulev2 = float,class:^(firefox)$,title:^(.*)(Picture-in-Picture)(.*)$ windowrulev2 = pin,class:^(firefox)$,title:^(.*)(Picture-in-Picture)(.*)$ windowrule = workspace 10, ^(.*blueman-manager.*)$ windowrule = workspace 10, ^(.*pavucontrol.*)$ windowrulev2 = noborder, fullscreen:1 #Opacity windowrulev2 = opacity 0.95,class:^(firefox) windowrulev2 = opacity 0.95,class:^(Spotify) windowrule = opacity 1 override 1 override,title:(.*)(YouTube — Mozilla Firefox)$ windowrulev2 = opacity 1 ,fullscreen:1,title:(.*)(YouTube — Mozilla Firefox)$ windowrule = opacity 1,title:(.*)(Miruro — Mozilla Firefox)$ windowrule = opacity 1,title:(.*)(Picture-in-Picture)$ Config File: /home/simson/.config/hypr/settings/layout.conf: Read Succeeded # __ __ ____ # / / ____ ___ ______ __ __/ /_ _________ ____ / __/ # / / / __ `/ / / / __ \/ / / / __// ___/ __ \/ __ \/ /_ # / /___/ /_/ / /_/ / /_/ / /_/ / /__/ /__/ /_/ / / / / __/ #/_____/\__,_/\__, /\____/\__,_/\__(_)___/\____/_/ /_/_/ # /____/ # # Settings that handle the layout and how windows are split and arranged # dwindle { pseudotile = true preserve_split = true smart_split = true } master { new_on_top = false orientation = right no_gaps_when_only = 1 } misc { new_window_takes_over_fullscreen = 2 focus_on_activate = false } Config File: /home/simson/.config/hypr/settings/input.conf: Read Succeeded # ____ __ ____ # / _/___ ____ __ __/ /_ _________ ____ / __/ # / // __ \/ __ \/ / / / __// ___/ __ \/ __ \/ /_ # _/ // / / / /_/ / /_/ / /__/ /__/ /_/ / / / / __/ # /___/_/ /_/ .___/\__,_/\__(_)___/\____/_/ /_/_/ # /_/ # # All the important input settings like keyboard and mouse settings. # # input { kb_layout = de follow_mouse = 1 touchpad { natural_scroll = yes disable_while_typing = true } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } cursor { inactive_timeout = 2 } Config File: /home/simson/.config/hypr/settings/misc.conf: Read Succeeded # __ ____ ____ # / |/ (_)_________ _________ ____ / __/ # / /|_/ / / ___/ ___// ___/ __ \/ __ \/ /_ # / / / / (__ ) /___/ /__/ /_/ / / / / __/ #/_/ /_/_/____/\___(_)___/\____/_/ /_/_/ # # All the settings that don't fit the other categorie, # or are just placed in the misc function. # misc { force_default_wallpaper = 0 # 0=HYPRLAND-LOGO } Config File: /home/simson/.config/hypr/settings/style.conf: Read Succeeded # _____ __ __ ____ # / ___// /___ __/ /__ _________ ____ / __/ # \__ \/ __/ / / / / _ \ / ___/ __ \/ __ \/ /_ # ___/ / /_/ /_/ / / __// /__/ /_/ / / / / __/ #/____/\__/\__, /_/\___(_)___/\____/_/ /_/_/ # /____/ # # All the style settings outside of theme.conf # general { gaps_in = 2 gaps_out = 6 border_size = 2 col.active_border = $active_color col.inactive_border = $inactive_color hover_icon_on_border= true layout = dwindle allow_tearing = false } decoration { rounding = 6 blur { enabled = true size = 1 passes = 2 } active_opacity = 1 inactive_opacity = 1 drop_shadow = yes shadow_range = 4 shadow_render_power = 2 col.shadow = rgba(1a1a1aee) } animations { enabled = yes bezier = myBezier, 0.05, 0.9, 0.1, 1.05 animation = windows, 1, 7, myBezier animation = windowsOut, 1, 7, default, popin 80% animation = border, 1, 10, default animation = borderangle, 1, 8, default animation = fade, 1, 7, default animation = workspaces, 1, 6, default } exec-once = kitten themes $kitty_theme exec-once = hyprpaper -c $wallpapers Config File: /home/simson/.config/hypr/settings/keybinds.conf: Read Succeeded # __ __ __ _ __ ____ # / //_/__ __ __/ /_ (_)___ ____/ /____ _________ ____ / __/ # / ,< / _ \/ / / / __ \/ / __ \/ __ / ___// ___/ __ \/ __ \/ /_ # / /| / __/ /_/ / /_/ / / / / / /_/ (__ )/ /__/ /_/ / / / / __/ #/_/ |_\___/\__, /_.___/_/_/ /_/\__,_/____(_)___/\____/_/ /_/_/ # /____/ # # In this File there are all keybinds # All workspace specific keybinds are in workspace.conf # #bind = $mainMod, A, bind = $mainMod, B, exec, $browser bind = $mainMod Control, B,exec, $browser --private-window bind = $mainMod, C, killactive, #bind = $mainMod, D, bind = $mainMod, E, exec, $explorer bind = $mainMod, F, togglefloating bind = $mainMod, G, pseudo #bind = $mainMod, H #bind = $mainMod, I bind = $mainMod, J, togglesplit #bind = $mainMod, K bind = $mainMod, L, exit bind = $mainMod, M, exec, spotify bind = $mainMod, N, exec, $notes bind = $mainMod, O, exec,hyprctl setprop active opaque toggle bind = $mainMod, P, pin bind = $mainMod, Q, exec, $terminal bind = $mainMod, R, exec, $menu bind = $mainMod, T, exec, $pyenv && kitty python /home/simson/Documents/coding_workspace/python_workspace/python/hyprland_time_tracker/main.py #bind = $mainMod, U #bind = $mainMod, V, #bind = $mainMod, W #bind = $mainMod, X #bind = $mainMod, Y #bind = $mainMod, Z bind = $mainMod, Escape, exec, hyprlock -c $hyprlock_conf bind = , F11, fullscreen #--FN Keys-- bind =,Print,exec,$screenshot #Screenshot binde =,XF86MonBrightnessDown,exec, brightnessctl --device=intel_backlight s 10%- #Lower screen brighness binde =,XF86MonBrightnessUp,exec, brightnessctl --device=intel_backlight s 10%+ #Raise screen brighness #--Audio-- bind =,XF86AudioMicMute,exec, pactl set-sink-mute @Internal Microphone@ toggle #Mute mic WIP bind =,XF86AudioMute,exec, pactl set-sink-mute @DEFAULT_SINK@ toggle #Mute sound binde =,XF86AudioRaiseVolume,exec, pactl set-sink-volume @DEFAULT_SINK@ +5% #Increase vol binde =,XF86AudioLowerVolume,exec, pactl set-sink-volume @DEFAULT_SINK@ -5% #Decrease vol #bind =,XF86AudioPause,exec, pactl set-sink-mute @DEFAULT_SINK@ toggle #--Spotify keybinds-- bind =,XF86AudioNext,exec,$pyenv && python ~/.config/hypr/scripts/spotify_controls/next.py bind =,XF86AudioPrev,exec,$pyenv && python ~/.config/hypr/scripts/spotify_controls/prev.py bind =,XF86AudioPlay,exec,$pyenv && python ~/.config/hypr/scripts/spotify_controls/pause.py Config File: /home/simson/.config/hypr/settings/monitors.conf: Read Succeeded # __ ___ _ __ ____ # / |/ /___ ____ (_) /_____ __________ _________ ____ / __/ # / /|_/ / __ \/ __ \/ / __/ __ \/ ___/ ___// ___/ __ \/ __ \/ /_ # / / / / /_/ / / / / / /_/ /_/ / / (__ )/ /__/ /_/ / / / / __/ #/_/ /_/\____/_/ /_/_/\__/\____/_/ /____(_)___/\____/_/ /_/_/ # # This config files defines which monitor is located on which position and handles monitor resolution and scale. # # monitor = DP-4, preferred,3600x0,1 #monitor = ,highres,auto,1 monitor = eDP-1,preferred,0x0,1 monitor = DP-3, preferred,1920x0,1 #monitor = DP-4, 1024x768@60.00Hz,auto,1 monitor = DP-4, preferred,3600x0,1 Config File: /home/simson/.config/hypr/settings/autostart.conf: Read Succeeded # ___ __ __ __ ____ # / | __ __/ /_____ _____/ /_____ ______/ /_ _________ ____ / __/ # / /| |/ / / / __/ __ \/ ___/ __/ __ `/ ___/ __// ___/ __ \/ __ \/ /_ # / ___ / /_/ / /_/ /_/ (__ ) /_/ /_/ / / / /__/ /__/ /_/ / / / / __/ #/_/ |_\__,_/\__/\____/____/\__/\__,_/_/ \__(_)___/\____/_/ /_/_/ # # All the Applications that need to run on hyprland startup # exec-once = fcitx5 #Japanese Input exec-once = /usr/lib/polkit-kde-authentication-agent-1 #Password Input exec-once = blueman-manager #Bluetooth controll pannel exec-once = pavucontrol #Audio controll pannel exec-once = dunst #Notification daemon exec-once = kitty #Default terminal exec-once = syncthing #Obsidian Vault sync ======Config-End======== ```

Description

I have a 3 monitor setup. One build in Laptop screen my main monitor and a secondary monitor. This setup always worked fine until now. The laptop screen always works the secondary external monitor only works if my main monitor is not plugged in. The monitor works in other desktop's than hyprland. I already tried various monitor configurations and removing the monitor config but that didn't change anything. The monitor also shows up in hyprctl monitors

How to reproduce

I use a Dell docking station (don't know if that has any effect on the monitors)

Crash reports, logs, images, videos

Output of hyprctl monitors: hyprclt_monitors.txt

vaxerski commented 2 weeks ago

are you on aquamarine-git?

platz-halter commented 2 weeks ago

Yes

romanstingler commented 2 weeks ago

can you try having hyprland running and then disconnect and reconnect the not working monitor. There seems to be a funky bug for some.

In my case this also doesn't work, when I connect my external DP-3 I get multiple funny things [ERR] Monitor DP-3 got an invalid requested mode: 3840x2160@60.000000, using the preferred one instead: 3840x2160@60.000000 [ERR] output DP-3 failed basic test on format DRM_FORMAT_INVALID

G] [AQ] drm: Connector DP-3 connected
[LOG] [AQ] drm: Connecting connector DP-3, CRTC ID 97
[LOG] [AQ] drm: Dumping detected modes:
[LOG] [AQ] drm: Mode 0: 3840x2160@60.00Hz  (preferred)
[LOG] [AQ] drm: Mode 1: 4096x2160@60.00Hz 
[LOG] [AQ] drm: Mode 2: 4096x2160@59.94Hz 
[LOG] [AQ] drm: Mode 3: 4096x2160@50.00Hz 
[LOG] [AQ] drm: Mode 4: 4096x2160@30.00Hz 
[LOG] [AQ] drm: Mode 5: 4096x2160@29.97Hz 
[LOG] [AQ] drm: Mode 6: 4096x2160@25.00Hz 
[LOG] [AQ] drm: Mode 7: 4096x2160@24.00Hz 
[LOG] [AQ] drm: Mode 8: 4096x2160@23.98Hz 
[LOG] [AQ] drm: Mode 9: 3840x2160@60.00Hz 
[LOG] [AQ] drm: Mode 10: 3840x2160@60.00Hz 
[LOG] [AQ] drm: Mode 11: 3840x2160@59.94Hz 
[LOG] [AQ] drm: Mode 12: 3840x2160@59.94Hz 
[LOG] [AQ] drm: Mode 13: 3840x2160@50.00Hz 
[LOG] [AQ] drm: Mode 14: 3840x2160@50.00Hz 
[LOG] [AQ] drm: Mode 15: 3840x2160@30.00Hz 
[LOG] [AQ] drm: Mode 16: 3840x2160@29.97Hz 
[LOG] [AQ] drm: Mode 17: 3840x2160@25.00Hz 
[LOG] [AQ] drm: Mode 18: 3840x2160@24.00Hz 
[LOG] [AQ] drm: Mode 19: 3840x2160@23.98Hz 
[LOG] [AQ] drm: Mode 20: 2560x1440@59.95Hz 
[LOG] [AQ] drm: Mode 21: 1920x1080@120.00Hz 
[LOG] [AQ] drm: Mode 22: 1920x1080@119.88Hz 
[LOG] [AQ] drm: Mode 23: 1920x1080@60.00Hz 
[LOG] [AQ] drm: Mode 24: 1920x1080@59.94Hz 
[LOG] [AQ] drm: Skipping mode 25 because it's interlaced
[LOG] [AQ] drm: Skipping mode 26 because it's interlaced
[LOG] [AQ] drm: Mode 27: 1920x1080@50.00Hz 
[LOG] [AQ] drm: Mode 28: 1920x1080@30.00Hz 
[LOG] [AQ] drm: Mode 29: 1920x1080@29.97Hz 
[LOG] [AQ] drm: Mode 30: 1920x1080@25.00Hz 
[LOG] [AQ] drm: Mode 31: 1920x1080@24.00Hz 
[LOG] [AQ] drm: Mode 32: 1920x1080@23.98Hz 
[LOG] [AQ] drm: Mode 33: 1280x1024@60.02Hz 
[LOG] [AQ] drm: Mode 34: 1280x960@60.00Hz 
[LOG] [AQ] drm: Mode 35: 1280x720@60.00Hz 
[LOG] [AQ] drm: Mode 36: 1280x720@60.00Hz 
[LOG] [AQ] drm: Mode 37: 1280x720@59.94Hz 
[LOG] [AQ] drm: Mode 38: 1280x720@50.00Hz 
[LOG] [AQ] drm: Mode 39: 1024x768@60.00Hz 
[LOG] [AQ] drm: Mode 40: 800x600@60.32Hz 
[LOG] [AQ] drm: Mode 41: 720x576@50.00Hz 
[LOG] [AQ] drm: Mode 42: 720x480@60.00Hz 
[LOG] [AQ] drm: Mode 43: 720x480@60.00Hz 
[LOG] [AQ] drm: Mode 44: 720x480@59.94Hz 
[LOG] [AQ] drm: Mode 45: 720x480@59.94Hz 
[LOG] [AQ] drm: Mode 46: 640x480@60.00Hz 
[LOG] [AQ] drm: Mode 47: 640x480@59.94Hz 
[LOG] [AQ] drm: Physical size [Vector2D: x: 1430, y: 800] (mm)
[LOG] [AQ] drm: Description Hisense Electric Co., Ltd. HISENSE 0x676C626C (DP-3)
[LOG] [AQ] drm: connector DP-3 crtc is incapable of vrr: props.vrr_capable -> 0, crtc->props.vrr_enabled -> 24
[LOG] [AQ] drm: Explicit sync supported
[LOG] [AQ] Swapchain: Clearing
[LOG] New aquamarine output with name DP-3
[LOG] New output with name DP-3
[LOG] Applying monitor rule for DP-3
[LOG] [AQ] GBM: Allocated a new buffer with size [Vector2D: x: 3840, y: 2160] and format XR24 with modifier 72057594037927940 aka Y_TILED_CCS
[LOG] [AQ] GBM: Allocated a new buffer with size [Vector2D: x: 3840, y: 2160] and format XR24 with modifier 72057594037927940 aka Y_TILED_CCS
[LOG] [AQ] Swapchain: Reconfigured a swapchain to [Vector2D: x: 3840, y: 2160] XR24 of length 2
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible
[LOG] [AQ] atomic drm request: failed to commit: Invalid argument, flags: ATOMIC_ALLOW_MODESET ATOMIC_TEST_ONLY 
[LOG] Monitor DP-3: REJECTED available mode: 3840x2160@60.000000!
[LOG] [AQ] atomic drm request: failed to commit: Invalid argument, flags: ATOMIC_ALLOW_MODESET ATOMIC_TEST_ONLY 
[LOG] Monitor DP-3: REJECTED available mode: 3840x2160@60.000000!
[LOG] [AQ] atomic drm request: failed to commit: Invalid argument, flags: ATOMIC_ALLOW_MODESET ATOMIC_TEST_ONLY 
[LOG] Monitor DP-3: REJECTED available mode: 3840x2160@60.000000!
[LOG] [AQ] atomic drm request: failed to commit: Invalid argument, flags: ATOMIC_ALLOW_MODESET ATOMIC_TEST_ONLY 
[LOG] Monitor DP-3: REJECTED available mode: 3840x2160@59.939999!
[LOG] [AQ] atomic drm request: failed to commit: Invalid argument, flags: ATOMIC_ALLOW_MODESET ATOMIC_TEST_ONLY 
[LOG] Monitor DP-3: REJECTED available mode: 3840x2160@59.939999!
[LOG] [AQ] atomic drm request: failed to commit: Invalid argument, flags: ATOMIC_ALLOW_MODESET ATOMIC_TEST_ONLY 
[ERR] Custom resolution FAILED, falling back to preferred
[ERR] Monitor DP-3 got an invalid requested mode: 3840x2160@60.000000, using the preferred one instead: 3840x2160@60.000000
[LOG] [AQ] atomic drm request: failed to commit: Invalid argument, flags: ATOMIC_ALLOW_MODESET ATOMIC_TEST_ONLY 
[ERR] output DP-3 failed basic test on format DRM_FORMAT_XRGB8888
[LOG] [AQ] GBM: Allocated a new buffer with size [Vector2D: x: 3840, y: 2160] and format XB24 with modifier 72057594037927940 aka Y_TILED_CCS
[LOG] [AQ] GBM: Allocated a new buffer with size [Vector2D: x: 3840, y: 2160] and format XB24 with modifier 72057594037927940 aka Y_TILED_CCS
[LOG] [AQ] Swapchain: Reconfigured a swapchain to [Vector2D: x: 3840, y: 2160] XB24 of length 2
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible
[LOG] [AQ] atomic drm request: failed to commit: Invalid argument, flags: ATOMIC_ALLOW_MODESET ATOMIC_TEST_ONLY 
[ERR] output DP-3 failed basic test on format DRM_FORMAT_XBGR8888
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible
[ERR] [AQ] drm: No format for output
[ERR] output DP-3 failed basic test on format DRM_FORMAT_INVALID
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible
[ERR] [AQ] drm: No format for output
[ERR] Couldn't commit output named DP-3
[LOG] Monitor DP-3 -> destroyed all render data
[LOG] arrangeMonitors: 2 to arrange
[LOG] arrangeMonitors: eDP-1 explicit [3840, 0]
[LOG] arrangeMonitors: DP-3 explicit [6400, 0]
[LOG] arrangeMonitors: eDP-1 xwayland [0, 0]
[LOG] arrangeMonitors: DP-3 xwayland [2560, 0]
[LOG] Monitor DP-3 data dump: res 3840x2160@60.00Hz, scale 1.00, transform 0, pos 6400x0, 10b 0
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible
[ERR] [AQ] drm: No format for output
[WARN] state.commit() failed in CMonitor::onCommit
[LOG] Added new monitor with name DP-3 at [6400, 0] with size [3840, 2160], pointer 5c6c06357050
[LOG] New monitor: WORKSPACEID 2, exists: 0
[LOG] [IWaylandProtocol] Registered global [WLOutput (DP-3)]
[LOG] [CLinuxDMABufV1Protocol] Resetting format table
[LOG] Applying monitor rule for eDP-1
[LOG] Not applying a new rule to eDP-1 because it's already applied!
[LOG] Applying monitor rule for DP-3
[LOG] Not applying a new rule to DP-3 because it's already applied!
[LOG] Cleanup: destroyed a layersurface
[LOG] Monitor DP-3 -> destroyed all render data
[LOG] Shaders initialized successfully.
[LOG] Framebuffer created, status 36053
[LOG] Framebuffer created, status 36053
[LOG] Framebuffer created, status 36053
[LOG] Framebuffer created, status 36053
[LOG] Creating a texture for BGTex
[LOG] Framebuffer created, status 36053
[LOG] Background created for monitor DP-3
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible
[ERR] [AQ] drm: No format for output
techyporcupine commented 2 weeks ago

I think I'm having a similar issue to this. When I plug my Lenovo USB-C dock into my Framework 13 with Hyprland running (latest git version as of now), only one of my external displays lights up, but both are detected in Hyprland. I am able to get both external ones to light up if I have the displays plugged in before launching Hyprland though.

ikalco commented 2 weeks ago

can you retry on hl-git and aq-git again simliar issue was solved recently #7005

if it doesn't work then give a drm log https://wiki.hyprland.org/Crashes-and-Bugs/#debugging-drm-issues

techyporcupine commented 2 weeks ago

Unfortunately, that did not help, after switching to it, my Hyprpaper and XDPH failed to build, but I used the git version of those which caused them to build.

Around line 17294 is where the one external monitor (that lights up) is detected. If it helps, the P2210 monitor is the one not lighting up, and the SE2416H is lighting up. The monitor connected to eDP-1 is my Laptop display, and that always works fine.

dmesg.log

romanstingler commented 1 week ago

when my USBC=>HDMI cable is plugged in (the only monitor which isn't displaying anything), it spams

[ERR] [AQ] drm: No format for output
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible

when I unplug it the logs go silent

when I plug it again, it starts spamming again

[ERR] [AQ] drm: No format for output
[LOG] [AQ] udev: new udev change event for card0
[LOG] [AQ] udev: DRM device card0 changed
[LOG] [AQ] drm: Got a hotplug event for /dev/dri/card0
[LOG] [AQ] drm: Scanning connectors for /dev/dri/card0
[LOG] [AQ] drm: Scanning connector id 99
[LOG] [AQ] drm: Connector id 99 already initialized
[LOG] [AQ] drm: connector eDP-1 crtc is incapable of vrr: props.vrr_capable -> 0, crtc->props.vrr_enabled -> 24
[LOG] [AQ] drm: Explicit sync supported
[LOG] [AQ] drm: Connector 99 connection state: 1
[LOG] [AQ] drm: Scanning connector id 107
[LOG] [AQ] drm: Connector id 107 already initialized
[LOG] [AQ] drm: connector DP-1 crtc is incapable of vrr: props.vrr_capable -> 0, crtc->props.vrr_enabled -> 24
[LOG] [AQ] drm: Explicit sync supported
[LOG] [AQ] drm: Connector 107 connection state: 2
[LOG] [AQ] drm: Scanning connector id 117
[LOG] [AQ] drm: Connector id 117 already initialized
[LOG] [AQ] drm: Connector 117 connection state: 2
[LOG] [AQ] drm: Scanning connector id 123
[LOG] [AQ] drm: Connector id 123 already initialized
[LOG] [AQ] drm: Connector 123 connection state: 2
[LOG] [AQ] drm: Scanning connector id 129
[LOG] [AQ] drm: Connector id 129 already initialized
[LOG] [AQ] drm: Connector 129 connection state: 2
[LOG] [AQ] drm: Scanning connector id 133
[LOG] [AQ] drm: Connector id 133 already initialized
[LOG] [AQ] drm: connector DP-3 crtc is incapable of vrr: props.vrr_capable -> 0, crtc->props.vrr_enabled -> 24
[LOG] [AQ] drm: Explicit sync supported
[LOG] [AQ] drm: Connector 133 connection state: 1
[LOG] [AQ] drm: Rechecking CRTCs
[LOG] [AQ] drm: Skipping connector eDP-1, has crtc 53 and is connected
[LOG] [AQ] drm: connector DP-1, has crtc 75, will be rechecked
[LOG] [AQ] drm: connector HDMI-A-1, has crtc -1, will be rechecked
[LOG] [AQ] drm: connector DP-2, has crtc -1, will be rechecked
[LOG] [AQ] drm: connector HDMI-A-2, has crtc -1, will be rechecked
[LOG] [AQ] drm: Skipping connector DP-3, has crtc 97 and is connected
[LOG] [AQ] drm: slot 0 crtc 53 taken by eDP-1, skipping
[LOG] [AQ] drm: slot 1 crtc 75 unassigned
[LOG] [AQ] drm: slot 2 crtc 97 taken by DP-3, skipping
[LOG] [AQ] drm: Connector DP-1 is not connected, removing old crtc 75
[LOG] [AQ] drm: Connector HDMI-A-1 is not connected
[LOG] [AQ] drm: Connector DP-2 is not connected
[LOG] [AQ] drm: Connector HDMI-A-2 is not connected
[LOG] [AQ] drm: rescanning after realloc
[LOG] [AQ] drm: Scanning connectors for /dev/dri/card0
[LOG] [AQ] drm: Scanning connector id 99
[LOG] [AQ] drm: Connector id 99 already initialized
[LOG] [AQ] drm: connector eDP-1 crtc is incapable of vrr: props.vrr_capable -> 0, crtc->props.vrr_enabled -> 24
[LOG] [AQ] drm: Explicit sync supported
[LOG] [AQ] drm: Connector 99 connection state: 1
[LOG] [AQ] drm: Scanning connector id 107
[LOG] [AQ] drm: Connector id 107 already initialized
[LOG] [AQ] drm: connector DP-1 crtc is incapable of vrr: props.vrr_capable -> 0, crtc->props.vrr_enabled -> 24
[LOG] [AQ] drm: Explicit sync supported
[LOG] [AQ] drm: Connector 107 connection state: 2
[LOG] [AQ] drm: Connector DP-1 disconnected
[LOG] Destroy called for monitor DP-1
[LOG] onDisconnect called for DP-1
[LOG] Removed monitor DP-1!
[LOG] [CLinuxDMABufV1Protocol] Resetting format table
[LOG] moveWorkspaceToMonitor: Moving 2 to monitor 0
[LOG] moveWorkspaceToMonitor: Moving 1 to monitor 0
[LOG] moveWorkspaceToMonitor: Plugging gap with new 5
[LOG] moveWorkspaceToMonitor: Plugging gap with existing 5
[ERR] [AQ] drm: No format for output
[WARN] state.commit() failed in CMonitor::onDisconnect
[LOG] Removing monitor DP-1 from realMonitors
[LOG] Destroy called for monitor DP-1
[LOG] Removing monitor DP-1 from realMonitors
[LOG] [AQ] drm: Scanning connector id 117
[LOG] [AQ] drm: Connector id 117 already initialized
[LOG] [AQ] drm: Connector 117 connection state: 2
[LOG] [AQ] drm: Scanning connector id 123
[LOG] [AQ] drm: Connector id 123 already initialized
[LOG] [AQ] drm: Connector 123 connection state: 2
[LOG] [AQ] drm: Scanning connector id 129
[LOG] [AQ] drm: Connector id 129 already initialized
[LOG] [AQ] drm: Connector 129 connection state: 2
[LOG] [AQ] drm: Scanning connector id 133
[LOG] [AQ] drm: Connector id 133 already initialized
[LOG] [AQ] drm: connector DP-3 crtc is incapable of vrr: props.vrr_capable -> 0, crtc->props.vrr_enabled -> 24
[LOG] [AQ] drm: Explicit sync supported
[LOG] [AQ] drm: Connector 133 connection state: 1
[LOG] LayerSurface 5af3b639b710 destroyed
[WARN] Layersurface destroyed on an invalid monitor (removed?)
[LOG] Forcing an unmap of a LS that did a straight destroy!
[LOG] LayerSurface 5af3b639b710 unmapped
[WARN] Layersurface unmapping on invalid monitor (removed?) ignoring.
[LOG] CWLSurface 5af3b2ee9040 called destroy()
[LOG] Destroying workspace ID 1
[LOG] Destroying workspace ID 5
[LOG] [AQ] udev: new udev change event for card0
[LOG] [AQ] udev: DRM device card0 changed
[LOG] [AQ] drm: Got a hotplug event for /dev/dri/card0
[LOG] [AQ] drm: Scanning connectors for /dev/dri/card0
[LOG] [AQ] drm: Scanning connector id 99
[LOG] [AQ] drm: Connector id 99 already initialized
[LOG] [AQ] drm: connector eDP-1 crtc is incapable of vrr: props.vrr_capable -> 0, crtc->props.vrr_enabled -> 24
[LOG] [AQ] drm: Explicit sync supported
[LOG] [AQ] drm: Connector 99 connection state: 1
[LOG] [AQ] drm: Scanning connector id 107
[LOG] [AQ] drm: Connector id 107 already initialized
[LOG] [AQ] drm: Connector 107 connection state: 1
[LOG] [AQ] drm: Scanning connector id 117
[LOG] [AQ] drm: Connector id 117 already initialized
[LOG] [AQ] drm: Connector 117 connection state: 2
[LOG] [AQ] drm: Scanning connector id 123
[LOG] [AQ] drm: Connector id 123 already initialized
[LOG] [AQ] drm: Connector 123 connection state: 2
[LOG] [AQ] drm: Scanning connector id 129
[LOG] [AQ] drm: Connector id 129 already initialized
[LOG] [AQ] drm: Connector 129 connection state: 2
[LOG] [AQ] drm: Scanning connector id 133
[LOG] [AQ] drm: Connector id 133 already initialized
[LOG] [AQ] drm: connector DP-3 crtc is incapable of vrr: props.vrr_capable -> 0, crtc->props.vrr_enabled -> 24
[LOG] [AQ] drm: Explicit sync supported
[LOG] [AQ] drm: Connector 133 connection state: 1
[LOG] [AQ] drm: Rechecking CRTCs
[LOG] [AQ] drm: Skipping connector eDP-1, has crtc 53 and is connected
[LOG] [AQ] drm: Skipping connector DP-1, has crtc 75 and is connected
[LOG] [AQ] drm: connector HDMI-A-1, has crtc -1, will be rechecked
[LOG] [AQ] drm: connector DP-2, has crtc -1, will be rechecked
[LOG] [AQ] drm: connector HDMI-A-2, has crtc -1, will be rechecked
[LOG] [AQ] drm: Skipping connector DP-3, has crtc 97 and is connected
[LOG] [AQ] drm: slot 0 crtc 53 taken by eDP-1, skipping
[LOG] [AQ] drm: slot 1 crtc 75 taken by DP-1, skipping
[LOG] [AQ] drm: slot 2 crtc 97 taken by DP-3, skipping
[LOG] [AQ] drm: Connector HDMI-A-1 is not connected
[LOG] [AQ] drm: Connector DP-2 is not connected
[LOG] [AQ] drm: Connector HDMI-A-2 is not connected
[LOG] [AQ] drm: rescanning after realloc
[LOG] [AQ] drm: Scanning connectors for /dev/dri/card0
[LOG] [AQ] drm: Scanning connector id 99
[LOG] [AQ] drm: Connector id 99 already initialized
[LOG] [AQ] drm: connector eDP-1 crtc is incapable of vrr: props.vrr_capable -> 0, crtc->props.vrr_enabled -> 24
[LOG] [AQ] drm: Explicit sync supported
[LOG] [AQ] drm: Connector 99 connection state: 1
[LOG] [AQ] drm: Scanning connector id 107
[LOG] [AQ] drm: Connector id 107 already initialized
[LOG] [AQ] drm: Connector 107 connection state: 1
[LOG] [AQ] drm: Connector DP-1 connected
[LOG] [AQ] drm: Connecting connector DP-1, CRTC ID 75
[LOG] [AQ] drm: Dumping detected modes:
[LOG] [AQ] drm: Mode 0: 3840x2160@60.00Hz  (preferred)
[LOG] [AQ] drm: Mode 1: 3840x2160@60.00Hz 
[LOG] [AQ] drm: Mode 2: 3840x2160@59.94Hz 
[LOG] [AQ] drm: Mode 3: 3840x2160@50.00Hz 
[LOG] [AQ] drm: Mode 4: 3840x2160@30.00Hz 
[LOG] [AQ] drm: Mode 5: 3840x2160@30.00Hz 
[LOG] [AQ] drm: Mode 6: 3840x2160@29.97Hz 
[LOG] [AQ] drm: Mode 7: 3840x2160@25.00Hz 
[LOG] [AQ] drm: Mode 8: 3840x2160@24.00Hz 
[LOG] [AQ] drm: Mode 9: 3840x2160@23.98Hz 
[LOG] [AQ] drm: Mode 10: 2560x1440@59.95Hz 
[LOG] [AQ] drm: Mode 11: 1920x1080@60.00Hz 
[LOG] [AQ] drm: Mode 12: 1920x1080@60.00Hz 
[LOG] [AQ] drm: Mode 13: 1920x1080@59.94Hz 
[LOG] [AQ] drm: Mode 14: 1920x1080@50.00Hz 
[LOG] [AQ] drm: Mode 15: 1920x1080@50.00Hz 
[LOG] [AQ] drm: Mode 16: 1920x1080@30.00Hz 
[LOG] [AQ] drm: Mode 17: 1920x1080@29.97Hz 
[LOG] [AQ] drm: Mode 18: 1680x1050@59.95Hz 
[LOG] [AQ] drm: Mode 19: 1600x900@60.00Hz 
[LOG] [AQ] drm: Mode 20: 1280x1024@75.03Hz 
[LOG] [AQ] drm: Mode 21: 1280x1024@60.02Hz 
[LOG] [AQ] drm: Mode 22: 1440x900@59.89Hz 
[LOG] [AQ] drm: Mode 23: 1280x800@59.81Hz 
[LOG] [AQ] drm: Mode 24: 1152x864@75.00Hz 
[LOG] [AQ] drm: Mode 25: 1280x720@60.00Hz 
[LOG] [AQ] drm: Mode 26: 1280x720@60.00Hz 
[LOG] [AQ] drm: Mode 27: 1280x720@59.94Hz 
[LOG] [AQ] drm: Mode 28: 1280x720@50.00Hz 
[LOG] [AQ] drm: Mode 29: 1024x768@75.03Hz 
[LOG] [AQ] drm: Mode 30: 1024x768@70.07Hz 
[LOG] [AQ] drm: Mode 31: 1024x768@60.00Hz 
[LOG] [AQ] drm: Mode 32: 832x624@74.55Hz 
[LOG] [AQ] drm: Mode 33: 800x600@75.00Hz 
[LOG] [AQ] drm: Mode 34: 800x600@72.19Hz 
[LOG] [AQ] drm: Mode 35: 800x600@60.32Hz 
[LOG] [AQ] drm: Mode 36: 800x600@56.25Hz 
[LOG] [AQ] drm: Mode 37: 720x576@50.00Hz 
[LOG] [AQ] drm: Mode 38: 720x480@60.00Hz 
[LOG] [AQ] drm: Mode 39: 720x480@60.00Hz 
[LOG] [AQ] drm: Mode 40: 720x480@59.94Hz 
[LOG] [AQ] drm: Mode 41: 720x480@59.94Hz 
[LOG] [AQ] drm: Mode 42: 640x480@75.00Hz 
[LOG] [AQ] drm: Mode 43: 640x480@72.81Hz 
[LOG] [AQ] drm: Mode 44: 640x480@66.67Hz 
[LOG] [AQ] drm: Mode 45: 640x480@60.00Hz 
[LOG] [AQ] drm: Mode 46: 640x480@59.94Hz 
[LOG] [AQ] drm: Mode 47: 720x400@70.08Hz 
[LOG] [AQ] drm: Physical size [Vector2D: x: 690, y: 390] (mm)
[LOG] [AQ] drm: Description Samsung Electric Company U32R59x 0x43573242 (DP-1)
[LOG] [AQ] drm: connector DP-1 crtc is incapable of vrr: props.vrr_capable -> 0, crtc->props.vrr_enabled -> 24
[LOG] [AQ] drm: Explicit sync supported
[LOG] [AQ] Swapchain: Clearing
[LOG] New aquamarine output with name DP-1
[LOG] New output with name DP-1
[LOG] Applying monitor rule for DP-1
[LOG] [AQ] GBM: Allocated a new buffer with size [Vector2D: x: 3840, y: 2160] and format XR24 with modifier 72057594037927940 aka Y_TILED_CCS
[LOG] [AQ] GBM: Allocated a new buffer with size [Vector2D: x: 3840, y: 2160] and format XR24 with modifier 72057594037927940 aka Y_TILED_CCS
[LOG] [AQ] Swapchain: Reconfigured a swapchain to [Vector2D: x: 3840, y: 2160] XR24 of length 2
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible
[LOG] [AQ] atomic drm request: failed to commit: Invalid argument, flags: ATOMIC_ALLOW_MODESET ATOMIC_TEST_ONLY 
[LOG] Monitor DP-1: REJECTED available mode: 3840x2160@60.000000!
[LOG] [AQ] atomic drm request: failed to commit: Invalid argument, flags: ATOMIC_ALLOW_MODESET ATOMIC_TEST_ONLY 
[LOG] Monitor DP-1: REJECTED available mode: 3840x2160@60.000000!
[LOG] [AQ] atomic drm request: failed to commit: Invalid argument, flags: ATOMIC_ALLOW_MODESET ATOMIC_TEST_ONLY 
[LOG] Monitor DP-1: REJECTED available mode: 3840x2160@59.939999!
[LOG] [AQ] atomic drm request: failed to commit: Invalid argument, flags: ATOMIC_ALLOW_MODESET ATOMIC_TEST_ONLY 
[ERR] Custom resolution FAILED, falling back to preferred
[ERR] Monitor DP-1 got an invalid requested mode: 3840x2160@60.000000, using the preferred one instead: 3840x2160@60.000000
[LOG] [AQ] atomic drm request: failed to commit: Invalid argument, flags: ATOMIC_ALLOW_MODESET ATOMIC_TEST_ONLY 
[ERR] output DP-1 failed basic test on format DRM_FORMAT_XRGB8888
[LOG] [AQ] GBM: Allocated a new buffer with size [Vector2D: x: 3840, y: 2160] and format XB24 with modifier 72057594037927940 aka Y_TILED_CCS
[LOG] [AQ] GBM: Allocated a new buffer with size [Vector2D: x: 3840, y: 2160] and format XB24 with modifier 72057594037927940 aka Y_TILED_CCS
[LOG] [AQ] Swapchain: Reconfigured a swapchain to [Vector2D: x: 3840, y: 2160] XB24 of length 2
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible
[LOG] [AQ] atomic drm request: failed to commit: Invalid argument, flags: ATOMIC_ALLOW_MODESET ATOMIC_TEST_ONLY 
[ERR] output DP-1 failed basic test on format DRM_FORMAT_XBGR8888
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible
[ERR] [AQ] drm: No format for output
[ERR] output DP-1 failed basic test on format DRM_FORMAT_INVALID
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible
[ERR] [AQ] drm: No format for output
[ERR] Couldn't commit output named DP-1
[LOG] Monitor DP-1 -> destroyed all render data
[LOG] arrangeMonitors: 3 to arrange
[LOG] arrangeMonitors: eDP-1 explicit [3840, 0]
[LOG] arrangeMonitors: DP-3 explicit [6400, 0]
[LOG] arrangeMonitors: DP-1 explicit [0, 0]
[LOG] arrangeMonitors: eDP-1 xwayland [0, 0]
[LOG] arrangeMonitors: DP-3 xwayland [2560, 0]
[LOG] arrangeMonitors: DP-1 xwayland [6400, 0]
[LOG] Monitor DP-1 data dump: res 3840x2160@60.00Hz, scale 1.00, transform 0, pos 0x0, 10b 0
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible
[ERR] [AQ] drm: No format for output
[WARN] state.commit() failed in CMonitor::onCommit
[LOG] Added new monitor with name DP-1 at [0, 0] with size [3840, 2160], pointer 5af3b1efd640
[LOG] New monitor: WORKSPACEID 1, exists: 0
[LOG] moveWorkspaceToMonitor: Moving 2 to monitor 1
[ERR] [../src/protocols/core/Compositor.cpp:196] enter() called on a defunct output global
[ERR] [../src/protocols/core/Compositor.cpp:196] enter() called on a defunct output global
[LOG] [IWaylandProtocol] Registered global [WLOutput (DP-1)]
[LOG] [CLinuxDMABufV1Protocol] Resetting format table
[ERR] [../src/protocols/core/Compositor.cpp:203] Cannot enter surface 5af3b661e9a0 to DP-1, client hasn't bound the output
[ERR] [../src/protocols/core/Compositor.cpp:203] Cannot enter surface 5af3b6620e60 to DP-1, client hasn't bound the output
[LOG] Applying monitor rule for eDP-1
[LOG] Not applying a new rule to eDP-1 because it's already applied!
[LOG] Applying monitor rule for DP-3
[LOG] Not applying a new rule to DP-3 because it's already applied!
[LOG] Applying monitor rule for DP-1
[LOG] Not applying a new rule to DP-1 because it's already applied!
[LOG] Cleanup: destroyed a layersurface
[LOG] Monitor DP-1 -> destroyed all render data
[LOG] Shaders initialized successfully.
[LOG] Framebuffer created, status 36053
[LOG] Framebuffer created, status 36053
[LOG] Framebuffer created, status 36053
[LOG] Framebuffer created, status 36053
[LOG] Creating a texture for BGTex
[LOG] Framebuffer created, status 36053
[LOG] Background created for monitor DP-1
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible
[ERR] [AQ] drm: No format for output
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible
[ERR] [AQ] drm: No format for output
[LOG] [AQ] drm: Scanning connector id 117
[LOG] [AQ] drm: Connector id 117 already initialized
[LOG] [AQ] drm: Connector 117 connection state: 2
[LOG] [AQ] drm: Scanning connector id 123
[LOG] [AQ] drm: Connector id 123 already initialized
[LOG] [AQ] drm: Connector 123 connection state: 2
[LOG] [AQ] drm: Scanning connector id 129
[LOG] [AQ] drm: Connector id 129 already initialized
[LOG] [AQ] drm: Connector 129 connection state: 2
[LOG] [AQ] drm: Scanning connector id 133
[LOG] [AQ] drm: Connector id 133 already initialized
[LOG] [AQ] drm: connector DP-3 crtc is incapable of vrr: props.vrr_capable -> 0, crtc->props.vrr_enabled -> 24
[LOG] [AQ] drm: Explicit sync supported
[LOG] [AQ] drm: Connector 133 connection state: 1
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible
[ERR] [AQ] drm: No format for output
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible
[ERR] [AQ] drm: No format for output
[LOG] [CWLCompositorResource] New wl_surface with id 47 at 5af3b665d3c0
[LOG] CWLSurface 5af3b639f010 called init()
[LOG] LayerSurface 5af3b41f9030 (namespace waybar layer 2) created on monitor DP-1
[LOG] [CLayerShellProtocol] New wlr_layer_surface 5af3b41f9030
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible
[ERR] [AQ] drm: No format for output
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible
[ERR] [AQ] drm: No format for output
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible
[ERR] [AQ] drm: No format for output

Interesting might be

[ERR] [AQ] drm: No format for output
[WARN] state.commit() failed in CMonitor::onCommit
[LOG] Added new monitor with name DP-1 at [0, 0] with size [3840, 2160], pointer 5af3b1efd640
[LOG] New monitor: WORKSPACEID 1, exists: 0
[LOG] moveWorkspaceToMonitor: Moving 2 to monitor 1
[ERR] [../src/protocols/core/Compositor.cpp:196] enter() called on a defunct output global
[ERR] [../src/protocols/core/Compositor.cpp:196] enter() called on a defunct output global
[LOG] [IWaylandProtocol] Registered global [WLOutput (DP-1)]
[LOG] [CLinuxDMABufV1Protocol] Resetting format table
[ERR] [../src/protocols/core/Compositor.cpp:203] Cannot enter surface 5af3b661e9a0 to DP-1, client hasn't bound the output
[ERR] [../src/protocols/core/Compositor.cpp:203] Cannot enter surface 5af3b6620e60 to DP-1, client hasn't bound the output

no clue why the same resolution as the preferred one is seen as a different one

[ERR] Custom resolution FAILED, falling back to preferred
[ERR] Monitor DP-1 got an invalid requested mode: 3840x2160@60.000000, using the preferred one instead: 3840x2160@60.000000
[ERR] [AQ] drm: No format for output
[WARN] state.commit() failed in CMonitor::onDisconnect
[WARN] Layersurface destroyed on an invalid monitor (removed?)
[WARN] Layersurface unmapping on invalid monitor (removed?) ignoring.
[ERR] Custom resolution FAILED, falling back to preferred
[ERR] Monitor DP-1 got an invalid requested mode: 3840x2160@60.000000, using the preferred one instead: 3840x2160@60.000000
[ERR] output DP-1 failed basic test on format DRM_FORMAT_XRGB8888
[ERR] output DP-1 failed basic test on format DRM_FORMAT_XBGR8888
[ERR] [AQ] drm: No format for output
[ERR] output DP-1 failed basic test on format DRM_FORMAT_INVALID
[ERR] [AQ] drm: No format for output
[ERR] Couldn't commit output named DP-1
[ERR] [AQ] drm: No format for output
[WARN] state.commit() failed in CMonitor::onCommit
[ERR] [../src/protocols/core/Compositor.cpp:196] enter() called on a defunct output global
[ERR] [../src/protocols/core/Compositor.cpp:196] enter() called on a defunct output global
[ERR] [../src/protocols/core/Compositor.cpp:203] Cannot enter surface 5af3b661e9a0 to DP-1, client hasn't bound the output
[ERR] [../src/protocols/core/Compositor.cpp:203] Cannot enter surface 5af3b6620e60 to DP-1, client hasn't bound the output
[ERR] [AQ] drm: No format for output
ikalco commented 1 week ago

@romanstingler yours is some error with drm as well

[LOG] [AQ] atomic drm request: failed to commit: Invalid argument, flags: ATOMIC_ALLOW_MODESET ATOMIC_TEST_ONLY 

can you give drm log https://wiki.hyprland.org/Crashes-and-Bugs/#debugging-drm-issues

romanstingler commented 1 week ago

@ikalco I wrote a small script to automate DRM Debugging https://github.com/romanstingler/scripts/blob/main/hyprland_drm_debug.sh dmesg.log

I killed HL MOD+M and executed my script from the tty. The USBC->HDMI connector was attached when starting HL, then I disconnected it and reattached it.

Let me know if you need something else. PS: the script is open and can be used and shared by others. PS2: the issue is DP-1

Zelzahn commented 1 week ago

I also have this issue, and for me downgrading to 0.41.2 fixed it.

vaxerski commented 1 week ago

@ikalco

[17457.654226] i915 0000:00:02.0: [drm:intel_crtc_state_dump [i915]] [CRTC:53:pipe A] enable: yes [failed]

...

[17457.665349] i915 0000:00:02.0: [drm:drm_atomic_check_only] atomic driver check for 000000002ce99f75 failed: -22

Maybe the modeline is wrong...? You'll need to dig into the kernel to see what that error means though. I can't atm, at an airport lol

ikalco commented 1 week ago

its this

[17457.610977] i915 0000:00:02.0: [drm:skl_compute_wm [i915]] Requested display configuration exceeds system DDB limitations
[17457.611154] i915 0000:00:02.0: [drm:skl_compute_wm [i915]] minimum required 482/246

I've seen it a few times in multiple different "3rd monitor broken" issues

wlroots had a similar issue and they said it was hardware bandwith limitations

edit: thats probably why it also works sometimes and not others, since different buffers are allocated in different ways

vaxerski commented 1 week ago

yeah but how did they circumvent it then?

Since as far as I can see they used to work.

ikalco commented 1 week ago

https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4567 they just reallocate with no modifiers/smaller buffers until it works lol

could also be a recent kernel update that is less efficient which is why it shows up now

vaxerski commented 1 week ago

quite cringe that we have to do this. if you want to spin up a mr it'd be nice.

ikalco commented 1 week ago

honestly kernel drm should just tell us what the error is lol, though im sure that would be very hard

but yeah when i get to my pc ill try something

romanstingler commented 1 week ago

thx, guys, if someone has an MR please tag me I will test

vaxerski commented 1 week ago

honestly kernel drm should just tell us what the error is lol, though im sure that would be very hard

would it be? Isn't the return code a uint32_t? in such a case..... just use the retvals past code? I mean sure that wouldn't be backwards compatible... but you could add a helper like lasterr() to get a uint32_t with a more descriptive error code... Then the problem would be synchronizing them between drivers, though. Ugh.

Yea, pain, but doing EINVAL everywhere is pain too! :D

techyporcupine commented 1 week ago

I'm also available to test when there's a PR, thanks!

platz-halter commented 1 week ago

Replugged the monitor now and it works again (didn't work before). I don't know what fixed it (maybe in a update)

techyporcupine commented 1 week ago

Mine is still not working. Wondering if these were different issues?

I'm probably not providing an actually good idea, but how do other things like GDM handle this? Even my TTY knows what to do with the displays when I connect them... Can that just be used here?