Para admitir la función Audio/vídeo en tiempo real en un equipo Linux, debe instalar el controlador V4L2Loopback. La función Audio/vídeo en tiempo real redirecciona los dispositivos de audio y la cámara web conectados de forma local desde el sistema cliente a la sesión remota.

Debe instalar la versión 0.12.5 del controlador V4L2Loopback en la máquina Linux antes o después de instalar Horizon Agent, según el formato del instalador de Horizon Agent que utilice. Si desea obtener más información, consulte Instalar Audio/vídeo en tiempo real en una máquina Linux.

En primer lugar, descargue la versión 0.12.5 del paquete de código fuente V4L2Loopback de https://github.com/umlaeute/v4l2loopback/tags. A continuación, siga el procedimiento de instalación de su distribución Linux.

Instalar V4L2Loopback en una máquina Ubuntu/Debian

  1. Instale los paquetes de dependencia necesarios.
    sudo apt-get install make
    sudo apt-get install gcc
    sudo apt-get install libelf-dev
  2. Compile e instale el controlador V4L2Loopback desde el paquete de código fuente.
    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. (Solo para kernel Linux 5.15.0 y versiones posteriores) Modifique la configuración para reemplazar el controlador V4L2Loopback no válido instalado de forma predeterminada en la máquina con el controlador V4L2Loopback válido que acaba de instalar.
    1. Anexe la siguiente línea al final del archivo de configuración /etc/depmod.d/ubuntu.conf.
      override v4l2loopback * extra
    2. Vuelva a generar el archivo modules.dep.
      depmod -a
    3. Para quitar el controlador V4L2Loopback no válido, elija una de estas opciones.
      • Reinicie la máquina.
      • Ejecute el siguiente comando.
        sudo rmmod v4l2loopback
  4. (Solo Ubuntu) Si habilitó la interfaz de firmware extensible (EFI) y el arranque seguro UEFI en la máquina virtual Ubuntu, configure los ajustes de firma para el controlador V4L2Loopback.
    1. Cree un par de claves SSL para el controlador 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. Firme el controlador V4L2Loopback.
      sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der  /lib/modules/$(uname -r)/extra/v4l2loopback.ko
    3. Registre la clave para el arranque seguro UEFI.
      sudo mokutil --import MOK.der
      Nota: Este comando envía una solicitud para establecer una contraseña de la clave de propietario de la máquina (MOK) para el arranque seguro UEFI.
    4. Para configurar el arranque seguro UEFI en la consola de vSphere, reinicie el sistema. Para obtener más información, consulte https://sourceware.org/systemtap/wiki/SecureBoot.

Instalar V4L2Loopback en una máquina RHEL o Rocky Linux

  1. Instale los paquetes de dependencia necesarios.
    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. Compile e instale el controlador V4L2Loopback desde el paquete de código fuente.
    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 y Rocky Linux 9.x/8.x) Configure los ajustes de firma para el controlador V4L2Loopback.
    1. Cree un par de claves SSL para el controlador 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. Firme el controlador V4L2Loopback.
      sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/extra/v4l2loopback.ko
    3. Registre la clave para el arranque seguro UEFI.
      sudo mokutil --import MOK.der
      Nota: Este comando envía una solicitud para establecer una contraseña de la clave de propietario de la máquina (MOK) para el arranque seguro UEFI.
    4. Para configurar el arranque seguro UEFI en la consola de vSphere, reinicie el sistema. Para obtener más información, consulte https://sourceware.org/systemtap/wiki/SecureBoot.

Instalar V4L2Loopback en una máquina SLED/SLES

  1. Busque la versión del paquete de kernel actual.
    rpm -qa | grep kernel-default-$(echo $(uname -r) | cut -d '-' -f 1,2)

    El resultado es el nombre del paquete de kernel instalado actualmente. Si, por ejemplo, el nombre del paquete es kernel-default-4.4.21-90.1, la versión actual del paquete del kernel será 4.4.21-90.1.

  2. Instale los paquetes kernel-devel, kernel-default-devel, kernel-macros y patch. Por ejemplo, si la versión del paquete del kernel es 4.4.21-90.1. Utilice el siguiente comando.
    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. Compile e instale el controlador V4L2Loopback desde el paquete de código fuente.
    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. Configure los ajustes de firma para el controlador V4L2Loopback.
    1. Cree un par de claves SSL para el controlador 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. Busque la ruta al archivo de firma para el controlador V4L2Loopback.
      sudo find / -name sign-file

      Este comando devuelve las rutas de acceso a todos los archivos de firma ubicados en el sistema. La ruta del archivo de firma para el controlador V4L2Loopback es similar al siguiente ejemplo.

      /usr/src/linux-5.3.18-24.9-obj/x86_64/default/scripts/
    3. Firme el controlador V4L2Loopback. En la siguiente secuencia de comandos, <ruta-archivo-firma> es la ruta al archivo de firma que encontró anteriormente.
      sudo /<sign-file-path>/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/extra/v4l2loopback.ko
    4. Registre la clave para el arranque seguro UEFI.
      sudo mokutil --import MOK.der
      Nota: Este comando envía una solicitud para establecer una contraseña de la clave de propietario de la máquina (MOK) para el arranque seguro UEFI.
    5. Para configurar el arranque seguro UEFI en la consola de vSphere, reinicie el sistema. Para obtener más información, consulte https://sourceware.org/systemtap/wiki/SecureBoot.