これは、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 でセキュア ブートを有効にして displaylink-rpm と evdi カーネル モジュールを使用するには、登録されたマシン所有者キー (MOK) を使用してモジュールに署名する必要があります。
続行する前に、システムでセキュア ブートが有効になっているかどうかを確認してください: mokutil --sb-state
答えが「はい」の場合は、以下のガイドに進んでください。そうでない場合は、MOK の登録は必要ないため、この指示は無視してください。
DKMS バージョン 3.0.4 以降では、MOK を手動で作成する必要はありません。DKMS はインストール中に独自のキーを生成します。ユーザーはこのキーを 1 回だけ登録する必要があります。
キーを登録するには、次の手順に従ってください。
sudo dnf install 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 は接続されたモニターとの通信を定期的に失い、モニターが空白になり、省電力モードになります。モニターがブランクになると、カーネルは 2 つのエラー メッセージをログに記録します。
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 でプル リクエストを送信することです。
貢献には主に 2 種類あります。新しいアップストリーム バージョンがリリースされるか、パッケージの変更が提案されるかのいずれかです。
パッケージ化のためにRELEASE
という変数があります。新しいアップストリーム バージョンのリリースに貢献する場合は、この変数を 1 に設定し、同じアップストリーム バージョンのスペックファイルに他の機能を追加する場合は 1 だけインクリメントする必要があります。
DisplayLink はドライバーを随時更新します。私たちはそうしようとしていますが、そのためには通常はプルリクエストに頼っています。
当社では、バージョン管理のために 3 つの異なるアップストリーム番号を管理しています。
これらの変数は次の場所で変更する必要があります。
DAEMON_VERSION
DisplayLinkManager のバージョンですVERSION
現在の evdi ドライバーのバージョンですDOWNLOAD_ID
、zip をダウンロードするための DisplayLink Web サイトの?download_id=
クエリ パラメータです。また、displaylink.spec ファイルの下部にある変更ログを更新してください。
パッケージ化ルールを変更する場合は、displaylink.spec 内のRELEASE
変数を 1 つインクリメントしてください。