ROCm / rocDecode

rocDecode is a high performance video decode SDK for AMD hardware
https://rocm.docs.amd.com/projects/rocDecode/en/latest
Other
10 stars 14 forks source link

Setup - mariner build support #369

Closed kiritigowda closed 3 months ago

kiritigowda commented 3 months ago
rocDecode Setup on: Linux-5.15.0-107-generic-x86_64-with-glibc2.35-Mariner

rocDecode Dependencies Installation with rocDecode-setup.py V-2.1.0

Loaded plugin: tdnfrepogpgcheck
Nothing to do.
Loaded plugin: tdnfrepogpgcheck
Package gcc is already installed.
Nothing to do.
Loaded plugin: tdnfrepogpgcheck
Package cmake is already installed.
Nothing to do.
Loaded plugin: tdnfrepogpgcheck
Package git is already installed.
Nothing to do.
Loaded plugin: tdnfrepogpgcheck
Package wget is already installed.
Nothing to do.
Loaded plugin: tdnfrepogpgcheck
Package unzip is already installed.
Nothing to do.
Loaded plugin: tdnfrepogpgcheck
[using capability match for 'pkg-config']
[using capability match for 'pkg-config']
Package pkg-config is already installed.
Nothing to do.
Loaded plugin: tdnfrepogpgcheck
Package rocm-hip-runtime is already installed.
Nothing to do.
Loaded plugin: tdnfrepogpgcheck
Package rocm-hip-runtime-devel is already installed.
Nothing to do.
Loaded plugin: tdnfrepogpgcheck
Package libva2 is already installed.
Nothing to do.
Loaded plugin: tdnfrepogpgcheck
Package libva-devel is already installed.
Nothing to do.

rocDecode Dependencies Installed with rocDecode-setup.py V-2.1.0
kiritigowda commented 3 months ago

@AryanSalmanpour -- build only support on mariner for now. Runtime package unavailable

tdnf install mesa-amdgpu-va-drivers
Loaded plugin: tdnfrepogpgcheck
mesa-amdgpu-va-drivers package not found or not installed
Error(1011) : No matching packages
kiritigowda commented 3 months ago

rocDecode - Mariner Build

cat /etc/os-release 
NAME="Common Base Linux Mariner"
VERSION="2.0.20240609"
ID=mariner
VERSION_ID="2.0"
PRETTY_NAME="CBL-Mariner/Linux"
ANSI_COLOR="1;34"
HOME_URL="https://aka.ms/cbl-mariner"
BUG_REPORT_URL="https://aka.ms/cbl-mariner"
SUPPORT_URL="https://aka.ms/cbl-mariner"

cmake /root/hostDrive/rocdecode-kiriti/rocdecode/
-- The CXX compiler identification is GNU 11.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- rocDecode Version -- 0.6.0
-- rocDecode Install Path -- /opt/rocm
-- rocDecode Build Type -- Release
-- Found Libva Version: 1.11.0
--  Libva Version Supported
-- Using Libva -- 
    Libraries:/usr/lib64/libva.so 
    Includes:/usr/include
-- Using Libva-drm -- 
    Libraries:/usr/lib64/libva-drm.so
-- AMD ROCm rocDecode -- CMAKE_CXX_FLAGS: -O3 -DNDEBUG -fPIC -std=gnu++17
-- AMD ROCm rocDecode -- Link Libraries: hip::host;/usr/lib64/libva.so;/usr/lib64/libva-drm.so
-- rocDecode .rpm RunTime Package Requirements --  rocm-hip-runtime, libva2, libdrm-amdgpu, mesa-amdgpu-va-drivers, mesa-amdgpu-dri-drivers
-- rocDecode .rpm Devel Package Requirements --  rocdecode, rocm-hip-runtime-devel, libva-devel, pkg-config
-- Configuring done
-- Generating done
-- Build files have been written to: /root/build
root [ ~/build ]# make -j8
[ 11%] Building CXX object CMakeFiles/rocdecode.dir/src/parser/rocparser_api.cpp.o
[ 22%] Building CXX object CMakeFiles/rocdecode.dir/src/parser/roc_video_parser.cpp.o
[ 33%] Building CXX object CMakeFiles/rocdecode.dir/src/parser/av1_parser.cpp.o
[ 44%] Building CXX object CMakeFiles/rocdecode.dir/src/parser/avc_parser.cpp.o
[ 66%] Building CXX object CMakeFiles/rocdecode.dir/src/rocdecode/roc_decoder.cpp.o
[ 66%] Building CXX object CMakeFiles/rocdecode.dir/src/parser/hevc_parser.cpp.o
[ 77%] Building CXX object CMakeFiles/rocdecode.dir/src/rocdecode/rocdecode_api.cpp.o
[ 88%] Building CXX object CMakeFiles/rocdecode.dir/src/rocdecode/vaapi/vaapi_videodecoder.cpp.o
[100%] Linking CXX shared library lib/librocdecode.so
[100%] Built target rocdecode
root [ ~/build ]# sudo make package
Consolidate compiler generated dependencies of target rocdecode
[100%] Built target rocdecode
Run CPack packaging tool...
CPack: Create package using TGZ
CPack: Install projects
CPack: - Run preinstall target for: rocdecode
CPack: - Install project: rocdecode []
CPack: Create package
CPack: - package: /root/build/rocdecode-0.6.0-Linux.tar.gz generated.
CPack: Create package using ZIP
CPack: Install projects
CPack: - Run preinstall target for: rocdecode
CPack: - Install project: rocdecode []
CPack: Create package
CPack: - package: /root/build/rocdecode-0.6.0-Linux.zip generated.
CPack: Create package using RPM
CPack: Install projects
CPack: - Run preinstall target for: rocdecode
CPack: - Install project: rocdecode []
CPack: -   Install component: runtime
CPack: -   Install component: dev
CPack: -   Install component: test
CPack: Create package
CPackRPM: Will use GENERATED spec file: /root/build/_CPack_Packages/Linux/RPM/SPECS/rocdecode-devel.spec
CPackRPM: Will use GENERATED spec file: /root/build/_CPack_Packages/Linux/RPM/SPECS/rocdecode.spec
CPackRPM: Will use GENERATED spec file: /root/build/_CPack_Packages/Linux/RPM/SPECS/rocdecode-test.spec
CPack: - package: /root/build/rocdecode-0.6.0-local.x86_64.rpm generated.
CPack: - package: /root/build/rocdecode-devel-0.6.0-local.x86_64.rpm generated.
CPack: - package: /root/build/rocdecode-test-0.6.0-local.x86_64.rpm generated.