DisplayLink : Reloaded
LILO / TokaidoLUG Online, August 2020
Masataka Kondo
August 16th, 2020
LILO / TokaidoLUG Online
August 16th, 2020
displaylinkとは
●
USBから映像信号を出力し、外部ディスプレイに出力する
ためのチップセットおよびソフトウェア類の総称
●
一般に「USB接続ディスプレイ」といえばコレ
●
中華にはヤバい類似品がある(Fresco Logic etc.)
●
HDMIなどを装備したモバイルディスプレイの増加により
最近では枯れた技術?
LILO / TokaidoLUG Online
August 16th, 2020
なぜdisplaylinkなんですか?
「どーしても displaylinkなのか・・?
 HDMIやDPとか・・
 もっと簡単で ドカンとレート出るヤツあるゾ
 オレは昔からdisplaylinkしか
 やれないワケじゃ ないんだぜ」
「・・・・」
LILO / TokaidoLUG Online
August 16th, 2020
なぜdisplaylinkなんですか?
「displaylinkがいいんです
 Adnanサンの組んだ displaylinkが
 いいんですオレ」
「OK スクリプトを組もう」
LILO / TokaidoLUG Online
August 16th, 2020
現状の整理(Windowsを除く)
●
DisplayLink社の提供するドライバーはunstable
– バージョンによって動かなかったり、動いたり
– 「動かない。なお対策はない(キリッ)」なMacよりマシ
●
Debian系には支援スクリプトがある
– Adnan Hodzicさんという方がGithubにあげてる
– これによってずいぶん助かった
– が、DL社のドライバー変更に左右されてしまう
LILO / TokaidoLUG Online
August 16th, 2020
自画自賛ですが2000PVを越える「名作」
先日までの環境では
ちゃんとインストールできず
責任をとる必要があった
この資料によって
前掲の資料の置き換えを
するものとします
LILO / TokaidoLUG Online
August 16th, 2020
長期休暇はクリーンインストールの誘惑が
●
メインマシン(BX310UA)をMint 19.3 → 20へ
●
サブのBMAX Y11はLMDE4へ
– Cinnamonがいちばん使い慣れてますんで…
– Anthyは、Ctrl-Jで半角/全角切替できることを認識
●
インストール直後なら条件だしが容易
●
OSを変えて試すのはY11側で対応する
LILO / TokaidoLUG Online
August 16th, 2020
裏面のベイを開けるだけなので簡単!
Case #1 : Linux Mint 20
(Based on Ubuntu 20.04)
LILO / TokaidoLUG Online
August 16th, 2020
純正ドライバでもAdnan ScriptでもOK!!
●
現時点でのいちばんのオススメ!乗換推奨
●
DisplayLinkのドライバも最新(5.3)なのでよい
●
デスクトップ環境を意識するなら最新が推奨
– インストールされるアプリケーションのVer.など
– 従来バージョンだと一部のアプリが古すぎるとか
LILO / TokaidoLUG Online
August 16th, 2020
(1) 純正ドライバーで対応する場合
https://displaylink.com/downloads/
で、
いちばん右側のUbuntuのアイコンを
選択し、
LILO / TokaidoLUG Online
August 16th, 2020
(1) 純正ドライバーで対応する場合
https://displaylink.com/downloads/
で、
いちばん右側のUbuntuのアイコンを
選択し、
「Latest Official Driver」
である5.3.1を
ダウンロードする
LILO / TokaidoLUG Online
August 16th, 2020
スクリプトに実行属性をつけるのが必要
●
「stdint.hがない」エラーはg++を入れて解決
machey@sirius[218] sudo ./displaylink-driver-5.3.1.34.run
[sudo] password for machey:
Verifying archive integrity... 100% All good.
Uncompressing DisplayLink Linux Driver 5.3.1.34 100%
DisplayLink Linux Software 5.3.1.34 install script called:
...(snip)...
9 | # include_next <stdint.h>
| ^~~~~~~~~~
compilation terminated.
make: *** [<builtin>: evdi_lib.o] Error 1
ERROR: Failed to build evdi/5.3.1.34 library.
machey@sirius[219] sudo apt-get install g++
LILO / TokaidoLUG Online
August 16th, 2020
ひっかかるのは前述の部分くらい
●
再起動される前にログは残しましょうね...
machey@sirius[220] sudo ./displaylink-driver-5.3.1.34.run
[sudo] password for machey:
..(snip)…
Please read the FAQ
http://support.displaylink.com/knowledgebase/topics/103927-
troubleshooting-ubuntu
Installation complete!
Please reboot your computer if intending to use Xorg.
Xorg is running. Do you want to reboot now? (Y/n)
LILO / TokaidoLUG Online
August 16th, 2020
(2) Adnan Scriptで対応する場合
https://github.com/AdnanHodzic/
displaylink-debian/
で、
[Code]→[Download ZIP]から
アーカイブを入手する
LILO / TokaidoLUG Online
August 16th, 2020
こっちは老舗だけあって至れり尽くせり
●
足りないものを聞いてくるのでそれに答えるだけ
machey@camellia[132] sudo ./displaylink-debian.sh
[sudo] password for machey:
--------------------------- displaylink-debian -------------------------------
DisplayLink driver installer for Debian and Ubuntu based Linux distributions:
* Debian, Ubuntu, Elementary OS, Mint, Kali, Deepin and many more!
* Full list of all supported platforms: http://bit.ly/2zrwz2u
* When submitting a new issue, include Debug information
...(snip)...
Installation complete!
Please reboot your computer if intending to use Xorg.
Xorg is running. Do you want to reboot now? (Y/n)
Case #2 : LMDE4 Debbie
(Based on Debian 10 Buster)
LILO / TokaidoLUG Online
August 16th, 2020
進め方はUbuntuの場合と共通
●
特に停止する箇所なし。ドライバは5.3.1を使用
machey@camellia[132] sudo ./displaylink-debian.sh
[sudo] password for machey:
--------------------------- displaylink-debian -------------------------------
DisplayLink driver installer for Debian and Ubuntu based Linux distributions:
...(snip)...
DisplayLink_Ubuntu_ 100%[===================>] 13.25M 490KB/s in 29s
2020-08-10 14:45:53 (460 KB/s) - ‘DisplayLink_Ubuntu_5.3.1.zip’ saved
[13889958/13889958]
...(snip)…
Installation complete!
Please reboot your computer if intending to use Xorg.
Xorg is running. Do you want to reboot now? (Y/n)
当面としての
まとめ
Ubuntu 20.04系
Debian 10系の
場合は最新ドライバ
でDL社、Adnan Scr.
どちらの場合もOK
Case #3 : Linux Mint 19.3
(Based on Ubuntu 18.04)
うまくいってない
ケースの
紹介事例です...
LILO / TokaidoLUG Online
August 16th, 2020
Linux Mint 19.3 + driver 5.2は未解決
Programs Status Note
Displaylink
Driver 5.2 ×
Build.include
がみつからない
Adnan
Script ×
サポート対象外
と判別されてしまう
LILO / TokaidoLUG Online
August 16th, 2020
ここからは、止まるコードの見学会
machey@camellia[518] sudo ./displaylink-driver-5.2.14.run
Verifying archive integrity... 100% All good.
Uncompressing DisplayLink Linux Driver 5.2.14 100%
DisplayLink Linux Software 5.2.14 install script called: install
Distribution discovered: Linux Mint 19.3 Tricia
Installing
Configuring EVDI DKMS module
Registering EVDI kernel module with DKMS
Building EVDI kernel module with DKMS
ERROR (code 3): Failed to build evdi/5.2.14. Consult
/var/lib/dkms/evdi/5.2.14/build/make.log for details..
LILO / TokaidoLUG Online
August 16th, 2020
sys/types.hをなんとかする必要がある
machey@camellia[520] sudo less /var/lib/dkms/evdi/5.2.14/build/make.log
DKMS make.log for evdi-5.2.14 for kernel 5.4.0-42-generic (x86_64)
...(Snip)...
make -f ./scripts/Makefile.build obj=scripts/basic
gcc -Wp,-MD,scripts/basic/.fixdep.d -Wall -Wmissing-prototypes -Wstrict-
prototypes -O2 -fomit-frame-pointer -std=gnu89 -o scripts/basic/fixdep
scripts/basic/fixdep.c
scripts/basic/fixdep.c:97:10: fatal error: sys/types.h: No such file or directory
#include <sys/types.h>
^~~~~~~~~~~~~
compilation terminated.
scripts/Makefile.host:107: recipe for target 'scripts/basic/fixdep' failed
make[3]: *** [scripts/basic/fixdep] Error 1
Makefile:527: recipe for target 'scripts_basic' failed
make[2]: *** [scripts_basic] Error 2
Makefile:704: recipe for target 'include/config/auto.conf.cmd' failed
make[1]: *** [include/config/auto.conf.cmd] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.4.0-42-generic'
Makefile:22: recipe for target 'all' failed
make: *** [all] Error 2
LILO / TokaidoLUG Online
August 16th, 2020
libelf-devまわりが足りていないらしい
machey@camellia[523] sudo apt-get install libc6-dev
machey@camellia[524] sudo ./displaylink-driver-5.2.14.run
...(Snip)...
make -f ./scripts/Makefile.build obj=scripts/dtc
warning: Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-
devel or elfutils-libelf-devel
make -f ./scripts/Makefile.modbuiltin obj=init
make[2]: *** No rule to make target 'arch/x86/tools/relocs_32.c', needed by
'arch/x86/tools/relocs_32.o'. Stop.
arch/x86/Makefile:232: recipe for target 'archscripts' failed
make[1]: *** [archscripts] Error 2
make[1]: *** Waiting for unfinished jobs....
(for m in ; do echo $m; done; 
cat /dev/null ) > init/modules.builtin
make[1]: Leaving directory '/usr/src/linux-headers-5.4.0-42-generic'
Makefile:22: recipe for target 'all' failed
make: *** [all] Error 2
(END)
machey@camellia[529] sudo apt-get install libelf-dev
LILO / TokaidoLUG Online
August 16th, 2020
Build.includeが足りてないのは未解決
machey@camellia[530] sudo ./displaylink-driver-5.2.14.run
...(Snip)...
/usr/src/linux-headers-5.4.0-42-generic/tools/build/Makefile.build:37:
/usr/src/linux-headers-5.4.0-42-generic/tools/build/Build.include: No such file
or directory
make -f ./scripts/Makefile.modbuiltin obj=arch/x86/entry/vdso
make[5]: *** No rule to make target
'/usr/src/linux-headers-5.4.0-42-generic/tools/build/Build.include'. Stop.
Makefile:43: recipe for target
'/usr/src/linux-headers-5.4.0-42-generic/tools/objtool/fixdep-in.o' failed
make[4]: *** [/usr/src/linux-headers-5.4.0-42-generic/tools/objtool/fixdep-in.o]
Error 2
make -f ./scripts/Makefile.modbuiltin obj=kernel/cgroup
/usr/src/linux-headers-5.4.0-42-generic/tools/build/Makefile.include:5: recipe
for target 'fixdep' failed
make[3]: *** [fixdep] Error 2
Makefile:67: recipe for target 'objtool' failed
make[2]: *** [objtool] Error 2
-----
LILO / TokaidoLUG Online
August 16th, 2020
カーネルのこと、これから頑張ろう...
●
ドライバはカーネル環境に依存
●
カーネルビルドは日常では不要
●
一歩先を見据えた時に
●
未知のデバイスを使いたいし
ありがとうございました!!

