인텔 i915 드라이버를 사용하여 Linux가 모니터를 감지/재감지하도록 하는 방법은 무엇입니까?

인텔 i915 드라이버를 사용하여 Linux가 모니터를 감지/재감지하도록 하는 방법은 무엇입니까?

모든 출력이 인텔 카드에 연결되어 있는 nvidia optimus/intel 하이브리드 그래픽 카드가 장착된 Linux를 실행하는 노트북이 있습니다. i915 드라이버로 구동됩니다.

외부 모니터 또는 프로젝터는 부팅 주기에서 한 번만 검색됩니다. 비활성화하거나 연결을 해제한 다음 다시 연결하면 Linux 커널이 더 이상 이를 감지하지 않기 때문에 다시 활성화할 수 없습니다. 내 경우에는 udev 또는 acpi가 없습니다. , 플러그/플러그 해제 및 sysfs 이벤트는 /sys/class/drm/card0-DP-1/status출력 연결이 끊어졌음을 나타냅니다. 재부팅 후 모니터가 계속해서 감지되었습니다. 일시 중지/최대 절전 모드 및 재개도 충분하지만 재부팅 시 출력이 분리되는 경우에만 해당됩니다.

나는 이것이 부팅 시 출력 장치의 커널 검색/재탐색과 어느 정도 관련이 있다고 생각합니다. 어떻게든 커널이 모니터를 다시 검색하여 모니터를 다시 감지하도록 유도할 수 있습니까?

답변1

이것은 X에서 작동하는 xrandr 방법이 아니지만 콘솔의 경우 이것을 시도해 볼 수 있습니다.쓰다/sys/class/drm/card0-DP-1/status또한 해당 파일로 이동하십시오. 적절한 문서를 찾을 수 없었지만 다행히 Linux는 오픈 소스입니다. 검토소스 코드detect, 여러 값( , 및 ) on이 필요한 것 같습니다 .on-digitaloff

따라서 echo detect > /sys/class/drm/card0-DP-1/status모니터를 강제로 다시 확인해야 합니다. 아니면 echo on-digital > /sys/class/drm/card0-DP-1/status테스트 결과에 관계없이 전원을 켤 수도 있습니다.

편집하다:X에서는 HDMI가 연결된 것으로 감지되지 않는 문제를 처리하는 데 이 기능을 사용합니다. 그러면 출력이 강제로 활성화됩니다. 하지만 불행하게도 비디오, HDMI 오디오만 작동하지 않습니다(커널 패치 없이는 불가능합니다).

xrandr --newmode "Mode 2" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
xrandr --addmode HDMI-1 "Mode 2"
xrandr --output HDMI-1 --mode "Mode 2" --right-of LVDS-1

이 숫자는 모두 비디오 타이밍을 지정합니다. 일반적으로 자동으로 감지되며 이를 얻는 가장 쉬운 방법은 시작할 때 사용 중인 모드를 가져와 작동할 수 있도록 하는 것입니다(표시됩니다 xrandr --verbose).

관련 정보