2021-01-14

Linux 安裝 DisplayLink 驅動程式及連接攜帶式顯示器

最近因為學習關係,需要帶備手提電腦回校,但只有一個熒幕要經常切換畫面查看資料同時編寫內容有點麻煩
因為決定購買一個攜帶式熒幕可以方便帶回學校使用

DisplayLink 驅動程式

ASUS 及 DisplayLink 官方都有提供支援 Linux 的 DisplayLink 驅動程式

ASUS 官方
見下文
見下文
在 ASUS 官方 支援 > 驅動程式及工具程式,選擇適合的作業系統類型
例如在下使用 Linux 64-bit 並下載 驅動程式 檔案
(閣下請選擇對應的型號的驅動程式)

DisplayLink 官方
見下文
見下文
見下文
在 DisplayLink 官方 Downloads
雖然 DisplayLink 顯示只有支援 Ubuntu 的驅動程式,但實際沒有驅分 Linux 類型
選擇合適 Linux 核心版本,並下載 驅動程式 檔案

其實下載的檔案實際是完全相同,如果不想麻煩,可以直接到此連結
https://dlcdnets.asus.com/pub/ASUS/LCD%20Monitors/MB16AP/ASUS_MB_Series_driver_for_Ubuntu_5.3.1.zip
下載 Linux 64-Bit 的驅動程式

安裝 DisplayLink 驅動程式
見下文
見下文
zip檔案 解壓縮

見下文
解壓縮後,開啟 Terminal 輸入
sudo bash "displaylink-driver-5.3.1.34.run"
留意 驅動程式的版本 或會不同,執行指令時,要根據版本修改檔案名稱

見下文
見下文
見下文
安裝驅動程式前會檢查、並安裝相依性套件

見下文
見下文
安裝相依性套件後,會自動編譯驅動程式

見下文
編譯驅動程式後,需要重新啟動才能生效

如果想用最懶的方法安裝驅動程式,可以在 Terminal 輸入
file="ASUS_MB_Series_driver_for_Ubuntu_5.3.1.zip"
wget "https://dlcdnets.asus.com/pub/ASUS/LCD%20Monitors/MB16AP/${file}"
unzip "${file}"
printf "y\ny\n" | sudo bash "${file}"

設置 DisplayLink 驅動程式
見下文
重新啟動、接駁 MB16AP 後,可以在熒幕設定發現 AUS 15" 即是 MB16AP
解像度為 1920x1080

見下文
見下文
見下文
見下文
由於 DisplayLink 指驅動程式暫時只有 Windows 才支援自動方向調整
如果非 Windows 的 OS 需要改變顯示方向,需要手動改變 MB16AP 的方向
Linux 可以使用 xrandr 指令方便改變方向,在 Terminal 輸入
xrandr --output "ASUS Portable Monitor ID" --rotate="direction"
當中 ASUS Portable Monitor ID 在不同 Linux發行版 可能不同
閣下需要更改成對認名稱,例如在下使用時顯示為 DVI-I-2-1 (大小寫區分)
而 direction 可以分別有:(大小寫區分)
  • normal - 正常
  • left - 左轉90度
  • right - 右轉90度
  • inverted - 翻轉180度
(由於顯示器的電源線在左側,如果要直立放置,是無法左轉90度的方式放置)

在下發現橫向使用時,使用保護套比較穩;而直向使用時,使用 MB16AP 附送的筆穿過固定孔則比較穩

刪除 DisplayLink 驅動程式
見下文
見下文
在 Terminal 輸入
sudo displaylink-installer uninstall
便會自動刪除 DisplayLink 驅動程式的相關檔案,但相依性套件則不會處理

見下文
重新啟動便會回復正常

補充資料

在下最初使用家中電競電腦測試,但安裝完 DisplayLink 驅動程式無法顯示畫面
幸好在下有大量測試用電腦,因此使用一部普通配置電腦(相片中的電腦)再測試
在下先安裝相同的作業系統(Linux Mint 19.3) ,發現更新、安裝驅動程式後, MB16AP 便能顯示畫面

在下懷疑因為電競電腦有獨立圖像卡,因此在下更新圖像卡驅動程式再測試,但仍然無法讓 MB16AP 便能顯示畫面
因此在使用另一部電腦再測試,碰巧 Linux Mint 發佈 20.1 因此安裝最新版本

見下文
發現安裝時 DisplayLink 驅動程式時,發現在下的電腦啟動 UEFI Secure Boot
需要額外配置才能正確執行第三方驅動程式

見下文
DisplayLink 詢問是否需要註冊新的 Machine-Owner Key ,選擇 NO 不註冊新的 Machine-Owner Key
完成安裝 DisplayLink 驅動程式後,重新啟動後,MB16AP 終於便能顯示畫面 (Machine-Owner Key 就 MOK)

由於 Linux Mint 20.1 有提供 核心5.8 因此亦升級至最新核心版本,但 MB16AP 再次無法顯示
在下估計是因為新安裝的核心,DisplayLink 沒有編譯支援相關核心的驅動程式
因此再安裝、重新啟動後,MB16AP 亦能顯示畫面

見下文
見下文
不過當升級 核心5.8 後,再有相同版本的核心更新,則只需求選擇 MOK 設定便可以繼續正常使用

總結

由於在下的電競電腦有兩個硬碟,因此保留 Windows 的硬碟,另一個硬碟則安裝 Linux
當 Linux 無法令 MB16AP 顯示畫面時,在下立即使用 Android 及 Windows 測試
但發現 Android 安裝 DisplayLink 的 應用程式 及 Windows 安裝 DisplayLink 的 驅動程式 後,便立即能夠顯示畫面
電競電腦只是作業系統不同,但硬件配置是完全相同,而 ASUS 及 DisplayLink 都表示支援 Linux ,到手亦卻無法使用
翻查很多網上,示範都是安裝 DisplayLink 驅動程式便可以使用 (有外國人示範顯示在 Fedora 都能夠使用)
最後原來是因為 UEFI Secure Boot 導致無法使用
其實可以到 BIOS 關閉 UEFI Secure Boot ,安裝時便不需要設定 MOK

最終,在下測試的電腦為
  • Acer Aspire E3-112
  • ASUS E203NA
  • MSI GS63 7RE Stealth Pro
  • SAMSUNG NP270E5K

最後在電競電腦,重置 UEFI Secure Boot 的設定、並再重新安裝 DisplayLink 驅動程式
終於 MB16AP 亦能顯示畫面,發現問題至完全解決問題,總共使用3日時間

見下文
使用 DisplayLink 技術顯示器,可以同時接駁使用多個顯示器,而且不需要圖像卡
但攜帶式顯示器的價錢相比相同尺寸的顯示器貴

見下文
另外雖然 DisplayLink 最新的 Linux 驅動程式只支援 核心4.15 至 核心5.5 ,但在下使用 核心5.8 都能夠支援

參考資料

沒有留言 :

張貼留言