You are not logged in.

#1 2024-09-06 14:24:10

murasakino
Member
Registered: 2023-02-08
Posts: 19

Driver setup for custom kernel (custom resolution+refresh)

As a disclaimer this post contains multiple small problems but since they are related i decided to combine it into one post. im mainly looking for suggestions for what drivers to use in my case, or to stick with the current and configure it differently.

Im using an Acer nitro AN515-54 laptop with an i5-9300H and a nvidia 1650 mobile with a custom 6.10.5-273-tkg-pds kernel, for some time now i use the nvidia-dkms driver and nvidia-prime to manage my dedicated gpu. however recently i was looking into setting a custom resolution and refresh rate for my monitor (1680x1050 at 90hz), this is possible on windows using CRU but using xrandr my newmode fails to apply with the

xrandr: Configure crtc 0 failed

error, after further research i found that the most likely cause is how my display drivers are setup, since some forum posts with nouveau users found that early KMS loading the nouveau driver solved the issue, however im not exactly sure how it works since this is my display setup:

lspci -knn | grep -iA3 'vga\|3d\|display':

00:02.0 VGA compatible controller [0300]: Intel Corporation CoffeeLake-H GT2 [UHD Graphics 630] [8086:3e9b]
	Subsystem: Acer Incorporated [ALI] Device [1025:1331]
	Kernel driver in use: i915
	Kernel modules: i915
--
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU117M [GeForce GTX 1650 Mobile / Max-Q] [10de:1f91] (rev a1)
	Subsystem: Acer Incorporated [ALI] Device [1025:1332]
	Kernel driver in use: nvidia
	Kernel modules: nouveau, nvidia_drm, nvidia

i know for a fact my monitor can run up to 1920x1080 120hz stable with the UHD 630 chip after some testing on windows.

im using the nvidia-dkms 560.35.03-2 and xf86-video-intel 1:2.99.917+923+gb74b67f0-2 drivers, i did not early load any nvidia drivers yet.

Last edited by murasakino (2024-09-06 14:26:17)

Offline

#2 2024-09-06 14:52:50

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,147

Re: Driver setup for custom kernel (custom resolution+refresh)

Get rid of xf86-video-intel (it's not maintained for GPUs newer than 2012), reboot, check again.

Which graphics card is the display attached to? The nvidia driver provides quite a few options for custom modes, but those can only have an effect if the monitor you're plugging in is actually plugged into the nvidia card.

Last edited by V1del (2024-09-06 14:55:37)

Online

#3 2024-09-06 15:10:21

murasakino
Member
Registered: 2023-02-08
Posts: 19

Re: Driver setup for custom kernel (custom resolution+refresh)

I'm almost sure that the display is plugged into the iGPU since it is a laptop

Offline

#4 2024-09-06 16:48:31

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,147

Re: Driver setup for custom kernel (custom resolution+refresh)

The lspci mentions  the nvidia card is available as a VGA, which means in some shape or form, some display adapter might be exposed that's directly plugged to the nvidia GPU.

Maybe post

xrandr -q

and your xorg log: https://wiki.archlinux.org/title/Xorg#General

Online

#5 2024-09-06 17:24:39

murasakino
Member
Registered: 2023-02-08
Posts: 19

Re: Driver setup for custom kernel (custom resolution+refresh)

heres the output for xrandr -q:

Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 340mm x 190mm
   1920x1080     60.03*+  59.93
   1680x1050     59.88
   1400x1050     59.98
   1600x900      60.00    59.95    59.82
   1280x1024     60.02
   1400x900      59.96    59.88
   1280x960      60.00
   1368x768      60.00    59.88    59.85
   1280x800      59.81    59.91
   1280x720      59.86    60.00    59.74
   1024x768      60.00
   1024x576      60.00    59.90    59.82
   960x540       60.00    59.63    59.82
   800x600       60.32    56.25
   864x486       60.00    59.92    59.57
   640x480       59.94
   720x405       59.51    60.00    58.99
   640x360       59.84    59.32    60.00
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
HDMI-1-0 disconnected (normal left inverted right x axis y axis)

and here is the xorg log: https://pastebin.com/txGX9hAm

Offline

#6 2024-09-06 18:28:54

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,147

Re: Driver setup for custom kernel (custom resolution+refresh)

What's in /etc/X11/xorg.conf ? You probably want to remove it for starters.

There's no sign of a secondary screen, that's with it plugged in yes? But as mentioned, start with getting rid of xf86-video-intel (and that config file), reboot, report back with those outputs.

Last edited by V1del (2024-09-06 18:29:30)

Online

#7 2024-09-06 18:33:27

murasakino
Member
Registered: 2023-02-08
Posts: 19

Re: Driver setup for custom kernel (custom resolution+refresh)

i removed the xf86 driver and rebooted, now (as expected) it returns

42.868] (EE) modeset(0): failed to set mode: No such file or directory

