Package Details: amdvlk-git 2024.Q2.3.r0.10c37d4-1

Git Clone URL: https://aur.archlinux.org/amdvlk-git.git (read-only, click to copy)
Package Base: amdvlk-git
Description: AMD's standalone Vulkan driver
Upstream URL: https://github.com/GPUOpen-Drivers
Licenses: MIT
Conflicts: amdvlk, vulkan-amdvlk
Provides: amdvlk, vulkan-amdvlk, vulkan-driver
Submitter: haagch
Maintainer: marijns
Last Packager: marijns
Votes: 22
Popularity: 0.000000
First Submitted: 2017-12-22 13:02 (UTC)
Last Updated: 2024-08-11 22:02 (UTC)

Required by (71)

Sources (0)

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 Next › Last »

RAMChYLD commented on 2023-03-23 22:30 (UTC)

AMDVLK 2023.Q1.3 is out and the biggest feature is it now supports VK_EXT_physical_device_drm which is needed by gamescope. Can we have a refactor to that version?

ErikR commented on 2022-04-27 20:14 (UTC)

amdvlk-git/src/drivers/pal/shared/gpuopen/cmake/AMD.cmake should be changed to amdvlk-git/src/drivers/pal/shared/devdriver/cmake/AMD.cmake right?

TheK0tYaRa commented on 2021-02-06 10:34 (UTC) (edited on 2021-02-06 10:34 (UTC) by TheK0tYaRa)

The package has issues with replacing amdvlk so I made a light change in it and checked if the latest git release works.

# Maintainer: haagch
# Contributor: TheK0tYaRa

pkgname=amdvlk-git
pkgver=v.2021.Q1.1.r7.e77387b
pkgrel=1
pkgdesc="AMD's standalone Vulkan driver"
arch=(x86_64)
url="https://github.com/GPUOpen-Drivers"
license=('MIT')
depends=('vulkan-icd-loader')
provides=('vulkan-amdvlk' 'vulkan-driver')
conflicts=('vulkan-amdvlk' 'amdvlk')
replaces=('amdvlk')
makedepends=('xorgproto' 'xorg-server-devel' 'libxrandr' 'cmake' 'python' 'libxml2' 'wayland' 'libdrm' 'git' 'ninja' 'repo')
source=()
sha512sums=()

pkgver() {
  pushd drivers/AMDVLK > /dev/null
  AMDVLK_VER=$(printf "%s" "$(git describe --long | sed 's/\([^-]*-\)g/r\1/;s/-/./g')")
  popd > /dev/null
  if [ -z "$AMDVLK_VER" ]; then
    pushd drivers/xgl > /dev/null
    XGL_VER=$(printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)")
    popd > /dev/null
  else
    XGL_VER=$AMDVLK_VER
  fi
  #PAL_VER=$(cd pal; printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)")
  echo "$XGL_VER"
}

prepare() {
  cd "$srcdir"
  repo init -u 'https://github.com/GPUOpen-Drivers/AMDVLK.git' -b master
  repo sync
  # fix building with commit f609020
  # sed -i "s/<drm/<libdrm/g" pal/src/core/os/lnx/display/displayWindowSystem.h
  # pushd "$srcdir/pal"
  # patch -p1 < ../0001-pal-clang.patch
  # popd
  # pushd "$srcdir/xgl"
  # patch -p1 < ../0002-xgl-clang.patch
  # popd

  # Don't turn Werror on for people will build with more recent compilers than you have. Just don't.
  for i in drivers/pal/shared/gpuopen/cmake/AMD.cmake #drivers/llpc/llpc/CMakeLists.txt
  do
    #sed -i "s/-Werror=unused-variable//g" "$srcdir"/$i
    #sed -i "s/-Werror=unused-function//g" "$srcdir"/$i
    sed -i "s/-Werror//g" "$srcdir"/$i
  done

  msg 'No patches to apply...'
}

