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.86k stars 910 forks source link

[Bug] [Regression] [Nvidia] App flickering, white/black screen for few ms in Minecraft #7393

Open DeNice-r opened 3 months ago

DeNice-r commented 3 months ago

Regression?

Yes

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: arch Release: 6.10.5-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Thu, 15 Aug 2024 00:25:30 +0000 GPU information: 27:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA104 [GeForce RTX 3060 Ti Lite Hash Rate] [10de:2489] (rev a1) (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/denys/.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 = ~./confing/hypr/scripts/Startup.sh Config File: /home/denys/.config/hypr/configs/Settings.conf: Read Succeeded Config File: /home/denys/.config/hypr/configs/Keybinds.conf: Read Succeeded # 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, exec, $scriptsDir/KillActiveProcess.sh 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, 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 CTRL, V, exec, $scriptsDir/ClipManager.sh # Clipboard Manager bind = $mainMod SHIFT, N, exec, swaync-client -t -sw # swayNC panel # FEATURES / EXTRAS (UserScripts) bind = $mainMod ALT, 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 = $mainMod SHIFT, W, exec, $UserScripts/WallpaperEffects.sh # Wallpaper Effects by imagemagickWW 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 = $mainMod SHIFT, tab, changegroupactive #change focus to another window # Cycle windows if floating bring to top bind = ALT,Tab,cyclenext bind = ALT,Tab,bringactivetotop # Special Keys / Hot Keys bindel = , xf86audioraisevolume, exec, $scriptsDir/Volume.sh --inc #volume up bindel = , xf86audiolowervolume, exec, $scriptsDir/Volume.sh --dec #volume down bindl = , xf86AudioMicMute, exec, $scriptsDir/Volume.sh --toggle-mic #mute mic bindl = , xf86audiomute, exec, $scriptsDir/Volume.sh --toggle bindl = , xf86Sleep, exec, systemctl suspend # sleep button bindl = , xf86Rfkill, exec, $scriptsDir/AirplaneMode.sh #Airplane mode # media controls using keyboards bindl = , xf86AudioPlayPause, exec, $scriptsDir/MediaCtrl.sh --pause bindl = , xf86AudioPause, exec, $scriptsDir/MediaCtrl.sh --pause bindl = , xf86AudioPlay, exec, $scriptsDir/MediaCtrl.sh --pause bindl = , xf86AudioNext, exec, $scriptsDir/MediaCtrl.sh --nxt bindl = , xf86AudioPrev, exec, $scriptsDir/MediaCtrl.sh --prv bindl = , xf86audiostop, exec, $scriptsDir/MediaCtrl.sh --stop # screenshot + copy area bind = $mainMod SHIFT, S, exec, grimblast --freeze copy area bind = ,Print, exec, grimblast --freeze copy screen # 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/denys/.config/hypr/UserConfigs/Startup_Apps.conf: Read Succeeded #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-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 & exec-once = ags & #exec-once = blueman-applet & #exec-once = rog-control-center & # Startup of apps exec-once = [workspace 1 silent] firefox-developer-edition exec-once = [workspace 5 silent] telegram-desktop # exec-once = [workspace 5 silent] vesktop exec-once = hyprctl dispatch workspace 1 # following apps will be on the main monitor (no it doesn't 😭) exec-once = [workspace 10 silent] kitty #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 & exec-once = ~./confing/hypr/scripts/Startup.sh # Here are list of features available but disabled by default # exec-once = 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/denys/.config/hypr/UserConfigs/ENVariables.conf: Read Succeeded # Environment variables. See https://wiki.hyprland.org/Configuring/Environment-variables/ #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 # xwayland apps scale fix (useful if you are use monitor scaling) # see https://wiki.hyprland.org/Configuring/XWayland/ # toolkit-specific scale # env = GDK_SCALE,2 # firefox env = MOZ_ENABLE_WAYLAND,1 # electron >28 apps (may help) env = ELECTRON_OZONE_PLATFORM_HINT,x11 # NVIDIA # This is from Hyprland Wiki. As a start, WLR_NO_HARDWARE_CURSORS 1 will be activated if nvidia gpu detected 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 env = __GL_GSYNC_ALLOWED, 1 env = __GL_VRR_ALLOWED, 1 # FOR VM and POSSIBLY NVIDIA #env = WLR_NO_HARDWARE_CURSORS,1 #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 Config File: /home/denys/.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 # 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, preferred, auto, 1 #monitor = eDP-1, 2560x1440@165, 0x0, 1 #own screen #monitor = DP-3, 1920x1080@240, auto, 1 #monitor = DP-1, preferred, auto, 1 #monitor = HDMI-A-1, preferred,auto,1 # QEMU-KVM or any virtual box #monitor = Virtual-1, 1920x1080@60,auto,1 # Hi Refresh Rate monitor=DP-1,1920x1080@144,0x0,1 monitor=HDMI-A-1,1920x1080@60,-1920x400,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/denys/.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 # for disabling Touchpad. hyprctl devices to get device name. $Touchpad_Device=asue1209:00-04f3:319f-touchpad binde = , xf86KbdBrightnessDown, exec, $scriptsDir/BrightnessKbd.sh --dec #Keyboard brightness Down binde = , 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) binde = , xf86MonBrightnessDown, exec, $scriptsDir/Brightness.sh --dec binde = , 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 $TOUCHPAD_ENABLED = false device { name = $Touchpad_Device enabled = $TOUCHPAD_ENABLED } # 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/denys/.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/denys/.config/hypr/UserConfigs/WindowRules.conf: Read Succeeded # /* ---- πŸ’« https://github.com/JaKooLit πŸ’« ---- */ # # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more #windowrule = noblur,gamescope #windowrule = fullscreen,gamescope #windowrule = workspace 6 silent,^(gamescope)$ # windowrule center windowrule = center,^(pavucontrol|org.pulseaudio.pavucontrol) # WINDOWRULE v2 # windowrule v2 - position # windowrulev2 = center,floating:1 # warning, it cause even the menu to float and center. windowrulev2 = center, class:([Tt]hunar), title:(File Operation Progress) windowrulev2 = center, class:([Tt]hunar), title:(Confirm to replace files) # windowrule v2 to avoid idle for fullscreen apps windowrulev2 = idleinhibit fullscreen, class:^(*)$ windowrulev2 = idleinhibit fullscreen, title:^(*)$ windowrulev2 = idleinhibit fullscreen, fullscreen:1 # windowrule v2 move to workspace # windowrulev2 = workspace 1, class:^([Tt]hunderbird)$ # windowrulev2 = workspace 2, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr)$ # windowrulev2 = workspace 3, class:^([Tt]hunar)$ # windowrulev2 = workspace 4, class:^(com.obsproject.Studio)$ # windowrulev2 = workspace 5, class:^([Ss]team)$ # windowrulev2 = workspace 5, class:^([Ll]utris)$ # windowrulev2 = workspace 7, class:^([Dd]iscord)$ # windowrulev2 = workspace 7, class:^([Ww]ebCord)$ # windowrulev2 = workspace 7, class:^([Vv]esktop)$ # windowrulev2 = workspace 7, class:^([Ff]erdium)$ # windowrulev2 = workspace 7, class:^([Ww]hatsapp-for-linux)$ # windowrule v2 move to workspace (silent) # windowrulev2 = workspace 6 silent, class:^(virt-manager)$ # windowrulev2 = workspace 9 silent, class:^([Aa]udacious)$ # windowrule v2 - float windowrulev2 = float, class:^(org.kde.polkit-kde-authentication-agent-1)$ 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) windowrulev2 = float, class:(codium|codium-url-handler|VSCodium), title:(Add Folder to Workspace) windowrulev2 = float, class:^([Rr]ofi)$ windowrulev2 = float, class:^(eog)$ windowrulev2 = float, class:^(pavucontrol|org.pulseaudio.pavucontrol)$ windowrulev2 = float, class:^(nwg-look|qt5ct|qt6ct|mpv)$ windowrulev2 = float, class:^(nm-applet|nm-connection-editor|blueman-manager)$ windowrulev2 = float, class:^(gnome-system-monitor|org.gnome.SystemMonitor)$ # system monitor windowrulev2 = float, class:^(yad)$ # icon browser windowrulev2 = float, class:^(wihotspot-gui)$ # wifi hotspot windowrulev2 = float, class:^(evince)$ # document viewer windowrulev2 = float, class:^(file-roller|org.gnome.FileRoller)$ # archive manager windowrulev2 = float, class:^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer windowrulev2 = float, title:(Kvantum Manager) windowrulev2 = float, class:^([Ss]team)$,title:^((?![Ss]team).*|[Ss]team [Ss]ettings)$ windowrulev2 = float, class:^([Qq]alculate-gtk)$ # windowrulev2 = float, class:^([Ff]erdium)$ # windowrule v2 - opacity #enable as desired # windowrulev2 = opacity 0.9 0.6, class:^([Rr]ofi)$ # windowrulev2 = opacity 0.9 0.7, class:^(Brave-browser(-beta|-dev)?)$ # windowrulev2 = opacity 0.9 0.7, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr)$ # windowrulev2 = opacity 0.9 0.8, class:^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable)?)$ # windowrulev2 = opacity 0.9 0.8, class:^(google-chrome(-beta|-dev|-unstable)?)$ # windowrulev2 = opacity 0.94 0.86, 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.8 0.7, class:^(gedit|org.gnome.TextEditor)$ # 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:^(VSCodium|codium-url-handler)$ # windowrulev2 = opacity 0.9 0.8, class:^(nwg-look|qt5ct|qt6ct|yad)$ # windowrulev2 = opacity 0.9 0.8, title:(Kvantum Manager) # 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:^(VSCode|code-url-handler)$ # windowrulev2 = opacity 0.9 0.8, class:^(jetbrains-.+)$ # JetBrains IDEs # windowrulev2 = opacity 0.94 0.86, class:^([Dd]iscord|[Vv]esktop)$ # windowrulev2 = opacity 0.9 0.8, class:^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$ # windowrulev2 = opacity 0.94 0.86, class:^(gnome-disks|evince|wihotspot-gui|org.gnome.baobab)$ # windowrulev2 = opacity 0.9 0.8, class:^(file-roller|org.gnome.FileRoller)$ # archive manager # windowrulev2 = opacity 0.8 0.7, class:^(app.drey.Warp)$ # Warp file transfer # windowrulev2 = opacity 0.9 0.8, class:^(seahorse)$ # gnome-keyring gui # windowrulev2 = opacity 0.82 0.75, class:^(gnome-system-monitor|org.gnome.SystemMonitor)$ # windowrulev2 = opacity 0.9 0.8, class:^(xdg-desktop-portal-gtk)$ # gnome-keyring gui # windowrulev2 = opacity 0.9 0.7, class:^([Ww]hatsapp-for-linux)$ # windowrulev2 = opacity 0.9 0.7, class:^([Ff]erdium)$ # windowrule v2 - size # windowrulev2 = size 70% 70%, class:^(gnome-system-monitor|org.gnome.SystemMonitor)$ # windowrulev2 = size 70% 70%, class:^(xdg-desktop-portal-gtk)$ # windowrulev2 = size 60% 70%, title:(Kvantum Manager) # windowrulev2 = size 60% 70%, class:^(qt6ct)$ # windowrulev2 = size 70% 70%, class:^(evince|wihotspot-gui)$ # windowrulev2 = size 60% 70%, class:^(file-roller|org.gnome.FileRoller)$ # windowrulev2 = size 60% 70%, class:^([Ww]hatsapp-for-linux)$ # windowrulev2 = size 60% 70%, class:^([Ff]erdium)$ #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/denys/.config/hypr/UserConfigs/UserKeybinds.conf: Read Succeeded # 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 = kitty $scriptsDir = $HOME/.config/hypr/scripts $UserScripts = $HOME/.config/hypr/UserScripts # matrix workspace bind = $mainMod ALT, left, exec, ~/.config/hypr/scripts/Matrix.sh left bind = $mainMod ALT, right, exec, ~/.config/hypr/scripts/Matrix.sh right bind = $mainMod ALT, up, exec, ~/.config/hypr/scripts/Matrix.sh up bind = $mainMod ALT, down, exec, ~/.config/hypr/scripts/Matrix.sh down # rofi App launcher bind = $mainMod, Space, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window # Super Key to Launch rofi menu # bind = $mainMod, Space, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window # ags overview bind = $mainMod, A, exec, pkill rofi || true && ags -t 'overview' bind = $mainMod, T, exec, $term # Launch terminal bind = $mainMod, Y, exec, $files # Launch file manager # needs additional setup (unusable with current rofi config, e.g. no searchbar) #bind = $mainMod ALT, C, exec, $UserScripts/RofiCalc.sh # calculator (qalculate) # pyprland bind = $mainMod ALT, T, exec, pypr toggle term # Dropdown terminal bind = $mainMod, Z, exec, pypr zoom # Toggle Zoom bind = , F12, exec, pamixer --default-source -t # bind = CTRL SHIFT ALT, J, exec, 😭 # 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/denys/.config/hypr/UserConfigs/UserSettings.conf: Read Succeeded #y User Settings # This is where you put your own settings as this will not be touched during update # if the upgrade.sh is used. # refer to Hyprland wiki for more info https://wiki.hyprland.org/Configuring/Variables # Sourcing colors generated by wallust source = $HOME/.config/hypr/wallust/wallust-hyprland.conf # 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 = 2 gaps_out = 0 border_size = 0 resize_on_border = true # col.active_border = $color0 $color2 $color9 $color12 $color15 90deg col.active_border = rgb(111111) col.inactive_border = $backgroundCol layout = dwindle } group { col.border_active = $color15 groupbar { col.active = $color0 } } decoration { rounding = 10 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 = $color12 col.shadow = 0xaabbff col.shadow_inactive = 0x50000000 blur { enabled = true size = 6 passes = 2 ignore_opacity = true new_optimizations = true special = true } } animations { enabled = yes 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 = liner, 1, 1, 1, 1 animation = windows, 1, 4, wind, slide animation = windowsIn, 1, 4, winIn, popin animation = windowsOut, 1, 4, winOut, slide animation = windowsMove, 1, 3, wind, slide animation = border, 1, 1, liner # animation = borderangle, 1, 180, liner, loop #used by rainbow borders and rotating colors animation = fade, 1, 10, default animation = workspaces, 1, 5, wind } input { kb_layout=us,ua 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 } 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 } misc { disable_hyprland_logo = true disable_splash_rendering = true mouse_move_enables_dpms = true vrr = 2 enable_swallow = true # no_direct_scanout = true render_ahead_of_time = false focus_on_activate = false swallow_regex = ^(kitty)$ #disable_autoreload = true } opengl { nvidia_anti_flicker = false } 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 # } # cursor section for Hyprland v0.41.0 or newer cursor { enable_hyprcursor = true no_hardware_cursors = false # recommended to be set to true, but caused mouse stutter no_break_fs_vrr = true min_refresh_rate = 60 } Config File: /home/denys/.config/hypr/wallust/wallust-hyprland.conf: Read Succeeded $background = rgb(050505) $foreground = rgb(ECE0EB) $color0 = rgb(050505) $color1 = rgb(292446) $color2 = rgb(35334F) $color3 = rgb(483C8C) $color4 = rgb(50429E) $color5 = rgb(5C74A2) $color6 = rgb(977C95) $color7 = rgb(DCCADB) $color8 = rgb(9A8D99) $color9 = rgb(362F5E) $color10 = rgb(464469) $color11 = rgb(6050BB) $color12 = rgb(6A58D2) $color13 = rgb(7B9AD8) $color14 = rgb(C9A5C7) $color15 = rgb(DCCADB) Config File: /home/denys/.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/ # Assigning workspace to a certain monitor # workspace = 1, monitor:eDP-1 # workspace = 2, monitor:DP-2 # example rules (from wiki) # workspace = 3, rounding:false, decorate:false # workspace = name:coding, rounding:false, decorate:false, gapsin:0, gapsout:0, border:false, decorate:false, monitor:DP-1 # workspace = 8,bordersize:8 # workspace = name:Hello, monitor:DP-1, default:true # workspace = name:gaming, monitor:desc:Chimei Innolux Corporation 0x150C, default:true # workspace = 5, on-created-empty:[float] firefox # workspace = special:scratchpad, on-created-empty:foot ======Config-End======== ```

Specs: Ryzen 7 5800X, RTX 3060Ti, 32GB 3200MHz. Latest stable proprietary nvidia-dkms driver (555.58.02-1)

Description

Issues started on version 0.42 and persist on hyprland-git.

  1. Kitty (very often) and prism launcher (very rarely) started tearing similarly to chromium apps on wayland with 555 drivers.
  2. Minecraft display full screen of same color (white for java 8 version and black for 17 and 21) for a brief moment randomly. The game is playable, but the more there is going on around me and the more I move, the more I get of these flashbangs (around 5 in 10 minutes for an empty vanilla world and around 5 in a minute for heavily modded older world). I tested versions 1.7.10 (java 8), 1.7.10 with GregTech: New Horizons (java 17), 1.19.4 (java 17) and 1.21.1 (java 21).

Installing 0.41.2-3 (latest version in my pacman cache) resolves both issues. Additionally, no other games I played seem to have the issue (Skyrim, ROTMG, The Finals), so I assume this is specific to either OpenGL or Minecraft (unfortunately I have no other OpenGL games laying around).

How to reproduce

  1. Install hyprland 0.42+
  2. Install minecraft 1.7.10, 1.19.4, or 1.21.1 (I use prism launcher for this)
  3. Launch the game, create a new world, play. To provoke more issues, I was flying around and breaking blocks a lot, but not sure if it had any effect different from just walking around as normal.

Crash reports, logs, images, videos

No response

vaxerski commented 3 months ago

can you try disabling explicit_sync?

DeNice-r commented 3 months ago

It fixed issues with the game, though kitty is still flickering. I'll be able to turn on explicit sync when I update to 560 driver, right? UPD: tried the 560 driver, with explicit sync on I have issue with the game, with it off I have flickering, but not both (or so it seems).

danielah05 commented 3 months ago

having a similar issue in minecraft, for me my game flickers black for a split second whenever i move my mouse in game, other than that its fine, im on the latest arch kernel and on nvidia 555.58 with a gtx 980

Edgars-Cirulis commented 2 months ago

Regression?

Yes

System Info and Version

System/Version info Specs: Ryzen 7 5800X, RTX 3060Ti, 32GB 3200MHz. Latest stable proprietary nvidia-dkms driver (555.58.02-1)

Description

Issues started on version 0.42 and persist on hyprland-git.

  1. Kitty (very often) and prism launcher (very rarely) started tearing similarly to chromium apps on wayland with 555 drivers.
  2. Minecraft display full screen of same color (white for java 8 version and black for 17 and 21) for a brief moment randomly. The game is playable, but the more there is going on around me and the more I move, the more I get of these flashbangs (around 5 in 10 minutes for an empty vanilla world and around 5 in a minute for heavily modded older world). I tested versions 1.7.10 (java 8), 1.7.10 with GregTech: New Horizons (java 17), 1.19.4 (java 17) and 1.21.1 (java 21).

Installing 0.41.2-3 (latest version in my pacman cache) resolves both issues. Additionally, no other games I played seem to have the issue (Skyrim, ROTMG, The Finals), so I assume this is specific to either OpenGL or Minecraft (unfortunately I have no other OpenGL games laying around).

How to reproduce

  1. Install hyprland 0.42+
  2. Install minecraft 1.7.10, 1.19.4, or 1.21.1 (I use prism launcher for this)
  3. Launch the game, create a new world, play. To provoke more issues, I was flying around and breaking blocks a lot, but not sure if it had any effect different from just walking around as normal.

Crash reports, logs, images, videos

No response

Still an issue on latest git?

DeNice-r commented 2 months ago

@Edgars-Cirulis yes

Edgars-Cirulis commented 2 months ago

@Edgars-Cirulis yes

That's an issue with Hyprland Explicit sync implementation. Try to disable it.

DeNice-r commented 2 months ago

@Edgars-Cirulis yeah, as I mentioned above, kitty starts flickering when I turn it off πŸ˜‘

Edgars-Cirulis commented 2 months ago

@Edgars-Cirulis yeah, as I mentioned above, kitty starts flickering when I turn it off πŸ˜‘

Well. Dunno if vaxry would care about it. I bet he will response Nvidia or Xwayland issue.

We both (You might know) that it doesn't happen on any other Wayland compositor which has explicit sync.

naomieow commented 2 months ago

Can confirm, Minecraft flickers when explicit sync is enabled - but only with the hyprland compositor.