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.61k stars 827 forks source link

Dual GPU not working after version upgrade #7238

Closed benji2512 closed 2 weeks ago

benji2512 commented 1 month ago

Regression?

No

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit 9a09eac79b85c846e3a865a9078a3f8ff65a9259 (props: bump version to 0.42.0). Date: Wed Aug 7 19:17:10 2024 Tag: v0.42.0, commits: 5069 flags: (if any) System Information: System name: Linux Node name: li-1f50f5cc-28e7-11b2-a85c-85dfe8a45f14.ibm.com Release: 6.9.12-200.fc40.x86_64 Version: #1 SMP PREEMPT_DYNAMIC Sat Jul 27 15:56:15 UTC 2024 GPU information: 00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P Integrated Graphics Controller [8086:4626] (rev 0c) (prog-if 00 [VGA controller]) 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA107GLM [RTX A1000 Laptop GPU] [10de:25b9] (rev a1) (prog-if 00 [VGA controller]) NVRM version: NVIDIA UNIX x86_64 Kernel Module 555.58.02 Tue Jun 25 01:39:15 UTC 2024 os-release: NAME="Fedora Linux" VERSION="40 (Workstation Edition)" ID=fedora VERSION_ID=40 VERSION_CODENAME="" PLATFORM_ID="platform:f40" PRETTY_NAME="Fedora Linux 40 (Workstation Edition)" ANSI_COLOR="0;38;2;60;110;180" LOGO=fedora-logo-icon CPE_NAME="cpe:/o:fedoraproject:fedora:40" DEFAULT_HOSTNAME="fedora" HOME_URL="https://fedoraproject.org/" DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f40/system-administrators-guide/" SUPPORT_URL="https://ask.fedoraproject.org/" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Fedora" REDHAT_BUGZILLA_PRODUCT_VERSION=40 REDHAT_SUPPORT_PRODUCT="Fedora" REDHAT_SUPPORT_PRODUCT_VERSION=40 SUPPORT_END=2025-05-13 VARIANT="Workstation Edition" VARIANT_ID=workstation plugins: ======Config-Start====== Config File: /home/benclarke/.config/hypr/hyprland.conf: Read Succeeded # Sourcing external config files # Default Configs $configs = $HOME/.config/hypr/configs source=$configs/Settings.conf source=$configs/Keybinds.conf # User Configs $UserConfigs = $HOME/.config/hypr/UserConfigs source= $UserConfigs/Startup_Apps.conf source= $UserConfigs/ENVariables.conf source= $UserConfigs/Monitors.conf source= $UserConfigs/Laptops.conf source= $UserConfigs/LaptopDisplay.conf source= $UserConfigs/WindowRules.conf source= $UserConfigs/UserKeybinds.conf source= $UserConfigs/UserSettings.conf source= $UserConfigs/WorkspaceRules.conf exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP Config File: /home/benclarke/.config/hypr/configs/Settings.conf: Read Succeeded # /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # # Default Settings. avoid changing this file as during update, this will be replaced # refer to Hyprland wiki for more info https://wiki.hyprland.org/Configuring/Variables # Initial boot script enable to apply initial wallpapers, theming, new settings etc. exec-once = $HOME/.config/hypr/initial-boot.sh Config File: /home/benclarke/.config/hypr/configs/Keybinds.conf: Read Succeeded # /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # # Default Keybinds # visit https://wiki.hyprland.org/Configuring/Binds/ for more info $mainMod = SUPER # Default $scriptsDir = $HOME/.config/hypr/scripts $configs = $HOME/.config/hypr/configs # User $UserConfigs = $HOME/.config/hypr/UserConfigs $UserScripts = $HOME/.config/hypr/UserScripts bind = CTRL ALT, Delete, exec, hyprctl dispatch exit 0 bind = $mainMod, Q, killactive, bind = $mainMod, F, fullscreen bind = $mainMod SHIFT, Q, closewindow, bind = $mainMod SHIFT, F, togglefloating, bind = $mainMod ALT, F, exec, hyprctl dispatch workspaceopt allfloat bind = CTRL ALT, L, exec, $scriptsDir/LockScreen.sh bind = CTRL ALT, P, exec, $scriptsDir/Wlogout.sh # FEATURES / EXTRAS bind = $mainMod, H, exec, $scriptsDir/KeyHints.sh # Small help file bind = $mainMod ALT, R, exec, $scriptsDir/Refresh.sh # Refresh waybar, swaync, rofi bind = $mainMod ALT, E, exec, $scriptsDir/RofiEmoji.sh # emoji bind = $mainMod, S, exec, $scriptsDir/RofiSearch.sh # Google search from Rofi bind = $mainMod SHIFT, B, exec, $scriptsDir/ChangeBlur.sh # Toggle blur settings bind = $mainMod SHIFT, G, exec, $scriptsDir/GameMode.sh # animations ON/OFF bind = $mainMod ALT, L, exec, $scriptsDir/ChangeLayout.sh # Toggle Master or Dwindle Layout bind = $mainMod ALT, V, exec, $scriptsDir/ClipManager.sh # Clipboard Manager bind = $mainMod SHIFT, N, exec, swaync-client -t -sw # swayNC panel bind = SHIFT, ALT_L, exec, $scriptsDir/SwitchKeyboardLayout.sh # Switch Keyboard Layout bind = $mainMod, A, exec, ags -t 'overview' # FEATURES / EXTRAS (UserScripts) bind = $mainMod, E, exec, $UserScripts/QuickEdit.sh # Quick Edit Hyprland Settings bind = $mainMod SHIFT, M, exec, $UserScripts/RofiBeats.sh # online music bind = $mainMod, W, exec, $UserScripts/WallpaperSelect.sh # Select wallpaper to apply bind = CTRL ALT, W, exec, $UserScripts/WallpaperRandom.sh # Random wallpapers # Waybar / Bar related bind = $mainMod, B, exec, killall -SIGUSR1 waybar # Toggle hide/show waybar bind = $mainMod CTRL, B, exec, $scriptsDir/WaybarStyles.sh # Waybar Styles Menu bind = $mainMod ALT, B, exec, $scriptsDir/WaybarLayout.sh # Waybar Layout Menu # Master Layout bind = $mainMod CTRL, D, layoutmsg, removemaster bind = $mainMod, I, layoutmsg, addmaster bind = $mainMod, J, layoutmsg, cyclenext bind = $mainMod, K, layoutmsg, cycleprev bind = $mainMod, M, exec, hyprctl dispatch splitratio 0.3 bind = $mainMod, P, pseudo, # dwindle bind = $mainMod CTRL, Return, layoutmsg, swapwithmaster # group bind = $mainMod, G, togglegroup bind = ALT, tab, changegroupactive #change focus to another window # Special Keys / Hot Keys bind = , xf86audioraisevolume, exec, $scriptsDir/Volume.sh --inc #volume up bind = , xf86audiolowervolume, exec, $scriptsDir/Volume.sh --dec #volume down bind = , xf86AudioMicMute, exec, $scriptsDir/Volume.sh --toggle-mic #mute mic bind = , xf86audiomute, exec, $scriptsDir/Volume.sh --toggle bind = , xf86Sleep, exec, systemctl suspend # sleep button bind = , xf86Rfkill, exec, $scriptsDir/AirplaneMode.sh #Airplane mode # media controls using keyboards bind = , xf86AudioPlayPause, exec, $scriptsDir/MediaCtrl.sh --pause bind = , xf86AudioPause, exec, $scriptsDir/MediaCtrl.sh --pause bind = , xf86AudioPlay, exec, $scriptsDir/MediaCtrl.sh --pause bind = , xf86AudioNext, exec, $scriptsDir/MediaCtrl.sh --nxt bind = , xf86AudioPrev, exec, $scriptsDir/MediaCtrl.sh --prv bind = , xf86audiostop, exec, $scriptsDir/MediaCtrl.sh --stop # Screenshot keybindings NOTE: You may need to press Fn key as well bind = $mainMod, Print, exec, $scriptsDir/ScreenShot.sh --now bind = $mainMod SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --area bind = $mainMod CTRL, Print, exec, $scriptsDir/ScreenShot.sh --in5 #screenshot in 5 secs bind = $mainMod ALT, Print, exec, $scriptsDir/ScreenShot.sh --in10 #screenshot in 10 secs bind = ALT, Print, exec, $scriptsDir/ScreenShot.sh --active #screenshot in 10 secs # screenshot with swappy (another screenshot tool) bind = $mainMod SHIFT, S, exec, $scriptsDir/ScreenShot.sh --swappy # Resize windows binde = $mainMod SHIFT, left, resizeactive,-50 0 binde = $mainMod SHIFT, right, resizeactive,50 0 binde = $mainMod SHIFT, up, resizeactive,0 -50 binde = $mainMod SHIFT, down, resizeactive,0 50 # Move windows bind = $mainMod CTRL, left, movewindow, l bind = $mainMod CTRL, right, movewindow, r bind = $mainMod CTRL, up, movewindow, u bind = $mainMod CTRL, down, movewindow, d # 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 # Workspaces related bind = $mainMod, tab, workspace, m+1 bind = $mainMod SHIFT, tab, workspace, m-1 # Special workspace bind = $mainMod SHIFT, U, movetoworkspace, special bind = $mainMod, U, togglespecialworkspace, # The following mappings use the key codes to better support various keyboard layouts # 1 is code:10, 2 is code 11, etc # Switch workspaces with mainMod + [0-9] bind = $mainMod, code:10, workspace, 1 bind = $mainMod, code:11, workspace, 2 bind = $mainMod, code:12, workspace, 3 bind = $mainMod, code:13, workspace, 4 bind = $mainMod, code:14, workspace, 5 bind = $mainMod, code:15, workspace, 6 bind = $mainMod, code:16, workspace, 7 bind = $mainMod, code:17, workspace, 8 bind = $mainMod, code:18, workspace, 9 bind = $mainMod, code:19, workspace, 10 # Move active window and follow to workspace mainMod + SHIFT [0-9] bind = $mainMod SHIFT, code:10, movetoworkspace, 1 bind = $mainMod SHIFT, code:11, movetoworkspace, 2 bind = $mainMod SHIFT, code:12, movetoworkspace, 3 bind = $mainMod SHIFT, code:13, movetoworkspace, 4 bind = $mainMod SHIFT, code:14, movetoworkspace, 5 bind = $mainMod SHIFT, code:15, movetoworkspace, 6 bind = $mainMod SHIFT, code:16, movetoworkspace, 7 bind = $mainMod SHIFT, code:17, movetoworkspace, 8 bind = $mainMod SHIFT, code:18, movetoworkspace, 9 bind = $mainMod SHIFT, code:19, movetoworkspace, 10 bind = $mainMod SHIFT, bracketleft, movetoworkspace, -1 # brackets [ or ] bind = $mainMod SHIFT, bracketright, movetoworkspace, +1 # Move active window to a workspace silently mainMod + CTRL [0-9] bind = $mainMod CTRL, code:10, movetoworkspacesilent, 1 bind = $mainMod CTRL, code:11, movetoworkspacesilent, 2 bind = $mainMod CTRL, code:12, movetoworkspacesilent, 3 bind = $mainMod CTRL, code:13, movetoworkspacesilent, 4 bind = $mainMod CTRL, code:14, movetoworkspacesilent, 5 bind = $mainMod CTRL, code:15, movetoworkspacesilent, 6 bind = $mainMod CTRL, code:16, movetoworkspacesilent, 7 bind = $mainMod CTRL, code:17, movetoworkspacesilent, 8 bind = $mainMod CTRL, code:18, movetoworkspacesilent, 9 bind = $mainMod CTRL, code:19, movetoworkspacesilent, 10 bind = $mainMod CTRL, bracketleft, movetoworkspacesilent, -1 # brackets [ or ] bind = $mainMod CTRL, bracketright, movetoworkspacesilent, +1 # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 bind = $mainMod, period, workspace, e+1 bind = $mainMod, comma, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow Config File: /home/benclarke/.config/hypr/UserConfigs/Startup_Apps.conf: Read Succeeded # /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # #Commands & Apps to be executed at launch $scriptsDir = $HOME/.config/hypr/scripts $UserScripts = $HOME/.config/hypr/UserScripts $wallDIR=$HOME/Pictures/wallpapers $lock = $scriptsDir/LockScreen.sh $SwwwRandom = $UserScripts/WallpaperAutoChange.sh # wallpaper stuff / More wallpaper options below exec-once = swww query || swww-daemon --format xrgb exec-once = $SwwwRandom $wallDIR # random wallpaper switcher every 30 minutes # Startup exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # Polkit (Polkit Gnome / KDE) exec-once = $scriptsDir/Polkit.sh # starup apps exec-once = waybar & exec-once = nm-applet --indicator & exec-once = swaync & # Added startup apps for default work exec-once = firefox & exec-once = warp-terminal & exec-once = flatpak run com.slack.Slack & #exec-once = blueman-applet & #exec-once = rog-control-center & #clipboard manager exec-once = wl-paste --type text --watch cliphist store exec-once = wl-paste --type image --watch cliphist store # Rainbow borders exec-once = $UserScripts/RainbowBorders.sh & # Starting hypridle to start hyprlock exec-once = hypridle & # Start pyprland daemon exec-once = pypr & # Here are list of features available but disabled by default # exec-once = swww query || swww-daemon --format xrgb && swww img $HOME/Pictures/wallpapers/mecha-nostalgia.png # persistent wallpaper #gnome polkit for nixos #exec-once = $scriptsDir/Polkit-NixOS.sh # xdg-desktop-portal-hyprland (should be auto starting. However, you can force to start) #exec-once = $scriptsDir/PortalHyprland.sh Config File: /home/benclarke/.config/hypr/UserConfigs/ENVariables.conf: Read Succeeded # /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # #environment-variables env = CLUTTER_BACKEND,wayland env = GDK_BACKEND,wayland,x11 env = QT_AUTO_SCREEN_SCALE_FACTOR,1 env = QT_QPA_PLATFORM,wayland;xcb env = QT_QPA_PLATFORMTHEME,qt5ct env = QT_QPA_PLATFORMTHEME,qt6ct env = QT_SCALE_FACTOR,1 env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 env = XDG_CURRENT_DESKTOP,Hyprland env = XDG_SESSION_DESKTOP,Hyprland env = XDG_SESSION_TYPE,wayland # vulkan #env = WLR_RENDERER,vulkan # firefox env = MOZ_ENABLE_WAYLAND,1 # NVIDIA # This is from Hyprland Wiki. As a start, WLR_NO_HARDWARE_CURSORS 1 will be activated if nvidia gpu detected env = WLR_NO_HARDWARE_CURSORS,1 env = LIBVA_DRIVER_NAME,nvidia env = __GLX_VENDOR_LIBRARY_NAME,nvidia env = GBM_BACKEND,nvidia-drm env = __NV_PRIME_RENDER_OFFLOAD,1 env = __VK_LAYER_NV_optimus,NVIDIA_only #env = WLR_DRM_NO_ATOMIC,1 env = NVD_BACKEND,direct # FOR VM and POSSIBLY NVIDIA env = WLR_RENDERER_ALLOW_SOFTWARE,1 # nvidia firefox (for hardware acceleration on FF)? # check this post https://github.com/elFarto/nvidia-vaapi-driver#configuration env = MOZ_DISABLE_RDD_SANDBOX,1 env = NVD_BACKEND,direct env = EGL_PLATFORM,wayland env = AQ_DRM_DEVICES,/dev/dri/card1:/dev/dri/card0 env = AQ_MGPU_NO_EXPLICIT,1 Config File: /home/benclarke/.config/hypr/UserConfigs/Monitors.conf: Read Succeeded # /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # # Monitor Configuration # See Hyprland wiki for more details # https://wiki.hyprland.org/Configuring/Monitors/ # Configure your Display resolution, offset, scale and Monitors here, use `hyprctl monitors` to get the info. # Monitors #monitor=,preferred,auto,1.6 # NOTE: for laptop, kindly check notes in Laptops.conf regarding display # Created this inorder for the monitor display to not wake up if not intended. # See here: https://github.com/hyprwm/Hyprland/issues/4090 monitor = eDP-1,3840x2400,0x0,1.6,bitdepth,10 #monitor = DP-5,1920x1080,auto-left,1,transform,3,bitdepth,10 monitor = DP-6,1920x1080,auto-left,1,transform,3,bitdepth,10 monitor = HDMI-A-2,1920x1080,0x-1080,1,bitdepth,10 # QEMU-KVM or any virtual box #monitor = Virtual-1, 1920x1080@60,auto,1 # Hi Refresh Rate #monitor=,highrr,auto,1 # High Resolution #monitor=,highres,auto,1 # to disable a monitor #monitor=name,disable # Mirror #monitor=DP-3,1920x1080@60,0x0,1,mirror,DP-2 #monitor=,preferred,auto,1,mirror,eDP-1 # Example : #monitor=eDP-1,2560x1440@165,0x0,1 #workspace=HDMI-A-1,1 #monitor=HDMI-A-1,2560x1440@144,0x0,1,mirror,eDP-1 #workspace=HDMI-A-2,2 #monitor=eDP-1,transform,0 #monitor=eDP-1,addreserved,10,10,10,49 #workspace=eDP-1,1 Config File: /home/benclarke/.config/hypr/UserConfigs/Laptops.conf: Read Succeeded # /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # # See https://wiki.hyprland.org/Configuring/Keywords/ for more variable settings # These configs are mostly for laptops. This is addemdum to Keybinds.conf $mainMod = SUPER $scriptsDir = $HOME/.config/hypr/scripts $UserConfigs = $HOME/.config/hypr/UserConfigs bind = , xf86KbdBrightnessDown, exec, $scriptsDir/BrightnessKbd.sh --dec #Keyboard brightness Down bind = , xf86KbdBrightnessUp, exec, $scriptsDir/BrightnessKbd.sh --inc #Keyboard brightness up bind = , xf86Launch1, exec, rog-control-center # ASUS Armory crate button bind = , xf86Launch3, exec, asusctl led-mode -n #FN+F4 Switch keyboard RGB profile bind = , xf86Launch4, exec, asusctl profile -n #FN+F5 change of fan profiles (Quite, Balance, Performance) bind = , xf86MonBrightnessDown, exec, $scriptsDir/Brightness.sh --dec bind = , xf86MonBrightnessUp, exec, $scriptsDir/Brightness.sh --inc bind = , xf86TouchpadToggle, exec, $scriptsDir/TouchPad.sh #disable touchpad # Screenshot keybindings for Asus G15 (no PrinSrc button) bind = $mainMod, F6, exec, $scriptsDir/ScreenShot.sh --now # Fullscreen bind = $mainMod SHIFT, F6, exec, $scriptsDir/ScreenShot.sh --area bind = $mainMod CTRL, F6, exec, $scriptsDir/ScreenShot.sh --in5 # Screenshot in 5 secs bind = $mainMod ALT, F6, exec, $scriptsDir/ScreenShot.sh --in10 # Screenshot in 10 secs bind = ALT, F6, exec, $scriptsDir/ScreenShot.sh --active # Screenshot active window # Below are useful when you are connecting your laptop in external display # Suggest you edit below for your laptop display # From WIKI This is to disable laptop monitor when lid is closed. # consult https://wiki.hyprland.org/hyprland-wiki/pages/Configuring/Binds/#switches bindl = , switch:off:Lid Switch,exec,hyprctl keyword monitor "eDP-1, preferred, auto, 1" bindl = , switch:on:Lid Switch,exec,hyprctl keyword monitor "eDP-1, disable" # WARNING! Using this method has some caveats!! USE THIS PART WITH SOME CAUTION! # CONS of doing this, is that you need to set up your wallpaper (SUPER W) and choose wallpaper. # CAVEATS! Sometimes the Main Laptop Monitor DOES NOT have display that it needs to re-connect your external monitor # One work around is to ensure that before shutting down laptop, MAKE SURE your laptop lid is OPEN!! # Make sure to comment (put # on the both the bindl = , switch ......) above # NOTE: Display for laptop are being generated into LaptopDisplay.conf # This part is to be use if you do not want your main laptop monitor to wake up during say wallpaper change etc #bindl = , switch:off:Lid Switch,exec,echo "monitor = eDP-1, preferred, auto, 1" > $UserConfigs/LaptopDisplay.conf #bindl = , switch:on:Lid Switch,exec,echo "monitor = eDP-1, disable" > $UserConfigs/LaptopDisplay.conf # for laptop-lid action (to erase the last entry) #exec-once = echo "eDP-1, preferred, auto, 1" > $HOME/.config/hypr/UserConfigs/LaptopDisplay.conf # Config File: /home/benclarke/.config/hypr/UserConfigs/LaptopDisplay.conf: Read Succeeded # NOTE, THIS FILE IS BEING USED by disabling Laptop display monitor behaviour when closing lid. # See notes on Laptops.conf #monitor = eDP-1, preferred, auto, 1 Config File: /home/benclarke/.config/hypr/UserConfigs/WindowRules.conf: Read Succeeded # /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more windowrule = float, org.kde.polkit-kde-authentication-agent-1 windowrule = float, nm-connection-editor|blueman-manager windowrule = float, pavucontrol windowrule = float, nwg-look|qt5ct|mpv windowrule = float, onedriver|onedriver-launcher windowrule = float, eog windowrule = float, zoom windowrule = float, rofi windowrule = float, gnome-system-monitor windowrule = float, yad windowrule = float, ^(wihotspot-gui)$ # wifi hotspot windowrule = float, ^(evince)$ # document viewer windowrule = float, ^(file-roller)$ # archive manager #windowrule = noblur,gamescope #windowrule = fullscreen,gamescope #windowrule = workspace 6 silent,^(gamescope)$ windowrule = center,^(pavucontrol) # windowrule v2 # Workspace 1 = Internet + Slack #windowrulev2 = workspace 1, class:^([Tt]hunderbird)$ windowrulev2 = workspace 2, class:^([Ff]irefox)$ windowrulev2 = workspace 2, class:^(org.mozilla.firefox)$ windowrulev2 = workspace 2, class:^([Ff]irefox-esr)$ #windowrulev2 = workspace 1, class:^(Microsoft-edge-beta)$ windowrulev2 = workspace 2, class:^(Brave-browser)$ windowrulev2 = workspace 2, class:^(Brave-browser-dev)$ windowrulev2 = workspace 2, class:^([Gg]oogle-[Cc]hrome)$ windowrulev2 = workspace 2, class:^([Gg]oogle-[Cc]hrome-beta)$ windowrulev2 = workspace 2, class:^([Gg]oogle-[Cc]hrome-dev)$ windowrulev2 = workspace 2, class:^([Gg]oogle-[Cc]hrome-unstable)$ windowrulev2 = workspace 2, class:^(chrome-.+-Default)$ # Chrome PWAs windowrulev2 = workspace 2, class:^([Mm]icrosoft-edge-stable)$ windowrulev2 = workspace 2, class:^(evolution.bin)$ windowrulev2 = workspace 2, class:^(ZAP)$ # Workspace 2 = Coding windowrulev2 = workspace 1, class:^(codium-url-handler)$ windowrulev2 = workspace 1, class:^(VSCodium)$ windowrulev2 = workspace 1, class:^(codium-url-handler)$ windowrulev2 = workspace 1, class:^(kitty)$ windowrulev2 = workspace 1, class:^([Ww]arp)$ # Workspace 3 = Slack + AOB windowrulev2 = workspace 3, class:^([Ss]lack)$ windowrulev2 = workspace 3, class:^([Tt]hunar)$ windowrulev2 = workspace 5 silent, class:^(lutris)$ windowrulev2 = workspace 6, class:^(virt-manager)$ windowrulev2 = workspace 7 silent, class:^(discord)$ # windowrule v2 - float windowrulev2 = float, class:([Tt]hunar), title:(File Operation Progress) windowrulev2 = float, class:([Tt]hunar), title:(Confirm to replace files) windowrulev2 = float, class:(xdg-desktop-portal-gtk) windowrulev2 = float, class:(org.gnome.Calculator), title:(Calculator) #opacity (transparent) #enable as desired windowrulev2 = opacity 0.9 0.6, class:^([Rr]ofi)$ windowrulev2 = opacity 0.9 0.7, class:^(Brave-browser)$ windowrulev2 = opacity 0.9 0.7, class:^(Brave-browser-dev)$ windowrulev2 = opacity 0.9 0.7, class:^([Ff]irefox)$ windowrulev2 = opacity 0.9 0.7, class:^(org.mozilla.firefox)$ windowrulev2 = opacity 0.9 0.7, class:^([Ff]irefox-esr)$ windowrulev2 = opacity 0.9 0.7, class:^([Mm]icrosoft-edge-stable)$ windowrulev2 = opacity 0.9 0.7, class:^([Mm]icrosoft-edge-beta)$ windowrulev2 = opacity 0.9 0.7, class:^([Mm]icrosoft-edge-dev)$ windowrulev2 = opacity 0.9 0.7, class:^(google-chrome)$ windowrulev2 = opacity 0.9 0.7, class:^(google-chrome-beta)$ windowrulev2 = opacity 0.9 0.7, class:^(google-chrome-dev)$ windowrulev2 = opacity 0.9 0.7, class:^(google-chrome-unstable)$ windowrulev2 = opacity 0.94 0.76, class:^(chrome-.+-Default)$ # Chrome PWAs windowrulev2 = opacity 0.9 0.8, class:^([Tt]hunar)$ windowrulev2 = opacity 0.8 0.6, class:^(pcmanfm-qt)$ windowrulev2 = opacity 0.9 0.7, class:^(gedit)$ windowrulev2 = opacity 0.9 0.8, class:^(deluge)$ windowrulev2 = opacity 0.9 0.8, class:^(Alacritty)$ windowrulev2 = opacity 0.9 0.8, class:^(kitty)$ windowrulev2 = opacity 0.9 0.7, class:^(mousepad)$ windowrulev2 = opacity 0.9 0.7, class:^(codium-url-handler)$ windowrulev2 = opacity 0.9 0.7, class:^(VSCodium)$ windowrulev2 = opacity 0.9 0.7, class:^(yad)$ windowrulev2 = opacity 0.9 0.7, class:^(com.obsproject.Studio)$ windowrulev2 = opacity 0.9 0.7, class:^([Aa]udacious)$ windowrulev2 = opacity 0.9 0.8, class:^(org.gnome.Nautilus)$ windowrulev2 = opacity 0.9 0.8, class:^(code-url-handler)$ windowrulev2 = opacity 0.9 0.8, class:^(VSCode)$ windowrulev2 = opacity 0.9 0.8, class:^(jetbrains-studio)$ # Android Studio windowrulev2 = opacity 0.94 0.86, class:^(discord)$ windowrulev2 = opacity 0.9 0.8, class:^(org.telegram.desktop)$ windowrulev2 = opacity 0.94 0.86, class:^(gnome-disks)$ windowrulev2 = opacity 0.9 0.8, class:^(org.gnome.baobab)$ windowrulev2 = opacity 0.9 0.8, class:^(seahorse)$ # gnome-keyring gui #layerrule = unset,class:^([Rr]ofi)$ #layerrule = blur,class:^([Rr]ofi)$ #layerrule = ignorezero, layerrule = ignorezero, overview layerrule = blur, overview #windowrulev2 = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1 #windowrulev2 = bordercolor rgb(282737) rgb(1E1D2D), floating:1 #windowrulev2 = opacity 0.8 0.8, pinned:1 # Picture-in-a-Picture (PIP) rules: Oddly, some need re-duplication. This is because the window for # PIP changes after on first launch, and will not inherant the rules... windowrulev2=opacity 0.95 0.75,title:^(Picture-in-Picture)$ # for opacity: [focus num] [bg num] # Interestingly, the opacity rule above doesn't need the reduplication? windowrulev2=pin,title:^(Picture-in-Picture)$ #windowrulev2=pin,title:^(Firefox)$ windowrulev2=float, title:^(Picture-in-Picture)$ #windowrulev2=float, title:^(Firefox)$ windowrulev2=size 25% 25%,title:^(Picture-in-Picture)$ #windowrulev2=size 25% 25%,title:^(Firefox)$ windowrulev2=move 72% 7%,title:^(Picture-in-Picture)$ #windowrulev2=move 72% 7%,title:^(Firefox)$ Config File: /home/benclarke/.config/hypr/UserConfigs/UserKeybinds.conf: Read Succeeded # /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # # This is where you put your own keybinds. Be Mindful to check as well ~/.config/hypr/configs/Keybinds.conf to avoid conflict # if you think I should replace the Pre-defined Keybinds in ~/.config/hypr/configs/Keybinds.conf , submit an issue or let me know in DC and present me a valid reason as to why, such as conflicting with global shortcuts, etc etc # See https://wiki.hyprland.org/Configuring/Keywords/ for more settings and variables # See also Laptops.conf for laptops keybinds $mainMod = SUPER $files = thunar $term = warp-terminal $scriptsDir = $HOME/.config/hypr/scripts $UserScripts = $HOME/.config/hypr/UserScripts # rofi App launcher #bindr = $mainMod, $mainMod_L, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window # Super Key to Launch rofi menu bind = $mainMod, D, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window bind = $mainMod, Return, exec, $term # Launch terminal bind = $mainMod, T, exec, $files # pyprland bind = $mainMod SHIFT, Return, exec, pypr toggle term # Dropdown terminal bind = $mainMod, Z, exec, pypr zoom # Toggle Zoom # User Added Keybinds bind = $mainMod SHIFT, O, exec, $UserScripts/ZshChangeTheme.sh # Change oh-my-zsh theme #bind = $mainMod SHIFT, right, movetoworkspace, e+1 #bind = $mainMod SHIFT, left, movetoworkspace, e-1 # For passthrough keyboard into a VM # bind = $mainMod ALT, P, submap, passthru #submap = passthru # to unbind #bind = $mainMod ALT, P, submap, reset #submap = reset Config File: /home/benclarke/.config/hypr/UserConfigs/UserSettings.conf: Read Succeeded # /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ # # User Settings # This is where you put your own settings as this will not be touched during update # refer to Hyprland wiki for more info https://wiki.hyprland.org/Configuring/Variables # Sourcing colors generated by pywal source = $HOME/.cache/wal/colors-hyprland # blurls = waybar # blurls = rofi dwindle { pseudotile = yes preserve_split = yes special_scale_factor = 0.8 } master { #new_is_master=1 new_on_top=1 mfact = 0.5 } general { sensitivity=1.00 apply_sens_to_raw=1 gaps_in = 4 gaps_out = 8 border_size = 2 resize_on_border = true col.active_border = $color0 $color2 $color4 $color6 $color8 90deg col.inactive_border = $backgroundCol layout = master } group { col.border_active = $color15 groupbar { col.active = $color0 } } decoration { rounding = 8 active_opacity = 1.0 inactive_opacity = 0.9 fullscreen_opacity = 1.0 dim_inactive = true dim_strength = 0.1 dim_special = 0.8 drop_shadow=true shadow_range=6 shadow_render_power = 1 col.shadow = $color2 col.shadow_inactive = 0x50000000 blur { enabled = true size = 5 passes = 2 ignore_opacity = true new_optimizations = true special = true } } animations { enabled = yes bezier = myBezier, 0.05, 0.9, 0.1, 1.05 bezier = linear, 0.0, 0.0, 1.0, 1.0 bezier = wind, 0.05, 0.9, 0.1, 1.05 bezier = winIn, 0.1, 1.1, 0.1, 1.1 bezier = winOut, 0.3, -0.3, 0, 1 bezier = slow, 0, 0.85, 0.3, 1 bezier = overshot, 0.7, 0.6, 0.1, 1.1 bezier = bounce, 1.1, 1.6, 0.1, 0.85 bezier = sligshot, 1, -1, 0.15, 1.25 bezier = nice, 0, 6.9, 0.5, -4.20 animation = windowsIn, 1, 5, slow, popin animation = windowsOut, 1, 5, winOut, popin animation = windowsMove, 1, 5, wind, slide animation = border, 1, 10, linear animation = borderangle, 1, 180, linear, loop #used by rainbow borders and rotating colors animation = fade, 1, 5, overshot animation = workspaces, 1, 5, wind animation = windows, 1, 5, bounce, popin } input { kb_layout=ie kb_variant= kb_model= kb_options=grp:alt_shift_toggle kb_rules= repeat_rate=50 repeat_delay=300 numlock_by_default=true left_handed=false follow_mouse=true float_switch_override_focus=false touchpad { disable_while_typing=true natural_scroll=false clickfinger_behavior=false middle_button_emulation=true tap-to-click=true drag_lock=false } } gestures { workspace_swipe=true workspace_swipe_fingers=3 workspace_swipe_distance=400 workspace_swipe_invert=true workspace_swipe_min_speed_to_force=30 workspace_swipe_cancel_ratio=0.5 workspace_swipe_create_new=true workspace_swipe_forever=true } render { explicit_sync = 0 } misc { disable_hyprland_logo = false disable_splash_rendering = true mouse_move_enables_dpms = false #vrr = 0 enable_swallow = true focus_on_activate = false swallow_regex = ^(kitty)$ #disable_autoreload = true } cursor { enable_hyprcursor = true } binds { workspace_back_and_forth=true allow_workspace_cycles=true pass_mouse_when_bound=false } #Could help when scaling and not pixelating xwayland { force_zero_scaling = true } Config File: /home/benclarke/.cache/wal/colors-hyprland: Read Succeeded $foregroundCol = 0xffe2c2da $backgroundCol = 0xff1c161d $color0 = 0xff1c161d $color1 = 0xffB06991 $color2 = 0xffAD7099 $color3 = 0xffC27EAE $color4 = 0xffC986B8 $color5 = 0xffC3A4BD $color6 = 0xffC1A7BF $color7 = 0xffe2c2da $color8 = 0xff9e8798 $color9 = 0xffB06991 $color10 = 0xffAD7099 $color11 = 0xffC27EAE $color12 = 0xffC986B8 $color13 = 0xffC3A4BD $color14 = 0xffC1A7BF $color15 = 0xffe2c2da Config File: /home/benclarke/.config/hypr/UserConfigs/WorkspaceRules.conf: Read Succeeded # You can set workspace rules to achieve workspace-specific behaviors. # For instance, you can define a workspace where all windows are drawn without borders or gaps. # https://wiki.hyprland.org/Configuring/Workspace-Rules/ workspace = 1, name:coding, monitor:eDP-1, default:true workspace = 2, name:Internet/Email, monitor:HDMI-A-2, default:true workspace = 3, name:Slack, monitor:DP-6, default:true #workspace = 3, name:Slack, monitor:HDMI-A-2, default:true ======Config-End======== ```

