Setting screen refresh rate on a laptop

hello
i am trying to set refresh rate of my laptop because its stuck at 40hz without any success
i did try editing ~/.local/share/kscreen/* and setting the hz to 165 but it reverts on reboot and never actually works
i did try

cvt 2560 1440 165
xrandr --newmode "2560x1440_165.00"  938.50  2560 2792 3072 3584  1440 1443 1448 1588 -hsync +vsync
xrandr --addmode eDP-1 2560x1440_165.00
xrandr --output eDP-1 --mode "2560x1440_165.00"

screen blinks for a bit but its still 40hz after

garuda-inxi
System:
Kernel: 5.17.1-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 11.2.0
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=9e5f3ce0-1150-45df-9ae2-1df2dc564966 rw rootflags=subvol=@
quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
resume=UUID=771f3b39-4d0e-49cc-8cb6-7480bd60c7cf loglevel=3
Desktop: KDE Plasma v: 5.24.4 tk: Qt v: 5.15.3 info: latte-dock
wm: kwin_x11 vt: 1 dm: SDDM Distro: Garuda Linux base: Arch Linux
Machine:
Type: Laptop System: SchenkerGmbH product: XMG NEO (TGL/M21) v: Standard
serial: <superuser required>
Mobo: NB02 model: GMxTGxx v: Standard serial: <superuser required>
UEFI: American Megatrends LLC. v: N.1.07A02 date: 09/07/2021
Battery:
ID-1: BAT0 charge: 93.5 Wh (100.0%) condition: 93.5/93.5 Wh (100.0%)
volts: 12.9 min: 11.4 model: standard type: Li-ion serial: <filter>
status: full
CPU:
Info: model: 11th Gen Intel Core i7-11800H bits: 64 type: MT MCP
arch: Tiger Lake family: 6 model-id: 0x8D (141) stepping: 1 microcode: 0x3C
Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
L1: 640 KiB desc: d-8x48 KiB; i-8x32 KiB L2: 10 MiB desc: 8x1.2 MiB
L3: 24 MiB desc: 1x24 MiB
Speed (MHz): avg: 2281 high: 4500 min/max: 800/4600 scaling:
driver: intel_pstate governor: powersave cores: 1: 2780 2: 1306 3: 2177
4: 1594 5: 2243 6: 3884 7: 1727 8: 801 9: 2529 10: 3157 11: 829 12: 4500
13: 1410 14: 3255 15: 1072 16: 3235 bogomips: 73728
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
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: Enhanced IBRS, IBPB: conditional, RSB filling
Type: srbds status: Not affected
Type: tsx_async_abort status: Not affected
Graphics:
Device-1: Intel TigerLake-H GT1 [UHD Graphics] vendor: Tongfang Hongkong
driver: i915 v: kernel ports: active: eDP-1 empty: DP-1 bus-ID: 00:02.0
chip-ID: 8086:9a60 class-ID: 0300
Device-2: NVIDIA GA106M [GeForce RTX 3060 Mobile / Max-Q]
vendor: Tongfang Hongkong driver: nvidia v: 510.60.02
alternate: nouveau,nvidia_drm pcie: gen: 1 speed: 2.5 GT/s lanes: 16
link-max: gen: 4 speed: 16 GT/s ports: active: none
empty: DP-2, DP-3, HDMI-A-1, eDP-2 bus-ID: 01:00.0 chip-ID: 10de:2520
class-ID: 0300
Device-3: Chicony HD Webcam type: USB driver: uvcvideo bus-ID: 3-13:4
chip-ID: 04f2:b71a class-ID: 0e02 serial: <filter>
Display: x11 server: X.Org v: 21.1.3 with: Xwayland v: 22.1.1
compositor: kwin_x11 driver: X: loaded: modesetting,nvidia gpu: i915
display-ID: :0 screens: 1
Screen-1: 0 s-res: 2560x1440 s-dpi: 96 s-size: 677x381mm (26.65x15.00")
s-diag: 777mm (30.58")
Monitor-1: eDP-1 model: BOE Display 0x0974 built: 2020 res: 2560x1440
hz: 40 dpi: 189 gamma: 1.2 size: 344x194mm (13.54x7.64")
diag: 395mm (15.5") ratio: 16:9 modes: 2560x1440
OpenGL: renderer: Mesa Intel UHD Graphics (TGL GT1) v: 4.6 Mesa 22.0.1
direct render: Yes
Audio:
Device-1: Intel Tiger Lake-H HD Audio vendor: Tongfang Hongkong
driver: snd_hda_intel v: kernel alternate: snd_sof_pci_intel_tgl
bus-ID: 00:1f.3 chip-ID: 8086:43c8 class-ID: 0403
Device-2: NVIDIA vendor: Tongfang Hongkong driver: snd_hda_intel
v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 16 link-max: gen: 4
speed: 16 GT/s bus-ID: 01:00.1 chip-ID: 10de:228e class-ID: 0403
Sound Server-1: ALSA v: k5.17.1-zen1-1-zen running: yes
Sound Server-2: PulseAudio v: 15.0 running: no
Sound Server-3: PipeWire v: 0.3.49 running: yes
Network:
Device-1: Intel Tiger Lake PCH CNVi WiFi driver: iwlwifi v: kernel
bus-ID: 00:14.3 chip-ID: 8086:43f0 class-ID: 0280
IF: wlo1 state: down mac: <filter>
Device-2: Realtek RTL8125 2.5GbE vendor: Tongfang Hongkong driver: r8169
v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1 port: 3000 bus-ID: 2e:00.0
chip-ID: 10ec:8125 class-ID: 0200
IF: enp46s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Bluetooth:
Device-1: Intel AX201 Bluetooth type: USB driver: btusb v: 0.8
bus-ID: 3-14:5 chip-ID: 8087:0026 class-ID: e001
Report: bt-adapter ID: hci0 rfk-id: 0 state: up address: <filter>
Drives:
Local Storage: total: 1.82 TiB used: 151.27 GiB (8.1%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Seagate
model: FireCuda 510 SSD ZP1000GM30001 size: 931.51 GiB block-size:
physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD
serial: <filter> rev: STES1024 temp: 36.9 C scheme: GPT
ID-2: /dev/sda maj-min: 8:0 type: USB vendor: Samsung model: PSSD T7
size: 931.51 GiB block-size: physical: 512 B logical: 512 B type: SSD
serial: <filter> scheme: GPT
SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure?
Partition:
ID-1: / raw-size: 897.01 GiB size: 897.01 GiB (100.00%)
used: 151.27 GiB (16.9%) fs: btrfs dev: /dev/sda2 maj-min: 8:2
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 576 KiB (0.2%) fs: vfat dev: /dev/sda1 maj-min: 8:1
ID-3: /home raw-size: 897.01 GiB size: 897.01 GiB (100.00%)
used: 151.27 GiB (16.9%) fs: btrfs dev: /dev/sda2 maj-min: 8:2
ID-4: /var/log raw-size: 897.01 GiB size: 897.01 GiB (100.00%)
used: 151.27 GiB (16.9%) fs: btrfs dev: /dev/sda2 maj-min: 8:2
ID-5: /var/tmp raw-size: 897.01 GiB size: 897.01 GiB (100.00%)
used: 151.27 GiB (16.9%) fs: btrfs dev: /dev/sda2 maj-min: 8:2
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: partition size: 34.21 GiB used: 0 KiB (0.0%)
priority: -2 dev: /dev/sda3 maj-min: 8:3
ID-2: swap-2 type: zram size: 31.1 GiB used: 0 KiB (0.0%) priority: 100
dev: /dev/zram0
Sensors:
System Temperatures: cpu: 55.0 C mobo: 55.0 C
Fan Speeds (RPM): N/A
Info:
Processes: 348 Uptime: 5m wakeups: 69 Memory: 31.1 GiB
used: 3.24 GiB (10.4%) Init: systemd v: 250 tool: systemctl Compilers:
gcc: 11.2.0 clang: 13.0.1 Packages: pacman: 2110 lib: 404 Shell: fish
v: 3.4.1 default: Bash v: 5.1.16 running-in: konsole inxi: 3.3.15
Garuda (2.6.1-1):
System install date:     2022-04-10
Last full system update: 2022-04-10
Is partially upgraded:   No
Relevant software:       NetworkManager
Windows dual boot:       Probably (Run as root to verify)
Snapshots:               Snapper
Failed units:


2 Likes

Did you try in the plain old GUI? System Settings -> Display and Monitor:

yes by default it has 40hz, after i run the commands i gave above it adds the modes but clicking apply nothing happens and if i reopen the gui its again at 40

2 Likes

Does the refresh rate become available if you lower the resolution? I know you don't want to do that, I'm just wondering.

How many RAM sticks do you have installed? Is it one 32GB stick or two 16's?

Are you certain you have the most appropriate driver? The reason I ask (I don't know too much about it) is Nvidia Optimus has it's own Arch Wiki page that might be worth a read through. NVIDIA Optimus - ArchWiki

2 Likes

I have the same problem as @sirnicolas21, I already followed the same instructions from xrandr - ArchWiki, exactly as OP did, and I have the exact same results. My screen is 165Hz, but on Garuda Linux it is stuck on 40Hz.

I have used Garuda Linux for months, and the only thing I used to do was executing this python script after initializing my system.

import os
os.system('xrandr --output eDP-1 --mode 1920x1080 --rate 165 --primary')
os.system('xrandr --newmode "1920x1080_165.2" 525.00  1920 2088 2296 2672  1080 1083 1088 1192 -hsync +vsync')
os.system('xrandr --addmode eDP-1 1920x1080_165.2')
os.system('xrandr --output eDP-1 --mode 1920x1080_165.2')

This would cause my laptop screen to correctly have 165Hz refresh rate. And it worked for 3 or 4 months.
At some point, one or two months ago, after a Garuda Linux update, my script never worked anymore.

I executed these commands right now on my terminal:

╰─λ cvt 1920 1080 165

# 1920x1080 164.83 Hz (CVT) hsync: 196.48 kHz; pclk: 525.00 MHz

Modeline "1920x1080_165.00"  525.00  1920 2088 2296 2672  1080 1083 1088 1192 -hsync +vsync

╰─λ xrandr --newmode "1920x1080_165.00"  525.00  1920 2088 2296 2672  1080 1083 1088 1192 -hsync +vsync

╰─λ xrandr --addmode eDP-1 1920x1080_165.00

╰─λ xrandr --output eDP-1 --mode 1920x1080_165.00

xrandr: Configure crtc 1 failed

My garuda-inxi is incredibly similar to the computer of OP.

@BluishHumility no, the refresh rate does not become available even if I click on lower resolutions. This is my resolution list:

If I click on any resolution and then click on "Apply", what happens? Nothing. The computer blinks for one second (the laptop screen becomes black for one second), and then the resolution is still 2560x1440. It never changes.

try to switch off your optimus and set the laptop to only use the nvidia gfx from the bios, let me know how it goes.

1 Like

its an intel driver bug, if you disable intel GPU in bios you will have no problem


1

Hey, after putting dGPU only on BIOS, Linux is unable to boot.

It gets stuck forever on this screen.
I had to revert to MsHybrid again to be able to boot on Linux.

Is this really the only thing you've done to fix this problem?

How do you switch it off?
Even though the checkbox "Initialize together with the system" is unmarked, it seems Garuda Linux already starts with Optimus Manager activated.
When I go to Settings > Initialize automatically, there is no Optimus Manager there.

I've never been a Nvidia user and I'm just reading the upstream documentation out of curiosity so take the following with a grain of salt :wink:
Maybe you could try switching to nvidia
https://github.com/Askannz/optimus-manager#usage
or, even better, you could try disabling optimus-manager at boot like this
https://github.com/Askannz/optimus-manager/wiki/FAQ,-common-issues,-troubleshooting#faq
after you disable the integrated GPU at BIOS level.

2 Likes

yes, try the garuda live usb and you will see it works great, just tested it today with nvidia only,
however until i figure out that there is a bug in intel drivers i tried "kde neon" which is my main OS anyway and after countless hours of trying to fix that i solved it the way i said, kde neon had the same issue exactly

its weird however that you cannot boot that way now, again try the live iso

its possible that you cannot boot because of optimus is still installed but not working because of single gpu mode (dgpu) try also what @filo said above

garuda-update
sudo mhwd -r pci video-optimus-manager
sudo mhwd -i pci video-nvidia-dkms

Reboot to bios, set to dGPU only save and exit. Test if it works. If not, just restore a snapshot before the video-optimus-manager removal and set it back to hybrid.

2 Likes

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