in the xorg log, as for the xorg.conf it is empty

Offline

#8 2024-09-06 19:44:10

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,177

Re: Driver setup for custom kernel (custom resolution+refresh)

Please post your update Xorg log, https://wiki.archlinux.org/title/Xorg#General
Also

for OUT in /sys/class/drm/card*; do echo $OUT; edid-decode $OUT/edid; echo "================="; done

You'll need https://aur.archlinux.org/packages/edid-decode-git

Offline

#9 2024-09-06 21:29:09

murasakino
Member
Registered: 2023-02-08
Posts: 19

Re: Driver setup for custom kernel (custom resolution+refresh)

/sys/class/drm/card0
/sys/class/drm/card0/edid: No such file or directory
=================
/sys/class/drm/card0-HDMI-A-1
EDID of '/sys/class/drm/card0-HDMI-A-1/edid' was empty.
=================
/sys/class/drm/card1
/sys/class/drm/card1/edid: No such file or directory
=================
/sys/class/drm/card1-eDP-1
edid-decode (hex):

00 ff ff ff ff ff ff 00 06 af ed 21 00 00 00 00
00 1a 01 04 a5 22 13 78 02 6e 85 93 58 58 92 28
1e 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 14 37 80 a6 70 38 2e 40 6c 30
aa 00 58 c1 10 00 00 18 00 00 00 0f 00 00 00 00
00 00 00 00 00 00 00 00 00 20 00 00 00 fe 00 41
55 4f 0a 20 20 20 20 20 20 20 20 20 00 00 00 fe
00 42 31 35 36 48 41 4e 30 32 2e 31 20 0a 00 26

----------------

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.4
  Vendor & Product Identification:
    Manufacturer: AUO
    Model: 8685
    Made in: 2016
  Basic Display Parameters & Features:
    Digital display
    Bits per primary color channel: 8
    DisplayPort interface
    Maximum image size: 34 cm x 19 cm
    Gamma: 2.20
    Supported color formats: RGB 4:4:4
    First detailed timing includes the native pixel format and preferred refresh rate
  Color Characteristics:
    Red  : 0.5751, 0.3457
    Green: 0.3466, 0.5722
    Blue : 0.1582, 0.1171
    White: 0.3134, 0.3291
  Established Timings I & II: none
  Standard Timings: none
  Detailed Timing Descriptors:
    DTD 1:  1920x1080   60.029734 Hz  16:9     67.593 kHz    141.000000 MHz (344 mm x 193 mm)
                 Hfront  108 Hsync  48 Hback   10 Hpol N
                 Vfront   10 Vsync  10 Vback   26 Vpol N
    Manufacturer-Specified Display Descriptor (0x0f): 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 20 '............... '
    Alphanumeric Data String: 'AUO'
    Alphanumeric Data String: 'B156HAN02.1 '
Checksum: 0x26
=================

and
https://pastebin.com/ARkQW72H for xorg log

also since the last post i added the nvidia modules to the mkinitcpio config and generated a new initramfs

Offline

#10 2024-09-06 22:05:39

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,177

Re: Driver setup for custom kernel (custom resolution+refresh)

i know for a fact my monitor can run up to 1920x1080 120hz stable with the UHD 630 chip after some testing on windows.

There's no "monitor", only the internal panel and the only mode it advertises is 1920x1080 @60Hz and how did you measure the actual signal?
Cause in doubt windows just drove the output on an interlaced mode

cvt12 1920 1080 120 -b -i
# 1920x1080 @ 120.000 Hz Interlaced Reduced Blank (CVT) field rate 119.999 Hz; hsync: 68.700 kHz; pclk: 137.40 MHz
Modeline "1920x1080_120.00i_rb2"  137.40  1920 1928 1960 2000  1080 1098 1106 1112 Interlace  +hsync -vsync