Description

After version upgrade to .42 external monitors did not display anything but system still recognised as connected, even cursor would go to (disappear) to where monitor is placed in config but nothing is displayed. Something to note: When using env = AQ_DRM_DEVICES,/dev/dri/card1:/dev/dri/card0 in my env variables and swapping what is first, I can use the external display(HDMI via Nvidia) but not the internal display(intel driver) Didi try some debug steps in this discord thread https://discord.com/channels/961691461554950145/1271081188295180319 including adding this env = AQ_MGPU_NO_EXPLICIT,1 to no affect.

How to reproduce

Make sure the device has intel/nvidia dual gpu and have HDMI plugged in.

  1. Upgrade to .42 version
  2. Observe that no output is displayed on external monitor
  3. add env = AQ_DRM_DEVICES,/dev/dri/card1:/dev/dri/card0 to the environment variables(Edit variable to what ever the second gpu card number is)
  4. Restart session
  5. Observe output on external monitor and not on internal monitor

Crash reports, logs, images, videos

hyprlandCrashReport17548.txt hyprlandHDMILog.txt

vaxerski commented 1 month ago

looks like you're using nvidia. Make sure the first defined gpu in the env is the integrated one. Reverse-feeding from Nvidia is impossible due to nvidia's hardware limitations.

benji2512 commented 1 month ago

