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
21.21k stars 894 forks source link

1 of 2 outputs killed after logging in from SDDM. No signal/black screen/blank screen. #6871

Open baudneo opened 3 months ago

baudneo commented 3 months ago

Regression?

No

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit 918d8340afd652b011b937d29d5eea0be08467f5 (flake.lock: update). Date: Tue Jun 25 12:06:02 2024 Tag: v0.41.2, commits: 4886 flags: (if any) System Information: System name: Linux Node name: archlinux Release: 6.9.9-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Fri, 12 Jul 2024 00:06:53 +0000 GPU information: 0d:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Picasso/Raven 2 [Radeon Vega Series / Radeon Vega Mobile Series] [1002:15d8] (rev d8) (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: hyprexpo by Vaxry ver 1.0 ======Config-Start====== Config File: /home/baudneo/.config/hypr/hyprland.conf: Read Succeeded ###################################################################################### # AUTOGENERATED HYPR CONFIG. # PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, # OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. # ####################################################################################### autogenerated = 0 # remove this line to remove the warning # This is an example Hyprland config file. # Refer to the wiki for more information. # https://wiki.hyprland.org/Configuring/Configuring-Hyprland/ # Please note not all available settings / options are set here. # For a full list, see the wiki # You can split this configuration into multiple files # Create your files separately and then link them to this file like this: # source = ~/.config/hypr/myColors.conf ################ ### MONITORS ### ################ # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=,preferred,auto,auto # monitor=HDMI-A-1,preferred,auto,auto ################### ### MY PROGRAMS ### ################### # See https://wiki.hyprland.org/Configuring/Keywords/ # Set programs that you use $terminal = alacritty $fileManager = dolphin $menu = wofi --show drun $browser = google-chrome ################# ### AUTOSTART ### ################# # Autostart necessary processes (like notifications daemons, status bars, etc.) # Or execute your favorite apps at launch like this: exec-once = $terminal exec-once = waybar & # hyprexpo needs this exec-once = hyprpm reload exec-once = hyprpaper exec-once = hypridle exec-once = /usr/lib/polkit-kde-authentication-agent-1 #exec-once = cd /home/baudneo/git/apex-tux && /home/baudneo/git/apex-tux/target/release/apex-tux ############################# ### ENVIRONMENT VARIABLES ### ############################# # See https://wiki.hyprland.org/Configuring/Environment-variables/ env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 ##################### ### LOOK AND FEEL ### ##################### # Refer to https://wiki.hyprland.org/Configuring/Variables/ # https://wiki.hyprland.org/Configuring/Variables/#general general { gaps_in = 5 gaps_out = 20 border_size = 2 # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) # Set to true enable resizing windows by clicking and dragging on borders and gaps resize_on_border = true # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false layout = dwindle } # https://wiki.hyprland.org/Configuring/Variables/#decoration decoration { rounding = 10 # Change transparency of focused and unfocused windows active_opacity = 1.0 inactive_opacity = 0.95 drop_shadow = true shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) # https://wiki.hyprland.org/Configuring/Variables/#blur blur { enabled = true size = 3 passes = 1 vibrancy = 0.1696 } } # https://wiki.hyprland.org/Configuring/Variables/#animations animations { enabled = true # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more 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 } # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more dwindle { pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = true # You probably want this no_gaps_when_only = 1 } # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more master { new_on_top = true no_gaps_when_only = 1 } # https://wiki.hyprland.org/Configuring/Variables/#misc misc { force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( } ############# ### INPUT ### ############# # https://wiki.hyprland.org/Configuring/Variables/#input input { kb_layout = us kb_variant = kb_model = kb_options = kb_rules = follow_mouse = 1 sensitivity = 0 # -1.0 - 1.0, 0 means no modification. numlock_by_default = 1 # scroll button; method, button, scroll_lock scroll_button_lock = 1 scroll_method = on_button_down scroll_button = 277 kb_options = caps:swapescape touchpad { natural_scroll = false } } # https://wiki.hyprland.org/Configuring/Variables/#gestures gestures { workspace_swipe = false } # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more device { name = epic-mouse-v1 sensitivity = -0.5 } #################### ### KEYBINDINGSS ### #################### binds { # allow previous (super+TAB) to work properly. allow_workspace_cycles = true } # See https://wiki.hyprland.org/Configuring/Keywords/ $mainMod = SUPER # Sets "Windows" key as main modifier # bind = , mouse:276, sendshortcut, , m # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, Return, exec, $terminal bind = $mainMod, C, killactive, bind = $mainMod, X, exit, bind = $mainMod, E, exec, $fileManager bind = $mainMod, V, togglefloating, bind = $mainMod, R, exec, $menu bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle # 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 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 # Example special workspace (scratchpad) 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 with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow # previous workspace bind = $mainMod,TAB,workspace,previous # fullscreen and maximize window bind = $mainMod SHIFT, M, fullscreen, 0 bind = $mainMod, M, fullscreen, 1 # Window focus bind = SUPER, h, movefocus, l bind = SUPER, l, movefocus, r bind = SUPER, k, movefocus, u bind = SUPER, j, movefocus, d binde=ALT,TAB,cyclenext binde=ALTSHIFT,TAB,cyclenext,prev binde=ALT,TAB,bringactivetotop #it will focus floating windows # Media Keys bindle=, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ # wpctl set-volume 54 0.05- (5% down) # wpctl set-volume ID HOW_MUCH bindle=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- bindle=, XF86MonBrightnessUp, exec, bri --up bindle=, XF86MonBrightnessDown, exec, bri --down bindle=, XF86Search, exec, launchpad # bindl=, XF86AudioMute, exec, amixer set Master toggle bindl=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle bindl=, XF86AudioPlay, exec, playerctl play-pause # the stupid key is called play , but it toggles bindl=, XF86AudioNext, exec, playerctl next bindl=, XF86AudioPrev, exec, playerctl previous # bind=, Print, exec, env XDG_CURRENT_DESKTOP=sway XDG_SESSION_DESKTOP=sway QT_QPA_PLATFORM=wayland flameshot gui bind=, Print, exec, flameshot gui ############################## ### WINDOWS AND WORKSPACES ### ############################## # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules # Example windowrule v1 # windowrule = float, ^(kitty)$ # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. # vscode file picker; solve being hidden behind maximized windows # windowrulev2 = float, class:code, title:Open File # windowrulev2 = stayfocused, class:code, title:Open File # FIXME: Pycharm settings - causes file picker to center and File/view/etc menus also # windowrulev2 = float, class:jetbrains-pycharm, title:Settings # windowrulev2 = center 1, class:jetbrains-pycharm, title:Settings # windowrulev2 = size 1696 875, class:jetbrains-pycharm, title:Settings windowrulev2 = float, class:pavucontrol, title:Volume Control bind = SUPER, grave, hyprexpo:expo, toggle # can be: toggle, off/disable or on/enable plugin { hyprbars { # example config bar_height = 30 bar_text_size = 20 # example buttons (R -> L) # hyprbars-button = color, size, on-click hyprbars-button = rgb(ff4040), 25, 󰖭, hyprctl dispatch killactive hyprbars-button = rgb(eeee11), 25,  , hyprctl dispatch fullscreen 1 } hyprexpo { columns = 3 gap_size = 5 bg_col = rgb(111111) workspace_method = center current # [center/first] [workspace] e.g. first 1 or center m+1 enable_gesture = true # laptop touchpad, 4 fingers gesture_distance = 300 # how far is the "max" gesture_positive = true # positive = swipe down. Negative = swipe up. } } ======Config-End======== ```

Description

I am using 2 outputs on a ryzen 5 3400G system using iGPU. 1 is a TV on a DP->HDMI adapter and the other is a VGA monitor.

This is a fresh installation of arch using archinstall and selecting Hyprland for DE. When I boot Arch and get to SDDM greeter screen, both outputs are working. When I login from SDDM, the DP output is killed (shows no signal) but, the VGA output works fine.

Here is a short video of the machine booting: https://youtu.be/hq3xHnlT03o

I have removed the VGA monitor/switched between the 2 DP ports and rebooted with the same result. I have tried manually setting the resolution and such in hyprland.conf without luck as well.

I do see a strange amdgpu log msg in dmesg sometimes, I am unsure if it is related: amdgpu 0000:0d:00.0: [drm] pstate TEST_DEBUG_DATA: 0x3DFD00F0. When I googled that string, there are other mentions of black screens using Linux kernel 5.10+ from a while back, but that seems resolved.

I have another AMD machine with a ryzen 3 3200G that has arch and Hyprland, and it works fine with the TV, so this seems to be a ryzen 5 3400G problem?

I recently started using Hyprland and would prefer to keep using it on the ryzen 5 3400G system.

hyprctl monitors output ``` ❯ hyprctl monitors Monitor DP-2 (ID 0): 1920x1080@60.00000 at 0x0 description: Toshiba America Info Systems Inc TOSHIBA-TV 0x01010101 make: Toshiba America Info Systems Inc model: TOSHIBA-TV serial: 0x01010101 active workspace: 1 (1) special workspace: 0 () reserved: 0 0 0 0 scale: 1.00 transform: 0 focused: no dpmsStatus: 1 vrr: 0 activelyTearing: false disabled: false currentFormat: XRGB8888 availableModes: 1920x1080@60.00Hz 1920x1080@60.00Hz 1920x1080@59.94Hz 1920x1080@30.00Hz 1920x1080@29.97Hz 1920x1080@24.00Hz 1920x1080@23.98Hz 1680x1050@59.88Hz 1280x1024@60.02Hz 1440x900@59.90Hz 1280x960@60.00Hz 1280x800@74.93Hz 1280x800@59.91Hz 1280x768@59.99Hz 1280x720@60.00Hz 1280x720@60.00Hz 1280x720@59.94Hz 1024x768@60.00Hz 800x600@60.32Hz 800x600@56.25Hz 720x480@60.00Hz 720x480@60.00Hz 720x480@59.94Hz 720x480@59.94Hz 720x480@59.94Hz 640x480@75.00Hz 640x480@60.00Hz 640x480@59.94Hz 640x480@59.94Hz 720x400@70.08Hz Monitor DP-3 (ID 1): 1920x1080@60.00000 at 1920x0 description: LG Electronics LG IPS FULLHD 807NTJJ38508 make: LG Electronics model: LG IPS FULLHD serial: 807NTJJ38508 active workspace: 2 (2) special workspace: 0 () reserved: 0 0 0 0 scale: 1.00 transform: 0 focused: yes dpmsStatus: 1 vrr: 0 activelyTearing: false disabled: false currentFormat: XRGB8888 availableModes: 1920x1080@60.00Hz 1680x1050@59.95Hz 1400x1050@59.98Hz 1600x900@60.00Hz 1280x1024@75.03Hz 1280x1024@60.02Hz 1440x900@59.89Hz 1280x800@59.81Hz 1152x864@75.00Hz 1280x720@60.00Hz 1024x768@75.03Hz 1024x768@60.00Hz 800x600@75.00Hz 800x600@60.32Hz 640x480@75.00Hz 640x480@59.94Hz 720x400@70.08Hz ``` ### How to reproduce I dont know if this is specific to ryzen 5 3400G CPU's. If someone has a system with one and is using the iGPU for output, all you need to do is install arch using `archinstall` and set Hyprland as DE. ### Crash reports, logs, images, videos From what I see, Hyprland thinks all is well. Nothing in logs or crash reports.
VvSsNPk commented 3 months ago

I am also getting the same error i also installed using archinstall, I think there is compatability issue with sddm and hyprland. because sddm doesnot properly support wayland yet its still buggy for wayland

baudneo commented 3 months ago

No, sddm works fine using x11wayland bridge stuff. Sddm is supported and in hyprland docs it says sddm is fully supported.

By chance, are you using an AMD ryzen processor? Is your issue the exact same as in the YouTube video I included?

VvSsNPk commented 3 months ago

yes i am using an amd ryzen processor, i also had similar issue as yours but i solved it by adjusting the monitor parameters in my hyprland.conf , my problem is with sddm not hyprland, i think you should try and change the monitor parameter with help of hyprctl, for me i still have the problem with sddm where it says "Device out of range " or something similar during startup and when i login to hyprland everything is fine.

baudneo commented 3 months ago

For my case, configuring monitors in hyprland.conf doesn't work.

From hyprlands perspective, it thinks the monitor is on and working, it has no idea there's an issue. I'm assuming it's a Wayland issue, as soon as Wayland takes over from sddm, the output gets killed.

I do see other similar issues with ryzen 5 3400g and Linux kernel 5.10+. https://letmegooglethat.com/?q=amdgpu+0000%3A0d%3A00.0%3A+%5Bdrm%5D+pstate+TEST_DEBUG_DATA%3A+0x3DFD00F0

What's going on with your sddm issue? I'd it a stock install? Or did you edit sddm configs?

VvSsNPk commented 3 months ago

the sddm currently is from the arch install script, i checked the logs but i couldnot find any error specifically there so, i dont know whats wrong with my sddm

baudneo commented 3 months ago

What are your exact symptoms? The screen goes black when sddm takes over? You can use another greeter, GDM but, it apparently crashes hyprland on its first boot.

romanstingler commented 1 month ago

please build yay -S hyprland-git aquamarine-git new and add env = AQ_NO_MODIFIERS,1 to your hyperland.conf

if it resolves your issue, please close the ticket, thx

baudneo commented 1 month ago

Will try this weekend and report back