summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: b8b72bed2d8fc407beaf5fafbe564129e7fdf422 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
# Maintainer: kerriganx
# Based on aur/amdgpu-pro-installer, patched version to enable AMF on RX 6000 series cards
# Workaround is to keep vulkan-pro files from 21.40.2 and use the amf and libamdenc from latest version
# https://github.com/GPUOpen-LibrariesAndSDKs/AMF/issues/334

# Author: Janusz Lewandowski <lew21@xtreeme.org>
# Contributor: David McFarland <corngood@gmail.com>
# Maintainer: Andrew Shark <ashark @at@ linuxcomp.ru>
# Autogenerated from AMD's Packages file
# with https://github.com/Ashark/archlinux-amdgpu-pro/blob/master/gen-PKGBUILD.py

major=22.20.1
major_=22.20
major1=21.40.2
minor=1447095
minor1=1350683
ubuntu_ver=22.04

pkgbase=amdgpu-pro-installer-fix
pkgname=(
amf-amdgpu-pro-fix
amdgpu-pro-libgl-fix
lib32-amdgpu-pro-libgl-fix
vulkan-amdgpu-pro-fix
lib32-vulkan-amdgpu-pro-fix
)
pkgver=${major}_${minor}
pkgrel=1
arch=('x86_64')
url=https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-22-20
license=('custom: multiple')
groups=('Radeon_Software_for_Linux')
makedepends=('wget')

DLAGENTS='https::/usr/bin/wget --referer https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-22-20 -N %u'