yes, currently that is the way it is setup. card1 is intel integrated graphics card0 is Nvidia

lspci | grep -E 'VGA|3D'
  00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
  01:00.0 VGA compatible controller: NVIDIA Corporation GA107GLM [RTX A1000 Laptop GPU] (rev a1)
eza -l /dev/dri/by-path/
lrwxrwxrwx@ - root  8 Aug 13:38 pci-0000:00:02.0-card -> ../card1
lrwxrwxrwx@ - root  8 Aug 13:38 pci-0000:00:02.0-render -> ../renderD128
lrwxrwxrwx@ - root  8 Aug 13:38 pci-0000:01:00.0-card -> ../card0
lrwxrwxrwx@ - root  8 Aug 13:38 pci-0000:01:00.0-render -> ../renderD129
vaxerski commented 1 month ago

can you post a trace log? HYPRLAND_TRACE=1 AQ_TRACE=1 Hyprland, and before you launch, make sure debug:disable_logs is disabled (aka logs enabled, by default disable_logs is true). Then attach the log file. See https://wiki.hyprland.org/Crashes-and-Bugs/#getting-the-log for where the log is

benji2512 commented 1 month ago

Attached is the log as requested. External screen is plugged in, verbose logs is enableddebug:disable_logs = false, and ran HYPRLAND_TRACE=1 AQ_TRACE=1 Hyprland in terminal hyprland.log