build() {
  # /usr/lib/amdvlk64.so: undefined symbol: _ZN3Pal5Linux19DisplayWindowSystem30DeterminePresentationSupportedEPNS0_6DeviceEPvl
  # msg "Changing flags..."
  # msg2 "before: CFLAGS=$CFLAGS"
  export CFLAGS=${CFLAGS/-fno-plt}
  # msg2 "after: CFLAGS=$CFLAGS"
  # msg2 "before: CXXFLAGS=$CXXFLAGS"
  export CXXFLAGS="${CXXFLAGS/-fno-plt}"
  # msg2 "after: CXXFLAGS=${CXXFLAGS}"
  # msg2 "before: LDFLAGS=$LDFLAGS"
  export LDFLAGS=${LDFLAGS/,-z,now}
  # msg2 "after: LDFLAGS=${LDFLAGS}"
  # export CPPFLAGS="$CXXFLAGS"

  msg "building xgl..."
  pushd drivers/xgl > /dev/null
  cmake \
    -G Ninja \
    -H. \
    -B builds/Release64 \
    -DBUILD_WAYLAND_SUPPORT=On \
    -DCMAKE_BUILD_TYPE=Release
    -DBUILD_XLIB_XRANDR_SUPPORT=On \
    || true

  cd builds/Release64
  ninja
  msg "building xgl finished!"

  msg "building spvgen"
  pushd ../../../spvgen/external > /dev/null
  python2 fetch_external_sources.py
  popd > /dev/null
  ninja spvgen
  msg "building spvgen finished!"
  popd > /dev/null

  #msg "building spvgen"
  #pushd drivers/spvgen > /dev/null
  #cmake \
  #  -G Ninja \
  #  -B builds/Release64 \
  #  -DCMAKE_BUILD_TYPE=Release \
  #  .
  #cd builds/Release64
  #ninja
  #msg "building spvgen finished!"
}

package() {
  install -m755 -d "${pkgdir}"/usr/lib
  install -m755 -d "${pkgdir}"/usr/share/licenses/amdvlk-git
  install -m755 -d "${pkgdir}"/etc/amd

  install -D -t "$pkgdir/usr/lib" drivers/xgl/builds/Release64/icd/amdvlk64.so drivers/xgl/builds/Release64/spvgen/spvgen.so
  install -D -m644 -t "${pkgdir}/usr/share/vulkan/icd.d" drivers/AMDVLK/json/Redhat/amd_icd64.json
  install -D -m644 -t "${pkgdir}/usr/share/licenses/amdvlk-git" drivers/AMDVLK/LICENSE.txt

  sed -i "s/\/lib64/\/lib/g" "${pkgdir}"/usr/share/vulkan/icd.d/amd_icd64.json
}

lucasrizzini commented on 2020-07-12 09:41 (UTC)

Weirdly, this git version is older than repo's.

Sinistar commented on 2020-05-09 23:45 (UTC) (edited on 2020-05-09 23:48 (UTC) by Sinistar)

Just for the hell of it I am posting the PKGBUILD that I use. Feel free to use any part you want.

# Maintainer: Unknown

pkgname=amdvlk-git
pkgver=v.2020.Q2.2.r0.7b51aa7
pkgrel=1
pkgdesc="AMD's standalone Vulkan driver"
arch=(x86_64)
url="https://github.com/GPUOpen-Drivers"
license=('MIT')
depends=('vulkan-icd-loader')
provides=('vulkan-amdvlk' 'vulkan-driver')
conflicts=('vulkan-amdvlk')
makedepends=('xorgproto' 'xorg-server-devel' 'libxrandr' 'cmake' 'python' 'python2' 'libxml2' 'wayland' 'libdrm' 'git' 'ninja')
source=('llvm::git+https://github.com/GPUOpen-Drivers/llvm- 
project.git#branch=amd-gfx-gpuopen-master'
'git+https://github.com/GPUOpen-Drivers/xgl.git#branch=master'
'git+https://github.com/GPUOpen-Drivers/pal.git#branch=master'
'git+https://github.com/GPUOpen-Drivers/AMDVLK.git#branch=master'
'git+https://github.com/GPUOpen-Drivers/llpc.git#branch=master'
'git+https://github.com/GPUOpen-Drivers/spvgen.git#branch=master'
'git+https://github.com/GPUOpen-Drivers/metrohash.git#branch=amd-master'
'git+https://github.com/GPUOpen-Drivers/cwpack.git#branch=amd-master'
)
sha256sums=('SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
        'SKIP'
        'SKIP'
            'SKIP')

