You are not logged in.
Hello!!
I am using arch on my Lenovo Legion 5 pro laptop, it has a built in AMD Ryzen Vega GPU and a discrete NVIDIA 3070 GPU. I set the GPU setting to dynamic graphics in the BIOS so it uses the AMD GPU to render and it offloads it to the NVIDIA GPU for heavy tasks. This is because I want to use Wayland and that doesn't work well with the NVIDIA GPU. Everything works great and the offloading works perfectly.
The issue is that the FPS is locked to 60hz, when the screen supports 165hz. When I set it to discrete graphics in the BIOS and use the proprietary NVIDIA driver it is able to use 165hz, and in windows 165hz is supported on the AMD GPU as well. Is there some setting I am missing that will let me use 165hz or is there just something wrong with the amdgpu driver?
I don't know what information to provide since I don't know what the issue could be, so if there's anything I should add please let me know. ![]()
Last edited by clara-lmao (2023-11-09 16:32:45)
Offline
It's rather common that the higher refresh rates are only available w/ the GPU
Please post the edid(s)
for OUT in /sys/class/drm/card0*; do echo $OUT; edid-decode $OUT/edid; echo "================="; doneYou'll need https://aur.archlinux.org/packages/edid-decode-git
Offline
Please post the edid(s)
[clara@Arch-Oogway ~]$ for OUT in /sys/class/drm/card0*; do echo $OUT; edid-decode $OUT/edid; echo "================="; done
/sys/class/drm/card0
/sys/class/drm/card0/edid: No such file or directory
=================
/sys/class/drm/card0-DP-1
EDID of '/sys/class/drm/card0-DP-1/edid' was empty.
=================
/sys/class/drm/card0-DP-2
EDID of '/sys/class/drm/card0-DP-2/edid' was empty.
=================
/sys/class/drm/card0-eDP-1
EDID of '/sys/class/drm/card0-eDP-1/edid' was empty.
=================
/sys/class/drm/card0-HDMI-A-1
EDID of '/sys/class/drm/card0-HDMI-A-1/edid' was empty.
=================Edit: I accidentally did the command with an external display connected which made it more unclear
When doing xrandr it says that the display is on eDP-2, which is not in the list
[clara@Arch-Oogway ~]$ xrandr
Screen 0: minimum 16 x 16, current 2560 x 1600, maximum 32767 x 32767
eDP-2 connected primary 2560x1600+0+0 (normal left inverted right x axis y axis) 340mm x 220mm
2560x1600 59.99*+
2048x1536 59.95
1920x1440 59.97
1600x1200 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.52
1920x1200 59.96
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.96
2560x1440 59.96
2048x1152 59.90
1920x1080 59.96
1600x900 59.95
1368x768 59.88
1280x720 59.86
1024x576 59.90
864x486 59.92
720x400 59.55
640x350 59.77 Last edited by clara-lmao (2023-11-09 14:34:45)
Offline
/sys/class/drm/card0-DP-2
Detailed Timing Descriptors:
DTD 1: 3440x1440 50.000000 Hz 43:18 74.050 kHz 266.580000 MHz (797 mm x 334 mm)
Hfront 48 Hsync 32 Hback 80 Hpol P
Vfront 3 Vsync 5 Vback 33 Vpol N
DTD 2: 3440x1440 120.000000 Hz 43:18 180.000 kHz 648.000000 MHz (797 mm x 334 mm)
Hfront 48 Hsync 32 Hback 80 Hpol P
Vfront 3 Vsync 5 Vback 52 Vpol P
DTD 4: 2560x1080 144.000000 Hz 64:27 162.000 kHz 440.640000 MHz (797 mm x 334 mm)
Hfront 48 Hsync 32 Hback 80 Hpol P
Vfront 3 Vsync 5 Vback 37 Vpol P
DTD 5: 3440x1440 100.000000 Hz 43:18 150.000 kHz 540.000000 MHz (797 mm x 334 mm)
Block 2, DisplayID Extension Block:
DTD: 3440x1440 144.000000 Hz 16:9 216.000 kHz 777.600000 MHz (aspect 16:9, no 3D stereo)Is that on the nvidia or the AMD (hybrid setup) GPU?
This is because I want to use Wayland
Please start an X11 session nevertheless and post the output of "xrandr -q" and your Xorg log, https://wiki.archlinux.org/title/Xorg#General
The limiting factor here might just be your wayland compositor…
Offline
Sorry I did some edits as I accidentally had my external display connected
Is that on the nvidia or the AMD (hybrid setup) GPU?
It is on the hybrid setup
Offline
Probably
for OUT in /sys/class/drm/card1*; do echo $OUT; edid-decode $OUT/edid; echo "================="; doneAlso enable https://wiki.archlinux.org/title/NVIDIA … de_setting
Offline
Probably for OUT in /sys/class/drm/card1*; do echo $OUT; edid-decode $OUT/edid; echo "================="; done
[clara@Arch-Oogway ~]$ for OUT in /sys/class/drm/card1*; do echo $OUT; edid-decode $OUT/edid; echo "================="; done
/sys/class/drm/card1
/sys/class/drm/card1/edid: No such file or directory
=================
/sys/class/drm/card1-eDP-2
edid-decode (hex):
00 ff ff ff ff ff ff 00 0e 6f 00 16 00 00 00 00
00 1e 01 04 b5 22 16 78 03 ee 95 a3 54 4c 99 26
0f 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 6e 6e 00 a0 a0 40 84 60 30 20
36 00 59 d7 10 00 00 18 00 00 00 fd 0c 3c a5 1f
1f 4e 01 0a 20 20 20 20 20 20 00 00 00 fe 00 43
53 4f 54 20 54 33 0a 20 20 20 20 20 00 00 00 fe
00 4d 4e 47 30 30 37 44 41 31 2d 31 0a 20 01 03
02 03 1d 00 e3 05 80 00 e6 06 05 01 6a 6a 24 6d
1a 00 00 02 03 3c a5 00 04 6a 24 6a 24 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff
----------------
Block 0, Base EDID:
EDID Structure Version & Revision: 1.4
Vendor & Product Identification:
Manufacturer: CSO
Model: 5632
Made in: 2020
Basic Display Parameters & Features:
Digital display
Bits per primary color channel: 10
DisplayPort interface
Maximum image size: 34 cm x 22 cm
Gamma: 2.20
Supported color formats: RGB 4:4:4
First detailed timing includes the native pixel format and preferred refresh rate
Display supports continuous frequencies
Color Characteristics:
Red : 0.6396, 0.3300
Green: 0.2998, 0.5996
Blue : 0.1503, 0.0595
White: 0.3134, 0.3291
Established Timings I & II: none
Standard Timings: none
Detailed Timing Descriptors:
DTD 1: 2560x1600 60.007981 Hz 16:10 103.934 kHz 282.700000 MHz (345 mm x 215 mm)
Hfront 48 Hsync 32 Hback 80 Hpol N
Vfront 3 Vsync 6 Vback 123 Vpol N
Display Range Limits:
Monitor ranges (Range Limits Only): 60-165 Hz V, 286-286 kHz H, max dotclock 780 MHz
Alphanumeric Data String: 'CSOT T3'
Alphanumeric Data String: 'MNG007DA1-1'
Extension blocks: 1
Checksum: 0x03
----------------
Block 1, CTA-861 Extension Block:
Revision: 3
Native detailed modes: 0
Colorimetry Data Block:
BT2020RGB
HDR Static Metadata Data Block:
Electro optical transfer functions:
Traditional gamma - SDR luminance range
SMPTE ST2084
Supported static metadata descriptors:
Static metadata type 1
Desired content max luminance: 106 (496.743 cd/m^2)
Desired content max frame-average luminance: 106 (496.743 cd/m^2)
Desired content min luminance: 36 (0.099 cd/m^2)
Vendor-Specific Data Block (AMD), OUI 00-00-1A:
Version: 2.3
Minimum Refresh Rate: 60 Hz
Maximum Refresh Rate: 165 Hz
Flags 1.x: 0x00
Flags 2.x: 0x04
Maximum luminance: 106 (496.743 cd/m^2)
Minimum luminance: 36 (0.099 cd/m^2)
Maximum luminance (without local dimming): 106 (496.743 cd/m^2)
Minimum luminance (without local dimming): 36 (0.099 cd/m^2)
Checksum: 0xff Unused space in Extension Block: 98 bytes
=================Also enable https://wiki.archlinux.org/title/NVIDIA … de_setting
I believe I have already done that
Offline
Oh I forgot to say that I use KDE as my DE, so the compositor is Kwin.
Offline
Detailed Timing Descriptors:
DTD 1: 2560x1600 60.007981 Hz 16:10 103.934 kHz 282.700000 MHz (345 mm x 215 mm)
Hfront 48 Hsync 32 Hback 80 Hpol N
Vfront 3 Vsync 6 Vback 123 Vpol NAnd that's it.
Display supports continuous frequencies
…
Minimum Refresh Rate: 60 Hz
Maximum Refresh Rate: 165 Hzhttps://wiki.archlinux.org/title/Variable_refresh_rate
What does the edid look like on the GPU?
(If VRR fails you, one might try to inject that edid into the hybrid system)
Offline
I was able to change into x11 now so here is the xrandr
[clara@Arch-Oogway ~]$ xrandr -q
Screen 0: minimum 320 x 200, current 2560 x 1600, maximum 16384 x 16384
eDP-1 connected primary 2560x1600+0+0 (normal left inverted right x axis y axis) 345mm x 215mm
2560x1600 60.01*+
1920x1200 60.01
1920x1080 60.01
1600x1200 60.01
1680x1050 60.01
1280x1024 60.01
1440x900 60.01
1280x800 60.01
1280x720 60.01
1024x768 60.01
800x600 60.01
640x480 60.01
DP-1-0 disconnected (normal left inverted right x axis y axis)
DP-1-1 disconnected (normal left inverted right x axis y axis)
DP-1-2 disconnected (normal left inverted right x axis y axis)
DP-1-3 disconnected (normal left inverted right x axis y axis)
HDMI-1-0 disconnected (normal left inverted right x axis y axis)
DP-1-4 disconnected (normal left inverted right x axis y axis)It is still stuck on 60hz but it feels a lot more responsive, maybe there's more latency on Wayland?
And that's it.
I tried to turn on vrr but there was no difference and it was still locked to 60fps in games
What does the edid look like on the GPU?
I will restart and check now!
Offline
This is the edid on the NVIDIA card, and on x11 because I just got a black screen when trying to use wayland
[clara@Arch-Oogway ~]$ for OUT in /sys/class/drm/card0*; do echo $OUT; edid-decode $OUT/edid; echo "================="; done
/sys/class/drm/card0
/sys/class/drm/card0/edid: No such file or directory
=================
/sys/class/drm/card0-DP-1
EDID of '/sys/class/drm/card0-DP-1/edid' was empty.
=================
/sys/class/drm/card0-DP-2
EDID of '/sys/class/drm/card0-DP-2/edid' was empty.
=================
/sys/class/drm/card0-eDP-1
edid-decode (hex):
00 ff ff ff ff ff ff 00 0e 6f 00 16 00 00 00 00
00 1e 01 04 b5 22 16 78 03 ee 95 a3 54 4c 99 26
0f 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 6e 6e 00 a0 a0 40 84 60 30 20
36 00 59 d7 10 00 00 18 00 00 00 fd 0c 3c a5 1f
1f 4e 01 0a 20 20 20 20 20 20 00 00 00 fe 00 43
53 4f 54 20 54 33 0a 20 20 20 20 20 00 00 00 fe
00 4d 4e 47 30 30 37 44 41 31 2d 31 0a 20 02 02
02 03 1d 00 e3 05 80 00 e6 06 05 01 6a 6a 24 6d
1a 00 00 02 03 3c a5 00 04 6a 24 6a 24 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff
70 13 79 00 00 03 01 14 ac 2f 01 85 ff 09 9f 00
2f 00 1f 00 3f 06 83 00 02 00 05 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 37 90
----------------
Block 0, Base EDID:
EDID Structure Version & Revision: 1.4
Vendor & Product Identification:
Manufacturer: CSO
Model: 5632
Made in: 2020
Basic Display Parameters & Features:
Digital display
Bits per primary color channel: 10
DisplayPort interface
Maximum image size: 34 cm x 22 cm
Gamma: 2.20
Supported color formats: RGB 4:4:4
First detailed timing includes the native pixel format and preferred refresh rate
Display supports continuous frequencies
Color Characteristics:
Red : 0.6396, 0.3300
Green: 0.2998, 0.5996
Blue : 0.1503, 0.0595
White: 0.3134, 0.3291
Established Timings I & II: none
Standard Timings: none
Detailed Timing Descriptors:
DTD 1: 2560x1600 60.007981 Hz 16:10 103.934 kHz 282.700000 MHz (345 mm x 215 mm)
Hfront 48 Hsync 32 Hback 80 Hpol N
Vfront 3 Vsync 6 Vback 123 Vpol N
Display Range Limits:
Monitor ranges (Range Limits Only): 60-165 Hz V, 286-286 kHz H, max dotclock 780 MHz
Alphanumeric Data String: 'CSOT T3'
Alphanumeric Data String: 'MNG007DA1-1'
Extension blocks: 2
Checksum: 0x02
----------------
Block 1, CTA-861 Extension Block:
Revision: 3
Native detailed modes: 0
Colorimetry Data Block:
BT2020RGB
HDR Static Metadata Data Block:
Electro optical transfer functions:
Traditional gamma - SDR luminance range
SMPTE ST2084
Supported static metadata descriptors:
Static metadata type 1
Desired content max luminance: 106 (496.743 cd/m^2)
Desired content max frame-average luminance: 106 (496.743 cd/m^2)
Desired content min luminance: 36 (0.099 cd/m^2)
Vendor-Specific Data Block (AMD), OUI 00-00-1A:
Version: 2.3
Minimum Refresh Rate: 60 Hz
Maximum Refresh Rate: 165 Hz
Flags 1.x: 0x00
Flags 2.x: 0x04
Maximum luminance: 106 (496.743 cd/m^2)
Minimum luminance: 36 (0.099 cd/m^2)
Maximum luminance (without local dimming): 106 (496.743 cd/m^2)
Minimum luminance (without local dimming): 36 (0.099 cd/m^2)
Checksum: 0xff Unused space in Extension Block: 98 bytes
----------------
Block 2, DisplayID Extension Block:
Version: 1.3
Extension Count: 0
Display Product Type: Extension Section
Video Timing Modes Type 1 - Detailed Timings Data Block:
DTD: 2560x1600 165.018764 Hz 16:10 285.812 kHz 777.410000 MHz (aspect 16:10, no 3D stereo, preferred)
Hfront 48 Hsync 32 Hback 80 Hpol N
Vfront 3 Vsync 6 Vback 123 Vpol N
Checksum: 0x37
Checksum: 0x90
=================
/sys/class/drm/card0-HDMI-A-1
EDID of '/sys/class/drm/card0-HDMI-A-1/edid' was empty.
=================Offline
http://0x0.st/HtI3.bin
https://wiki.archlinux.org/title/Kernel … s_and_EDID
This is however not VRR capable,
I tried to turn on vrr but there was no difference and it was still locked to 60fps in games
1. tried how?
2. measured difference "how"? => https://wiki.archlinux.org/title/Variab … te#Testing
3. "games" are not a very good metric here - the game might have an internal maxfps or derive that from the modeline (instead of just swapping) or simply not be able to render faster
Offline
I tried it by turning adaptive sync on in the kde display settings
I didn't measure the difference other than feel before now
I tried the test tool with hybrid graphics on wayland and it dropped frames when vsync was not turned on and it was set to 165hz, so I am guessing it is not working?
This is however not VRR capable
Could it be because I did it on X11?
Offline
Could it be because I did it on X11?
No, the EDID is provided by the output (and the driver) - the display server is irrelevant.
I tried it by turning adaptive sync on in the kde display settings
X11 or wayland?
it dropped frames when vsync was not turned on
But that's to be expected.
and it was set to 165hz
On the GPU or w/ the edid injected into the hybrid system?
How does glxgears behave (on X11, to not make things too complicated) - visually and what FPS does it report?
Offline
I did the thing and it works perfectly now!! Thank you so much!!!
Is there a way to mark the post as solved?
Offline
How does glxgears behave (on X11, to not make things too complicated) - visually and what FPS does it report?
I did it on wayland as I wanted to try that before having to restart the session, and it reported 165hz!! ![]()
Offline
Mark resolved threads by editing your initial posts subject - so others will know that there's no task left, but maybe a solution to find.
Thanks.
And also please briefly explain "the thing" to record your actual solution for future readers.
Offline
And also please briefly explain "the thing" to record your actual solution for future readers.
Alright!
Hello future readers! I followed the instructions in the link seth sent (https://wiki.archlinux.org/title/Kernel … s_and_EDID) with the EDID file that was in the same message (I do not know how that was created). I renamed the EDID file to 2560x1600 as that is the resolution of the monitor and copied it to /usr/lib/firmware/edid/, and added
drm.edid_firmware=edid/2560x1600.bin to my grub kernel parameters using grub customizer. After that I just rebooted and did the tests and everything worked flawlessly! ![]()
Offline
I do not know how that was created
https://aur.archlinux.org/packages/hex2bin-git - but you could also have copied the edid file from the sysfs.
Offline
Hi, I'm experiencing this same issue and have the same laptop (Legion 5 pro w/ 3070), and tried solving by following this thread, however I'm unable to obtain edid-decode-git, and so tried using the EDID Seth provided and updating the Grub using grub customiser, but unfortunately I had no success.
Any suggestions?
Offline
updating the Grub using grub customiser
Check /proc/cmdline to see if grub-customiser has managed to work.
Jin, Jîyan, Azadî
Offline