Pour prendre en charge la fonctionnalité Audio/Vidéo en temps réel sur une machine Linux, vous devez installer le pilote V4L2Loopback. La fonctionnalité Audio/Vidéo en temps réel redirige la webcam et les périphériques audio connectés localement du système client vers la session distante.

Vous devez installer la version v0.12.5 du pilote V4L2Loopback sur la machine Linux avant ou après l'installation de Horizon Agent, selon le format du programme d'installation de Horizon Agent que vous utilisez. Pour plus d'informations, reportez-vous à la section Installer la fonctionnalité Audio/Vidéo en temps réel.

Téléchargez tout d'abord la version v0.12.5 du module de code source V4L2Loopback à partir de https://github.com/umlaeute/v4l2loopback/tags. Suivez ensuite la procédure d'installation de votre distribution Linux.

Installer V4L2Loopback sur une machine Ubuntu/Debian

  1. Installez les modules de dépendance requis.
    sudo apt-get install make
    sudo apt-get install gcc
    sudo apt-get install libelf-dev
  2. Compilez et installez le pilote V4L2Loopback à partir du module de code source.
    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. (Pour un noyau Linux version 5.15.0 et ultérieures uniquement) Modifiez la configuration pour remplacer le pilote V4L2Loopback non valide installé par défaut sur la machine par le pilote V4L2Loopback valide que vous venez d'installer.
    1. Ajoutez la ligne suivante à la fin du fichier de configuration /etc/depmod.d/ubuntu.conf.
      override v4l2loopback * extra
    2. Régénérez le fichier modules.dep.
      depmod -a
    3. Pour supprimer le pilote V4L2Loopback non valide, effectuez l'une des opérations suivantes.
      • Redémarrez la machine.
      • Exécutez la commande suivante.
        sudo rmmod v4l2loopback
  4. (Ubuntu uniquement) Si vous avez activé l'interface EFI (Extensible Firmware Interface) et le démarrage sécurisé UEFI sur la machine virtuelle Ubuntu, configurez les paramètres de signature pour le pilote V4L2Loopback.
    1. Créez une paire de clés SSL pour le pilote V4L2Loopback.
      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. Signez le pilote V4L2Loopback.
      sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der  /lib/modules/$(uname -r)/extra/v4l2loopback.ko
    3. Enregistrez la clé pour le démarrage sécurisé UEFI.
      sudo mokutil --import MOK.der
      Note : Cette commande émet une demande de définition d'un mot de passe de clé propriétaire de machine (MOK) pour le démarrage sécurisé UEFI.
    4. Pour configurer le démarrage sécurisé UEFI dans la console vSphere, redémarrez le système. Pour plus d'informations, reportez-vous à la section https://sourceware.org/systemtap/wiki/SecureBoot.

Installer V4L2Loopback sur une machine RHEL ou Rocky Linux

  1. Installez les modules de dépendance requis.
    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. Compilez et installez le pilote V4L2Loopback à partir du module de code source.
    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 et Rocky Linux 9.x/8.x) Configurez les paramètres de signature du pilote V4L2Loopback.
    1. Créez une paire de clés SSL pour le pilote V4L2Loopback.
      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. Signez le pilote V4L2Loopback.
      sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/extra/v4l2loopback.ko
    3. Enregistrez la clé pour le démarrage sécurisé UEFI.
      sudo mokutil --import MOK.der
      Note : Cette commande émet une demande de définition d'un mot de passe de clé propriétaire de machine (MOK) pour le démarrage sécurisé UEFI.
    4. Pour configurer le démarrage sécurisé UEFI dans la console vSphere, redémarrez le système. Pour plus d'informations, reportez-vous à la section https://sourceware.org/systemtap/wiki/SecureBoot.

Installer V4L2Loopback sur une machine SLED/SLES

  1. Recherchez la version du module de noyau actuel.
    rpm -qa | grep kernel-default-$(echo $(uname -r) | cut -d '-' -f 1,2)

    Le résultat est le nom du module de noyau actuellement installé. Si, par exemple, le nom du module est kernel-default-4.4.21-90.1, la version actuelle du module de noyau est 4.4.21-90.1.

  2. Installez les modules kernel-devel, kernel-default-devel, kernel-macros et patch. Par exemple, si la version du module de noyau est 4.4.21-90.1, utilisez la commande suivante.
    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. Compilez et installez le pilote V4L2Loopback à partir du module de code source.
    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. Configurez les paramètres de signature du pilote V4L2Loopback.
    1. Créez une paire de clés SSL pour le pilote V4L2Loopback.
      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. Recherchez le chemin d'accès au fichier de signature du pilote V4L2Loopback.
      sudo find / -name sign-file

      Cette commande renvoie les chemins d'accès à tous les fichiers de signature situés sur le système. Le chemin d'accès au fichier de signature du pilote V4L2Loopback ressemble à l'exemple suivant.

      /usr/src/linux-5.3.18-24.9-obj/x86_64/default/scripts/
    3. Signez le pilote V4L2Loopback. Dans la séquence de commandes suivante, <sign-file-path> est le chemin d'accès au fichier de signature que vous avez trouvé précédemment.
      sudo /<sign-file-path>/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/extra/v4l2loopback.ko
    4. Enregistrez la clé pour le démarrage sécurisé UEFI.
      sudo mokutil --import MOK.der
      Note : Cette commande émet une demande de définition d'un mot de passe de clé propriétaire de machine (MOK) pour le démarrage sécurisé UEFI.
    5. Pour configurer le démarrage sécurisé UEFI dans la console vSphere, redémarrez le système. Pour plus d'informations, reportez-vous à la section https://sourceware.org/systemtap/wiki/SecureBoot.