pkgver() {
  pushd AMDVLK > /dev/null
  AMDVLK_VER=$(printf "%s" "$(git describe --long | sed 's/\([^-]*-\)g/r\1/;s/-/./g')")
  popd > /dev/null
  if [ -z "$AMDVLK_VER" ]; then
    pushd xgl > /dev/null
    XGL_VER=$(printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)")
    popd > /dev/null
  else
    XGL_VER=$AMDVLK_VER
  fi
  #PAL_VER=$(cd pal; printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)")
  echo "$XGL_VER"
}

prepare() {
  # placed llvm-project in llvm directory as to not conflict with my llvm-project source directory
  # rename llvm directory to llvm-project in $srcdir
  mv $srcdir/llvm $srcdir/llvm-project

  #remove -Werror to build with gcc9 
  sed -i "s/-Werror//g" $srcdir/pal/shared/gpuopen/cmake/AMD.cmake

  # download spvgen
  (cd spvgen/external && python2.7 fetch_external_sources.py)

}

build() {
  export CFLAGS=${CFLAGS/-fno-plt}
  export CXXFLAGS=${CXXFLAGS/-fno-plt}
  export LDFLAGS=${LDFLAGS/,-z,now}

  cd xgl
  cmake -H. -Bbuilds/Release64 \
    -DCMAKE_BUILD_TYPE=Release \
    -DBUILD_WAYLAND_SUPPORT=On \
    -DBUILD_XLIB_XRANDR_SUPPORT=On \
    -DXGL_METROHASH_PATH=${srcdir}/metrohash \
    -DXGL_CWPACK_PATH=${srcdir}/cwpack \
    -G Ninja
  msg "Building amdvlk64..."
  ninja -C builds/Release64
  msg "Finished building amdvlk64..."
  msg "Building spvgen..."
  ninja -C builds/Release64 spvgen
  msg "Finished building spvgen..."
}

package() {
  install -m755 -d "${pkgdir}"/usr/lib
  install -m755 -d "${pkgdir}"/usr/share/vulkan/icd.d
  install -m755 -d "${pkgdir}"/usr/share/licenses/amdvlk-git
  install -m755 -d "${pkgdir}"/etc/amd

  install xgl/builds/Release64/icd/amdvlk64.so "${pkgdir}"/usr/lib/
  install xgl/builds/Release64/spvgen/spvgen.so "${pkgdir}"/usr/lib/
  install AMDVLK/json/Redhat/amd_icd64.json "${pkgdir}"/usr/share/vulkan/icd.d/
  install AMDVLK/LICENSE.txt "${pkgdir}"/usr/share/licenses/amdvlk-git/

  sed -i "s/\/lib64/\/lib/g" 
"${pkgdir}"/usr/share/vulkan/icd.d/amd_icd64.json
}

gardotd426 commented on 2020-03-24 15:38 (UTC)

@haagch that must be something to do with the PKGBUILD or if nothing else the way you're choosing to build it in the PKGBUILD, instead of building it according to the repo instructions. I just manually built it with the regular commands (cmake -H blah blah blah), and it's working for me. I just ran VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_icd64.json vkcubepp and got no such segfault, it launched perfectly ffine

haagch commented on 2020-03-24 15:33 (UTC)

I just updated the PKGBUILD before writing my comment. :) Every vulkan application segfaults on start because every vulkan application needs to create a VkInstance...

gardotd426 commented on 2020-03-24 15:11 (UTC)

@haagch what do you mean it builds? Like it builds without manual intervention? Because I just tested it and one of the included patches fails.

And where does it segfault? When trying to launch a game or something?

I just manually built AMDVLK according to the repo's instructions and it built fine.