Display refresh rate 60hz instead of 75hz

Hello dear cachyOSists.

My laptop’s display refresh rate is 75hz. Since I installed Linux, it is 60hz, and I cannot change it, it is stuck at it. Anything I could do to put it back to 75hz? Thanks!

Asus GL702VSK (ROG)
Linux 6.17.5-2-cachyos
KDE Plasma 6.5.0
NVIDIA GeForce GTX 1070 Mobile

Keep in mind I am using AI Inference to assist you with this problem. Please if anyone else with extensive Linux/Arch experience will chime in as well to assist, I am all for it.

  1. Session Type (Critical for KDE Plasma 6.5)

echo $XDG_SESSION_TYPE
Reason: KDE Plasma 6.5 defaults to Wayland, which handles refresh rates differently than X11

  1. Available Display Modes

xrandr --query
Reason: Shows what refresh rates the system actually detects

  1. NVIDIA Settings Refresh Rate Options

Please:

  • Open nvidia-settings
  • Navigate to: X Server Display Configuration
  • Screenshot or report what refresh rates are available in the dropdown

OR command-line:
nvidia-settings -q RefreshRate

  1. Verify Internal Display Name

xrandr --listmonitors
Reason: Need to know if it’s eDP-1, HDMI-0, DP-0, etc.

  1. Check Hybrid Graphics Status

Check if optimus/hybrid graphics is involved

prime-run glxinfo | grep “OpenGL renderer”

Or

glxinfo | grep “OpenGL renderer”
Reason: GL702VSK likely has Intel + NVIDIA hybrid graphics

  1. Power Profile Check

Are you on battery or AC?

cat /sys/class/power_supply/AC*/online
Reason: Some laptops lock to 60Hz on battery


To help troubleshoot this, could you provide the following information?

  1. Are you running Wayland or X11?
    echo $XDG_SESSION_TYPE

  2. What display modes does your system detect?
    xrandr --query
    (Please paste the full output)

  3. What options do you see in nvidia-settings?

  • Open nvidia-settings
  • Go to: X Server Display Configuration
  • What refresh rates appear in the dropdown for your display?
  1. Are you on battery or AC power when testing?
    cat /sys/class/power_supply/AC*/online
    (1 = AC power, 0 = battery)

  2. What’s your GPU rendering setup?
    glxinfo | grep “OpenGL renderer”

These will help identify if it’s a Wayland issue, EDID detection problem, power management, or hybrid graphics configuration.

Hi Kailen_Goddard,

1.Wayland

  1. Screen 0: minimum 16 x 16, current 1920 x 1080, maximum 32767 x 32767
    eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 382mm x 215mm
    1920x1080 59.96*+
    1440x1080 59.99
    1400x1050 59.98
    1280x1024 59.89
    1280x960 59.94
    1152x864 59.96
    1024x768 59.92
    800x600 59.86
    640x480 59.38
    320x240 59.29
    1680x1050 59.95
    1440x900 59.89
    1280x800 59.81
    1152x720 59.97
    960x600 59.96
    928x580 59.88
    800x500 59.50
    768x480 59.90
    720x480 59.71
    640x400 59.95
    320x200 58.14
    1600x900 59.95
    1368x768 59.88
    1280x720 59.86
    1024x576 59.90
    864x486 59.92
    720x400 59.27
    640x350 59.28

3. Not applicable, cannot see those information on Wayland.

With command line nvidia-settings -q RefreshRate, I get ERROR: Error resolving target specification '' (No targets match target specification), specified in query 'RefreshRate'.

4. AC power

5.I don”t have an integrated GPU on my laptop, just a discrete one (GTX 1070).



Also, when running kscreen-doctor -o, here is what I get for the panel of the laptop:

Modes: 31:1920x1080@60.02*! .

And for the second monitor:

Modes: 1:1920x1080@60.00! 2:1920x1080@180.00* 3:1920x1080@144.00 4:1920x1080@119.88 5:1920x1080@120.00
6:1920x1080@59.94 7:1920x1080@50.00 8:1280x1024@75.03 9:1280x1024@60.02 10:1280x720@59.94 11:1280x720@50.00 1
2:1024x768@119.99 13:1024x768@99.97 14:1024x768@75.03 15:1024x768@70.07 16:1024x768@60.00 17:800x600@119.97 18
:800x600@99.66 19:800x600@75.00 20:800x600@72.19 21:800x600@60.32 22:800x600@56.25 23:720x576@50.00 24:720x480
@59.94 25:640x480@119.52 26:640x480@99.77 27:640x480@75.00 28:640x480@72.81 29:640x480@59.94 30:640x480@59.93

