若要在 Linux 機器上支援即時影音 (RTAV) 功能,您必須安裝 V4L2Loopback 驅動程式。即時影音 (RTAV) 功能可將本機連線的網路攝影機和音訊裝置,從用戶端系統重新導向至遠端工作階段。

您必須在安裝 Horizon Agent 前後,於 Linux 機器上安裝 V4L2Loopback 驅動程式 v0.12.5 版,具體取決於您使用的 Horizon Agent 安裝程式格式。如需詳細資訊,請參閱安裝即時影音功能

首先,從 https://github.com/umlaeute/v4l2loopback/tags 下載 V4L2Loopback 原始程式碼套件 v0.12.5 版。然後遵循 Linux 發行版的安裝程序進行。

在 Ubuntu/Debian 機器上安裝 V4L2Loopback

  1. 安裝所需的相依性套件。
    sudo apt-get install make
    sudo apt-get install gcc
    sudo apt-get install libelf-dev
  2. 從原始程式碼套件編譯並安裝 V4L2Loopback 驅動程式。
    unzip v0.12.5.zip
    cd v4l2loopback-0.12.5
    
    # For tarball installer, the [agent patch path] is the installer package path such as /root/VMware-horizonagent-linux-x86_64-2206-8.6.0-19639256
    # For RPM installer, the [agent patch path] is /usr/lib/vmware/viewagent
    patch -p1 < [agent patch path]/resources/v4l2loopback/v4l2loopback.patch
    make clean && make && make install
    
    # Install v4l2loopback-ctl
    make install-utils
    depmod -A
  3. (僅限 Linux 核心版本 5.15.0 和更新版本) 修改組態,將機器上依預設所安裝的無效 V4L2Loopback 驅動程式,覆寫為您剛才所安裝的有效 V4L2Loopback 驅動程式。
    1. 將下列字行附加到 /etc/depmod.d/ubuntu.conf 組態檔案的尾端。
      override v4l2loopback * extra
    2. 重新產生 modules.dep 檔案。
      depmod -a
    3. 若要移除無效的 V4L2Loopback 驅動程式,請執行下列其中一個動作。
      • 重新啟動機器。
      • 執行下列命令。
        sudo rmmod v4l2loopback
  4. (僅限 Ubuntu) 如果您已在 Ubuntu 虛擬機器上啟用可延伸韌體介面 (EFI) 和 UEFI 安全開機,請為 V4L2Loopback 驅動程式設定簽署設定。
    1. 建立 V4L2Loopback 驅動程式的 SSL 金鑰配對。
      openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Descriptive name/" -addext extendedKeyUsage=1.3.6.1.5.5.7.3.3
    2. 簽署 V4L2Loopback 驅動程式。
      sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der  /lib/modules/$(uname -r)/extra/v4l2loopback.ko
    3. 登錄用於 UEFI 安全開機的金鑰。
      sudo mokutil --import MOK.der
      備註: 此命令會發出要求,以設定用於 UEFI 安全開機的機器擁有者金鑰 (MOK) 密碼。
    4. 若要在 vSphere 主控台中設定 UEFI 安全開機,請將系統重新開機。如需詳細資訊,請參閱 https://sourceware.org/systemtap/wiki/SecureBoot

在 RHEL 機器上安裝 V4L2Loopback

  1. 安裝所需的相依性套件。
    sudo yum install gcc-c++
    sudo yum install kernel-devel-$(uname -r)
    sudo yum install kernel-headers-$(uname -r)
    sudo yum install patch
    sudo yum install elfutils-libelf-devel
  2. 從原始程式碼套件編譯並安裝 V4L2Loopback 驅動程式。
    unzip v0.12.5.zip
    cd v4l2loopback-0.12.5
    
    # For tarball installer, the [agent patch path] is the installer package such as /root/VMware-horizonagent-linux-x86_64-2206-8.6.0-19639256
    # For RPM installer, the [agent patch path] is /usr/lib/vmware/viewagent
    patch -p1 < [agent patch path]/resources/v4l2loopback/v4l2loopback.patch
    make clean && make && make install
    
    # Install v4l2loopback-ctl
    make install-utils
    depmod -A
  3. (RHEL 9.x/8.x) 為 V4L2Loopback 驅動程式設定簽署設定。
    1. 建立 V4L2Loopback 驅動程式的 SSL 金鑰配對。
      openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Descriptive name/" -addext extendedKeyUsage=1.3.6.1.5.5.7.3.3
      
    2. 簽署 V4L2Loopback 驅動程式。
      sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/extra/v4l2loopback.ko
    3. 登錄用於 UEFI 安全開機的金鑰。
      sudo mokutil --import MOK.der
      備註: 此命令會發出要求,以設定用於 UEFI 安全開機的機器擁有者金鑰 (MOK) 密碼。
    4. 若要在 vSphere 主控台中設定 UEFI 安全開機,請將系統重新開機。如需詳細資訊,請參閱 https://sourceware.org/systemtap/wiki/SecureBoot

在 SLED/SLES 機器上安裝 V4L2Loopback

  1. 尋找目前核心套件的版本。
    rpm -qa | grep kernel-default-$(echo $(uname -r) | cut -d '-' -f 1,2)

    輸出結果為目前所安裝核心套件的名稱。例如,如果套件名稱為 kernel-default-4.4.21-90.1,則目前的核心套件版本將是 4.4.21-90.1。

  2. 安裝 kernel-develkernel-default-develkernel-macrospatch 套件。例如,如果核心套件版本為 4.4.21-90.1,請使用以下命令。
    zypper install --oldpackage kernel-devel-4.4.21-90.1 kernel-default-devel-4.4.21-90.1 kernel-macros-4.4.21-90.1 patch
  3. 從原始程式碼套件編譯並安裝 V4L2Loopback 驅動程式。
    unzip v0.12.5.zip
    cd v4l2loopback-0.12.5
    
    # For tarball installer, the [agent patch path] is the installer package such as /root/VMware-horizonagent-linux-x86_64-2206-8.6.0-19639256
    # For RPM installer, the [agent patch path] is /usr/lib/vmware/viewagent
    patch -p1 < [agent patch path]/resources/v4l2loopback/v4l2loopback.patch
    make clean && make && make install
    
    # Install v4l2loopback-ctl
    make install-utils
    depmod -A
  4. 為 V4L2Loopback 驅動程式設定簽署設定。
    1. 建立 V4L2Loopback 驅動程式的 SSL 金鑰配對。
      openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Descriptive name/" -addext extendedKeyUsage=1.3.6.1.5.5.7.3.3
      
    2. 尋找 V4L2Loopback 驅動程式的簽署檔案路徑。
      find / -name sign-file

      此命令會傳回位於系統上所有簽署檔案的路徑。V4L2Loopback 驅動程式的簽署檔案路徑類似於下列範例。

      /usr/src/linux-5.3.18-24.9-obj/x86_64/default/scripts/
    3. 簽署 V4L2Loopback 驅動程式。在以下命令順序中,<sign-file-path> 是您先前找到的簽署檔案路徑。
      sudo /<sign-file-path>/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/extra/v4l2loopback.ko
    4. 登錄用於 UEFI 安全開機的金鑰。
      sudo mokutil --import MOK.der
      備註: 此命令會發出要求,以設定用於 UEFI 安全開機的機器擁有者金鑰 (MOK) 密碼。
    5. 若要在 vSphere 主控台中設定 UEFI 安全開機,請將系統重新開機。如需詳細資訊,請參閱 https://sourceware.org/systemtap/wiki/SecureBoot