Displaylink : Reloaded

  • 1.
    DisplayLink : Reloaded LILO/ TokaidoLUG Online, August 2020 Masataka Kondo August 16th, 2020
  • 2.
    LILO / TokaidoLUGOnline August 16th, 2020 displaylinkとは ● USBから映像信号を出力し、外部ディスプレイに出力する ためのチップセットおよびソフトウェア類の総称 ● 一般に「USB接続ディスプレイ」といえばコレ ● 中華にはヤバい類似品がある(Fresco Logic etc.) ● HDMIなどを装備したモバイルディスプレイの増加により 最近では枯れた技術?
  • 3.
    LILO / TokaidoLUGOnline August 16th, 2020 なぜdisplaylinkなんですか? 「どーしても displaylinkなのか・・?  HDMIやDPとか・・  もっと簡単で ドカンとレート出るヤツあるゾ  オレは昔からdisplaylinkしか  やれないワケじゃ ないんだぜ」 「・・・・」
  • 4.
    LILO / TokaidoLUGOnline August 16th, 2020 なぜdisplaylinkなんですか? 「displaylinkがいいんです  Adnanサンの組んだ displaylinkが  いいんですオレ」 「OK スクリプトを組もう」
  • 5.
    LILO / TokaidoLUGOnline August 16th, 2020 現状の整理(Windowsを除く) ● DisplayLink社の提供するドライバーはunstable – バージョンによって動かなかったり、動いたり – 「動かない。なお対策はない(キリッ)」なMacよりマシ ● Debian系には支援スクリプトがある – Adnan Hodzicさんという方がGithubにあげてる – これによってずいぶん助かった – が、DL社のドライバー変更に左右されてしまう
  • 6.
    LILO / TokaidoLUGOnline August 16th, 2020 自画自賛ですが2000PVを越える「名作」
  • 7.
  • 8.
  • 9.
    LILO / TokaidoLUGOnline August 16th, 2020 長期休暇はクリーンインストールの誘惑が ● メインマシン(BX310UA)をMint 19.3 → 20へ ● サブのBMAX Y11はLMDE4へ – Cinnamonがいちばん使い慣れてますんで… – Anthyは、Ctrl-Jで半角/全角切替できることを認識 ● インストール直後なら条件だしが容易 ● OSを変えて試すのはY11側で対応する
  • 10.
    LILO / TokaidoLUGOnline August 16th, 2020 裏面のベイを開けるだけなので簡単!
  • 11.
    Case #1 :Linux Mint 20 (Based on Ubuntu 20.04)
  • 12.
    LILO / TokaidoLUGOnline August 16th, 2020 純正ドライバでもAdnan ScriptでもOK!! ● 現時点でのいちばんのオススメ!乗換推奨 ● DisplayLinkのドライバも最新(5.3)なのでよい ● デスクトップ環境を意識するなら最新が推奨 – インストールされるアプリケーションのVer.など – 従来バージョンだと一部のアプリが古すぎるとか
  • 13.
    LILO / TokaidoLUGOnline August 16th, 2020 (1) 純正ドライバーで対応する場合 https://displaylink.com/downloads/ で、 いちばん右側のUbuntuのアイコンを 選択し、
  • 14.
    LILO / TokaidoLUGOnline August 16th, 2020 (1) 純正ドライバーで対応する場合 https://displaylink.com/downloads/ で、 いちばん右側のUbuntuのアイコンを 選択し、 「Latest Official Driver」 である5.3.1を ダウンロードする
  • 15.
    LILO / TokaidoLUGOnline August 16th, 2020 スクリプトに実行属性をつけるのが必要 ● 「stdint.hがない」エラーはg++を入れて解決 machey@sirius[218] sudo ./displaylink-driver-5.3.1.34.run [sudo] password for machey: Verifying archive integrity... 100% All good. Uncompressing DisplayLink Linux Driver 5.3.1.34 100% DisplayLink Linux Software 5.3.1.34 install script called: ...(snip)... 9 | # include_next <stdint.h> | ^~~~~~~~~~ compilation terminated. make: *** [<builtin>: evdi_lib.o] Error 1 ERROR: Failed to build evdi/5.3.1.34 library. machey@sirius[219] sudo apt-get install g++
  • 16.
    LILO / TokaidoLUGOnline August 16th, 2020 ひっかかるのは前述の部分くらい ● 再起動される前にログは残しましょうね... machey@sirius[220] sudo ./displaylink-driver-5.3.1.34.run [sudo] password for machey: ..(snip)… Please read the FAQ http://support.displaylink.com/knowledgebase/topics/103927- troubleshooting-ubuntu Installation complete! Please reboot your computer if intending to use Xorg. Xorg is running. Do you want to reboot now? (Y/n)
  • 17.
    LILO / TokaidoLUGOnline August 16th, 2020 (2) Adnan Scriptで対応する場合 https://github.com/AdnanHodzic/ displaylink-debian/ で、 [Code]→[Download ZIP]から アーカイブを入手する
  • 18.
    LILO / TokaidoLUGOnline August 16th, 2020 こっちは老舗だけあって至れり尽くせり ● 足りないものを聞いてくるのでそれに答えるだけ machey@camellia[132] sudo ./displaylink-debian.sh [sudo] password for machey: --------------------------- displaylink-debian ------------------------------- DisplayLink driver installer for Debian and Ubuntu based Linux distributions: * Debian, Ubuntu, Elementary OS, Mint, Kali, Deepin and many more! * Full list of all supported platforms: http://bit.ly/2zrwz2u * When submitting a new issue, include Debug information ...(snip)... Installation complete! Please reboot your computer if intending to use Xorg. Xorg is running. Do you want to reboot now? (Y/n)
  • 19.
    Case #2 :LMDE4 Debbie (Based on Debian 10 Buster)
  • 20.
    LILO / TokaidoLUGOnline August 16th, 2020 進め方はUbuntuの場合と共通 ● 特に停止する箇所なし。ドライバは5.3.1を使用 machey@camellia[132] sudo ./displaylink-debian.sh [sudo] password for machey: --------------------------- displaylink-debian ------------------------------- DisplayLink driver installer for Debian and Ubuntu based Linux distributions: ...(snip)... DisplayLink_Ubuntu_ 100%[===================>] 13.25M 490KB/s in 29s 2020-08-10 14:45:53 (460 KB/s) - ‘DisplayLink_Ubuntu_5.3.1.zip’ saved [13889958/13889958] ...(snip)… Installation complete! Please reboot your computer if intending to use Xorg. Xorg is running. Do you want to reboot now? (Y/n)
  • 21.
  • 22.
  • 23.
    Case #3 :Linux Mint 19.3 (Based on Ubuntu 18.04)
  • 24.
  • 25.
    LILO / TokaidoLUGOnline August 16th, 2020 Linux Mint 19.3 + driver 5.2は未解決 Programs Status Note Displaylink Driver 5.2 × Build.include がみつからない Adnan Script × サポート対象外 と判別されてしまう
  • 26.
    LILO / TokaidoLUGOnline August 16th, 2020 ここからは、止まるコードの見学会 machey@camellia[518] sudo ./displaylink-driver-5.2.14.run Verifying archive integrity... 100% All good. Uncompressing DisplayLink Linux Driver 5.2.14 100% DisplayLink Linux Software 5.2.14 install script called: install Distribution discovered: Linux Mint 19.3 Tricia Installing Configuring EVDI DKMS module Registering EVDI kernel module with DKMS Building EVDI kernel module with DKMS ERROR (code 3): Failed to build evdi/5.2.14. Consult /var/lib/dkms/evdi/5.2.14/build/make.log for details..
  • 27.
    LILO / TokaidoLUGOnline August 16th, 2020 sys/types.hをなんとかする必要がある machey@camellia[520] sudo less /var/lib/dkms/evdi/5.2.14/build/make.log DKMS make.log for evdi-5.2.14 for kernel 5.4.0-42-generic (x86_64) ...(Snip)... make -f ./scripts/Makefile.build obj=scripts/basic gcc -Wp,-MD,scripts/basic/.fixdep.d -Wall -Wmissing-prototypes -Wstrict- prototypes -O2 -fomit-frame-pointer -std=gnu89 -o scripts/basic/fixdep scripts/basic/fixdep.c scripts/basic/fixdep.c:97:10: fatal error: sys/types.h: No such file or directory #include <sys/types.h> ^~~~~~~~~~~~~ compilation terminated. scripts/Makefile.host:107: recipe for target 'scripts/basic/fixdep' failed make[3]: *** [scripts/basic/fixdep] Error 1 Makefile:527: recipe for target 'scripts_basic' failed make[2]: *** [scripts_basic] Error 2 Makefile:704: recipe for target 'include/config/auto.conf.cmd' failed make[1]: *** [include/config/auto.conf.cmd] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-5.4.0-42-generic' Makefile:22: recipe for target 'all' failed make: *** [all] Error 2
  • 28.
    LILO / TokaidoLUGOnline August 16th, 2020 libelf-devまわりが足りていないらしい machey@camellia[523] sudo apt-get install libc6-dev machey@camellia[524] sudo ./displaylink-driver-5.2.14.run ...(Snip)... make -f ./scripts/Makefile.build obj=scripts/dtc warning: Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf- devel or elfutils-libelf-devel make -f ./scripts/Makefile.modbuiltin obj=init make[2]: *** No rule to make target 'arch/x86/tools/relocs_32.c', needed by 'arch/x86/tools/relocs_32.o'. Stop. arch/x86/Makefile:232: recipe for target 'archscripts' failed make[1]: *** [archscripts] Error 2 make[1]: *** Waiting for unfinished jobs.... (for m in ; do echo $m; done; cat /dev/null ) > init/modules.builtin make[1]: Leaving directory '/usr/src/linux-headers-5.4.0-42-generic' Makefile:22: recipe for target 'all' failed make: *** [all] Error 2 (END) machey@camellia[529] sudo apt-get install libelf-dev
  • 29.
    LILO / TokaidoLUGOnline August 16th, 2020 Build.includeが足りてないのは未解決 machey@camellia[530] sudo ./displaylink-driver-5.2.14.run ...(Snip)... /usr/src/linux-headers-5.4.0-42-generic/tools/build/Makefile.build:37: /usr/src/linux-headers-5.4.0-42-generic/tools/build/Build.include: No such file or directory make -f ./scripts/Makefile.modbuiltin obj=arch/x86/entry/vdso make[5]: *** No rule to make target '/usr/src/linux-headers-5.4.0-42-generic/tools/build/Build.include'. Stop. Makefile:43: recipe for target '/usr/src/linux-headers-5.4.0-42-generic/tools/objtool/fixdep-in.o' failed make[4]: *** [/usr/src/linux-headers-5.4.0-42-generic/tools/objtool/fixdep-in.o] Error 2 make -f ./scripts/Makefile.modbuiltin obj=kernel/cgroup /usr/src/linux-headers-5.4.0-42-generic/tools/build/Makefile.include:5: recipe for target 'fixdep' failed make[3]: *** [fixdep] Error 2 Makefile:67: recipe for target 'objtool' failed make[2]: *** [objtool] Error 2 -----
  • 30.
    LILO / TokaidoLUGOnline August 16th, 2020 カーネルのこと、これから頑張ろう... ● ドライバはカーネル環境に依存 ● カーネルビルドは日常では不要 ● 一歩先を見据えた時に ● 未知のデバイスを使いたいし
  • 31.