질문
Linux는 부팅 사이에 하드웨어 정보를 저장합니까? (예: EDID)
그렇다면 캐시된 콘텐츠를 구성할 수 있습니까?
배경
제가 묻는 이유는 현재 두 번째 모니터를 구성하려고 하는데 해당 모니터에 VGA(모니터) - DisplayPort(그래픽 카드) 패시브 변환기가 있기 때문입니다(이것은 나쁜 생각이고 내 것이 아니라는 것을 알고 있습니다). 내가 아는 바로는 패시브 컨버터를 사용하려면 신호를 모니터에 제대로 보내기 위해 그래픽 카드가 일부 작업을 수행해야 합니다.
모니터를 작동시킬 수는 있지만 모니터나 컴퓨터를 강제로 끄면 다시 켜면 작동이 멈춥니다. 지금까지 내 솔루션은 매우 성공적이었습니다. 그래픽 카드에서 디스플레이 포트를 분리하고 시스템을 재부팅한 다음 디스플레이 포트를 다시 연결하고 다시 재부팅하면 제대로 작동합니다. 그러나 이 구성을 사용하는 컴퓨터가 많기 때문에 이는 다소 지루한 작업입니다.
전원을 껐다가 다시 켜고 나면 두 번째 모니터의 EDID가 달라집니다.
아이디어
첫 번째 직감은 그래픽 카드가 모니터로부터 일부 정보를 수신하고 패시브 어댑터로 인해 최종 EDID를 생성하기 위해 추가 작업을 수행하고 있다는 것입니다. 카드가 이 작업을 수행하기 때문에 EDID는 전원을 껐다 켜는 동안 일관성이 없습니다.
두 번째 직감은 Linux(특히 RHEL 7.0)가 하드웨어 정보를 캐시하고(대개 정적이기 때문에) 캐시된 EDID가 현재 EDID와 충돌하면 모니터가 더 이상 작동하지 않는다는 것입니다.
내 해결 방법은 이를 확인했습니다. 모니터를 분리하고 부팅하면 하드웨어를 다시 감지할 수 있을 만큼 충분히 큰 변화(디스플레이 포트에 하드웨어 없음)가 되고, 디스플레이 포트를 연결하고 부팅하면 디스플레이가 새 하드웨어로 처리되어 새로 감지됩니다. 이 해결 방법은 기본적으로 해당 디스플레이 캐시를 플러시하는 방법처럼 보입니다.
답변1
EDID 데이터가 어디에도 캐시되어 있지는 않을 것 같지만 sudo ddccontrol -p
언제든지 VGA 케이블의 i2c 버스를 통해 읽을 수 있는지 확인해 볼 수는 있습니다. 바라보다문서.
xrandr
또한 모니터를 제어하는 데에도 사용할 수 있습니다 . 그래픽 카드의 어떤 포트가 연결되어 있는지 나열하고 해당 설정을 사용할 수 있도록 해야 합니다.
기본적으로 Xorg
서버는 오버레이 파일이 없으면 시작 시 연결된 화면을 동적으로 확인하려고 시도합니다 xorg.conf
. sudo X -configure
X가 실행되지 않고 모니터가 제대로 작동하는 동안 이러한 파일을 만들어 볼 수 있습니다 . 바라보다아키텍처Linux몇 가지 예를 들어보세요.