사용자 정의 디스플레이 해상도 Nvidia 드라이버 Pop!_OS 22.04 LTS

사용자 정의 디스플레이 해상도 Nvidia 드라이버 Pop!_OS 22.04 LTS

기본 모니터에 대한 사용자 정의 해상도를 설정하려고 하는데 모니터가 사용 가능한 해상도를 광고하지 않습니다. Windows에서는 NVIDIA 제어판에서 사용자 정의 해상도를 설정한 다음 명령줄을 사용하여 해당 해상도로 전환할 수 있습니다.qres.

이제 Linux를 사용하고 있으므로 디스플레이에 대한 사용자 정의 모드를 생성하고 xrandr을 사용해야 할 때 해당 모드로 전환하고 싶습니다. 그러나 내가 찾은 모든 가이드는 실패했고 결국 "BadMatch" 오류가 발생했습니다.

ellitedev@twrreborn:~$ xrandr
Screen 0: minimum 8 x 8, current 3640 x 2580, maximum 32767 x 32767
DP-0 connected 1080x1920+0+660 left (normal left inverted right x axis y axis) 531mm x 298mm
   1920x1080     60.00*+ 144.00   119.98   119.88   100.00    99.93    74.99    59.94    50.00  
   1440x900     119.85  
   1280x1024    119.96    75.02    60.02  
   1280x960      99.78  
   1280x720      60.00    59.94    50.00  
   1024x768     119.99    75.03    60.00  
   800x600      119.97    99.66    75.00    60.32  
   720x576       50.00  
   720x480       59.94  
   640x480      119.52    75.00    59.94    59.93  
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 connected (normal left inverted right x axis y axis)
   1280x768      59.99 +
   1920x1080     60.00    59.94    50.00  
   1360x768      60.02  
   1360x765      60.00  
   1280x800      59.81  
   1280x720      60.00    59.94    50.00  
   1024x768      75.03    70.07    60.00  
   800x600       75.00    72.19    60.32    56.25  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    72.81    59.94    59.93  
HDMI-0 connected primary 2560x1080+1080+1080 (normal left inverted right x axis y axis) 798mm x 334mm
   2560x1080     59.98*+  74.99    50.00  
   3840x2160     29.97    25.00    23.98  
   2560x1440     59.95  
   1920x1080     75.00    60.00    59.94    50.00  
   1680x1050     59.95  
   1600x900      60.00  
   1280x1024     75.02    60.02  
   1280x800      59.81  
   1280x720      60.00    59.94    50.00  
   1152x864      60.00  
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    59.94    59.93  
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 connected 1920x1080+1400+0 (normal left inverted right x axis y axis) 531mm x 299mm
   1920x1080     60.00*+  59.94    50.00  
   1680x1050     59.95  
   1600x900      60.00  
   1440x900      59.89  
   1280x1024     75.02    60.02  
   1280x800      59.81  
   1280x720      60.00    59.94    50.00  
   1152x864      75.00  
   1024x768      75.03    70.07    60.00  
   800x600       75.00    72.19    60.32    56.25  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    72.81    59.94  
DVI-D-1-0 disconnected (normal left inverted right x axis y axis)
HDMI-1-0 disconnected (normal left inverted right x axis y axis)
DP-1-0 disconnected (normal left inverted right x axis y axis)
DP-1-1 disconnected (normal left inverted right x axis y axis)
ellitedev@twrreborn:~$ cvt 2400 1080 60
# 2400x1080 59.97 Hz (CVT) hsync: 67.16 kHz; pclk: 216.00 MHz
Modeline "2400x1080_60.00"  216.00  2400 2552 2808 3216  1080 1083 1093 1120 -hsync +vsync
ellitedev@twrreborn:~$ xrandr --newmode "2400x1080_60.00"  216.00  2400 2552 2808 3216  1080 1083 1093 1120 -hsync +vsync
ellitedev@twrreborn:~$ xrandr --addmode HDMI-0 "2400x1080_60.00"
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  18 (RRAddOutputMode)
  Serial number of failed request:  65
  Current serial number in output stream:  66

이 모니터 하나를 교체해도 다른 모든 모니터는 그대로 유지되는지 확인하고 싶습니다.

나는 이것이 아마도 다른 게시물과 중복된 것이라는 것을 알고 있지만 어찌할 바를 모르겠습니다.

답변1

해결책을 찾았습니다! 남자에게서 내가 알아야 할 기본 사항을 얻었습니다.포럼 게시물및 YouTube 동영상을 볼 수 있습니다.

포럼 게시물에서 xorg 구성에 추가해야 할 특정 옵션을 발견했습니다. 저는 Pop!_OS를 사용하고 있기 때문에 /usr/share/X11/xorg.conf.d/. 실제로 변경해야 했던 파일은 10-nvidia.conf.YouTube 동영상에서 xorg가 시작 시 파일 이름 순서로 구성을 로드하는 것을 보았기 때문에 이런 경우라고 생각했습니다. nvidia 드라이버가 있으므로 nvidia.h라는 파일이 될 것이라고 가정합니다.

이제 추가해야 할 줄은 다음과 같습니다.

Option "ModeValidation" "AllowNon60hzmodesDFPModes, NoEDIDDFPMaxSizeCheck, NoVertRefreshCheck, NoHorizSyncCheck, NoDFPNativeResolutionCheck, NoMaxSizeCheck, NoMaxPClkCheck,  AllowNonEdidModes, NoEdidMaxPClkCheck"

이제 내 구성은 다음과 같습니다.

Section "OutputClass"
    Identifier "nvidia"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    Option "ModeValidation" "AllowNon60hzmodesDFPModes, NoEDIDDFPMaxSizeCheck, NoVertRefreshCheck, NoHorizSyncCheck, NoDFPNativeResolutionCheck, NoMaxSizeCheck, NoMaxPClkCheck,  AllowNonEdidModes, NoEdidMaxPClkCheck"
    ModulePath "/usr/lib/x86_64-linux-gnu/nvidia/xorg"
EndSection

이 구성을 저장하고 재부팅한 후 모니터에 사용자 정의 모드를 성공적으로 추가할 수 있었습니다. :) 혼란스러워하는 다른 사람들에게 도움이 되기를 바랍니다.

관련 정보