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.97k stars 912 forks source link

Hyprland doesn't support refresh rate of 100Hz #7503

Open ZreXoc opened 3 months ago

ZreXoc commented 3 months ago

Regression?

Yes

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: xc-arch 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 Raptor Lake-S UHD Graphics [8086:a788] (rev 04) (prog-if 00 [VGA controller]) 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation AD107M [GeForce RTX 4060 Max-Q / Mobile] [10de:28e0] (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="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/xic/.config/hypr/hyprland.conf: Read Succeeded debug:disable_logs = false #cursor:no_hardware_cursors = false # Sourcing external config files # Default Configs $configs = $HOME/.config/hypr/configs source= $configs/Startup_Apps.conf source= $configs/ENVariables.conf source= $configs/Monitors.conf source= $configs/Laptops.conf source= $configs/LaptopDisplay.conf source= $configs/WindowRules.conf source= $configs/Keybinds0.conf source= $configs/Keybinds1.conf source= $configs/UserSettings.conf Config File: /home/xic/.config/hypr/configs/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 init 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 = pypr & exec-once = waybar & exec-once = nm-applet --indicator & exec-once = swaync & #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 # sway-idle with lock, sleep, and suspend exec-once = swayidle -w timeout 600 '$lock' timeout 900 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' before-sleep '$lock' timeout 1200 'systemctl suspend' resume 'hyprctl dispatch dpms on' # sway-idle with lock, sleep, and no suspend #exec-once = swayidle -w timeout 600 '$lock' timeout 900 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' before-sleep '$lock' # Here are list of features available but disabled by default #exec-once = swww query || swww init && 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 # custom #exec-once = mako exec-once = wal -R exec-once = fcitx5 exec-once = clash-verge exec-once = [workspace 2 silent;float] env GDK_SCALE=2 linuxqq exec-once = updatedb exec = $UserScripts/SetMonitor.sh #exec-once = mpvpaper "*" -o "--playlist=/home/xic/Pictures/wallpapers/dy-playlist.txt input-ipc-server=/tmp/mpv-socket" exec-once = waywe start -m "HDMI-A-1" -p playlist1 -o "no-audio loop-playlist shuffle" exec-once = mpvpaper "eDP-2" -o "no-audio --scripts=/home/xic/Documents/project/waywe/mpv_scripts input-ipc-server=/tmp/waywe-socket save-position-on-quit shuffle --script-opts=waywe-delay=1800 panscan=1.0 vf=hflip loop loop-playlist" $HOME/Pictures/wallpapers/Dynamic-Wallpapers/sub_monitor Config File: /home/xic/.config/hypr/configs/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_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 = HYPRCURSOR_THEME,Bibata-Modern-Ice #env = HYPRCURSOR_SIZE,24 #env = XCURSOR_PATH,$XCURSOR_PATH:~/.icon Config File: /home/xic/.config/hypr/configs/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=,highrr,auto,1 monitor=HDMI-A-1,highrr,auto,1 monitor=eDP-2,highrr,-900x380,auto,transform,3 #monitor=eDP-2,preferred,-1600x400,auto,transform,0 #monitor=eDP-2,preferred,0x0,auto,transform,0 workspace = 1, monitor:HDMI-A-1, default:true, persistent:true workspace = 10, monitor:eDP-2, default:true, persistent:true workspace=eDP-2,0, default:true, persistent: true # unscale XWayland #xwayland { #force_zero_scaling = true #} # toolkit-specific scale #env = GDK_SCALE,2 #env = GDK_DPI_SCALE=0.5 #env = XCURSOR_SIZE,32 # 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=,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/xic/.config/hypr/configs/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 $configs = $HOME/.config/hypr/configs 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" > $configs/LaptopDisplay.conf #bindl = , switch:on:Lid Switch,exec,echo "monitor = eDP-1, disable" > $configs/LaptopDisplay.conf # for laptop-lid action (to erase the last entry) #exec-once = echo "eDP-1, preferred, auto, 1" > $HOME/.config/hypr/configs/LaptopDisplay.conf # Config File: /home/xic/.config/hypr/configs/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/xic/.config/hypr/configs/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 = noblur,gamescope #windowrule = fullscreen,gamescope #windowrule = workspace 6 silent,^(gamescope)$ windowrule = center,^(pavucontrol) # windowrule v2 #windowrulev2 = workspace 1, class:^(thunderbird)$ #windowrulev2 = workspace 2, class:^(firefox)$ #windowrulev2 = workspace 2, class:^(Firefox-esr)$ #windowrulev2 = workspace 2, class:^(Microsoft-edge-beta)$ #windowrulev2 = workspace 3, class:^([Tt]hunar)$ #windowrulev2 = workspace 4, class:^(com.obsproject.Studio)$ windowrulev2 = workspace 5 silent, class:^([Ss]team)$,title:^([Ss]team)$ windowrulev2 = workspace 5 silent, class:^(lutris)$ #windowrulev2 = workspace 6, class:^(virt-manager)$ #windowrulev2 = workspace 7 silent, class:^(discord)$ #windowrulev2 = workspace 7 silent, class:^(WebCord)$ #windowrulev2 = workspace 9 silent, class:^([Aa]udacious)$ windowrulev2 = workspace 6 silent, class:^(RimworldLinux)$ #opacity (transparent) #enable as desired windowrulev2 = stayfocused, 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.95 0.95, class:^(firefox)$ windowrulev2 = opacity 1 1, title:(哔哩哔哩|bilibili) windowrulev2 = opacity 0.9 0.7, class:^(Firefox-esr)$ 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 1 1, class:(kitty) windowrulev2 = opacity 1 1, class:(vim) 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:(neovide) 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.7, class:(clash) layerrule = unset,class:^([Rr]ofi)$ layerrule = blur,class:^([Rr]ofi)$ layerrule = ignorezero, #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)$ windowrulev2=float , title:图片查看器 windowrulev2=size 50% 60%, title:图片查看器 windowrulev2=move onscreen cursor 0% 0%, title:图片查看器 Config File: /home/xic/.config/hypr/configs/Keybinds0.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 ALT, 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 SHIFT, slash, 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 ALT, B, exec, $scriptsDir/ChangeBlur.sh # Toggle blur settings bind = $mainMod SHIFT, G, exec, $scriptsDir/GameMode.sh # animations ON/OFF bind = $mainMod ALT, K, exec, $scriptsDir/SwitchKeyboardLayout.sh # Switch Keyboard Layout 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 # 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, H, exec, pypr layout_center prev bind = $mainMod, L, exec, pypr layout_center next 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 = , Print, exec, hyprshot -m window -o $HOME/Pictures/Screenshots bind = $mainMod, Print, exec, $scriptsDir/ScreenShot.sh --now bind = $mainMod SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --area bind = $mainMod ALT, S, 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, grim -g "$(slurp)" - | swappy -f - # Resize windows binde = $mainMod SHIFT, H, resizeactive,-50 0 binde = $mainMod SHIFT, L, resizeactive,50 0 binde = $mainMod SHIFT, K, resizeactive,0 -50 binde = $mainMod SHIFT, J, 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, tab, exec, pypr change_workspace +1 bind = $mainMod SHIFT, tab, exec, pypr change_workspace -1 # Special workspace bind = $mainMod SHIFT, U, movetoworkspace, special bind = $mainMod, U, togglespecialworkspace, # 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 and follow to workspace 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 bind = $mainMod SHIFT, bracketleft, movetoworkspace, -1 # brackets [ or ] bind = $mainMod SHIFT, bracketright, movetoworkspace, +1 # Move active window to a workspace silently bind = $mainMod CTRL, 1, movetoworkspacesilent, 1 bind = $mainMod CTRL, 2, movetoworkspacesilent, 2 bind = $mainMod CTRL, 3, movetoworkspacesilent, 3 bind = $mainMod CTRL, 4, movetoworkspacesilent, 4 bind = $mainMod CTRL, 5, movetoworkspacesilent, 5 bind = $mainMod CTRL, 6, movetoworkspacesilent, 6 bind = $mainMod CTRL, 7, movetoworkspacesilent, 7 bind = $mainMod CTRL, 8, movetoworkspacesilent, 8 bind = $mainMod CTRL, 9, movetoworkspacesilent, 9 bind = $mainMod CTRL, 0, 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/xic/.config/hypr/configs/Keybinds1.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_L $files = thunar $term = kitty $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 bind = $mainMod, R, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window bind = $mainMod, E, exec, pkill rofi || pypr menu bind = $mainMod, space, exec, pypr toggle term bind = $mainMod SHIFT, F, exec, pypr layout_center toggle bind = $mainMod ALT, T, exec, pkill rofi || pypr fetch_client_menu bind = $mainMod, D, exec, hyprctl kill bind = $mainMod, Return, exec, $term # Launch terminal bind = $mainMod, T, exec, $files # User Added Keybinds bind = $mainMod SHIFT, O, exec, $UserScripts/ZshChangeTheme.sh # Change oh-my-zsh theme # For passthrough keyboard into a VM bind = $mainMod ALT, P, submap, passthru submap = passthru #to unbind bind = $mainMod ALT, P, submap, reset submap = reset bind = $mainMod ALT, 1, exec, neovide bind = $mainMod ALT, 2, exec, firefox --new-window # ============================================================================ # Submap for window ========================================================== $submap = window bind=$mainMod, W, exec, notify-send -u low -t 500 'submap: $submap' bind=$mainMod, W, submap, $submap submap=$submap bind = , X, killactive, bind = , F, fullscreen bind = ALT, F, togglefloating, bind = SHIFT, F, exec, pypr layout_center toggle bind = CTRL ALT, L, exec, $scriptsDir/ChangeLayout.sh # Toggle Master or Dwindle Layout bind = , h, movefocus, l bind = , l, movefocus, r bind = , k, movefocus, u bind = , j, movefocus, d binde = ALT, L, resizeactive,50 0 binde = ALT, H, resizeactive,-50 0 binde = ALT, K, resizeactive,0 -50 binde = ALT, J, resizeactive,0 50 bind = SHIFT, H, movewindow, l bind = SHIFT, L, movewindow, r bind = SHIFT, K, movewindow, u bind = SHIFT, J, movewindow, d bind = , m, exec, pypr shift_monitors +1 bind = , tab, exec, pypr change_workspace +1 bind = SHIFT, tab, exec, pypr change_workspace -1 bind = , period, exec, pypr change_workspace +1 bind = , comma, exec, pypr change_workspace +1 # Switch workspaces with mainMod + [0-9] bind = , 1, workspace, 1 bind = , 2, workspace, 2 bind = , 3, workspace, 3 bind = , 4, workspace, 4 bind = , 5, workspace, 5 bind = , 6, workspace, 6 bind = , 7, workspace, 7 bind = , 8, workspace, 8 bind = , 9, workspace, 9 bind = , 0, workspace, 10 # Move active window and follow to workspace bind = SHIFT, 1, movetoworkspace, 1 bind = SHIFT, 2, movetoworkspace, 2 bind = SHIFT, 3, movetoworkspace, 3 bind = SHIFT, 4, movetoworkspace, 4 bind = SHIFT, 5, movetoworkspace, 5 bind = SHIFT, 6, movetoworkspace, 6 bind = SHIFT, 7, movetoworkspace, 7 bind = SHIFT, 8, movetoworkspace, 8 bind = SHIFT, 9, movetoworkspace, 9 bind = SHIFT, 0, movetoworkspace, 10 bind = , bracketleft, movetoworkspace, -1 # brackets [ or ] bind = , bracketright, movetoworkspace, +1 # Move active window to a workspace silently bind = CTRL, 1, movetoworkspacesilent, 1 bind = CTRL, 2, movetoworkspacesilent, 2 bind = CTRL, 3, movetoworkspacesilent, 3 bind = CTRL, 4, movetoworkspacesilent, 4 bind = CTRL, 5, movetoworkspacesilent, 5 bind = CTRL, 6, movetoworkspacesilent, 6 bind = CTRL, 7, movetoworkspacesilent, 7 bind = CTRL, 8, movetoworkspacesilent, 8 bind = CTRL, 9, movetoworkspacesilent, 9 bind = CTRL, 0, movetoworkspacesilent, 10 bind = CTRL, bracketleft, movetoworkspacesilent, -1 # brackets [ or ] bind = CTRL, bracketright, movetoworkspacesilent, +1 bind = $mainMod, W, exec, notify-send -u low -t 500 'submap: $submap exit' bind = , I, exec, notify-send -u low -t 500 'submap: $submap exit' bind = , space, exec, notify-send -u low -t 500 'submap: $submap exit' bind = , escape, exec, notify-send -u low -t 500 'submap: $submap exit' bind = $mainMod, W, submap,reset bind = , I, submap,reset bind = , space, submap,reset bind = , escape,submap,reset submap=reset # End Submap for Window ====================================================== # ============================================================================ # ============================================================================ # Submap for setting =========================================================== $submap = setting bind=$mainMod, S, exec, notify-send -u low -t 500 'submap: $submap' bind=$mainMod, S, submap, $submap submap=setting bind = , B, exec, $scriptsDir/ChangeBlur.sh # Toggle blur settings bind = , L, exec, $scriptsDir/ChangeLayout.sh # Toggle Marter or Dwindle Layout bind = , equal, exec, $scriptsDir/Volume.sh --inc bind = , minus, exec, $scriptsDir/Volume.sh --dec bind = CTRL, equal, exec, $scriptsDir/Brightness.sh --inc bind = CTRL, minus, exec, $scriptsDir/Brightness.sh --dec bind = $mainMod, S, exec, notify-send -u low -t 500 'submap: $submap exit' bind = , I, exec, notify-send -u low -t 500 'submap: $submap exit' bind = , space, exec, notify-send -u low -t 500 'submap: $submap exit' bind = , escape, exec, notify-send -u low -t 500 'submap: $submap exit' bind = $mainMod, S, submap,reset bind = , I, submap,reset bind = , space, submap,reset bind = , escape,submap,reset submap=reset # End Submap for setting ======================================================= # ============================================================================ Config File: /home/xic/.config/hypr/configs/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_status = master new_on_top=1 mfact = 0.5 } general { sensitivity=1.00 apply_sens_to_raw=1 gaps_in = 2 gaps_out = 7 border_size = 1 resize_on_border = true col.active_border = $color0 $color2 $color4 $color6 $color8 90deg col.inactive_border = $backgroundCol layout = dwindle } group { col.border_active = $color15 groupbar { col.active = $color0 } } decoration { rounding = 3 active_opacity = 1.0 inactive_opacity = 0.9 fullscreen_opacity = 1.0 dim_inactive = false dim_strength = 0.1 drop_shadow=false 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 } } 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, 1, 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, 1, overshot animation = workspaces, 1, 5, wind animation = windows, 1, 5, bounce, popin } input { kb_layout=us kb_variant= kb_model= kb_options=grp:alt_shift_toggle #kb_options=ctrl:nocaps #kb_options=caps:swapescape kb_rules= repeat_rate=50 repeat_delay=300 numlock_by_default=1 left_handed=0 follow_mouse=1 float_switch_override_focus=0 touchpad { disable_while_typing=1 natural_scroll=0 clickfinger_behavior=0 middle_button_emulation=1 tap-to-click=1 drag_lock=0 } } gestures { workspace_swipe=1 workspace_swipe_fingers=3 workspace_swipe_distance=400 workspace_swipe_invert=1 workspace_swipe_min_speed_to_force=30 workspace_swipe_cancel_ratio=0.5 workspace_swipe_create_new=1 workspace_swipe_forever=1 } misc { disable_hyprland_logo = true disable_splash_rendering = true mouse_move_enables_dpms = true #vrr = 0 enable_swallow = true #no_direct_scanout = true #for fullscreen games focus_on_activate = false swallow_regex = ^(kitty)$ #disable_autoreload = true } binds { workspace_back_and_forth=1 allow_workspace_cycles=1 pass_mouse_when_bound=0 } #Could help when scaling and not pixelating xwayland { force_zero_scaling = true } Config File: /home/xic/.cache/wal/colors-hyprland: Read Succeeded $foregroundCol = 0xff3d3d3d $backgroundCol = 0xfff5f5f5 $color0 = 0xfff5f5f5 $color1 = 0xff838387 $color2 = 0xff8d8d91 $color3 = 0xff908f90 $color4 = 0xff9c9a9a $color5 = 0xffa9a5a2 $color6 = 0xffada8a5 $color7 = 0xff7a7a7a $color8 = 0xffb7b7b7 $color9 = 0xffAFAFB4 $color10 = 0xffBCBCC2 $color11 = 0xffC1BFC0 $color12 = 0xffD0CECE $color13 = 0xffabb9c0 $color14 = 0xffc7b7d4 $color15 = 0xffF4BFBD ======Config-End======== ```

Description

I have a monitor which supports the fresh rate of 100Hz (or 99.97Hz):

$ hyprctl monitors
...

Monitor HDMI-A-1 (ID 1):
    2560x1440@74.99900 at 1600x0
    description: Shenzhen KTC Technology Group H27T13
    make: Shenzhen KTC Technology Group
    model: H27T13
    serial: 
    active workspace: 9 (9)
    special workspace: 0 ()
    reserved: 0 34 0 0
    scale: 1.00
    transform: 0
    focused: yes
    dpmsStatus: 1
    vrr: 0
    activelyTearing: false
    disabled: false
    currentFormat: XRGB8888
    availableModes: 2560x1440@60.00Hz 2560x1440@99.97Hz 2560x1440@75.00Hz 1920x1080@75.00Hz 1920x1080@60.00Hz 1920x1080@59.94Hz 1920x1080@50.00Hz 1600x900@60.00Hz 1280x1024@75.03Hz 1280x1024@60.02Hz 1360x765@60.00Hz 1280x720@60.00Hz 1280x720@59.94Hz 1280x720@50.00Hz 1024x768@75.03Hz 1024x768@70.07Hz 1024x768@60.00Hz 800x600@75.00Hz 800x600@72.19Hz 800x600@60.32Hz 800x600@56.25Hz 720x480@59.94Hz 640x480@75.00Hz 640x480@72.81Hz 640x480@59.94Hz 640x480@59.93Hz 

however, I failed to change the refresh rate to 100Hz. I ran hyprctl --batch "keyword monitor HDMI-A-1,2560x1440@100,auto,1;", and hyprctl monitors shows

Monitor HDMI-A-1 (ID 1):
    2560x1440@99.96500 at 0x0
    description: Shenzhen KTC Technology Group H27T13
    make: Shenzhen KTC Technology Group
    model: H27T13
    serial: 
    active workspace: 3 (3)
    special workspace: 0 ()
    reserved: 0 34 0 0
    scale: 1.00
    transform: 0
    focused: no
    dpmsStatus: 1
    vrr: 0
    activelyTearing: false
    disabled: false
    currentFormat: XRGB8888
    availableModes: 2560x1440@60.00Hz 2560x1440@99.97Hz 2560x1440@75.00Hz 1920x1080@75.00Hz 1920x1080@60.00Hz 1920x1080@59.94Hz 1920x1080@50.00Hz 1600x900@60.00Hz 1280x1024@75.03Hz 1280x1024@60.02Hz 1360x765@60.00Hz 1280x720@60.00Hz 1280x720@59.94Hz 1280x720@50.00Hz 1024x768@75.03Hz 1024x768@70.07Hz 1024x768@60.00Hz 800x600@75.00Hz 800x600@72.19Hz 800x600@60.32Hz 800x600@56.25Hz 720x480@59.94Hz 640x480@75.00Hz 640x480@72.81Hz 640x480@59.94Hz 640x480@59.93Hz 

but then the monitor showed "no signal".

In contrast, 60Hz and 75Hz work well.

It used to work in 0.40.0.r156.098ac916-1 and might break after that, but I only thought that was related to highres and highrr at that time. Check my previous issue if necessary: https://github.com/hyprwm/Hyprland/issues/6735

How to reproduce

  1. find a monitor that support 100Hz
  2. run hyprctl --batch "keyword monitor HDMI-A-1,2560x1440@100,auto,1;

Crash reports, logs, images, videos

No response

PancakeTAS commented 3 months ago

This is a virus https://www.virustotal.com/gui/file/ff4d06225722a539064d417e402bf132348ae37dd032084447dd887f5f4c8a8d

ikalco commented 3 months ago

try using hyprland-git and aquamarine-git, there are multiple monitor fixes there

vaxerski commented 3 months ago

as @ikalco said

thanks @PancakeTAS I was a little bit slow to react on this one.

ZreXoc commented 3 months ago

Update to

Hyprland, built from branch main at commit 9c5a37a797ea1f1829859ab5b07016b2f27f739c  (build: fix 32bit builds (7510)).
Date: Mon Aug 26 20:08:30 2024
Tag: v0.42.0-71-g9c5a37a7, commits: 5140

and

aquamarine-git 0.3.3_r200.g3989aa9-1

but it still doesn't work. Is there anything else I should provide?

vaxerski commented 3 months ago

a trace log would be nice https://wiki.hyprland.org/Crashes-and-Bugs/#obtaining-a-trace-log

ZreXoc commented 3 months ago

a trace log would be nice https://wiki.hyprland.org/Crashes-and-Bugs/#obtaining-a-trace-log

trace log

vaxerski commented 3 months ago

this is odd... Are you on latest aquamarine-git and hyprland-git?

ZreXoc commented 3 months ago
hyprland-git 0.42.0.r71.9c5a37a7-1
aquamarine-git 0.3.3_r200.g3989aa9-1

I installed them through AUR, and they should be the latest ones.