정보를 대체한다는 의미
EDID는 디스플레이가 제공하는 식별·표시 능력 정보입니다. 케이블·어댑터·KVM을 거치는 경로에서 정보가 없거나 잘못 전달되는 경우, 커널이 실제 디스플레이와 다른 조건을 입력으로 삼을 수 있습니다. Linux의 EDID 펌웨어 기능은 별도로 준비한 데이터를 펌웨어 인터페이스로 공급하는 방법입니다. 모니터 자체의 펌웨어를 다시 기록한다는 뜻이 아닙니다.
아래 설명은 Linux v6.18.37의 drm_edid_load.c와 해당 버전 문서를 기준으로 합니다. CONFIG_DRM_LOAD_EDID_FIRMWARE 지원, 드라이버가 이 경로를 사용하는 조건, 실제 장치와 데이터의 적합성은 별도로 확인해야 합니다. EDID를 바꿔도 케이블의 전송 능력이나 디스플레이의 물리적 한계가 늘지는 않습니다.

어떤 파일을 고르나요?
이 버전의 매개변수 이름은 drm.edid_firmware입니다. 문서에는 쉼표로 나눈 [<connector>:]<file> 형식이 나옵니다. 커넥터를 지정한 항목을 찾으면 해당 파일을 선택하고, 지정 항목에 해당하지 않는 경우에는 커넥터 이름이 없는 항목 중 마지막 비어 있지 않은 값을 대체값으로 사용합니다.
예를 들어 문자열 edid/default-a.bin,HDMI-A-1:edid/projector.bin,edid/default-b.bin을 해석할 때 HDMI-A-1에는 edid/projector.bin, 해당 지정에 맞지 않는 다른 커넥터에는 edid/default-b.bin이 선택됩니다. 이는 파일 선택 규칙의 예시이며, 이 이름의 장치나 파일이 사용자 시스템에 있다는 뜻이 아닙니다. 커널 소스는 콜론 앞 문자열 길이로 이름을 비교하므로 임의로 줄인 커넥터 이름을 정확한 일치처럼 사용하지 않습니다.
목록이 비었거나 맞는 지정도 대체값도 없으면 이 함수는 -ENOENT를 반환합니다. 이것을 모든 드라이버에서 화면이 반드시 꺼진다는 결론으로 확대하면 안 됩니다. 이후 호출자의 처리까지 이 함수 하나가 결정하지는 않습니다.
읽었다고 검증된 것은 아닙니다
| 단계 | 처리 | 아직 보장하지 않는 것 |
|---|---|---|
| 파일 선택 | 커넥터 지정과 마지막 대체값으로 이름 선택 | 파일 존재·내용·장치 적합성 |
| 펌웨어 읽기 | request_firmware()로 바이트와 크기 획득 | EDID 데이터의 유효성 |
| 데이터 검증 | drm_edid_alloc() 뒤 drm_edid_valid() 확인 | 원하는 모드의 실제 선택·물리 출력 |
읽기 실패는 해당 오류로 반환합니다. 데이터를 얻었더라도 유효성 검사를 통과하지 못하면 할당된 EDID를 해제하고 -EINVAL을 돌려줍니다. 읽기에 성공한 펌웨어 버퍼는 이 경로에서 release_firmware()로 반환합니다.
특히 Loaded external firmware EDID 디버그 메시지는 데이터 검증보다 앞에 있습니다. 그 메시지는 파일을 가져왔다는 뜻일 뿐, 뒤의 검증까지 통과했다는 뜻은 아닙니다. 배포판의 부팅 시점에 파일이 어디에서 제공되는지와 드라이버가 언제 요청하는지도 구분해야 하며, 파일 이름 하나를 추가하는 것만으로 모든 초기 부팅 환경이 구성되는 것은 아닙니다.
출력 성공과 구분하기
검증된 EDID는 입력 정보입니다. 실제 선택한 표시 모드, 컨트롤러·브리지의 제약, 링크 상태와 화면 결과는 별도의 관측입니다. 파일 읽기 → 데이터 검증 → 원하는 모드 설정 → 정상 출력의 증거를 단계별로 남겨야, 능력 정보 문제와 물리 출력 문제를 혼동하지 않습니다.
오래된 예시의 drm_kms_helper.edid_firmware 이름이나 기본 내장 해상도 목록을 이 버전의 현재 인터페이스로 복사하지 않았습니다. 검토한 로더 구현에는 예전 예시의 내장 해상도 테이블이 없습니다. EDID 길이를 128 또는 256바이트만 가능하다고 제한하지도 않습니다. 이 글은 보드의 부팅 인수 변경, 데이터 설치, DDC 탐색 또는 모니터 실험을 수행한 결과가 아닙니다.
출처와 범위
- Linux v6.18.37 drm_edid_load.c: 파일 전체의 선택·읽기·검증·해제 경로.
- 같은 버전 kernel-parameters.txt:
drm.edid_firmware항목만 대조. - 같은 버전 EDID 안내: 기능의 배경과 커널 설정.
- Custom EDID in Linux, 2023: 주제 발견 자료. 당시 명령·해상도 목록을 최신 사용법으로 재배포하지 않음.
English summary
In Linux v6.18.37, drm.edid_firmware selects a connector-specific file or the last unqualified fallback. Reading firmware, validating EDID and successfully displaying a chosen mode are separate events. The loaded-firmware debug message precedes validation. Replacement capability metadata does not repair a physical link or extend display capabilities. No boot configuration or hardware was changed for this article.