Permitiendo la conversión de video a AV1 con la tarjeta Intel Arc A750 en Ubuntu
Hola a todos,
Ayer instalé una nueva tarjeta de video en mi máquina principal. Desafortunadamente, tuve algunos problemas al intentar convertir videos al formato AV1. Sin embargo, es fácil de resolver cuando seguimos los siguientes pasos.
Parece que tenemos que usar los paquetes que Intel tiene para poder usar la tarjeta a su potencial. Simplemente usando ffmpeg con los paquetes que Ubuntu ofrece, nos mostrará algunos errores que se solucionan al instalar los paquetes de Intel.
Nota que estoy usando la versión en desarrollo de Ubuntu 24.10 y mis propias compilaciones del kernel de Linux. Intenté usar el Kernel que trae Ubuntu pero este no es el problema.
Entonces, para poder convertir videos a AV1, tenemos que hacer los siguientes pasos:
Paso 1: Añadir el repositorio de Intel Graphics a Ubuntu:
Esto lo hacemos con las siguientes líneas de comando.
Primero, tenemos que añadir la llave del repositorio usando:
wget -qO - https://repositories.intel.com/gpu/intel-graphics.key | \
sudo gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg
Luego, añadimos el repositorio APT usando:
echo "deb [arch=amd64,i386 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/gpu/ubuntu jammy client" | \
sudo tee /etc/apt/sources.list.d/intel-gpu-jammy.list
En este momento, hemos añadido el repositorio APT de Intel Graphics a nuestra instalación de Ubuntu.
Paso 2: Actualizar los repositorios APT e instalar los paquetes:
Primero, actualizaremos los repositorios apt utilizando sudo apt update
.
Luego, removeremos el paquete libmfx-gen1.2
si lo tenemos instalado. Este paquete conflige con la versión que provee Intel:
sudo apt purge libmfx-gen1.2
Finalmente, instalaremos los paquetes de Intel con los siguientes comandos:
sudo apt install -y intel-opencl-icd intel-level-zero-gpu level-zero intel-media-va-driver-non-free libmfx1 libmfxgen1 libvpl2 libegl-mesa0 libegl1-mesa libegl1-mesa-dev libgbm1 libgl1-mesa-dev libgl1-mesa-dri libglapi-mesa libgles2-mesa-dev libglx-mesa0 libigdgmm12 libxatracker2 mesa-va-drivers mesa-vdpau-drivers mesa-vulkan-drivers va-driver-all vainfo hwinfo clinfo
Para propósitos de compatibilidad, instala los paquetes i386. Primero, activa la arquitectura i386:
sudo dpkg --add-architecture i386
Ahora, instala los paquetes:
sudo apt install -y udev mesa-va-drivers:i386 mesa-common-dev:i386 mesa-vulkan-drivers:i386 libd3dadapter9-mesa-dev:i386 libegl1-mesa:i386 libegl1-mesa-dev:i386 libgbm-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev:i386 libgles2-mesa:i386 libgles2-mesa-dev:i386 libosmesa6:i386 libosmesa6-dev:i386 libwayland-egl1-mesa:i386 libxatracker2:i386 libxatracker-dev:i386 mesa-vdpau-drivers:i386 libva-x11-2:i386
Finalmente, instala los paquetes de desarrollo. Esto debería ser opcional, pero instálalos en caso de ser necesario:
sudo apt install -y libigc-dev intel-igc-cm libigdfcl-dev libigfxcmrt-dev level-zero-dev
Paso 3: Activa el firmware GuC/HuC en el módulo i915
Escribe el siguiente comando para activar el firmware GuC/HuC para la tarjeta:
echo "options i915 enable_guc=3" | sudo tee /etc/modprobe.d/i915.conf
Luego, reinicia la máquina para que se cargue.
Paso 4: Disfruta la conversión de videos a formato AV1 con ffmpeg
Si no has instalado ffmpeg, puedes usar la versión que provee Ubuntu. Simplemente instálalo con sudo apt install ffmpeg
.
Ahora puedes convertir tus videos a AV1 usando tu tarjeta de video.
Usa el argumento -c:v av1_qsv
para convertir a AV1 usando Intel Quick Sync.
Una línea de comando de ejemplo sería usar ffmpeg -i input_file.mp4 -c:v av1_qsv -c:a libopus -b:v 2M -b:a 96K output.webm
¡Hasta la próxima!
Puedes obtener esta tarjeta de video en Amazon usando el siguiente enlace:
Nota: Los enlaces hacia Amazon son enlaces de referido. Esta página gana un pequeño porcentaje de las compras realizadas con dichos enlaces y ayudan a mantener esta página en funcionamiento.