Para oferecer suporte ao recurso Áudio-Vídeo em Tempo Real em uma máquina Linux, você deve instalar o driver V4L2Loopback. O recurso Áudio-Vídeo em Tempo Real redireciona a webcam e os dispositivos de áudio conectados localmente do sistema do cliente para a sessão remota.

Você deve instalar a versão v0.12.5 do driver V4L2Loopback na máquina Linux antes ou depois de instalar o Horizon Agent, dependendo do formato do instalador do Horizon Agent que você usa. Para obter mais informações, consulte Instalar áudio e vídeo em tempo real em uma máquina Linux.

Primeiro, baixe a versão v0.12.5 do pacote de código-fonte V4L2Loopback de https://github.com/umlaeute/v4l2loopback/tags. Em seguida, siga o procedimento de instalação para sua distribuição Linux.

Instalar o V4L2Loopback em uma máquina Ubuntu/Debian

  1. Instale os pacotes de dependências necessários.
    sudo apt-get install make
    sudo apt-get install gcc
    sudo apt-get install libelf-dev
  2. Compile e instale o driver V4L2Loopback do pacote de código-fonte.
    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. (Somente para o kernel Linux versão 5.15.0 e posterior) Modifique a configuração para substituir o driver V4L2Loopback inválido instalado por padrão na máquina pelo driver V4L2Loopback válido que você acabou de instalar.
    1. Anexe a seguinte linha ao final do arquivo de configuração /etc/depmod.d/ubuntu.conf.
      override v4l2loopback * extra
    2. Gere novamente o arquivo modules.dep.
      depmod -a
    3. Para remover o driver V4L2Loopback inválido, siga um destes procedimentos.
      • Reinicie a máquina.
      • Execute o seguinte comando.
        sudo rmmod v4l2loopback
  4. (Somente Ubuntu) Se você tiver habilitado a Extensible Firmware Interface (EFI) e a Inicialização Segura UEFI na máquina virtual Ubuntu, defina as configurações de assinatura para o driver V4L2Loopback.
    1. Crie um par de chaves SSL para o driver 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. Assine o driver 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 a chave para a inicialização segura UEFI.
      sudo mokutil --import MOK.der
      Observação: Esse comando emite uma solicitação para definir uma senha da Chave do Proprietário da Máquina (MOK) para a Inicialização Segura UEFI.
    4. Para configurar o UEFI Secure Boot no console vSphere, reinicialize o sistema. Para obter mais informações, consulte https://sourceware.org/systemtap/wiki/SecureBoot.

Instalar o V4L2Loopback em uma máquina RHEL ou Rocky Linux

  1. Instale os pacotes de dependências necessários.
    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 o driver V4L2Loopback do pacote de código-fonte.
    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 e Rocky Linux 9.x/8.x) Defina as configurações de assinatura para o driver V4L2Loopback.
    1. Crie um par de chaves SSL para o driver 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. Assine o driver V4L2Loopback.
      sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/extra/v4l2loopback.ko
    3. Registre a chave para a inicialização segura UEFI.
      sudo mokutil --import MOK.der
      Observação: Esse comando emite uma solicitação para definir uma senha da Chave do Proprietário da Máquina (MOK) para a Inicialização Segura UEFI.
    4. Para configurar o UEFI Secure Boot no console vSphere, reinicialize o sistema. Para obter mais informações, consulte https://sourceware.org/systemtap/wiki/SecureBoot.

Instalar o V4L2Loopback em uma máquina SLED/SLES

  1. Localize a versão do pacote de kernel atual.
    rpm -qa | grep kernel-default-$(echo $(uname -r) | cut -d '-' -f 1,2)

    A saída é o nome do pacote do kernel instalado no momento. Se, por exemplo, o nome do pacote for kernel-default-4.4.21-90.1, a versão atual do pacote do kernel será 4.4.21-90.1.

  2. Instale os pacotes kernel-devel, kernel-default-devel, kernel-macros e patch. Por exemplo, se a versão do pacote do kernel for 4.4.21-90.1, use o seguinte 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 o driver V4L2Loopback do pacote de código-fonte.
    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. Defina as configurações de assinatura para o driver V4L2Loopback.
    1. Crie um par de chaves SSL para o driver 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. Encontre o caminho para o arquivo de assinatura do driver V4L2Loopback.
      sudo find / -name sign-file

      Esse comando retorna os caminhos para todos os arquivos de assinatura localizados no sistema. O caminho do arquivo de assinatura para o driver V4L2Loopback é semelhante ao exemplo a seguir.

      /usr/src/linux-5.3.18-24.9-obj/x86_64/default/scripts/
    3. Assine o driver V4L2Loopback. Na sequência de comandos a seguir, <sign-file-path> é o caminho para o arquivo de assinatura que você encontrou anteriormente.
      sudo /<sign-file-path>/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/extra/v4l2loopback.ko
    4. Registre a chave para a inicialização segura UEFI.
      sudo mokutil --import MOK.der
      Observação: Esse comando emite uma solicitação para definir uma senha da Chave do Proprietário da Máquina (MOK) para a Inicialização Segura UEFI.
    5. Para configurar o UEFI Secure Boot no console vSphere, reinicialize o sistema. Para obter mais informações, consulte https://sourceware.org/systemtap/wiki/SecureBoot.