vaxerski commented 1 month ago

you launched hyprland on a wayland session. Launch it from a tty.

benji2512 commented 1 month ago

Log.zip Sorry, had to zip it as it was over 25MB

vaxerski commented 1 month ago

which ports are the ones that are problematic?

benji2512 commented 1 month ago

HDMI(HDMI-A-2) and USB-C(DP-5/6) USB-C connectivity is absolutely fine other than the video output.

vaxerski commented 1 month ago

HDMI-A-2, DP-5 and DP-6 are all not connected to anything according to the log

benji2512 commented 1 month ago

Both HDMI-A-2 and DP-6 were 100% connected at the time of that log

vaxerski commented 1 month ago

does it stay lit black but enabled or does it show a "no signal" screen?

Also, can you try latest hyprland git?

benji2512 commented 1 month ago

It recognises input, stays active for 3 seconds and goes to sleep. Never a no signal screen. I can try to use hyprland git, unsure of how for Fedora but I'll look at your docs

benji2512 commented 1 month ago

So I pulled latest master, built with meson and ninja(CMake fails), meson setup build -Dbuildtype=debug ninja -C build copied Hyprland, hyprctl, hyprpm binaries to /usr/bin/ and rebooted. Still the same behaviour unfortunately.

vaxerski commented 1 month ago