Everything else you see is a mesa-generated list of "default" modes.
If you want to add a custom mode, see https://wiki.archlinux.org/title/Xrandr … esolutions
But
1. one of the drivers (i915 or amdgpu, forgot which it was) or mesa "recently" became rather strict about what modes it would allow (to prevent panel damage) and

cvt12 1680 1050 90 -b
# 1680x1050 @ 90.000 Hz Reduced Blank (CVT) field rate 90.000 Hz; hsync: 98.640 kHz; pclk: 173.61 MHz
Modeline "1680x1050_90.00_rb2"  173.61  1680 1688 1720 1760  1050 1082 1090 1096 +hsync -vsync

is **well** above 141 MHz…

Offline

#11 2024-09-07 09:04:07

murasakino
Member
Registered: 2023-02-08
Posts: 19

Re: Driver setup for custom kernel (custom resolution+refresh)

Well that is bizarre, on CRU windows i managed to get the internal display* to output 1920x1080@100hz which is 235.67MHz, non interlaced mode, i managed to confirm this through checking the manufacturer site of my laptop model and confirmed that an identical model has a 120hz display with the same chipset but for some reason the default settings only offer 60hz. this is what lead to me thinking this is mostly a driver problem on my linux setup.

Offline

#12 2024-09-07 12:04:34

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,177

Re: Driver setup for custom kernel (custom resolution+refresh)

what lead to me thinking this is mostly a driver problem on my linux setup.

RIght now it's mostly an EDID "problem" - what happens if you disable the iGP in the UEFI/BIOS settings and run on the nvidia chip only?

Offline

#13 2024-09-07 13:14:12

murasakino
Member
Registered: 2023-02-08
Posts: 19

Re: Driver setup for custom kernel (custom resolution+refresh)

the laptop doesnt have MUX switching and the bios doesnt have an option to disable the iGPU.

Offline

#14 2024-09-07 13:25:20

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,177

Re: Driver setup for custom kernel (custom resolution+refresh)

The edid doesn't advertise anything else - I'd try to extract the edid on windows and see whether it's the same.
Otherwise you could inject it, in doubt a custom one.
https://wiki.archlinux.org/title/Kernel … s_and_EDID

As mentioned, I don't think the driver will currently allow you to add out-of-spec modelines through https://wiki.archlinux.org/title/Xrandr … esolutions

Offline

#15 2024-09-07 18:27:13

murasakino
Member
Registered: 2023-02-08
Posts: 19

Re: Driver setup for custom kernel (custom resolution+refresh)

well small update, i extracted the edid binary using CRU from windows, also before doing so i created multiple entries at 10hz intervals from 90hz till 140hz. this results in the following xrandr -q output:

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 480mm x 270mm
   1920x1080     90.00*+  60.01    59.97   100.00    59.96    59.93
   1680x1050     59.95    59.88
   1400x1050     74.76    59.98
   1600x900      59.99    59.94    59.95    59.82
   1280x1024     85.02    75.02    60.02
   1400x900      59.96    59.88
   1280x960      85.00    60.00
   1440x810      60.00    59.97
   1368x768      59.88    59.85
   1280x800      59.99    59.97    59.81    59.91
   1152x864      75.00
   1280x720      60.00    59.99    59.86    59.74
   1024x768      85.00    75.05    60.04    85.00    75.03    70.07    60.00
   1024x768i     86.96
   960x720       85.00    75.00    60.00
   928x696       75.00    60.05
   896x672       75.05    60.01
   1024x576      59.95    59.96    59.90    59.82
   960x600       59.93    60.00
   832x624       74.55
   960x540       59.96    59.99    59.63    59.82
   800x600       85.00    75.00    70.00    65.00    60.00    85.14    72.19    75.00    60.32    56.25
   840x525       60.01    59.88
   864x486       59.92    59.57
   700x525       74.76    59.98
   800x450       59.95    59.82
   640x512       85.02    75.02    60.02
   700x450       59.96    59.88
   640x480       85.09    60.00    85.01    72.81    75.00    59.94
   720x405       59.51    58.99
   720x400       85.04
   684x384       59.88    59.85
   640x400       59.88    59.98    85.08
   576x432       75.00
   640x360       59.86    59.83    59.84    59.32
   640x350       85.08
   512x384       85.00    75.03    70.07    60.00
   512x384i      87.06
   512x288       60.00    59.92
   416x312       74.66
   480x270       59.63    59.82
   400x300       85.27    72.19    75.12    60.32    56.34
   432x243       59.92    59.57
   320x240       85.18    72.81    75.00    60.05
   360x202       59.51    59.13
   360x200       85.04
   320x200       85.27
   320x180       59.84    59.32
   320x175       85.27
