Cómo Activar la Decodificación por Hardware en el ODROID-C2

hardware decoding

El usuario @pichljan ha creado un repositorio git con un script, parches e instrucciones. Este repositorio tiene correcciones destinadas a ayudar al usuario a activar la decodificación de hardware para el ODROID-C2. Si alguien está haciendo frente a este problema, puede clonar este repositorio y seguir los siguientes pasos. Estos pasos también están descritos en el archivo README del repositorio. En primer lugar, debe clonar el repositorio Linux de Hardkernel:

$ git clone --depth 1 https://github.com/hardkernel/linux.git -b odroidc2-3.14.y
$ cd linux
Aplica un parche que te permita compilar el driver de video AML como módulo. Di este paso editando media_build de LibreELEC:
$ patch -p1 < ../odroidC2-kernel/allow_amlvideodri_as_module.patch
Aplica la configuración por defecto de ODROID-C2, luego modifica los parámetros de configuración:
$ make odroidc2_defconfig
$ make menuconfig
Fija los siguientes valores (presiona Y para seleccionar, N para eliminar y M para seleccionarlo como módulo):
Device Drivers
   Amlogic Device Drivers
      ION Support
         ION memory management support = Yes
      Amlogic ion video support
         videobuf2-ion video device support = M
         Amlogic ion video device support = no
      V4L2 Video Support
         Amlogic v4l video device support = M
         Amlogic v4l video2 device support = no
      Amlogic Camera Support
         Amlogic Platform Capture Driver = no
   Multimedia support = M
A continuación, tenemos que compilar el kernel:
$ make -j5 LOCALVERSION=""
El parámetro LOCALVERSION es solo para evitar el signo “+” en el nombre del kernel. Tras una compilación exitosa, instala los módulos y el kernel, luego reinicie el sistema:
$ sudo make modules_install
$ sudo cp -f arch/arm64/boot/Image arch/arm64/boot/dts/meson64_odroidc2.dtb /media/boot/
$ sudo sync
$ sudo reboot

Compilar Media

Clona el repositorio media_build e intenta compilarlo:

$ git clone https://git.linuxtv.org/media_build.git
$ cd media_build
$ ./build
El comando de compilación probablemente fallará, aunque puedes ignorar este error y continuar con los siguientes pasos. El siguiente script también está inspirado en LibreELEC media_build edition y solo incluye el controlador de video en el módulo media.
$ ../odroidC2-kernel/add_video_driver_module.sh
Para evitar posibles problemas con la compilación, intenta deshabilitar la compatibilidad con el controlador remoto y todos los adaptadores USB que no necesites:
$ make menuconfig
Este comando probablemente tendrá como resultado un error similar al siguiente:
./Kconfig:694: syntax error
./Kconfig:693: unknown option "Enable"
./Kconfig:694: unknown option "which"
Debes editar el archivo v4l/Kconfig y alinear con espacios las líneas impresas en el error. Las líneas deben estar alineadas con las anteriores. A continuación, ejecuta make menuconfig nuevamente, lo cual puede que necesites hacer varias veces. Si ve un menú en lugar del error, puede modificar la configuración del siguiente modo:
Remote Controller support = no
Multimedia support
    Media USB Adapters
        ## Disable all driver you don't need ##
Aplica el siguiente parche:
$ patch -p1 < ../odroidC2-kernel/warning.patch
Realiza el siguiente cambio para evitar errores y compilar el kernel:
$ sed -i 's/#define NEED_PM_RUNTIME_GET 1/\/\/#define NEED_PM_RUNTIME_GET 1/g' v4l/config-compat.h
$ make -j5
Es posible que necesites ejecutar los pasos anteriores (sed y make) varias veces antes de que tenga éxito. Tras la compilación, instala los módulos y reinicia el sistema:
$ sudo make install
$ sudo reboot
El último paso es añadir el módulo amlvideodri a /etc/modules para que se cargue en el arranque:
$ sudo echo "amlvideodri" >> /etc/modules
Ahora puedes disfrutar de tus videos acelerados por HW y DVB-T TV en Kodi. Para obtener más información o más ayuda sobre este tema, consulte el hilo original en los foros de ODROID en https://forum.odroid.com/viewtopic.php?f=136&t=29619#p215565.

Be the first to comment

Leave a Reply