We can see that only one mode is available for the panel, mode 31. I cannot even change the resolution. All of that was possible on Windows.

have you tried forcing a refresh rate via wlr-randr in the terminal?? kind of a shot in the dark but might work

I am seeing here a recommendation to login to the X11 interface and then work with the nvidia settings on that side. sometime the wayland system can be a bit off and if you see the same problem on the X11 side as Wayland then let me know. Sometime when you get the settings on the X11 it will then work properly on the Wayland as well.

After downloaded it, when I run wlr-randr or wlr-randr --mod, I get the error message :

error: XDG_RUNTIME_DIR is invalid or not set in the environment.
failed to connect to display

Log in normally on the Ally (the GUI session that’s actually running Wayland / Gamescope / etc.).

Open a terminal inside that session (ex: Konsole, kitty, foot, whatever you shipped).

Run:

echo $XDG_RUNTIME_DIR
echo $WAYLAND_DISPLAY
wlr-randr

That should now work without the error.

If that works, then set 75 Hz with:

wlr-randr --output eDP-1 --mode 1920x1080@75.00

I installed plasma-x11-session, and logged in. In X Server Display Configuration, the only option I have for the laptop panel is Auto or 60hz.

Which GUI do you want to operate in? X11 or KDE?

 echo $XDG_RUNTIME_DIR
  echo $WAYLAND_DISPLAY
  wlr-randr
/run/user/1000
wayland-0
compositor doesn't support wlr-output-management-unstable-v1

I am on Wayland the whole time. I currently do not use the laptop panel, or rarely, when I need two screens.

It is not a big deal, but when I will be on the move, this 60hz refresh rate on the laptop panel will be bad, it hurts the eyes haha. On windows with 75hz there was actually a big difference.

Run:

kscreen-doctor --outputs

Then set refresh rate (for example 75 Hz):

kscreen-doctor output.eDP-1.mode.1920x1080@75

To make it persistent:

kscreen-doctor output.eDP-1.mode.1920x1080@75 > ~/.config/kscreen/force75hz.sh
chmod +x ~/.config/kscreen/force75hz.sh

And add that script to System Settings → Startup & Shutdown → Autostart.

Unlike the external monitor, there is only one mode available for the panel :

Modes: 31:1920x1080@60.02*!

So, when I run kscreen-doctor output.eDP-1.mode.1920x1080@75, it says : Output mode 1920x1080@75 not found.


With 1920x1080@75.00, 800x600@75.00 or 640x480@75.00, it says Unable to parse arguments: output.eDP-1.mode.1920x1080@75.00 , etc …

Create Custom EDID File:
You can create a custom EDID file that includes additional modes, such as 75Hz.
Create an XML file for the custom EDID configuration (e.g., custom-edid.xml):
xml

1920 1080 75.00

Convert the XML to a binary EDID file using xrandr:
xrandr --newmode “custom_1920x1080_75” 169.35 1920 2048 2248 2576 1080 1083 1093 1111 +hsync -vsync
xrandr --addmode eDP-1 custom_1920x1080_75
Replace eDP-1 with the actual name of your display.
Apply Custom Mode:
xrandr --output eDP-1 --mode custom_1920x1080_75
Verify NVIDIA Settings Configuration
If you are still using NVIDIA drivers, ensure that the refresh rate is correctly set via nvidia-settings.
nvidia-settings -a CurrentMetaMode="“eDP-1: 1920x1080@75”
Step-by-Step Instructions for NVIDIA Settings
Open NVIDIA X Server Settings:
nvidia-settings
Navigate to Display Configuration:
Open X Server Display Configuration.
Ensure your display is selected.
Add a custom mode if necessary.
Set the Refresh Rate Manually:
Apply the changes and ensure that 75Hz appears in the refresh rate dropdown.
Persisting Configuration
To persist these settings across reboots, you can add them to your startup scripts or use KDE System Settings:

Create a Startup Script:
Create a script like ~/set_refresh_rate.sh with:

#!/bin/bash
xrandr --newmode “custom_1920x1080_75” 169.35 1920 2048 2248 2576 1080 1083 1093 1111 +hsync -vsync
xrandr --addmode eDP-1 custom_1920x1080_75
xrandr --output eDP-1 --mode custom_1920x1080_75
Make the script executable:
chmod +x ~/set_refresh_rate.sh

Add Script to Startup:
Go to System Settings → Startup and Shutdown → Autostart.
Add the path to your script (~/set_refresh_rate.sh) as a custom command.