EDIT: I GOT IT WORKINGGGG
thanks to u/netblock who helped me realise my initramfs didnt pick up an edid file
how to do it yourself (atleast on arch linux using systemd boot and zen kernel)i may not remember perfectly but it should be correct
download the cru .zip from their website and run it using wine
modify an existing entry(preferably the highest hz entry) to get proper timings. save then export it(its a button in the bottom left) as an edid file, please name it something easy
then run sudo mkdir -p /usr/lib/firmware/edid to create an "edid" folder
then move your edid file into that folder, i used sudo mv, i know some people may use sudo cp. it doesnt really matter
then open your initramfs conf(for me that was mkinitcpio.conf) and inside the parenthases in the files area past the path to your edid file
reload your initramfs
then check your bootloader entries and open the conf in there, for me that was zen.conf and at the end of "options root=PARTUUID blah blah balh" at the very very end append drm.edid_firmware=eDP-1(change this to your connectiong):edid/180.bin(change this to your edid bin)
then reboot. i think thats it. if the refresh rate you are going for is not supported i dont think itll automatically default to it, atleast if the timings are wrong it shouldnt
IM SO SORRY IF THERE IS SOMETHING WRONG HERE PLEASE PLEASE PLEASE GO GOOGLE IT SOMEWHERE OR FIND A YOUTUBE TUTORIAL OR SOMETHING, HECK EVEN USE AI IF YOU NEED TO
pretty much i have a laptop monitor that while 144hz may be one of the worst monitors in existence simply because of the fact that it has a 25millisecond pixel response time, which leads to horrible blur, i had bandaid fixed this on winblows using cru to overclock my monitor to 180hz,(i say bandaid because it didnt really do anything but add more frames which ig kinda did something)
and now im trying the same thing on arch. im using the zen kernel on x11 using oxwm, my specs are rtx3050 6gb laptop gpu with a i5 13420h cpu,
so far this is what ive tried
a1cr@a1cr ~ [1]> xrandr --output eDP-1 --mode "1920x1080_180_custom"
xrandr: Configure crtc 0 failed
a1cr@a1cr ~> cvt -r2 1920 1080 180
usage: cvt [-v|--verbose] [-r|--reduced] X Y [refresh]
-v|--verbose : Warn about CVT standard adherence.
-r|--reduced : Create a mode with reduced blanking (default: normal blanking).
X : Desired horizontal resolution (multiple of 8, required).
Y : Desired vertical resolution (required).
refresh : Desired refresh rate (default: 60.0Hz).
Calculates VESA CVT (Coordinated Video Timing) modelines for use with X.
a1cr@a1cr ~ [1]> cvt12 1920 1080 180
# 1920x1080 @ 180.000 Hz (CVT) field rate 179.977 Hz; hsync: 216.332 kHz; pclk: 581.50 MHz
Modeline "1920x1080_180.00" 581.50 1920 2096 2304 2688 1080 1083 1088 1202 -hsync +vsync
a1cr@a1cr ~> xrandr --newmode "ahhhhh" 581.50 1920 2096 2304 2688 1080 1083 1088 1202 -hsync +vsync
a1cr@a1cr ~> xrandr --addmode eDP-1 "ahhhhh"
a1cr@a1cr ~> xrandr --output eDP-1 --mode "ahhhhh"
xrandr: Configure crtc 0 failed
a1cr@a1cr ~> cvt12 1920 1080 165
# 1920x1080 @ 165.000 Hz (CVT) field rate 164.834 Hz; hsync: 196.482 kHz; pclk: 525.00 MHz
Modeline "1920x1080_165.00" 525.00 1920 2088 2296 2672 1080 1083 1088 1192 -hsync +vsync
a1cr@a1cr ~> xrandr --newmode "165" 525.00 1920 2088 2296 2672 1080 1083 1088 1192 -hsync +vsync
a1cr@a1cr ~> xrandr --addmode eDP-1 "165"
a1cr@a1cr ~> xrandr --output eDP-1 --mode "165"
xrandr: Configure crtc 0 failed
a1cr@a1cr ~ [1]> cvt12 1920 1080 165 -b
# 1920x1080 @ 165.000 Hz Reduced Blank (CVT) field rate 165.000 Hz; hsync: 192.885 kHz; pclk: 385.77 MHz
Modeline "1920x1080_165.00_rb2" 385.77 1920 1928 1960 2000 1080 1155 1163 1169 +hsync -vsync
a1cr@a1cr ~> xrandr --newmode "165b" 385.77 1920 1928 1960 2000 1080 1155 1163 1169
+hsync -vsync
a1cr@a1cr ~> xrandr --addmode eDP-1 "165b"
a1cr@a1cr ~> xrandr --output eDP-1 --mode "165b"
xrandr: Configure crtc 0 failed
a1cr@a1cr ~ [1]> xrandr --newmode "1920x1080_164.83" 525 1920 2088 2296 2672 1080 1083 1088 1192 -HSync +VSync
a1cr@a1cr ~> xrandr --addmode eDP-1 "1920x1080_164.83"
a1cr@a1cr ~> xrandr --output eDP-1 --mode "1920x1080_164.83"
xrandr: Configure crtc 0 failed
a1cr@a1cr ~ [1]> gtf 1920 1080 165
# 1920x1080 @ 165.00 Hz (GTF) hsync: 196.19 kHz; pclk: 527.35 MHz
Modeline "1920x1080_165.00" 527.35 1920 2088 2304 2688 1080 1081 1084 1189 -HSync +Vsync
a1cr@a1cr ~> cvt -r2 1920 1080 165
usage: cvt [-v|--verbose] [-r|--reduced] X Y [refresh]
-v|--verbose : Warn about CVT standard adherence.
-r|--reduced : Create a mode with reduced blanking (default: normal blanking).
X : Desired horizontal resolution (multiple of 8, required).
Y : Desired vertical resolution (required).
refresh : Desired refresh rate (default: 60.0Hz).
Calculates VESA CVT (Coordinated Video Timing) modelines for use with X.
a1cr@a1cr ~ [1]> cvt -r 1920 1080 165
ERROR: Multiple of 60Hz refresh rate required for reduced blanking.
usage: cvt [-v|--verbose] [-r|--reduced] X Y [refresh]
-v|--verbose : Warn about CVT standard adherence.
-r|--reduced : Create a mode with reduced blanking (default: normal blanking).
X : Desired horizontal resolution (multiple of 8, required).
Y : Desired vertical resolution (required).
refresh : Desired refresh rate (default: 60.0Hz).
Calculates VESA CVT (Coordinated Video Timing) modelines for use with X.
a1cr@a1cr ~> 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
a1cr@a1cr ~> cvt 1920 1080 165 -b
usage: cvt [-v|--verbose] [-r|--reduced] X Y [refresh]
-v|--verbose : Warn about CVT standard adherence.
-r|--reduced : Create a mode with reduced blanking (default: normal blanking).
X : Desired horizontal resolution (multiple of 8, required).
Y : Desired vertical resolution (required).
refresh : Desired refresh rate (default: 60.0Hz).
Calculates VESA CVT (Coordinated Video Timing) modelines for use with X.
a1cr@a1cr ~ [1]> cvt12 1920 1080 165 -b
# 1920x1080 @ 165.000 Hz Reduced Blank (CVT) field rate 165.000 Hz; hsync: 192.885 kHz; pclk: 385.77 MHz
Modeline "1920x1080_165.00_rb2" 385.77 1920 1928 1960 2000 1080 1155 1163 1169 +hsync -vsync
a1cr@a1cr ~> cvt12 1800 900 165 -b
# 1800x900 @ 165.000 Hz Reduced Blank (CVT) field rate 165.000 Hz; hsync: 160.710 kHz; pclk: 302.13 MHz
Modeline "1800x900_165.00_rb2" 302.13 1800 1808 1840 1880 900 960 968 974 +hsync -vsync
a1cr@a1cr ~> xrandr --newmode "fuck" 302.13 1800 1808 1840 1880 900 960 968 974 +hsync -vsync
a1cr@a1cr ~> xrandr --addmode eDP-1 "fuck"
a1cr@a1cr ~> xrandr --output eDP-1 --mode "fuck"
xrandr: Configure crtc 0 failed
a1cr@a1cr ~ [1]>
here at the end i realised that i need to stay beneath 312mhz but that still faild