요점: RHEL의 어디에서 내 워크스테이션의 모든 사용자에게 적용되는 비디오 구성을 정의해야 합니까?
내 하드웨어 설정은 "표준" 모니터와 일부 비디오 변환 하드웨어를 구동하는 nVidia RTX4000입니다. 내 워크스테이션은 RHEL 7.9를 실행하고 nvidia 독점 드라이버를 사용합니다. 각 "모니터"는 비디오 카드의 DisplayPort 출력 중 하나에 의해 구동됩니다. 디스플레이를 1920x1200(패널의 기본 해상도)으로 구동하고 최대 해상도가 더 높더라도 비디오 변환기를 1280x1024로 구동해야 합니다(협상할 수 없는 사항입니다. 이미지 다운스트림은 1280x1024에 대해 처리되어야 합니다). 내가 원하는 설정은 왼쪽에 1920x1200 모니터가 있고 오른쪽에 1280x1024 비디오 변환기가 상단에 정렬된 수평 단일 데스크톱입니다.
또한 비디오 변환기 출력이 항상 표시되는 것은 아니기 때문에 Gnome 이전 데스크탑 디스플레이(GRUB, LUKS 비밀번호, X-windows 로그인 프롬프트)가 구체적으로 실제 모니터로 연결되는 것이 중요합니다.
모니터를 "상단" DP 포트(즉, 카드의 카드 가장자리에서 가장 먼 포트)에 연결하고 비디오 변환기를 "가운데" DP 포트(즉, 다음 포트)에 연결합니다. 나머지 DP 포트와 USB-C 포트는 연결되지 않습니다.
추가 요구 사항으로 이 구성은 이 워크스테이션에 로그인하는 모든 사람에게 투명하고 자동이며 쉽게("일회성" 작업도 아님) 적용되어야 합니다. 즉, 작동해야 합니다.
나는 이러한 목표를 달성하기 위해 /etc/X11/xorg.conf를 사용하려고 합니다:
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "HP"
ModelName "Z24n G2"
Option "DPMS"
Option "PreferredMode" "1920x1200"
Option "Primary"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "VidCon"
ModelName "Video Converter"
Option "DPMS"
Option "PreferredMode" "1280x1024"
EndSection
Section "Device"
Identifier "nvidia0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
Screen 0
EndSection
Section "Screen"
Identifier "Screen0"
Device "nvidia0"
Monitor "Monitor0"
DefaultDepth 24
Option "MetaModes" "DFP-2: 1920x1200+0+0, DFP-0: 1280x1024+1920+0"
EndSection
(xrandr -q 출력에는 DP-2의 실제 모니터와 DP-0의 비디오 변환기가 나열되는데, 이는 사용된 물리적 포트에 비해 지연되는 것처럼 보입니다. MetaModes 옵션에서 DP 대신 DFP를 사용해야 한다는 것을 알았습니다.)
이것좋다사용자가 로그인하면 작동합니다. 그러나 GRUB/LUKS/데스크탑 로그인 프롬프트가 모니터에 나타날지 아니면 비디오 변환기로 연결될지는 약간 위험합니다.
또한 /var/lib/gdm/.config/monitors.xml 솔루션을 시도했지만(대화형 설정을 사용하여 올바르게 설정한 다음 결과 drivers.xml을 GDM "홈" 위치에 복사), 그렇지 않은 것 같습니다. 조금이라도 차이가 나도록.
그래서 궁극적으로 제 질문은, 이러한 설정을 존중하고 적용하려면 RHEL에서 이를 어디에서 설정해야 합니까?입니다.
답변1
위의 문제 설명에서 생략된 추가 제약 조건은 비디오 변환 하드웨어에 대한 입력이 60Hz 새로 고침 빈도를 가져야 한다는 것입니다. 기본적으로 드라이버는 85Hz를 선택하므로 강제로 적용해야 합니다.
내 설정에서는 다음 xorg.conf가 작동하는 것 같습니다.
Section "ServerLayout"
Identifier "layout0"
Screen 0 "screen0" 0 0
EndSection
Section "Monitor"
Identifier "monitor0"
VendorName "HP"
ModelName "Z24n G3"
Option "DPMS"
Option "Primary" "true"
EndSection
Section "Monitor"
Identifier "monitor1"
VendorName "Manufacturer"
ModelName "Video Converter"
Option "DPMS"
Option "Primary" "false"
EndSection
Section "Device"
Identifier "nvidia0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
# Note: PCI bus value in lspci result is in hex, BusID option seems to expect decimal
# My lspci showed 5e:0.0 for the video card, corresponding BusID option value is 94:0:0
BusID "PCI:94:0:0"
# Note: xrandr -q output showed monitors named DP-0 and DP-2, but nvidia driver seems to want to use
# "DFP" instead of "DP", so if identifying monitors and availble modes with xrandr, use DFP.
Option "Monitor-DFP-2" "monitor0"
Option "Monitor-DFP-0" "monitor1"
Option "ConnectedMonitor" "DFP-2, DFP-0"
Option "VertRefresh" "DFP-2: 60; DFP-0: 60"
Option "MetaModes" "DFP-2: 1920x1200+0+0, DFP-0: 1280x1024+1920+0"
EndSection
Section "Screen"
Identifier "screen0"
Device "nvidia0"
Monitor "monitor0"
DefaultDepth 24
EndSection
본질적으로 이는 X의 비디오 감지/할당에 남아 있는 가능성을 제거하려는 시도입니다. 모니터 섹션의 기본 옵션을 선택하면 DFP-2 모니터(실제 LCD 화면)가 기본 디스플레이로 사용됩니다. 장치 섹션의 설정은 모니터를 nVidia 카드에 구체적으로 연결하고 확장 데스크탑에서 모니터의 해상도, 새로 고침 빈도 및 상대적 위치를 설정합니다. 이제 LUKS 및 GDM 로그인 프롬프트가 올바른 디스플레이(LCD)에 나타나고 데스크탑에 필요한 형상이 있으며 비디오 변환기가 올바른 새로 고침 빈도를 얻습니다.