Für die Echtzeit-Audio/Video-Funktion auf einem Linux-Computer müssen Sie den V4L2Loopback-Treiber installieren. Die Echtzeit-Audio/Video-Funktion leitet lokal angeschlossene Webcams und Audiogeräte vom Clientsystem zur Remotesitzung um.

Sie müssen Version v0.12.5 des V4L2Loopback-Treibers entweder vor oder nach der Installation von Horizon Agent auf der Linux-Maschine installieren, abhängig vom Format des verwendeten Horizon Agent-Installationsprogramms. Weitere Informationen finden Sie unter Installieren von Echtzeit-Audio/Video auf einer Linux-Maschine.

Laden Sie zunächst Version v0.12.5 des V4L2Loopback-Quellcodepakets unter https://github.com/umlaeute/v4l2loopback/tags herunter. Folgen Sie anschließend dem Installationsvorgang für Ihre Linux-Distribution.

Installieren von V4L2Loopback auf einer Ubuntu/Debian-Maschine

  1. Installieren Sie die erforderlichen Abhängigkeitspakete.
    sudo apt-get install make
    sudo apt-get install gcc
    sudo apt-get install libelf-dev
  2. Kompilieren und installieren Sie den V4L2Loopback-Treiber aus dem Quellcodepaket.
    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. (Nur für Linux-Kernel-Version 5.15.0 und höher) Ändern Sie die Konfiguration, um den ungültigen V4L2Loopback-Treiber, der standardmäßig auf dem Computer installiert ist, mit dem gültigen V4L2Loopback-Treiber zu überschreiben, den Sie gerade installiert haben.
    1. Hängen Sie die folgende Zeile am Ende der Konfigurationsdatei /etc/depmod.d/ubuntu.conf an.
      override v4l2loopback * extra
    2. Generieren Sie die Datei modules.dep neu.
      depmod -a
    3. Gehen Sie zum Entfernen des ungültigen V4L2Loopback-Treibers folgendermaßen vor.
      • Starten Sie den Computer neu.
      • Führen Sie den folgenden Befehl aus.
        sudo rmmod v4l2loopback
  4. (nur Ubuntu) Wenn Sie die Erweiterbare Firmware-Schnittstelle (EFI) und UEFI Secure Boot auf der virtuellen Ubuntu-Maschine aktiviert haben, konfigurieren Sie die Signatureinstellungen für den V4L2Loopback-Treiber.
    1. Erstellen Sie ein SSL-Schlüsselpaar für den V4L2Loopback-Treiber.
      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. Erstellen Sie eine Signatur für den V4L2Loopback-Treiber.
      sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der  /lib/modules/$(uname -r)/extra/v4l2loopback.ko
    3. Registrieren Sie den Schlüssel für den sicheren UEFI-Startvorgang.
      sudo mokutil --import MOK.der
      Hinweis: Dieser Befehl gibt eine Anforderung zum Festlegen eines Kennworts für den Machine Owner Key (MOK) für den sicheren UEFI-Start aus.
    4. Um einen sicheren UEFI-Start in der vSphere-Konsole einzurichten, starten Sie das System neu. Weitere Informationen finden Sie unter https://sourceware.org/systemtap/wiki/SecureBoot.

Installieren von V4L2Loopback auf einer RHEL- oder Rocky Linux-Maschine

  1. Installieren Sie die erforderlichen Abhängigkeitspakete.
    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. Kompilieren und installieren Sie den V4L2Loopback-Treiber aus dem Quellcodepaket.
    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 und Rocky Linux 9.x/8.x) Konfigurieren Sie die Signatureinstellungen für den V4L2Loopback-Treiber.
    1. Erstellen Sie ein SSL-Schlüsselpaar für den V4L2Loopback-Treiber.
      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. Erstellen Sie eine Signatur für den V4L2Loopback-Treiber.
      sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/extra/v4l2loopback.ko
    3. Registrieren Sie den Schlüssel für den sicheren UEFI-Startvorgang.
      sudo mokutil --import MOK.der
      Hinweis: Dieser Befehl gibt eine Anforderung zum Festlegen eines Kennworts für den Machine Owner Key (MOK) für den sicheren UEFI-Start aus.
    4. Um einen sicheren UEFI-Start in der vSphere-Konsole einzurichten, starten Sie das System neu. Weitere Informationen finden Sie unter https://sourceware.org/systemtap/wiki/SecureBoot.

Installieren von V4L2Loopback auf einer SLED/SLES-Maschine

  1. Suchen Sie die Version des aktuellen Kernelpakets.
    rpm -qa | grep kernel-default-$(echo $(uname -r) | cut -d '-' -f 1,2)

    Die Ausgabe besteht aus dem Namen des aktuell installierten Kernelpakets. Wenn der Name des Pakets z. B. kernel-default-4.4.21-90.1 lautet, ist die aktuelle Version des Kernelpakets 4.4.21-90.1.

  2. Installieren Sie die Pakete kernel-devel, kernel-default-devel, kernel-macros und patch. Wenn beispielsweise die Kernelpaketversion 4.4.21-90.1 lautet, verwenden Sie den folgenden Befehl.
    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. Kompilieren und installieren Sie den V4L2Loopback-Treiber aus dem Quellcodepaket.
    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. Konfigurieren Sie die Signatureinstellungen für den V4L2Loopback-Treiber.
    1. Erstellen Sie ein SSL-Schlüsselpaar für den V4L2Loopback-Treiber.
      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. Suchen Sie den Pfad zur Signaturdatei für den V4L2Loopback-Treiber.
      sudo find / -name sign-file

      Dieser Befehl gibt die Pfade zu allen Signaturdateien zurück, die sich auf dem System befinden. Der Pfad der Signaturdatei für den V4L2Loopback-Treiber ähnelt dem folgenden Beispiel.

      /usr/src/linux-5.3.18-24.9-obj/x86_64/default/scripts/
    3. Erstellen Sie eine Signatur für den V4L2Loopback-Treiber. In der folgenden Befehlssequenz ist <sign-file-path> der Pfad zu der Signaturdatei, die Sie zuvor gefunden haben.
      sudo /<sign-file-path>/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/extra/v4l2loopback.ko
    4. Registrieren Sie den Schlüssel für den sicheren UEFI-Startvorgang.
      sudo mokutil --import MOK.der
      Hinweis: Dieser Befehl gibt eine Anforderung zum Festlegen eines Kennworts für den Machine Owner Key (MOK) für den sicheren UEFI-Start aus.
    5. Um einen sicheren UEFI-Start in der vSphere-Konsole einzurichten, starten Sie das System neu. Weitere Informationen finden Sie unter https://sourceware.org/systemtap/wiki/SecureBoot.