can you downgrade to 0.41.2 (where it worked) and get a trace log with HYPRLAND_TRACE=1 HYPRLAND_LOG_WLR=1 Hyprland?

romanstingler commented 1 month ago

Curious if this is the same https://github.com/hyprwm/aquamarine/issues/40

vaxerski commented 1 month ago

there are a bunch of issues about black monitors but I don't know how to group them

romanstingler commented 1 month ago

Yes I know, I wish I could help you better I tried with HYPRLAND_EGL_NO_MODIFIERS this doesn't solve the issue.

PS: love the comments

    // FIXME: make sure the buffer actually follows the available scanout dmabuf formats
    // and comes from the appropriate device. This may implode on multi-gpu!!
LRitzdorf commented 4 weeks ago

FWIW, after some (seemingly irrelevant?) updates earlier today, this issue is partially remediated on my dual-GPU system. If the external monitor is present at Hyprland's launch time, it works as expected — but upon being hotplugged, the "black screen" state appears.

The only possibly-related update I can see is mesa (1:24.1.5-2 -> 1:24.1.6-1), in case that helps anyone else. (Edit: this is on Arch)

vaxerski commented 4 weeks ago

please try the above mr

benji2512 commented 4 weeks ago

Screenshot_15-Aug_14-35-47_18080 Eventually managed to get 0.41.2 built here is the logfile as requested with HYPRLAND_TRACE=1 HYPRLAND_LOG_WLR=1 Hyprland from a tty hyprland.log

benji2512 commented 4 weeks ago

Added comments in MR

benji2512 commented 2 weeks ago

After building aquamarine 3.3 and building latest hyprland-git, external monitors work as expected. Will test out for next couple of days and close issue if everything works :+1:

benji2512 commented 2 weeks ago

Haven't had any issues since above message. Closing this as fixed