Refresh rate always default to 60hz

My problem is that I cannot permanently change the refresh rate of my monitor. I'm able to change it via the Monitor Settings but on the next reboot it will default to 60hz!

The save button in the below screenshot doesn't seem to have any effect:
image

System:
  Kernel: 5.17.9-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 12.1.0
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=ce118470-4f53-49b9-b500-9ddd71f75162 rw [email protected]
    quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
    systemd.unified_cgroup_hierarchy=1 loglevel=3
  Desktop: i3 v: 4.20.1 info: i3bar vt: 7 dm: LightDM v: 1.30.0
    Distro: Garuda Linux base: Arch Linux
Machine:
  Type: Desktop Mobo: Micro-Star model: B450-A PRO (MS-7B86) v: 2.0
    serial: <superuser required> UEFI: American Megatrends v: A.21
    date: 09/20/2018
CPU:
  Info: model: AMD Ryzen 5 2600 bits: 64 type: MT MCP arch: Zen+
    family: 0x17 (23) model-id: 8 stepping: 2 microcode: 0x800820D
  Topology: cpus: 1x cores: 6 tpc: 2 threads: 12 smt: enabled cache:
    L1: 576 KiB desc: d-6x32 KiB; i-6x64 KiB L2: 3 MiB desc: 6x512 KiB
    L3: 16 MiB desc: 2x8 MiB
  Speed (MHz): avg: 3540 high: 3873 min/max: 1550/3400 boost: enabled
    scaling: driver: acpi-cpufreq governor: performance cores: 1: 3567 2: 3258
    3: 3405 4: 3358 5: 3330 6: 2614 7: 3755 8: 3838 9: 3873 10: 3841 11: 3856
    12: 3791 bogomips: 81590
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities:
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: spec_store_bypass
    mitigation: Speculative Store Bypass disabled via prctl
  Type: spectre_v1
    mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2
    mitigation: Retpolines, IBPB: conditional, STIBP: disabled, RSB filling
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: NVIDIA GP107 [GeForce GTX 1050 Ti] vendor: Micro-Star MSI
    driver: nvidia v: 515.43.04 alternate: nouveau,nvidia_drm non-free: 515.xx+
    status: current (as of 2022-05) arch: Pascal pcie: gen: 3 speed: 8 GT/s
    lanes: 16 bus-ID: 1c:00.0 chip-ID: 10de:1c82 class-ID: 0300
  Display: x11 server: X.Org v: 21.1.3 driver: X: loaded: nvidia
    unloaded: modesetting alternate: fbdev,nouveau,nv,vesa gpu: nvidia
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 92 s-size: 530x301mm (20.87x11.85")
    s-diag: 610mm (24")
  Monitor-1: HDMI-0 res: 1920x1080 dpi: 93 size: 527x296mm (20.75x11.65")
    diag: 604mm (23.8") modes: N/A
  Message: Unable to show GL data. Required tool glxinfo missing.
Audio:
  Device-1: NVIDIA GP107GL High Definition Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
    bus-ID: 1c:00.1 chip-ID: 10de:0fb9 class-ID: 0403
  Device-2: AMD Family 17h HD Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
    bus-ID: 1e:00.3 chip-ID: 1022:1457 class-ID: 0403
  Sound Server-1: ALSA v: k5.17.9-zen1-1-zen running: yes
  Sound Server-2: JACK v: 1.9.21 running: no
  Sound Server-3: PulseAudio v: 15.0 running: yes
  Sound Server-4: PipeWire v: 0.3.51 running: yes
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Micro-Star MSI driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: f000 bus-ID: 18:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp24s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  IF-ID-1: br-c38dd7569bf8 state: down mac: <filter>
  IF-ID-2: br-c473b5e2278b state: down mac: <filter>
  IF-ID-3: br-c573e5d4dcb3 state: down mac: <filter>
  IF-ID-4: docker0 state: down mac: <filter>
Drives:
  Local Storage: total: 1.59 TiB used: 237.35 GiB (14.6%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Kingston model: SA2000M8500G
    size: 465.76 GiB block-size: physical: 512 B logical: 512 B
    speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter> rev: S5Z42105
    temp: 37.9 C scheme: MBR
  ID-2: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 860 EVO 250GB
    size: 232.89 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    type: SSD serial: <filter> rev: 1B6Q scheme: GPT
  ID-3: /dev/sdb maj-min: 8:16 vendor: Western Digital
    model: WD10EZEX-08WN4A0 size: 931.51 GiB block-size: physical: 4096 B
    logical: 512 B speed: 6.0 Gb/s type: HDD rpm: 7200 serial: <filter>
    rev: 1A02 scheme: GPT
Partition:
  ID-1: / raw-size: 195.31 GiB size: 195.31 GiB (100.00%)
    used: 51.53 GiB (26.4%) fs: btrfs dev: /dev/nvme0n1p3 maj-min: 259:3
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 604 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 254.16 GiB size: 254.16 GiB (100.00%)
    used: 43.07 GiB (16.9%) fs: btrfs dev: /dev/nvme0n1p4 maj-min: 259:4
  ID-4: /var/log raw-size: 195.31 GiB size: 195.31 GiB (100.00%)
    used: 51.53 GiB (26.4%) fs: btrfs dev: /dev/nvme0n1p3 maj-min: 259:3
  ID-5: /var/tmp raw-size: 195.31 GiB size: 195.31 GiB (100.00%)
    used: 51.53 GiB (26.4%) fs: btrfs dev: /dev/nvme0n1p3 maj-min: 259:3
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 31.36 GiB used: 2.2 MiB (0.0%)
    priority: 100 dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 42.0 C mobo: 34.0 C gpu: nvidia temp: 38 C
  Fan Speeds (RPM): fan-1: 1437 fan-2: 1549 fan-3: 0 fan-4: 926 fan-5: 1002
    fan-6: 0 gpu: nvidia fan: 35%
Info:
  Processes: 432 Uptime: 10h 57m wakeups: 0 Memory: 31.36 GiB
  used: 18.71 GiB (59.7%) Init: systemd v: 250 tool: systemctl Compilers:
  gcc: 12.1.0 Packages: 1608 pacman: 1599 lib: 344 flatpak: 9 Shell: Zsh
  v: 5.9 running-in: alacritty inxi: 3.3.16
Garuda (2.6.3-2):
  System install date:     2021-10-07
  Last full system update: 2022-05-22
  Is partially upgraded:   No
  Relevant software:       NetworkManager
  Windows dual boot:       Probably (Run as root to verify)
  Snapshots:               Snapper
  Failed units:            bluetooth-autoconnect.service

I don't use i3, but I am sure you need to find (or add new) the configuration line in i3 config (whatever that is...) that is using an xrandr command and modify to your preferred setting.
The screenshot looks like from arandr. If so, IIRC it can save the xrandr command in a file. Did you try?

3 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.

Hey sorry for the late response i was away.

I had to do what you said. I have put this in my i3 config

exec --no-startup-id "xrandr --output HDMI-0 --mode 1920x1080 --rate 144"

Is it working now as expected?
If so, choose a post as a solution.
If not, explain.

1 Like

what works for me is using

sudo nvidia-settings

and saving that file
to both

/etc/x11/xorg.conf
and /etc/X11/xorg.conf.d/20-nvidia.conf

i.e

fix your settings in sudo nvidia-settings how you prefer

save to default location /etc/X11/xorg.conf

apply settings

which doesn't do anything but annoy you because your DE overrides it anyways
then

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.d/20-nvidia.conf

to copy that cfg file to the proper location where it gets read/used
how it is supposed to be when you restart

also you can learn about how your desktop environment handles display
with some documentation online

for me in xfce, i have display settings, that don't save, unless I use

sudo xfce4-display-settings

which in garuda is broken for some reason, I havent figured out yet

but, the first method I mentioned works, so I don't even have to worrry about it.

Have fun :grimacing:

3 Likes

Maybe @Yorper can look after it and see if there is a solution?

1 Like

I was just thinking about how to fix the issue more broadly

the error you get in garuda from sudo xfce4-display-settings is..

(xfce4-display-settings:52560): xfce4-display-settings-ERROR **: 10:07:15.876: Failed to connect to xfconf daemon: Error spawning command line “dbus-launch --autolaunch=d5d01a39621e464bba6e6f7dd4dde23d --binary-syntax --close-stderr”: Child process exited with code 1.
Trace/breakpoint trap

Which is great to use, but then there is the problem of nvidia-settings
not saving or being applied with the gui's defaults.

Right now it seems that the design is such that xorg or your desktop
environment overrides your graphics settings, unless you manually
create 20-nvidia.conf in /etc/x11/xorg.conf.d or go into your
sudo nvidia-settings gui every boot up and apply the settings again.

Which there is almost no talk about whatsoever, except this out of the way steam forum post from like 5 years ago about tweaking your debian system for gaming that I found the other day researching the subject.

before I found the fix

or understood the sudo command to

run xfce display settings
(after looking up its documentation on the xfce website)

I would go into the display settings gui apply settings (with higher refresh rate) every bootup

I use a gaming monitor, and most people dont even know what that is
or a higher refresh rate...

then go into nvidia settings and apply them to make sure they apply

now, the proper way, imo is to simply use the sudo nvidia-settings
and copy/rename the xorg.conf

Are you sure you are answering to the correct topic? I don't see anything relevant in your post.

Also, you are proposing wrong and possibly destructive advice.
Maybe you have misunderstood how Xorg works in Archlinux. I think you may improve your understanding, if you read more man and wiki pages, about Xorg, xfce, sudo and nvidia.

Wrong. There should be no such file in Archlinux system, unless there are specific (very rare) reasons for it.

Wrong. It's the opposite. That's why this file should not be used, as already said.

This command acts at a user level, user being root, saving at /root/ user directory.
If using sudo to modify a normal user's setting and succeed, then you have broken this user's directory/files ownership, making it unusable for an unknown extent.


It would be better to advice on sectors you are really sure you know well and have confirmed with Archwiki info :wink:

Stay safe!

No that's what solves the problem actually...

which is "Refresh rate always default to 60hz"

and is ideal for people with nvidia card/driver

as opposed to using their desktop environments specific
methods for altering display

I found the arch wiki page about it, if you need more information
https://wiki.archlinux.org/title/Xorg#Using_xorg.conf

Just to reiterate, this applies to every desktop environment
in the context of using an nvidia GPU and driver

the proper way to save display settings, and have them applied every reboot

is to copy /etc/x11/xorg.conf

which is the file you create after saving your desired
nvidia settings after invoking

sudo nvidia-settings

to

/etc/X11/xorg.conf.d/20-nvidia.conf

by using this command

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.d/20-nvidia.conf

which copies and renames your display configuration
into the folder designed for users to invoke their own
custom settings which then automatically applies itself
after every reboot, no matter what desktop environment
you use.

Try it!

This answer solves my issue. But be aware that is specific to i3 WM and it doesn't consider GPU brand etc.
Using xrandr you can specify the desired --mode and fps rate --rate. Notice that these settings apply for the specific HDMI-0 --output. So first find your output with xrandr --listmonitors and then specific modes available can be found with xrandr --screen 0 . The 0 is in my example. So find the correct number from the --listmonitors command.

After you find the correct output and settings, put the command as shown in the Solution in the i3/config file after the #autostart section .

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.