「DisplayLink」の版間の差分
(同期) |
|||
1行目: | 1行目: | ||
− | [[Category: |
+ | [[Category:ディスプレイ]] |
[[en:DisplayLink]] |
[[en:DisplayLink]] |
||
Linux における DisplayLink デバイスのサポートはまだ実験的です。使用するのに成功している人もいますが、簡単に使えるわけではなく動作するという保証もありません。このページに記載しているのは DisplayLink で外付けモニターを使用する方法の中でも最も成功率が高いとされる方法です。 |
Linux における DisplayLink デバイスのサポートはまだ実験的です。使用するのに成功している人もいますが、簡単に使えるわけではなく動作するという保証もありません。このページに記載しているのは DisplayLink で外付けモニターを使用する方法の中でも最も成功率が高いとされる方法です。 |
||
+ | |||
+ | USB 3.0 で接続しても、DisplayLink で接続されたモニターには DisplayPort などで接続されたモニターよりも大きな遅延が発生します。画面の大部分が再描画されたときに遅延は特に顕著になります。 |
||
==インストール== |
==インストール== |
||
15行目: | 17行目: | ||
=== USB 3.0 DL-5xxx, DL-41xx, DL-3x00 デバイス === |
=== USB 3.0 DL-5xxx, DL-41xx, DL-3x00 デバイス === |
||
− | AUR から {{AUR|displaylink}} ドライバーをインストールしてください。{{ic|udl}} ドライバーと同じように [[Xrandr]] を使って DisplayLink モニターを設定できます。systemctl を使って {{ic|displaylink.service}} を起動・有効化してください。 |
+ | AUR から {{AUR|displaylink}} ドライバーをインストールしてください。{{ic|udl}} ドライバーと同じように [[Xrandr]] を使って DisplayLink モニターを設定できます。パッケージをインストールしたら systemctl を使って {{ic|displaylink.service}} を[[起動]]・[[有効化]]してください。 |
=== X ディスプレイの設定 === |
=== X ディスプレイの設定 === |
||
21行目: | 23行目: | ||
ドライバーのインストール後、以下を実行: |
ドライバーのインストール後、以下を実行: |
||
− | {{hc| |
+ | {{hc|$ xrandr --listproviders|<nowiki> |
Providers: number : 2 |
Providers: number : 2 |
||
Provider 0: id: 0x49 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 2 outputs: 8 associated providers: 0 name:Intel |
Provider 0: id: 0x49 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 2 outputs: 8 associated providers: 0 name:Intel |
||
29行目: | 31行目: | ||
上記の出力で、Provider 0 がシステムの標準のグラフィックプロバイダ (Intel) であること、そして Provider 1 (modesetting) が DisplayLink プロバイダであることが確認できます。DisplayLink デバイスを使うには、Provider 1 を Provider 0 に接続します: |
上記の出力で、Provider 0 がシステムの標準のグラフィックプロバイダ (Intel) であること、そして Provider 1 (modesetting) が DisplayLink プロバイダであることが確認できます。DisplayLink デバイスを使うには、Provider 1 を Provider 0 に接続します: |
||
− | + | $ xrandr --setprovideroutputsource 1 0 |
|
xrandr によって DVI 出力が追加されるので、これで通常通り [[Xrandr#設定|xrandr]] で使用することができます。実験的ですがホットプラグもサポートしているので、ちゃんと動作すれば非常に簡単にセットアップできたことになります。上手く動作しない場合、以下の設定が必要になります。 |
xrandr によって DVI 出力が追加されるので、これで通常通り [[Xrandr#設定|xrandr]] で使用することができます。実験的ですがホットプラグもサポートしているので、ちゃんと動作すれば非常に簡単にセットアップできたことになります。上手く動作しない場合、以下の設定が必要になります。 |
||
99行目: | 101行目: | ||
上記のコマンドで DisplayLink のスクリーンが表示されない場合、DisplayLink をメイン GPU にオフロードする必要があります: |
上記のコマンドで DisplayLink のスクリーンが表示されない場合、DisplayLink をメイン GPU にオフロードする必要があります: |
||
− | + | $ xrandr --setprovideroutputsource 1 0 |
|
スクリーンが使えるようになったら、[[Xrandr]] を参照して設定してください。自動で設定する方法は [https://github.com/nathantypanski/displaylink.sh displaylink.sh] を参照。 |
スクリーンが使えるようになったら、[[Xrandr]] を参照して設定してください。自動で設定する方法は [https://github.com/nathantypanski/displaylink.sh displaylink.sh] を参照。 |
||
+ | |||
+ | ====起動時に DVI 出力を有効化==== |
||
+ | 大抵の場合 DisplayLink プロバイダはメインのプロバイダに自動的に接続されません。そのため起動時に DVI 出力デバイスが使えません。X が起動したときに自動的にコマンドを実行するようにすることでウィンドウマネージャで自動的にディスプレイを設定できます。 |
||
+ | |||
+ | デスクトップマネージャのスタートアップ設定を編集して以下のようなコマンドを追加してください: |
||
+ | {{bc|<nowiki> |
||
+ | $(xrandr --listproviders | grep -q "modesetting") && xrandr --setprovideroutputsource 1 0 |
||
+ | </nowiki>}} |
||
+ | |||
+ | 例えば、[[SDDM]] のスタートアップ設定ファイルは {{ic|/usr/share/sddm/scripts/Xsetup}} です。 |
||
+ | |||
+ | {{ic|~/.xprofile}} に上記のコマンドを記述すると一部のウィンドウマネージャでディスプレイの設定が破壊されるので注意してください。何かディスプレイに出力されるまえにコマンドを実行する必要があります。 |
||
+ | |||
+ | {{Note|別のプロバイダが存在する場合、インデックスの代わりにプロバイダの名前を指定してください。DisplayLink デバイスの名前は {{ic|modesetting}} になります。}} |
||
==トラブルシューティング== |
==トラブルシューティング== |
||
+ | |||
+ | === 一般 === |
||
+ | |||
+ | * [[#X ディスプレイの設定|X ディスプレイの設定]]をチェックしてください。外部モニターが認識されている場合、以下のコマンドを試してみてください: |
||
+ | {{bc|<nowiki>xrandr --setprovideroutputsource 1 0 |
||
+ | xrandr --setprovideroutputsource 2 0 |
||
+ | xrandr --setprovideroutputsource 3 0 |
||
+ | ... |
||
+ | </nowiki>}} |
||
+ | * {{ic|displaylink.service}} を再起動してみてください。 |
||
+ | * USB ケーブルを再接続してみてください。 |
||
+ | * {{ic|udl}} ドライバーがロードされていること、モニターが接続されていることを確認してください。 |
||
===画面の再描画が壊れている=== |
===画面の再描画が壊れている=== |
||
125行目: | 153行目: | ||
それから DisplayLink モニターで上記のモードを使うようにモニターを設定することで、再描画問題は解決するはずです。別のモードを使用する方法は [[Xrandr]] のページを見てください。 |
それから DisplayLink モニターで上記のモードを使うようにモニターを設定することで、再描画問題は解決するはずです。別のモードを使用する方法は [[Xrandr]] のページを見てください。 |
||
+ | |||
+ | 問題が解決しない場合、コンポジタを使うことで解決する場合があります。[[xcompmgr]] や [[compton]] を使うことで問題を低減できます。 |
||
===GNOME 3 で DisplayLink のリフレッシュレートが異常に低い=== |
===GNOME 3 で DisplayLink のリフレッシュレートが異常に低い=== |
||
131行目: | 161行目: | ||
==参照== |
==参照== |
||
− | * [http://displaylink.org/forum/forumdisplay.php?f=29 DisplayLink Open Source]: |
+ | * [http://displaylink.org/forum/forumdisplay.php?f=29 DisplayLink Open Source]: 公式の DisplayLink オープンソースサポートフォーラム |
− | * [http://plugable.com/platforms/linux Plugable]: |
+ | * [http://plugable.com/platforms/linux Plugable]: DisplayLink の Linux サポートについてのメーカーブログまとめ |
− | * [http://www.displaylink.com/downloads/ubuntu.php Ubuntu Driver Download]: DisplayLink Ubuntu |
+ | * [http://www.displaylink.com/downloads/ubuntu.php Ubuntu Driver Download]: DisplayLink の Ubuntu ドライバーのダウンロード情報 |
− | * [http://downloads.displaylink.com/releasenotes/DisplayLink_Ubuntu_1.0.68_release-note.txt Release Notes]: |
+ | * [http://downloads.displaylink.com/releasenotes/DisplayLink_Ubuntu_1.0.68_release-note.txt Release Notes]: DisplayLink Ubuntu Software の最新リリースノート |
2017年1月4日 (水) 22:25時点における版
Linux における DisplayLink デバイスのサポートはまだ実験的です。使用するのに成功している人もいますが、簡単に使えるわけではなく動作するという保証もありません。このページに記載しているのは DisplayLink で外付けモニターを使用する方法の中でも最も成功率が高いとされる方法です。
USB 3.0 で接続しても、DisplayLink で接続されたモニターには DisplayPort などで接続されたモニターよりも大きな遅延が発生します。画面の大部分が再描画されたときに遅延は特に顕著になります。
目次
インストール
USB 2.0 DL-1xx デバイス
DisplayLink のカーネル DRM ドライバーは udl
です。初期の udlfb ドライバーを書き直したドライバーになります。udl
を利用すれば Xrandr を使って DisplayLink モニターを設定することができます。
まず、ドライバーを設定・インストールしてください:
- 旧式のカーネルモジュールである
udlfb
が先にロードされてしまわないようにudlfb
はブラックリストに入れて下さい。
USB 3.0 DL-5xxx, DL-41xx, DL-3x00 デバイス
AUR から displaylinkAUR ドライバーをインストールしてください。udl
ドライバーと同じように Xrandr を使って DisplayLink モニターを設定できます。パッケージをインストールしたら systemctl を使って displaylink.service
を起動・有効化してください。
X ディスプレイの設定
ドライバーのインストール後、以下を実行:
$ xrandr --listproviders
Providers: number : 2 Provider 0: id: 0x49 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 2 outputs: 8 associated providers: 0 name:Intel Provider 1: id: 0x13c cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
上記の出力で、Provider 0 がシステムの標準のグラフィックプロバイダ (Intel) であること、そして Provider 1 (modesetting) が DisplayLink プロバイダであることが確認できます。DisplayLink デバイスを使うには、Provider 1 を Provider 0 に接続します:
$ xrandr --setprovideroutputsource 1 0
xrandr によって DVI 出力が追加されるので、これで通常通り xrandr で使用することができます。実験的ですがホットプラグもサポートしているので、ちゃんと動作すれば非常に簡単にセットアップできたことになります。上手く動作しない場合、以下の設定が必要になります。
設定
以下の設定手順は X サーバーを既に立ち上げる準備が整っているのが前提で、後は既存のセットアップにモニターを追加するだけという状態になっている必要があります。
フレームバッファデバイスのロード
DisplayLink デバイスがシステムに認識される前に、udl
カーネルモジュールをロードしなくてはなりません。ロードするには、次を実行:
# modprobe udl
DisplayLink デバイスを接続すると、表示に何らかの変化が現れるはずです。緑色の画面が出るのが普通ですが、他の表示がされることもよくあるので気にする必要はありません。最も大事なのは、dmesg
の出力で以下のように DisplayLink デバイスが認識されたのを確認できることです:
usb 2-1.1: new high-speed USB device number 7 using ehci-pci usb 2-1.1: New USB device found, idVendor=17e9, idProduct=03e0 usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 2-1.1: Product: Lenovo LT1421 wide usb 2-1.1: Manufacturer: DisplayLink usb 2-1.1: SerialNumber: 6V9BBRM1 [drm] vendor descriptor length:17 data:17 5f 01 00 15 05 00 01 03 00 04 udl 2-1.1:1.0: fb1: udldrmfb frame buffer device [drm] Initialized udl 0.0.1 20120220 on minor 1
さらに、プライマリディスプレイに既にフレームバッファが存在する場合、/dev
に /dev/fb1
のような新しい fb
デバイスが作られます。
起動時に自動的に udl
をロードするには、以下の内容で /etc/modules-load.d/
に udl.conf
ファイルを作成してください:
/etc/modules-load.d/udl.conf
udl
カーネルモジュールのロードに関してはカーネルモジュール#ロードを参照。
X サーバーの設定
xrandr
やデスクトップ環境のディスプレイ設定 UI を使って udl
や displaylink
ドライバーを使用する USB モニターを設定してください。
xrandr
ドライバーをロードすると、DisplayLink モニターがプロバイダの出力に表示されます:
$ xrandr --listproviders
Providers: number : 2 Provider 0: id: 0x43 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 2 outputs: 2 associated providers: 1 name:Intel Provider 1: id: 0xcb cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 1 name:modesetting
上記の例では、Provider 1 が DisplayLink デバイスで、Provider 0 がデフォルトディスプレイです。xrandr --current
を実行すると利用可能なスクリーンのリストが表示されます:
$ xrandr --current
Screen 0: minimum 320 x 200, current 1600 x 900, maximum 8192 x 8192 LVDS1 connected 1600x900+0+0 (normal left inverted right x axis y axis) 309mm x 174mm 1600x900 60.0*+ 40.0 1440x900 59.9 1360x768 59.8 60.0 1152x864 60.0 1024x768 60.0 800x600 60.3 56.2 640x480 59.9 VGA1 disconnected (normal left inverted right x axis y axis) DVI-1-0 connected (normal left inverted right x axis y axis) 1366x768 60.0 + 1368x768_59.90 59.9 1368x768_59.90 (0xd0) 85.7MHz h: width 1368 start 1440 end 1584 total 1800 skew 0 clock 47.6KHz v: height 768 start 769 end 772 total 795 clock 59.9Hz
上記のコマンドで DisplayLink のスクリーンが表示されない場合、DisplayLink をメイン GPU にオフロードする必要があります:
$ xrandr --setprovideroutputsource 1 0
スクリーンが使えるようになったら、Xrandr を参照して設定してください。自動で設定する方法は displaylink.sh を参照。
起動時に DVI 出力を有効化
大抵の場合 DisplayLink プロバイダはメインのプロバイダに自動的に接続されません。そのため起動時に DVI 出力デバイスが使えません。X が起動したときに自動的にコマンドを実行するようにすることでウィンドウマネージャで自動的にディスプレイを設定できます。
デスクトップマネージャのスタートアップ設定を編集して以下のようなコマンドを追加してください:
$(xrandr --listproviders | grep -q "modesetting") && xrandr --setprovideroutputsource 1 0
例えば、SDDM のスタートアップ設定ファイルは /usr/share/sddm/scripts/Xsetup
です。
~/.xprofile
に上記のコマンドを記述すると一部のウィンドウマネージャでディスプレイの設定が破壊されるので注意してください。何かディスプレイに出力されるまえにコマンドを実行する必要があります。
トラブルシューティング
一般
- X ディスプレイの設定をチェックしてください。外部モニターが認識されている場合、以下のコマンドを試してみてください:
xrandr --setprovideroutputsource 1 0 xrandr --setprovideroutputsource 2 0 xrandr --setprovideroutputsource 3 0 ...
displaylink.service
を再起動してみてください。- USB ケーブルを再接続してみてください。
udl
ドライバーがロードされていること、モニターが接続されていることを確認してください。
画面の再描画が壊れている
カーネルドライバーとして udl
を使用するとモニターが機能しなくなり、マウスを移動したりウィンドウを変形したときだけしか画面が更新されない場合、スクリーンの modeline の設定が間違っています。以下のようなコマンドで適切な modeline を取得できます:
gtf 1366 768 59.9
1366
と 768
はモニターの横・縦の解像度に、59.9
はリフレッシュレートに置き換えてください。modeline を使うには、以下のように xrandr
で新しいモードを作成:
xrandr --newmode "1368x768_59.90" 85.72 1368 1440 1584 1800 768 769 772 795 -HSync +Vsync
そして Xrandr に追加:
xrandr --addmode DVI-0 1368x768_59.90
それから DisplayLink モニターで上記のモードを使うようにモニターを設定することで、再描画問題は解決するはずです。別のモードを使用する方法は Xrandr のページを見てください。
問題が解決しない場合、コンポジタを使うことで解決する場合があります。xcompmgr や compton を使うことで問題を低減できます。
GNOME 3 で DisplayLink のリフレッシュレートが異常に低い
DisplayLink を設定したとたんにデスクトップが遅くなる場合、背景画像をシンプルに、例えば真っ黒にするなど設定してみてください。
参照
- DisplayLink Open Source: 公式の DisplayLink オープンソースサポートフォーラム
- Plugable: DisplayLink の Linux サポートについてのメーカーブログまとめ
- Ubuntu Driver Download: DisplayLink の Ubuntu ドライバーのダウンロード情報
- Release Notes: DisplayLink Ubuntu Software の最新リリースノート