source=(progl
	progl.bash-completion
	http://repo.radeon.com/amdgpu/${major}/ubuntu/pool/proprietary/a/amf-amdgpu-pro/amf-amdgpu-pro_1.4.26-${minor}~${ubuntu_ver}_amd64.deb
	http://repo.radeon.com/amdgpu/${major}/ubuntu/pool/proprietary/liba/libamdenc-amdgpu-pro/libamdenc-amdgpu-pro_1.0-${minor}~${ubuntu_ver}_amd64.deb
	http://repo.radeon.com/amdgpu/${major}/ubuntu/pool/proprietary/o/opengl-amdgpu-pro/libegl1-amdgpu-pro_${major_}-${minor}~${ubuntu_ver}_i386.deb
	http://repo.radeon.com/amdgpu/${major}/ubuntu/pool/proprietary/o/opengl-amdgpu-pro/libegl1-amdgpu-pro_${major_}-${minor}~${ubuntu_ver}_amd64.deb
	http://repo.radeon.com/amdgpu/${major}/ubuntu/pool/proprietary/a/appprofiles-amdgpu-pro/libgl1-amdgpu-pro-appprofiles_${major_}-${minor}~${ubuntu_ver}_all.deb
	http://repo.radeon.com/amdgpu/${major}/ubuntu/pool/proprietary/o/opengl-amdgpu-pro/libgl1-amdgpu-pro-dri_${major_}-${minor}~${ubuntu_ver}_i386.deb
	http://repo.radeon.com/amdgpu/${major}/ubuntu/pool/proprietary/o/opengl-amdgpu-pro/libgl1-amdgpu-pro-dri_${major_}-${minor}~${ubuntu_ver}_amd64.deb
	http://repo.radeon.com/amdgpu/${major}/ubuntu/pool/proprietary/o/opengl-amdgpu-pro/libgl1-amdgpu-pro-ext_${major_}-${minor}~${ubuntu_ver}_i386.deb
	http://repo.radeon.com/amdgpu/${major}/ubuntu/pool/proprietary/o/opengl-amdgpu-pro/libgl1-amdgpu-pro-ext_${major_}-${minor}~${ubuntu_ver}_amd64.deb
	http://repo.radeon.com/amdgpu/${major}/ubuntu/pool/proprietary/o/opengl-amdgpu-pro/libgl1-amdgpu-pro-glx_${major_}-${minor}~${ubuntu_ver}_i386.deb
	http://repo.radeon.com/amdgpu/${major}/ubuntu/pool/proprietary/o/opengl-amdgpu-pro/libgl1-amdgpu-pro-glx_${major_}-${minor}~${ubuntu_ver}_amd64.deb
	http://repo.radeon.com/amdgpu/${major}/ubuntu/pool/proprietary/o/opengl-amdgpu-pro/libglapi1-amdgpu-pro_${major_}-${minor}~${ubuntu_ver}_i386.deb
	http://repo.radeon.com/amdgpu/${major}/ubuntu/pool/proprietary/o/opengl-amdgpu-pro/libglapi1-amdgpu-pro_${major_}-${minor}~${ubuntu_ver}_amd64.deb
	http://repo.radeon.com/amdgpu/${major}/ubuntu/pool/proprietary/o/opengl-amdgpu-pro/libgles2-amdgpu-pro_${major_}-${minor}~${ubuntu_ver}_i386.deb
	http://repo.radeon.com/amdgpu/${major}/ubuntu/pool/proprietary/o/opengl-amdgpu-pro/libgles2-amdgpu-pro_${major_}-${minor}~${ubuntu_ver}_amd64.deb
	https://repo.radeon.com/amdgpu/${major1}/ubuntu/pool/proprietary/v/vulkan-amdgpu-pro/vulkan-amdgpu-pro_${major1}-${minor1}_i386.deb
	https://repo.radeon.com/amdgpu/${major1}/ubuntu/pool/proprietary/v/vulkan-amdgpu-pro/vulkan-amdgpu-pro_${major1}-${minor1}_amd64.deb)
sha256sums=(feb74796c3152cbafaba89d96e68a152f209bd3058c7eb0413cbe1ab0764e96f
	e32801c38b475cd8df17a407726b86db3de26410f563d688325b4d4314fc5354
	398698305164e5313cd3e511cf753448cddd3cf66ea6f45198aa4d1c8afbe3cf
	472403462f4498f8fb116d473c71c0f7dbcdab0467bf9d5c16f6eaaa68d54d8d
	612f4b9d9f7038fba51a229067b5d4ccaa61f49be1f5b07d52bf3fa42a08bc7c
	1cfec914fecc158b132f0ae7ecd316af641947d71a2835726feff9048a13ef9a
	9ee0d7d65f0cbf5d304200ff4bc13d18ec65da11048418b796c6f42a63b24b8e
	0589f20ad4815efd463670fd4760450e95ba10c1475c30eb4901b6102b74adb6
	bb97350c36565962bb6ec5c2bc9f093d364dcd241c8c575b01cf9b3ac1d48b6e
	0a70a7a9dc589ef3eb392efb1cf28e50faef5073e222b5d29555ba86440f6e9e
	6b139b0ea2e72d2fe08a939f576e3979604adb0f965c95f7b9337b876f906ea5
	3a3cc4c8da99c39fb16db436e11ec47565826c1a1efa6e891e05176532615c26
	e252dc68401e561ad18b60ac310db1a9a6bdc2d2a5798c34aeb6a60621ed549a
	3a9fe0464f0e6ac8619c159c9fd8bf8f91ae1a02fbae2fc8eb8a0498d811e08b
	132c2aa4f431ab7d05d1ba9b18b7ffb3e0a915797a9a13cf1c167ec968a51b90
	8baff555df49e2fd64f11058c851fd63d4ca90da1ab2f8ec53822871b79a80c5
	81c7a0f309606c7eba508088d0e20028d455ea7b2c2121bcf11f7cb8d3dd6fea
	8213fc0829262c2d0299cf4f6d1412d092d0eeda5ef4714f0022a447d79e88f5
	5e8e8387da1272f34f7bf9357609f473db2aad4c8d8ce19e3d803795abdc8133)



# extracts a debian package
# $1: deb file to extract
extract_deb() {
    local tmpdir="$(basename "${1%.deb}")"
    rm -Rf "$tmpdir"
    mkdir "$tmpdir"
    cd "$tmpdir"
    ar x "$1"
    tar -C "${pkgdir}" -xf data.tar.xz
}
# move ubuntu specific /usr/lib/x86_64-linux-gnu to /usr/lib
# $1: debian package library dir (goes from opt/amdgpu or opt/amdgpu-pro and from x86_64 or i386)
# $2: arch package library dir (goes to usr/lib or usr/lib32)
move_libdir() {
    local deb_libdir="$1"
    local arch_libdir="$2"

    if [ -d "${pkgdir}/${deb_libdir}" ]; then
        if [ ! -d "${pkgdir}/${arch_libdir}" ]; then
            mkdir -p "${pkgdir}/${arch_libdir}"
        fi
        mv -t "${pkgdir}/${arch_libdir}/" "${pkgdir}/${deb_libdir}"/*
        find ${pkgdir} -type d -empty -delete
    fi
}
# move copyright file to proper place and remove debian changelog
move_copyright() {
    find ${pkgdir}/usr/share/doc -name "changelog.Debian.gz" -delete
    mkdir -p ${pkgdir}/usr/share/licenses/${pkgname}
    find ${pkgdir}/usr/share/doc -name "copyright" -exec mv {} ${pkgdir}/usr/share/licenses/${pkgname} \;
    find ${pkgdir}/usr/share/doc -type d -empty -delete
}

package_amf-amdgpu-pro-fix () {
    pkgdesc="AMDGPU Pro Advanced Multimedia Framework, patched version to enable AMF on RX 6000 series cards"
    license=('custom: AMDGPU-PRO EULA')
    depends=("libdrm" "vulkan-amdgpu-pro-fix=${major}_${minor}-${pkgrel}")
    conflicts=('amf-amdgpu-pro')
    optdepends=("rocm-opencl-runtime: Warning unspecified optdep description")

    extract_deb "${srcdir}"/amf-amdgpu-pro_1.4.26-${minor}~${ubuntu_ver}_amd64.deb
    extract_deb "${srcdir}"/libamdenc-amdgpu-pro_1.0-${minor}~${ubuntu_ver}_amd64.deb
    move_libdir "opt/amdgpu-pro/lib/x86_64-linux-gnu" "usr/lib"
    move_copyright
}

package_amdgpu-pro-libgl-fix () {
    pkgdesc="AMDGPU Pro OpenGL driver, patched version to enable AMF on RX 6000 series cards"
    license=('custom: AMDGPU-PRO EULA')
    provides=('libgl')
    conflicts=('amdgpu-pro-libgl')
    depends=("libdrm" "libx11" "libxcb" "libxdamage" "libxext" "libxfixes" "libxxf86vm")
    backup=(etc/amd/amdapfxx.blb)

    extract_deb "${srcdir}"/libegl1-amdgpu-pro_${major_}-${minor}~${ubuntu_ver}_amd64.deb
    extract_deb "${srcdir}"/libgl1-amdgpu-pro-appprofiles_${major_}-${minor}~${ubuntu_ver}_all.deb
    extract_deb "${srcdir}"/libgl1-amdgpu-pro-dri_${major_}-${minor}~${ubuntu_ver}_amd64.deb
    extract_deb "${srcdir}"/libgl1-amdgpu-pro-ext_${major_}-${minor}~${ubuntu_ver}_amd64.deb
    extract_deb "${srcdir}"/libgl1-amdgpu-pro-glx_${major_}-${minor}~${ubuntu_ver}_amd64.deb
    extract_deb "${srcdir}"/libglapi1-amdgpu-pro_${major_}-${minor}~${ubuntu_ver}_amd64.deb
    extract_deb "${srcdir}"/libgles2-amdgpu-pro_${major_}-${minor}~${ubuntu_ver}_amd64.deb
    move_copyright

    # extra_commands:
    move_libdir "usr/lib/x86_64-linux-gnu" "usr/lib"
    move_libdir "opt/amdgpu-pro/lib/x86_64-linux-gnu" "usr/lib/amdgpu-pro"
    move_libdir "opt/amdgpu-pro/lib/xorg" "usr/lib/amdgpu-pro/xorg"
    move_libdir "opt/amdgpu/share/drirc.d" "usr/share/drirc.d"
    sed -i "s|/opt/amdgpu-pro/lib/x86_64-linux-gnu|#/usr/lib/amdgpu-pro  # commented to prevent problems of booting with amdgpu-pro, use progl script|" "${pkgdir}"/etc/ld.so.conf.d/10-amdgpu-pro-x86_64.conf
    install -Dm755 "${srcdir}"/progl "${pkgdir}"/usr/bin/progl
    install -Dm755 "${srcdir}"/progl.bash-completion "${pkgdir}"/usr/share/bash-completion/completions/progl
    # For some reason, applications started with normal OpenGL (i.e. without ag pro) crashes at launch if this conf file is presented, so hide it for now, until I find out the reason of that.
    mv "${pkgdir}"/usr/share/drirc.d/10-amdgpu-pro.conf "${pkgdir}"/usr/share/drirc.d/10-amdgpu-pro.conf.hide
}

package_lib32-amdgpu-pro-libgl-fix () {
    pkgdesc="AMDGPU Pro OpenGL driver (32-bit), patched version to enable AMF on RX 6000 series cards"
    license=('custom: AMDGPU-PRO EULA')
    provides=('lib32-libgl')
    conflicts=('lib32-amdgpu-pro-libgl')
    depends=("amdgpu-pro-libgl-fix=${major}_${minor}-${pkgrel}" "lib32-libdrm" "lib32-libx11" "lib32-libxcb" "lib32-libxdamage" "lib32-libxext" "lib32-libxfixes" "lib32-libxxf86vm")
    backup=(etc/amd/amdrc etc/ld.so.conf.d/10-amdgpu-pro-i386.conf)

    extract_deb "${srcdir}"/libegl1-amdgpu-pro_${major_}-${minor}~${ubuntu_ver}_i386.deb
    extract_deb "${srcdir}"/libgl1-amdgpu-pro-dri_${major_}-${minor}~${ubuntu_ver}_i386.deb
    extract_deb "${srcdir}"/libgl1-amdgpu-pro-ext_${major_}-${minor}~${ubuntu_ver}_i386.deb
    extract_deb "${srcdir}"/libgl1-amdgpu-pro-glx_${major_}-${minor}~${ubuntu_ver}_i386.deb
    extract_deb "${srcdir}"/libglapi1-amdgpu-pro_${major_}-${minor}~${ubuntu_ver}_i386.deb
    extract_deb "${srcdir}"/libgles2-amdgpu-pro_${major_}-${minor}~${ubuntu_ver}_i386.deb
    move_copyright

    # extra_commands:
    rm "${pkgdir}"/etc/amd/amdrc "${pkgdir}"/opt/amdgpu-pro/lib/xorg/modules/extensions/libglx.so "${pkgdir}"/opt/amdgpu/share/drirc.d/10-amdgpu-pro.conf
    move_libdir "usr/lib/i386-linux-gnu" "usr/lib32"
    move_libdir "opt/amdgpu-pro/lib/i386-linux-gnu" "usr/lib32/amdgpu-pro"
    sed -i "s|/opt/amdgpu-pro/lib/i386-linux-gnu|#/usr/lib32/amdgpu-pro  # commented to prevent problems of booting with amdgpu-pro, use progl32 script|" "${pkgdir}"/etc/ld.so.conf.d/10-amdgpu-pro-i386.conf
}

package_vulkan-amdgpu-pro-fix () {
    pkgdesc="AMDGPU Pro Vulkan driver, patched version to enable AMF on RX 6000 series cards"
    license=('custom: AMDGPU-PRO EULA')
    provides=('vulkan-driver')
    conflicts=('vulkan-amdgpu-pro')
    depends=("vulkan-icd-loader")
    optdepends=("openssl: Warning unspecified optdep description")

    extract_deb "${srcdir}"/vulkan-amdgpu-pro_${major1}-${minor1}_amd64.deb
    move_libdir "opt/amdgpu-pro/lib/x86_64-linux-gnu" "usr/lib"
    move_copyright

    # extra_commands:
    mkdir -p "${pkgdir}"/usr/share/vulkan/icd.d/
    mv "${pkgdir}"/opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd64.json "${pkgdir}"/usr/share/vulkan/icd.d/amd_pro_icd64.json
    mv "${pkgdir}"/usr/lib/amdvlk64.so "${pkgdir}"/usr/lib/amdvlkpro64.so
    sed -i "s#/opt/amdgpu-pro/lib/x86_64-linux-gnu/amdvlk64.so#/usr/lib/amdvlkpro64.so#" "${pkgdir}"/usr/share/vulkan/icd.d/amd_pro_icd64.json
    find ${pkgdir} -type d -empty -delete
}

package_lib32-vulkan-amdgpu-pro-fix () {
    pkgdesc="AMDGPU Pro Vulkan driver (32-bit), patched version to enable AMF on RX 6000 series cards"
    license=('custom: AMDGPU-PRO EULA')
    provides=('lib32-vulkan-driver')
    conflicts=('lib32-vulkan-amdgpu-pro')
    depends=("lib32-vulkan-icd-loader")
    optdepends=("lib32-openssl: Warning unspecified optdep description")

    extract_deb "${srcdir}"/vulkan-amdgpu-pro_${major1}-${minor1}_i386.deb
    move_libdir "opt/amdgpu-pro/lib/i386-linux-gnu" "usr/lib32"
    move_copyright

    # extra_commands:
    mkdir -p "${pkgdir}"/usr/share/vulkan/icd.d/
    mv "${pkgdir}"/opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd32.json "${pkgdir}"/usr/share/vulkan/icd.d/amd_pro_icd32.json
    mv "${pkgdir}"/usr/lib32/amdvlk32.so "${pkgdir}"/usr/lib32/amdvlkpro32.so
    sed -i "s#/opt/amdgpu-pro/lib/i386-linux-gnu/amdvlk32.so#/usr/lib32/amdvlkpro32.so#" "${pkgdir}"/usr/share/vulkan/icd.d/amd_pro_icd32.json
    find ${pkgdir} -type d -empty -delete
}