이는 Fedora, CentOS Stream, Rocky Linux 및 AlmaLinux OS용 RPM 패키지에 DisplayLink 드라이버를 빌드하는 방법입니다. 이 드라이버는 다음 장치 제품군을 지원합니다.
패키지에는 오픈 소스 evdi 라이브러리가 포함되어 있습니다.
패키지는 GitHub Actions에 의해 자동으로 빌드되고 GitHub 릴리스에 업로드됩니다.
참고: 이제 .spec 파일(모의 fe)을 통해 깔끔하게 빌드할 수 있습니다.
make srpm
을 통해 파일을 다운로드합니다.
드라이버 rpm 패키지를 생성하려면 체크아웃된 디렉터리 내에서 make
명령을 실행할 수 있습니다. Makefile은 필요한 파일을 다운로드하고 RPM을 생성해야 합니다.
기본 make
Displaylink 드라이버 패키지와 함께 번들로 제공되는 evdi 드라이버를 사용합니다. evdi Github 저장소에서 최신 릴리스 버전을 사용해야 하는데 현재 Displaylink 드라이버 패키지에 없는 경우 다음을 실행하여 수행할 수 있습니다.
make github-release
Fedora에서 보안 부팅이 활성화된 디스플레이링크-rpm 및 evdi 커널 모듈을 사용하려면 등록된 MOK(머신 소유자 키)로 모듈에 서명해야 합니다.
계속하기 전에 시스템에서 보안 부팅이 활성화되어 있는지 확인하십시오: mokutil --sb-state
대답이 '예'인 경우 아래 가이드를 계속 진행하세요. 그렇지 않으면 MOK 등록이 필요하지 않으며 이 지침을 무시할 수 있습니다.
DKMS 버전 3.0.4부터는 MOK를 수동으로 생성할 필요가 없습니다. 설치 중에 DKMS는 사용자가 한 번만 등록하면 되는 자체 키를 생성합니다.
키를 등록하려면 다음 지침을 따르십시오.
sudo dnf install mokutil dkms
저장소에서 mokutil 및 dkms 도구를 설치합니다.mokutil --import /var/lib/dkms/mok.pub
실행하여 키를 가져오고 DKMS github 페이지에서 제공되는 지침 등록 지침을 따릅니다(시스템 재부팅이 필요함).sudo dkms autoinstall
명령을 실행하여 MOK로 evdi 모듈을 빌드하고 서명합니다.sudo dkms status
또는 sudo systemctl status displaylink-driver.service
실행하여 이를 확인할 수 있습니다. Dell D6000 도킹 스테이션과 함께 사용할 경우 DisplayLink 5.1.26은 정기적으로 연결된 모니터와의 통신이 끊어져 공백 상태가 되고 절전 모드로 전환됩니다. 모니터가 꺼지면 커널은 두 가지 오류 메시지를 기록합니다.
kernel: usb < xxx > : Disable of device-initiated U1 failed.
kernel: usb < xxx > : Disable of device-initiated U2 failed.
이 문제를 해결하려면 /etc/pulse/default.pa
의 행을 주석 처리하여 오디오 장치에 대한 전원 관리를 비활성화하십시오.
# ## Automatically suspend sinks/sources that become idle for too long
# load-module module-suspend-on-idle
일반적으로 우리는 evdi 라이브러리의 현재 안정 릴리스를 추적하려고 합니다. 그러나 Fedora 커널은 해당 릴리스에서 공식적으로 지원하는 것보다 훨씬 최신인 경우가 많으며 새 커널이 빌드를 완전히 중단하는 것은 드문 일이 아닙니다. 이로 인해 디스플레이링크 장치를 희생하지 않고는 커널을 업그레이드할 수 없는 상황이 발생할 수 있습니다. 새 커널에 중요한 보안 또는 성능 수정 사항이 있는 경우 이는 좋지 않습니다.
evdi 개발자는 모든 변경 사항에 대해 main
분기를 기본 분기로 사용합니다.
main
브랜치에서 최신 코드를 가져와서 빌드하는 데 사용하려면 다음을 수행하세요.
make main
make github-release
물론 이 main
브랜치에는 다른 예상치 못한 방식으로 문제를 일으킬 수 있는 실험적이고 덜 테스트된 변경 사항도 포함됩니다. 따라서 작동하는 경우 메인라인 빌드를 선호해야 하지만, 작동하지 않는 경우에는 main
빌드를 만들 수 있는 옵션이 있습니다.
Fedora Rawhide를 사용하는 경우 다음을 실행하여 main
브랜치에서 자동으로 다운로드하고 빌드하는 빌드를 생성할 수 있습니다.
make rawhide
과거에는
main
분기의 코드에 태그가 지정되었으며 해당 버전이 Displaylink 드라이버 패키지에 포함되었습니다.최근에는 evdi 라이브러리 버전이 변경되지 않은 채 Displaylink 드라이버 패키지에 새로운 변경 사항이 나타나는 것을 확인했습니다. 이로 인해 유지 관리 업데이트와 관련하여 약간의 혼란과 어려움이 발생했습니다.
evdi 사람들은 이 문제를 인식하고 프로세스를 더욱 투명하게 만들기 위해 노력하고 있습니다.
패키지에 기여하는 가장 쉬운 방법은 패키지를 포크하고 GitHub에서 끌어오기 요청을 보내는 것입니다.
기여에는 두 가지 주요 유형이 있습니다. 새로운 업스트림 버전이 출시되거나 패키징 수정이 제안됩니다.
패키징 목적으로 RELEASE
라는 변수가 있습니다. 새로운 업스트림 버전 릴리스에 기여할 때 해당 변수는 1로 설정되어야 하며, 동일한 업스트림 버전에 대한 사양 파일에 다른 기능을 추가할 때 1로 증가해야 합니다.
DisplayLink는 때때로 드라이버를 업데이트합니다. 우리는 그렇게 하려고 노력하지만 이를 위해 일반적으로 풀 요청에 의존합니다.
버전 관리를 위해 세 가지 업스트림 번호를 관리합니다.
이러한 변수는 다음 위치에서 변경되어야 합니다.
DAEMON_VERSION
은 DisplayLinkManager 버전입니다.VERSION
은 현재 evdi 드라이버 버전입니다.DOWNLOAD_ID
zip을 다운로드하기 위한 DisplayLink 웹사이트의 ?download_id=
쿼리 매개변수입니다.또한, displaylink.spec 파일 하단의 변경 로그를 업데이트하시기 바랍니다.
패키징 규칙을 변경할 때 displaylink.spec에서 RELEASE
변수를 1씩 증가시키세요.