HDMI-1-0 disconnected (normal left inverted right x axis y axis)

i may have exported only the 90hz setting but it does appear i managed to get it to function at 90hz, i followed https://wiki.archlinux.org/title/Kernel … s_and_EDID and got to this result, however a strange side behavior is that my regular linux kernel and both fallback images for tkg and regular are gone, im pretty sure i didnt modify anything beside adding a line to my grub config to load the edid binary.

Offline

#16 2024-09-07 19:11:06

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,177

Re: Driver setup for custom kernel (custom resolution+refresh)

however a strange side behavior is that my regular linux kernel and both fallback images for tkg and regular are gone

That's gonna be a "side effect" more from changing the bootloader config - you'll have to open a new thread for that, reveal  boot loader, it's current config file and the contents of the /boot partition.

The custom edid otherwise works w/ the 90Hz mode?
What's the updated output of

for OUT in /sys/class/drm/card*; do echo $OUT; edid-decode $OUT/edid; echo "================="; done

?

Offline

#17 2024-09-07 19:21:57

murasakino
Member
Registered: 2023-02-08
Posts: 19

Re: Driver setup for custom kernel (custom resolution+refresh)

/sys/class/drm/card0
/sys/class/drm/card0/edid: No such file or directory
=================
/sys/class/drm/card0-HDMI-A-1
EDID of '/sys/class/drm/card0-HDMI-A-1/edid' was empty.
=================
/sys/class/drm/card1
/sys/class/drm/card1/edid: No such file or directory
=================
/sys/class/drm/card1-eDP-1
edid-decode (hex):

00 ff ff ff ff ff ff 00 06 af ed 21 00 00 00 00
00 1a 01 04 a5 22 13 78 02 6e 85 93 58 58 92 28
1e 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 6a 52 80 a0 70 38 2f 40 30 20
35 00 e0 0e 11 00 00 1a 0f 5c 80 a0 70 38 35 40
30 20 35 00 e0 0e 11 00 00 1a 00 00 00 10 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 17

----------------

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.4
  Vendor & Product Identification:
    Manufacturer: AUO
    Model: 8685
    Made in: 2016
  Basic Display Parameters & Features:
    Digital display
    Bits per primary color channel: 8
    DisplayPort interface
    Maximum image size: 34 cm x 19 cm
    Gamma: 2.20
    Supported color formats: RGB 4:4:4
    First detailed timing includes the native pixel format and preferred refresh rate
  Color Characteristics:
    Red  : 0.5751, 0.3457
    Green: 0.3466, 0.5722
    Blue : 0.1582, 0.1171
    White: 0.3134, 0.3291
  Established Timings I & II: none
  Standard Timings: none
  Detailed Timing Descriptors:
    DTD 1:  1920x1080   90.002389 Hz  16:9    101.433 kHz    210.980000 MHz (480 mm x 270 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront    3 Vsync   5 Vback   39 Vpol N
    DTD 2:  1920x1080  100.002546 Hz  16:9    113.303 kHz    235.670000 MHz (480 mm x 270 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront    3 Vsync   5 Vback   45 Vpol N
    Dummy Descriptor:
    Dummy Descriptor:
Checksum: 0x17
=================

ill fix the missing initramfs problem later on, but yes it seems to work

Offline

#18 2024-09-07 19:27:49

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,177

Re: Driver setup for custom kernel (custom resolution+refresh)

The edid doesn't have a 140Hz mode?
(It actually stops at 100Hz)

But if you're ok with that, please always remember to 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.

Caveat emptor: your driving the panel outside it's official parameters, this might work but will likely kill any warranty.
Also nb that you changed the panel dimensions from 344 mm x 193 mm to 480 mm x 270 mm. ie. the physical DPI will be underestimated by ~30%

Offline

#19 2024-09-07 19:37:40

murasakino
Member
Registered: 2023-02-08
Posts: 19

Re: Driver setup for custom kernel (custom resolution+refresh)

i am interested in replicating this effect purely using available tools on linux, i will look into it and reply with an edit to the original post with what i find

Offline

#20 2024-09-07 20:17:43

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,177

Offline

Board footer

Powered by FluxBB