Skip to content

Commit 8151676

Browse files
Packaging - Drop libva-amdgpu for RHEL 9+, Ubuntu 24, and SLES (#656) (#657)
* Drop libva-amdgpu for newer distros Due to bugs in mixing old and new libva installed, having both libva-amdgpu packages just causes bugs due to edge cases. It's easier to just use the inbox packages for RHEL9+, SLE, and UB24.04. RHEL 8 and UB22.04 still needs libva-amdgpu since libva is too old. I also noticed that SLE should be pulling in libva-drm2 as a runtime requirement, since rocdecode only uses the DRM interface. SWDEV-555510 SWDEV-557842 * rocDecode-setup.py - Fix ``` rocDecode-setup.py", line 246 else ^ SyntaxError: expected ':' ``` * rocDecode-setup.py - Fix ``` rocDecode-setup.py", line 246 else ^ SyntaxError: expected ':' ``` * rocDecode-setup.py - fix ``` E: Unable to locate package rocm-hip-runtime-devlibstdc++-12-dev E: Couldn't find any package by regex 'rocm-hip-runtime-devlibstdc++-12-dev' ``` --------- Signed-off-by: Jeremy Newton <[email protected]> Co-authored-by: Jeremy Newton <[email protected]>
1 parent 53faa53 commit 8151676

File tree

3 files changed

+60
-26
lines changed

3 files changed

+60
-26
lines changed

CMakeLists.txt

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -302,23 +302,22 @@ if(HIP_FOUND AND Libva_FOUND AND Libdrm_amdgpu_FOUND)
302302
# Set the dependent packages
303303
# libva 2.16 (API 1.16) is needed to use mesa-amdgpu-va-drivers, libva-amdgpu
304304
# (AMD build of libva 2.16) should be used if distro's libva is too old
305-
# Libva is 2.12 on Ubuntu 22.04 and 24.04, so we can always use libva-amdgpu
306-
set(ROCDECODE_DEBIAN_RUNTIME_PACKAGE_LIST "rocm-hip-runtime, libva2-amdgpu, libva-amdgpu-drm2, libva-amdgpu-wayland2, libva-amdgpu-x11-2, mesa-amdgpu-va-drivers")
307-
# Unfortunately RPM has a mix of versions; RHEL has "libva", SLE has "libva2"
308-
set(ROCDECODE_RPM_RUNTIME_PACKAGE_LIST "rocm-hip-runtime, (libva >= 2.16.0 or libva2 >= 2.16.0 or libva-amdgpu), mesa-amdgpu-va-drivers")
305+
set(ROCDECODE_DEBIAN_RUNTIME_PACKAGE_LIST "rocm-hip-runtime, libva-drm2 (>= 2.16.0) | libva-amdgpu-drm2, mesa-amdgpu-va-drivers")
306+
# Unfortunately RPM has a mix of naming schemes; RHEL has "libva", SLE has "libva2-drm2"
307+
set(ROCDECODE_RPM_RUNTIME_PACKAGE_LIST "rocm-hip-runtime, (libva >= 2.16.0 or libva-drm2 >= 2.16.0 or libva-amdgpu), mesa-amdgpu-va-drivers")
309308
# Add rocprofiler-register dependencies
310309
if(ROCDECODE_ENABLE_ROCPROFILER_REGISTER)
311310
set(ROCDECODE_DEBIAN_RUNTIME_PACKAGE_LIST "${ROCDECODE_DEBIAN_RUNTIME_PACKAGE_LIST}, rocprofiler-register")
312311
set(ROCDECODE_RPM_RUNTIME_PACKAGE_LIST "${ROCDECODE_RPM_RUNTIME_PACKAGE_LIST}, rocprofiler-register")
313312
endif()
314313

315314
# Set the dev dependent packages
316-
set(ROCDECODE_DEBIAN_DEV_PACKAGE_LIST "rocm-hip-runtime-dev, libva-amdgpu-dev, pkg-config, libavcodec-dev, libavformat-dev, libavutil-dev")
315+
set(ROCDECODE_DEBIAN_DEV_PACKAGE_LIST "rocm-hip-runtime-dev, libva-dev (>= 2.16.0) | libva-amdgpu-dev, pkg-config, libavcodec-dev, libavformat-dev, libavutil-dev")
317316
if(UBUNTU_22_FOUND)
318317
set(ROCDECODE_DEBIAN_DEV_PACKAGE_LIST "${ROCDECODE_DEBIAN_DEV_PACKAGE_LIST}, libstdc++-12-dev")
319318
endif()
320319
# TBD - RPM packages need Fusion Packages - "libavcodec-devel, libavformat-devel, libavutil-devel"
321-
set(ROCDECODE_RPM_DEV_PACKAGE_LIST "rocm-hip-runtime-devel, libva-amdgpu-devel, pkg-config")
320+
set(ROCDECODE_RPM_DEV_PACKAGE_LIST "rocm-hip-runtime-devel, (libva-devel >= 2.16.0 or libva-amdgpu-devel), pkg-config")
322321

323322
# '%{?dist}' breaks manual builds on debian systems due to empty Provides
324323
execute_process(
@@ -436,9 +435,9 @@ else()
436435
message(FATAL_ERROR "-- ERROR!: HIP Not Found! - please install rocm-hip-runtime-dev!")
437436
endif()
438437
if(NOT Libva_FOUND)
439-
message(FATAL_ERROR "-- ERROR!: libva Not Found - please install libva-amdgpu-dev/libva-amdgpu-devel!")
438+
message(FATAL_ERROR "-- ERROR!: libva Not Found - please install libva-dev/libva-devel!")
440439
endif()
441440
if(NOT Libdrm_amdgpu_FOUND)
442-
message(FATAL_ERROR "-- ERROR!: libdrm_amdgpu Not Found - please install libdrm-amdgpu-dev(DEBIAN)/libdrm-amdgpu-devel(RPM) package!")
441+
message(FATAL_ERROR "-- ERROR!: libdrm_amdgpu Not Found - please install libdrm-dev(DEBIAN)/libdrm-devel(RPM) package!")
443442
endif()
444443
endif()

cmake/FindLibva.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
find_library(LIBVA_LIBRARY NAMES va HINTS /opt/amdgpu/lib/x86_64-linux-gnu /opt/amdgpu/lib64 /usr/lib/x86_64-linux-gnu /usr/lib64)
2525
find_library(LIBVA_DRM_LIBRARY NAMES va-drm HINTS /opt/amdgpu/lib/x86_64-linux-gnu /opt/amdgpu/lib64 /usr/lib/x86_64-linux-gnu /usr/lib64)
26-
find_path(LIBVA_INCLUDE_DIR NAMES va/va.h PATHS /opt/amdgpu/include NO_DEFAULT_PATH)
26+
find_path(LIBVA_INCLUDE_DIR NAMES va/va.h PATHS /opt/amdgpu/include /usr/include NO_DEFAULT_PATH)
2727

2828
include(FindPackageHandleStandardArgs)
2929
find_package_handle_standard_args(Libva DEFAULT_MSG LIBVA_INCLUDE_DIR LIBVA_LIBRARY)
@@ -65,4 +65,4 @@ else()
6565
if(Libva_FIND_REQUIRED)
6666
message(FATAL_ERROR "{Red}FindLibva -- Libva NOT FOUND${ColourReset}")
6767
endif()
68-
endif()
68+
endif()

rocDecode-setup.py

Lines changed: 51 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -167,13 +167,20 @@ def ERROR_CHECK(waitval):
167167

168168
# Debian packages
169169
coreDebianPackages = [
170-
'libva-amdgpu-dev',
170+
'libva-dev',
171171
'rocm-hip-runtime-dev'
172172
]
173173
coreDebianU22Packages = [
174+
'libva-amdgpu-dev',
175+
'rocm-hip-runtime-dev',
174176
'libstdc++-12-dev'
175177
]
176178
runtimeDebianPackages = [
179+
'libva-drm2',
180+
'mesa-amdgpu-va-drivers',
181+
'vainfo'
182+
]
183+
runtimeDebianU22Packages = [
177184
'libva2-amdgpu',
178185
'libva-amdgpu-drm2',
179186
'libva-amdgpu-wayland2',
@@ -188,15 +195,37 @@ def ERROR_CHECK(waitval):
188195
]
189196

190197
# RPM Packages
191-
coreRPMPackages = [
192-
'libva-amdgpu-devel',
193-
'rocm-hip-runtime-devel'
194-
]
195-
runtimeRPMPackages = [
196-
'libva-amdgpu',
197-
'mesa-amdgpu-va-drivers',
198-
'libva-utils'
199-
]
198+
if "centos" in os_info_data or "redhat" in os_info_data:
199+
if "VERSION_ID=7" in os_info_data or "VERSION_ID=8" in os_info_data:
200+
coreRPMPackages = [
201+
'libva-amdgpu-devel',
202+
'rocm-hip-runtime-devel'
203+
]
204+
runtimeRPMPackages = [
205+
'libva-amdgpu',
206+
'mesa-amdgpu-va-drivers',
207+
'libva-utils'
208+
]
209+
else:
210+
coreRPMPackages = [
211+
'libva-devel',
212+
'rocm-hip-runtime-devel'
213+
]
214+
runtimeRPMPackages = [
215+
'libva',
216+
'mesa-amdgpu-va-drivers',
217+
'libva-utils'
218+
]
219+
else:
220+
coreRPMPackages = [
221+
'libva-devel',
222+
'rocm-hip-runtime-devel'
223+
]
224+
runtimeRPMPackages = [
225+
'libva-drm2',
226+
'mesa-amdgpu-va-drivers',
227+
'libva-utils'
228+
]
200229

201230
# update
202231
ERROR_CHECK(os.system('sudo '+linuxFlag+' '+linuxSystemInstall +' '+linuxSystemInstall_check+' '+osUpdate))
@@ -210,13 +239,14 @@ def ERROR_CHECK(waitval):
210239
# rocDecode Core - Requirements
211240
ERROR_CHECK(os.system('sudo '+sudoValidateOption))
212241
if "Ubuntu" in platfromInfo:
213-
for i in range(len(coreDebianPackages)):
214-
ERROR_CHECK(os.system('sudo '+linuxFlag+' '+linuxSystemInstall +
215-
' '+linuxSystemInstall_check+' install '+ coreDebianPackages[i]))
216242
if "VERSION_ID=22" in os_info_data:
217243
for i in range(len(coreDebianU22Packages)):
218244
ERROR_CHECK(os.system('sudo '+linuxFlag+' '+linuxSystemInstall +
219245
' '+linuxSystemInstall_check+' install '+ coreDebianU22Packages[i]))
246+
else:
247+
for i in range(len(coreDebianPackages)):
248+
ERROR_CHECK(os.system('sudo '+linuxFlag+' '+linuxSystemInstall +
249+
' '+linuxSystemInstall_check+' install '+ coreDebianPackages[i]))
220250
else:
221251
for i in range(len(coreRPMPackages)):
222252
ERROR_CHECK(os.system('sudo '+linuxFlag+' '+linuxSystemInstall +
@@ -226,9 +256,14 @@ def ERROR_CHECK(waitval):
226256
ERROR_CHECK(os.system('sudo '+sudoValidateOption))
227257
if runtimeInstall == 'ON':
228258
if "Ubuntu" in platfromInfo:
229-
for i in range(len(runtimeDebianPackages)):
230-
ERROR_CHECK(os.system('sudo '+linuxFlag+' '+linuxSystemInstall +
231-
' '+linuxSystemInstall_check+' install '+ runtimeDebianPackages[i]))
259+
if "VERSION_ID=22" in os_info_data:
260+
for i in range(len(runtimeDebianU22Packages)):
261+
ERROR_CHECK(os.system('sudo '+linuxFlag+' '+linuxSystemInstall +
262+
' '+linuxSystemInstall_check+' install '+ runtimeDebianU22Packages[i]))
263+
else:
264+
for i in range(len(runtimeDebianPackages)):
265+
ERROR_CHECK(os.system('sudo '+linuxFlag+' '+linuxSystemInstall +
266+
' '+linuxSystemInstall_check+' install '+ runtimeDebianPackages[i]))
232267
else:
233268
for i in range(len(runtimeRPMPackages)):
234269
ERROR_CHECK(os.system('sudo '+linuxFlag+' '+linuxSystemInstall +

0 commit comments

Comments
 (0)