Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 665590

Summary: media-libs/amdvlk - AMD Open Source Driver for Vulkan
Product: Gentoo Linux Reporter: justXi <gentoo>
Component: New packagesAssignee: Default Assignee for New Packages <maintainer-wanted>
Status: CONFIRMED ---    
Severity: normal CC: adel.ks, alex, asturm, denis7774, einfair, flaviocamilo, gentoo-bugzilla2, gentoo, krzysztof, lssndrbarbieri, sam, sandyvujakovicj, theli.ua, tuupic
Priority: Normal Keywords: PullRequest
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://github.com/gentoo/gentoo/pull/14845
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: media-libs/amdvlk-9999.ebuild
media-libs/amdvlk-9999-r1
media-libs/amdvlk-9999-r2
media-libs/amdvlk-2019.1.7.ebuild
dev-libs/wsa-9999.ebuild
media-libs/amdvlk-2019.1.8.ebuild
media-libs/amdvlk-bin
amdvlk-bin-2019.2.3.ebuild
media-libs/amdvlk-bin
media-libs/amdvlk-bin-2019.3.2
media-libs/amdvlk-bin-2019.3.5
media-libs/amdvlk-2019.3.5.ebuild
amdvlk-2019.3.5-GCC-9.patch
amdvlk-2019.4.4.ebuild
amdvlk-2019.4.5.ebuild
media-libs/amdvlk-bin-2019.4.5.ebuild
media-libs/amdvlk-2019.4.5
media-libs/amdvlk-2019.4.5-r1.ebuild
media-libs/amdvlk-2019.4.5-r1.ebuild
media-libs/amdvlk-2019.4.5-r1.ebuild
media-libs/amdvlk-2020.1.1.ebuild
media-libs/amdvlk-2020.1.1
media-libs/amdvlk-2020.1.2.ebuild
media-libs/amdvlk-2020.1.2-r1.ebuild
media-libs/amdvlk-2020.1.2-r2.ebuild
media-libs/amdvlk-2020.1.4.ebuild
media-libs/amdvlk-2020.1.4.ebuild
v-2021.Q4.2
media-libs/amdvlk-2022.1.3.ebuild
media-libs/amdvlk-2022.2.1.ebuild
media-libs/amdvlk-2022.2.2.ebuild
media-libs/amdvlk-2022.2.3.ebuild
Manifest
media-libs/amdvlk-2022.3.1.ebuild

Description justXi 2018-09-09 17:40:05 UTC
Created attachment 546452 [details]
media-libs/amdvlk-9999.ebuild

An ebuild to build "AMD Open Source Driver for Vulkan", "amdvlk64.so".
Comment 1 Hajo 2018-09-10 08:20:29 UTC
tux$/usr/local/portage/media-libs # ebuild amdvlk-9999.ebuild digest
Appending /usr/local to PORTDIR_OVERLAY...
ebuild: /usr/local/portage/media-libs/amdvlk-9999.ebuild: does not seem to have a valid PORTDIR structure
Comment 2 justXi 2018-09-10 09:32:03 UTC
If you use a local portage, the ebuild must be in "/usr/local/portage/media-libs/amdvlk/" so file with complete path is "/usr/local/portage/media-libs/amdvlk/amdvlk-9999.ebuild".
Comment 3 justXi 2018-10-23 19:32:00 UTC
Added a repository to simply use the ebuild.

-> https://github.com/justxi/vulkan
Comment 4 Reva Denis 2018-11-25 04:42:52 UTC
I think we need something like eselect vulkan...
Comment 5 Brian Evans (RETIRED) gentoo-dev 2018-12-16 15:41:47 UTC
I experimented with this for a bit.

dev-util/repo is not suitable for use in src_unpack as it immediately causes a sandbox failure writing to /run.

Another method will need to be found.  Perhaps with snapshot tarballs unpacked in sequence.
Comment 6 Reva Denis 2019-03-10 12:37:45 UTC
Created attachment 568396 [details]
media-libs/amdvlk-9999-r1

Improved ebuld, still using repo
Comment 7 justXi 2019-03-17 07:49:04 UTC
Hi, thanks for improvements, looks good, I will try it as soon as possible.
I would add a small change, I think a configuration file should be installed as an example "10-amdvlk-dri3.conf.example".
Comment 8 justXi 2019-03-17 07:54:55 UTC
The dev-util/repo think must be solved. In a first stage git-r3 could be used I think(?).
Comment 9 Reva Denis 2019-03-17 08:10:03 UTC
(In reply to justXi from comment #8)
> The dev-util/repo think must be solved. In a first stage git-r3 could be
> used I think(?).

The issue is repository, that separates at:
Example:
 <project path="drivers/xgl" name="xgl" revision="61ee6484930effa39fc806c2f941c5f073a2dfbe"/>
  <project path="drivers/pal" name="pal" revision="94501ac9adc214f5c61de042205929eb8681d175"/>
  <project path="drivers/llpc" name="llpc" revision="cf5610192a65cddb20c0775b46013067fc7f3d2c"/>
  <project path="drivers/spvgen" name="spvgen" revision="59095d3469e4fb7506da0e3d0cd78904ed71682f"/>
  <project path="drivers/AMDVLK" name="AMDVLK" revision="master"/>
  <project path="drivers/llvm" name="llvm" revision="97cc33415120ae3ed472b6dd5cb234b74a80bd80"/>

See default.xml here https://github.com/GPUOpen-Drivers/AMDVLK/blob/master/default.xml

So I think in stable versions we should use git-r3 in multiple instanses for downloading, merging and building ones. 
Somethink like 
EGIT_REPO_URI="projectpatch1commitN projectpatch2commitM", but need download at target commit state. Need ebuild referense checking

Also python_target variable required.
Comment 10 justXi 2019-03-17 10:03:10 UTC
Using multiple git fetch/checkout should be no problem. I currently don´t know how to specify the revision.
Comment 11 Reva Denis 2019-03-17 11:54:01 UTC
(In reply to justXi from comment #10)
> Using multiple git fetch/checkout should be no problem. I currently don´t
> know how to specify the revision.

Something like EGIT_COMMIT?
https://devmanual.gentoo.org/eclass-reference/git-r3.eclass/index.html

Is it possible to use git-r3_fetch function in scr_unpack()?
Then we should place this at desired location, e.g. drivers/pal
Need experiment.
Comment 12 justXi 2019-03-17 15:58:51 UTC
I used it in src_unpack. I also used dev-util/repo successfully, but it seems something was changed in Gentoo portage so that it is noch working anymore.
Comment 13 justXi 2019-03-17 16:03:05 UTC
In this ebuild multiple git-fetch/checkout command were used:
https://github.com/justxi/rocm/blob/master/sys-devel/hcc/hcc-2.1.0.ebuild
Comment 14 Reva Denis 2019-03-17 16:55:22 UTC
Created attachment 569532 [details]
media-libs/amdvlk-9999-r2

Ok. Here is slighty iproved 9999 ebuild. Added better python deps.
Comment 15 Reva Denis 2019-03-17 16:57:25 UTC
Do you have any thinks about multilib support? It looks useful for wine.
Comment 16 Reva Denis 2019-03-17 18:37:33 UTC
Also what about using system llvm for building instead of download special one?
Something like system-llvm use flag.
Llvm sources are too enormous.
Comment 17 Reva Denis 2019-03-18 12:15:14 UTC
Created attachment 569594 [details]
media-libs/amdvlk-2019.1.7.ebuild

Improved ebuild for future stable versions:
- Used multilib-minimal
- Downloading from selected git commits.
- Added wayland support with wsa
- Added debug use flag support
Comment 18 Reva Denis 2019-03-18 12:16:40 UTC
Created attachment 569596 [details]
dev-libs/wsa-9999.ebuild

For wayland support of amdvlk
The Window System Agent (WSA) library is introduced to encapsulte details about the native window system. It provides some general interfaces for driver to interact with different window systems. Driver could dynamically load WSA library according to the window system that application is running on. Currently, only Wayland is supported.
Comment 19 Reva Denis 2019-03-18 12:18:31 UTC
Need testing of this ebuild. It installs successfully but I don't have anything to test with it.
Comment 20 Reva Denis 2019-03-19 17:21:00 UTC
Created attachment 569782 [details]
media-libs/amdvlk-2019.1.8.ebuild

Ebuild with improved quality and first try of stabilisation.
Currently I have conditionally working amdvlk only if I enable debug use flag. I don't know why. It stays unstable.
Need future tests, and I'm not enought qualified for this.
Comment 21 Reva Denis 2019-04-27 11:08:54 UTC
Created attachment 574406 [details]
media-libs/amdvlk-bin

This is a binary version of amdvlk, created from prebuild deb package https://github.com/GPUOpen-Drivers/AMDVLK/releases
It seems much stable than my source's version, but I haven't tested it with native vulkan games.
Should create virtual/amdvlk
Comment 22 Reva Denis 2019-04-27 11:11:54 UTC
Anyone knows is need only native vulkan library or we had to multilib? Does x64 amdvlk-bin works with vulkan x32 games and with dxvk?
Comment 23 Reva Denis 2019-05-22 13:58:19 UTC
Created attachment 577564 [details]
amdvlk-bin-2019.2.3.ebuild

Simple update.
I can't start working to source-based ones.
Comment 24 Reva Denis 2019-06-22 10:54:53 UTC
Created attachment 580416 [details]
media-libs/amdvlk-bin

Still simple update.
Comment 25 Reva Denis 2019-07-17 15:26:50 UTC
Created attachment 583170 [details]
media-libs/amdvlk-bin-2019.3.2

Updated. Does anyone follow it?
Comment 26 Reva Denis 2019-08-29 16:28:10 UTC
Created attachment 588514 [details]
media-libs/amdvlk-bin-2019.3.5

Simple update. Works without notable issues.
Comment 27 justXi 2019-09-07 17:48:12 UTC
Created attachment 589348 [details]
media-libs/amdvlk-2019.3.5.ebuild
Comment 28 justXi 2019-09-07 17:48:49 UTC
Created attachment 589350 [details, diff]
amdvlk-2019.3.5-GCC-9.patch
Comment 29 justXi 2019-09-07 17:54:33 UTC
I updated the build to test building from source. Using GCC 9.2 results in an error, therefore I added a patch. dev-util/vulkan-headers dev-util/vulkan-loader must be updated to version 1.1.119 (not in Gentoo portage yet, but simple copy and adjust the version works).

At the end of the build I observed "violates the C++ One Definition Rule".
Comment 30 Reva Denis 2019-09-15 17:05:45 UTC
Thank you justXi. 
AMD's Windows system agent seems deprecated and unused so I think we should remove it's link in amdvlk ebuild. Need checks if it's built with wayland support but without AMD_WSA.
Also, the only thing that is stopping me from use AMDVLK is freesync and syncronisation support https://github.com/GPUOpen-Drivers/AMDVLK/issues/96
Comment 31 justXi 2019-12-20 06:46:44 UTC
Created attachment 600168 [details]
amdvlk-2019.4.4.ebuild

Updated Ebuild for amdvlk v-2019-Q4.4.
Needs vulkan-headers-1.1.127 and vulkan-loader-1.1.127, simply renaming of the Gentoo ebuilds worked.
Comment 32 justXi 2019-12-23 15:05:06 UTC
Created attachment 600538 [details]
amdvlk-2019.4.5.ebuild

New ebuild for amdvlk v-2019Q4.5.

Needs >=vulkan-headers-1.1.129
Comment 33 justXi 2019-12-23 15:06:50 UTC
I tested amdvlk with "vkcube" from "vulkan-tools", interestingly it segfaults when I execute "vkcube" immediately after "vkcube". If there are a few seconds delay, it works. Does someone experience the same issue?
Comment 34 Reva Denis 2020-01-04 07:54:51 UTC
Created attachment 602472 [details]
media-libs/amdvlk-bin-2019.4.5.ebuild

Improved version:
Disabled -O2 protection because not needed.
Simplified install parts.

Ready to mainline?
Comment 35 Reva Denis 2020-01-04 08:54:02 UTC
Created attachment 602474 [details]
media-libs/amdvlk-2019.4.5

I forget restore patch
Comment 36 Reva Denis 2020-01-04 09:09:27 UTC
justXi, I confirm its
Comment 37 justXi 2020-01-04 21:51:20 UTC
I see that I and you have double dependencies for vulkan-header. It must be version 1.1.129 or greater. I think the same for the vulkan-loader.
Comment 38 justXi 2020-01-04 21:59:04 UTC
One thing more, we could try to use "cmake.eclass" (EAPI=7).

In "...src_configure" is the "wayland" use flag recongnized?
Because "cmake" is execute before it (I don´t use wayland, so I can not test it).
Comment 39 justXi 2020-01-11 15:08:09 UTC
Created attachment 602952 [details]
media-libs/amdvlk-2019.4.5-r1.ebuild
Comment 40 justXi 2020-01-11 15:11:05 UTC
Created attachment 602954 [details]
media-libs/amdvlk-2019.4.5-r1.ebuild
Comment 41 justXi 2020-01-11 15:13:25 UTC
I fixed the dependencies, moved the "cmake" command to the end of the src_configure and move the "append-flags" command to src_configure also.
Comment 42 Reva Denis 2020-01-11 15:59:46 UTC
Thank you JustXI. But you have erratum
COMMEN_DEPEND
Comment 43 justXi 2020-01-11 17:18:27 UTC
Created attachment 602958 [details]
media-libs/amdvlk-2019.4.5-r1.ebuild
Comment 44 justXi 2020-01-11 17:19:10 UTC
Fixed =).
Comment 45 justXi 2020-02-15 16:05:48 UTC
Created attachment 613950 [details]
media-libs/amdvlk-2020.1.1.ebuild
Comment 46 Reva Denis 2020-02-17 21:45:26 UTC
Created attachment 614232 [details]
media-libs/amdvlk-2020.1.1

Ok, I has rebuild logic to use custom-cflags:

	if ! use custom-cflags ; then
	einfo "Safe compilation flags is applying"
	  strip-flags
	  append-flags -pipe
	  if use debug; then append-flags -O2 ; else append-flags -Og; fi
        else ewarn "You're applying potencially unsafe flags. Use it at your own risk"
       fi
and add checking minimal system requirements

But I couldn't perform tests. JustXi may you test it?
Comment 47 Reva Denis 2020-02-21 16:03:34 UTC
Created attachment 614828 [details]
media-libs/amdvlk-2020.1.2.ebuild

Updated to 2020 Q1 2
Comment 48 Luke A. Guest 2020-03-02 15:36:16 UTC
(In reply to Reva Denis from comment #4)
> I think we need something like eselect vulkan...

Vulkan is supposed to allow multiple implementations on one installation, that was one of the design goals, so eselect for vulkan is incredibly stupid.
Comment 49 Reva Denis 2020-03-02 15:40:31 UTC
(In reply to Luke A. Guest from comment #48)

> Vulkan is supposed to allow multiple implementations on one installation,
> that was one of the design goals, so eselect for vulkan is incredibly stupid.

But sometimes Vulkan implementations conficts with. So I investigated that VK_ICD_FILENAMES what we need in this case.
PS Working joke: Where have you been within that year?
Comment 50 Reva Denis 2020-03-02 16:40:32 UTC
Created attachment 616780 [details]
media-libs/amdvlk-2020.1.2-r1.ebuild

Key changes:
*Removed cflags safety mechanism because it's not required
*Provided better ewarn system
*Corrected dependencies to support vulkan 1.2 ( >=dev-util/vulkan-headers-1.2.133 )
*And other cleaning
Package is ready for mainlining into Gentoo three with ~ keywords.
Comment 51 Reva Denis 2020-03-04 10:14:51 UTC
Created attachment 617028 [details]
media-libs/amdvlk-2020.1.2-r2.ebuild

I tries to send it to gentoo git when I'll have time
Comment 52 Reva Denis 2020-03-06 08:38:20 UTC
Ok, I asked for mainlining things
https://bugs.gentoo.org/665590
Comment 53 Reva Denis 2020-04-05 13:15:57 UTC
Created attachment 630450 [details]
media-libs/amdvlk-2020.1.4.ebuild

From pull request https://github.com/gentoo/gentoo/pull/14845
Please vote for this acceptance.
Comment 54 Steven Davies 2020-04-05 13:55:13 UTC
Created attachment 630452 [details]
media-libs/amdvlk-2020.1.4.ebuild

Refactored dependencies and automated egit fetch commands from repo xml
Comment 55 Reva Denis 2020-04-05 14:03:28 UTC
That's good idea, however, Gentoo Policy restricts git-r3.eclass only for unkeyworded or 9999 versions. Even testing versions with ~ keywords had to download source code with SRC_URI
Comment 56 Steven Davies 2020-04-05 18:29:24 UTC
Yeah, I can't figure out how to make my attachment obsolete.

It bothers me that the project seems to have its own version of LLVM which has to be recompiled each time.
Comment 57 Reva Denis 2020-04-05 18:33:14 UTC
Yes, Amigo, so do I :) . But there is impossible to use system llvm because AMD version have specific changes.
Comment 58 Andreas Sturmlechner gentoo-dev 2020-04-05 18:35:23 UTC
...which is awful, and AMD should be compelled to upstream their changes.
Comment 59 Reva Denis 2020-04-06 04:52:15 UTC
(In reply to Andreas Sturmlechner from comment #58)
> ...which is awful, and AMD should be compelled to upstream their changes.

Shall you create enchancement in AMDVLK's git?
Comment 60 Steven Davies 2020-04-06 08:07:26 UTC
(In reply to Reva Denis from comment #59)
> (In reply to Andreas Sturmlechner from comment #58)
> > ...which is awful, and AMD should be compelled to upstream their changes.
> 
> Shall you create enchancement in AMDVLK's git?

There's an open issue in their GitHub already: https://github.com/GPUOpen-Drivers/llpc/issues/347
Comment 61 Steven Davies 2020-04-18 10:02:04 UTC
Looks like 2020.Q2.1 was released yesterday.
Comment 62 Reva Denis 2020-04-18 10:08:56 UTC
Thanks,
Comment 63 Reva Denis 2020-04-18 10:11:47 UTC
Thanks, but I've known.
I've forgot to say here that media-libs/amdvlk is in GURU official Gentoo repository now. GURU project allow me to provide updates faster.
You may simply write eselect repository enable guru , then emerge --sync, and get amdvlk easily if you keyword its.
Comment 64 justXi 2020-08-09 12:28:30 UTC
Despite the fact, that the ebuilds reside in Gentoo Guru, I hope this is the right place to discuss issues. If not, please let me know where to go.

Thanks for updating the ebuilds.

But, my latest version which works was:
amdvlk-2020.1.1 built with gcc 10.1.0 using kernel 5.6.13
Both vulkaninfo and vkcube are working.
It is a POLARIS11 (Radeon 560) graphics card.

Installing amdvlk-2020.{2.6,3.{1,2,3}} gives me a segfault.
Again using gcc 10.1.0 and kernel 5.6.13.
Updating the kernel to 5.8.0-r1 does not solve the problem.

Does some have a hint or the configuration where amdvlk-2020.3.3 is known to work?
Comment 65 justXi 2020-08-09 12:42:17 UTC
Oh, I have to state, that updating the kernel to 5.8.0-r1 does not seems to change anything, that means amdvlk-2020.1.1 works with it.

I also tested RADV from mesa-20.1.4, which works also with vulkaninfo and vkcube.
i965 from mesa for an UHD Graphics 630 (Intel) works also.

So I will test amdvlk-2020.3.3 with kernel 5.8.0-r1...
Comment 66 justXi 2020-08-09 13:49:16 UTC
After compiling amdvlk-2020.3.3 with GCC 10.2 and USE="debug", running "vulkaninfo" I get:

AMD-PAL: Warn: Unconditional Alert | Reason: Failed to get function pointer for: amdgpu_cs_create_sem (/var/tmp/portage/media-libs/amdvlk-2020.3.3/work/pal/inc/util/palLibrary.h:84:GetFunction)
AMD-PAL: Warn: Unconditional Alert | Reason: Failed to get function pointer for: amdgpu_cs_signal_sem (/var/tmp/portage/media-libs/amdvlk-2020.3.3/work/pal/inc/util/palLibrary.h:84:GetFunction)
AMD-PAL: Warn: Unconditional Alert | Reason: Failed to get function pointer for: amdgpu_cs_wait_sem (/var/tmp/portage/media-libs/amdvlk-2020.3.3/work/pal/inc/util/palLibrary.h:84:GetFunction)
AMD-PAL: Warn: Unconditional Alert | Reason: Failed to get function pointer for: amdgpu_cs_export_sem (/var/tmp/portage/media-libs/amdvlk-2020.3.3/work/pal/inc/util/palLibrary.h:84:GetFunction)
AMD-PAL: Warn: Unconditional Alert | Reason: Failed to get function pointer for: amdgpu_cs_import_sem (/var/tmp/portage/media-libs/amdvlk-2020.3.3/work/pal/inc/util/palLibrary.h:84:GetFunction)
AMD-PAL: Warn: Unconditional Alert | Reason: Failed to get function pointer for: amdgpu_cs_destroy_sem (/var/tmp/portage/media-libs/amdvlk-2020.3.3/work/pal/inc/util/palLibrary.h:84:GetFunction)
AMD-PAL: Warn: Unconditional Alert | Reason: Failed to get function pointer for: amdgpu_create_bo_from_phys_mem (/var/tmp/portage/media-libs/amdvlk-2020.3.3/work/pal/inc/util/palLibrary.h:84:GetFunction)
AMD-PAL: Warn: Unconditional Alert | Reason: Failed to get function pointer for: amdgpu_bo_remap_secure (/var/tmp/portage/media-libs/amdvlk-2020.3.3/work/pal/inc/util/palLibrary.h:84:GetFunction)
AMD-PAL: Warn: Unconditional Alert | Reason: Failed to get function pointer for: amdgpu_query_private_aperture (/var/tmp/portage/media-libs/amdvlk-2020.3.3/work/pal/inc/util/palLibrary.h:84:GetFunction)
AMD-PAL: Warn: Unconditional Alert | Reason: Failed to get function pointer for: amdgpu_query_shared_aperture (/var/tmp/portage/media-libs/amdvlk-2020.3.3/work/pal/inc/util/palLibrary.h:84:GetFunction)
AMD-PAL: Warn: Unconditional Alert | Reason: Failed to get function pointer for: amdgpu_bo_get_phys_address (/var/tmp/portage/media-libs/amdvlk-2020.3.3/work/pal/inc/util/palLibrary.h:84:GetFunction)
AMD-PAL: Warn: Unconditional Alert | Reason: Failed to get function pointer for: amdgpu_cs_reserved_vmid (/var/tmp/portage/media-libs/amdvlk-2020.3.3/work/pal/inc/util/palLibrary.h:84:GetFunction)
AMD-PAL: Warn: Unconditional Alert | Reason: Failed to get function pointer for: amdgpu_cs_unreserved_vmid (/var/tmp/portage/media-libs/amdvlk-2020.3.3/work/pal/inc/util/palLibrary.h:84:GetFunction)
AMD-PAL: Warn: Unconditional Alert | Reason: Failed to get function pointer for: amdgpu_cs_ctx_create3 (/var/tmp/portage/media-libs/amdvlk-2020.3.3/work/pal/inc/util/palLibrary.h:84:GetFunction)
AMD-PAL: Warn: Unconditional Alert | Reason: Unknown (/var/tmp/portage/media-libs/amdvlk-2020.3.3/work/pal/src/core/os/amdgpu/amdgpuDevice.cpp:656:EarlyInit)
AMD-PAL: Warn: Unconditional Alert | Reason: Unknown (/var/tmp/portage/media-libs/amdvlk-2020.3.3/work/pal/src/core/os/amdgpu/amdgpuDevice.cpp:656:EarlyInit)

But the output of "vulkaninfo" seems to be ok.
"vkcube" runs also.
Comment 68 justXi 2020-08-09 14:29:05 UTC
... when I compile amdvlk-2020.3.3 with USE="-debug" I get again a segfault.
Comment 69 Reva Denis 2020-08-18 10:57:01 UTC
At this moment I have no possibility to test it (no native games or vulkan apps).DXVK is known for partial compatibility by AMDVLK
Comment 70 justXi 2020-09-25 19:01:58 UTC
It seems that replacing "-march=native" with "-march=x86-64" solved the problem.

-> https://github.com/GPUOpen-Drivers/AMDVLK/issues/186
Comment 71 Reva Denis 2021-11-29 07:35:30 UTC
Is the anyone still interesting in amdvlk?
Comment 72 Ida Iyes 2021-12-15 20:24:05 UTC
Hey! Yes. I am interested in the AMDVLK driver. I'm a graphics developer and I need it for AMD's Radeon GPU Profiler, which requires AMDVLK and does not work with RADV.

I haven't set up gentoo on my amdgpu dev machine yet, but I'm planning to do that, hopefully sometime next week. When I get the chance, I'll have a look at the ebuild and try updating and testing it. I'd be happy to help maintain it.

I see that there have been many ebuilds posted here in the past, yet the package never made it into the gentoo repos. Why? If I were to post an updated ebuild, what would it take to get it merged?
Comment 73 Reva Denis 2021-12-16 08:43:26 UTC
As I (RarogCmex) write in the dead pull request, https://github.com/gentoo/gentoo/pull/14845 , I'm no more interesting in project because of lack of Radeon hardware and because it does not make me healthy nether rich. 

Futhermore, at this moment upgrading is impossible: https://github.com/GPUOpen-Drivers/llpc/issues/1594

I feel me burned out. I'll not work this time. Good luck!
Comment 74 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-02-19 05:31:39 UTC
I am happy to merge a PR to bring amdvlk from ::guru into ::gentoo, but ideally the current ::guru maintainer would be the one filing it. But AFAIK the version there isn't working right now anyway.

-

Related: we now have amdgpu-pro bits in ::gentoo.

It took us a while but after a lot of persistence from Adel, we've done it!

commit 8012d5042f1bc8501a33aa371bd63a495f6d8a25
Author: Adel KARA SLIMANE <adel.ks@zegrapher.com>
Date:   Sat Dec 11 02:36:55 2021 +0100

    media-video/ffmpeg: add AMF useflag

    Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
    Closes: https://github.com/gentoo/gentoo/pull/23250
    Signed-off-by: Sam James <sam@gentoo.org>

commit 5333613db05512c6f6c13721878a30f53efce320
Author: Adel KARA SLIMANE <adel.ks@zegrapher.com>
Date:   Sat Dec 11 02:34:26 2021 +0100

    media-libs/amf-headers: new package

    Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
    Signed-off-by: Sam James <sam@gentoo.org>

commit e63dabbf02ec8e07a4ac2d2771092ff668be2687
Author: Adel KARA SLIMANE <adel.ks@zegrapher.com>
Date:   Sat Dec 11 02:09:15 2021 +0100

    media-video/amdgpu-pro-amf: new package

    Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
    Closes: https://github.com/gentoo/gentoo/pull/23248
    Signed-off-by: Sam James <sam@gentoo.org>

commit f5dced2f12ebd418e3254b3038062224f763d88c
Author: Adel KARA SLIMANE <adel.ks@zegrapher.com>
Date:   Sat Dec 11 01:33:01 2021 +0100

    media-libs/amdgpu-pro-vulkan: new package

    Supports x86 and amd64 only

    Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
    Signed-off-by: Sam James <sam@gentoo.org>
Comment 75 Reva Denis 2022-03-01 17:33:26 UTC
Hello! My name is Denis Reva. I'm a previous GURU maintainer. I'm from Russia. I've just become 30% less rich, so I'm quite busy with in-door repair and walpappering just to do not die hungry. The European Union has managed to block any work for me with sanctions, so I'll no more doing any opensource work that time.

However,there is no silver lining: I'm definetely no more worry about any kind of become blind.

Thank you for your attention.
Comment 76 Alexander Pavlov 2022-07-04 20:32:29 UTC
Created attachment 790097 [details]
v-2021.Q4.2

After updating the system, I decided to update amdvlk. The ebuilds have been tested for functionality.
Comment 77 Alexander Pavlov 2022-07-04 20:34:21 UTC
Created attachment 790100 [details]
media-libs/amdvlk-2022.1.3.ebuild
Comment 78 Alexander Pavlov 2022-07-04 20:35:11 UTC
Created attachment 790103 [details]
media-libs/amdvlk-2022.2.1.ebuild
Comment 79 Alexander Pavlov 2022-07-04 20:35:38 UTC
Created attachment 790106 [details]
media-libs/amdvlk-2022.2.2.ebuild
Comment 80 Alexander Pavlov 2022-07-04 20:36:06 UTC
Created attachment 790109 [details]
media-libs/amdvlk-2022.2.3.ebuild
Comment 81 Alexander Pavlov 2022-07-04 20:38:36 UTC
Created attachment 790112 [details]
Manifest

I currently have amdvlk-2022.2.3.ebuild installed.
Comment 82 Alexander Pavlov 2022-07-21 08:10:33 UTC
Created attachment 792710 [details]
media-libs/amdvlk-2022.3.1.ebuild

New version released: v-2022.Q3.1. Ebuild for new version attached.
After installation, amdvlk is used by default. To switch to radv use AMD_VULKAN_ICD=RADV. You can also use the old method using VK_ICD_FILENAMES.

Note: to support the new AMD_VULKAN_ICD method in previous ebuilds, you just need to add to the multilib_src_install() section copying the amd_icd32.json and amd_icd64.json files to /usr/share/vulkan/implicit_layer.d
Comment 83 Larry the Git Cow gentoo-dev 2022-09-21 19:44:02 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=9b98861fd042989de5f76e21561a96e76039c62c

commit 9b98861fd042989de5f76e21561a96e76039c62c
Author:     Denis Reva <denis7774@gmail.com>
AuthorDate: 2022-09-19 10:25:01 +0000
Commit:     Denis Reva <denis7774@gmail.com>
CommitDate: 2022-09-19 10:25:27 +0000

    media-libs/amdvlk: Version from gentoo bug
    
    Bug: https://bugs.gentoo.org/665590
    Signed-off-by: Denis Reva <denis7774@gmail.com>

 media-libs/amdvlk/Manifest               |   8 ++
 media-libs/amdvlk/amdvlk-2022.3.1.ebuild | 121 +++++++++++++++++++++++++++++++
 2 files changed, 129 insertions(+)
Comment 84 Reva Denis 2022-09-22 05:37:45 UTC
I'm working to port actual 2022.Q3.4 version. At this moment blocker: https://github.com/GPUOpen-Drivers/AMDVLK/issues/293
I've ported DirectXShaderCompiler, but the amdvlk package still not ready at all.
Comment 85 Reva Denis 2022-10-04 13:29:50 UTC
I've just ported actual 2022.3.5 version to Gentoo GURU. See https://wiki.gentoo.org/wiki/Project:GURU/Information_for_End_Users
Comment 86 Larry the Git Cow gentoo-dev 2022-10-06 08:58:51 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=8ceb17f61a4df6c10ff513a1917da9dc7f2583dd

commit 8ceb17f61a4df6c10ff513a1917da9dc7f2583dd
Author:     Denis Reva <denis7774@gmail.com>
AuthorDate: 2022-10-04 13:15:00 +0000
Commit:     Denis Reva <denis7774@gmail.com>
CommitDate: 2022-10-04 13:15:00 +0000

    media-libs/amdvlk: amdvlk updated to latest 2022.3.5
    
    Bug: https://bugs.gentoo.org/665590
    Signed-off-by: Denis Reva <denis7774@gmail.com>

 media-libs/amdvlk/Manifest               |   5 ++
 media-libs/amdvlk/amdvlk-2022.3.5.ebuild | 110 +++++++++++++++++++++++++++++++
 2 files changed, 115 insertions(+)

https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=d2709216c4454f41b19982146f8086ff921da6f3

commit d2709216c4454f41b19982146f8086ff921da6f3
Author:     Denis Reva <denis7774@gmail.com>
AuthorDate: 2022-10-04 13:00:38 +0000
Commit:     Denis Reva <denis7774@gmail.com>
CommitDate: 2022-10-04 13:00:38 +0000

    media-libs/amdvlk: Removed obsolete and experimental versions of amdvlk
    
    Bug: https://bugs.gentoo.org/665590
    Signed-off-by: Denis Reva <denis7774@gmail.com>

 media-libs/amdvlk/Manifest               |  21 ------
 media-libs/amdvlk/amdvlk-2020.4.5.ebuild | 113 -------------------------------
 media-libs/amdvlk/amdvlk-2020.4.6.ebuild | 113 -------------------------------
 media-libs/amdvlk/amdvlk-2021.4.2.ebuild | 111 ------------------------------
 4 files changed, 358 deletions(-)

https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=d768dde28dcc9cb2a0746c41fa22dfbe052955e5

commit d768dde28dcc9cb2a0746c41fa22dfbe052955e5
Author:     Denis Reva <denis7774@gmail.com>
AuthorDate: 2022-10-04 12:59:12 +0000
Commit:     Denis Reva <denis7774@gmail.com>
CommitDate: 2022-10-04 12:59:24 +0000

    media-libs/amdvlk: amdvlk updated to 2022.3.4 with refactoring
    
    Significant changes in dependencies and in build system, it uses cmake-multilib to
    build
    
    Now the package depends on DirectXShaderCompiler and glslang
    
    Changed installation directory to /usr/lib/llvm/amdvlk
    
    Using dynamic linking instead of static build
    
    Bug: https://bugs.gentoo.org/665590
    Signed-off-by: Denis Reva <denis7774@gmail.com>

 media-libs/amdvlk/Manifest               |  1 -
 media-libs/amdvlk/amdvlk-2022.3.4.ebuild | 73 +++++++++++++++-----------------
 media-libs/amdvlk/metadata.xml           |  6 ++-
 3 files changed, 38 insertions(+), 42 deletions(-)
Comment 87 Reva Denis 2022-12-02 16:09:00 UTC
I remind that latest amdvlk version exist in GURU project:
See the https://wiki.gentoo.org/wiki/Project:GURU/Information_for_End_Users to know how to connect that overlay and access ebuild.


RarogCmexDell /home/elwe # LC_ALL=C eix amdvlk
* media-libs/amdvlk [1]
     Available versions:  (~)2022.4.2 {wayland}
     Homepage:            https://github.com/GPUOpen-Drivers/AMDVLK
     Description:         AMD Open Source Driver for Vulkan

[1] "guru" /var/db/repos/guru
Comment 88 Reva Denis 2022-12-02 18:01:29 UTC
I also created a wiki page on Gentoo wiki: https://wiki.gentoo.org/wiki/AMDVLK
Comment 89 Larry the Git Cow gentoo-dev 2022-12-14 16:46:17 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=c0c680d324fea62c1dae0774d24c322bcfc3057e

commit c0c680d324fea62c1dae0774d24c322bcfc3057e
Author:     Denis Reva <denis7774@gmail.com>
AuthorDate: 2022-12-10 06:47:48 +0000
Commit:     Denis Reva <denis7774@gmail.com>
CommitDate: 2022-12-10 06:48:08 +0000

    media-libs/amdvlk: Updated amdvlk to 2022.4.3, added use flag for raytracing support, updated metadata.xml
    
    Bug: https://bugs.gentoo.org/665590
    Closes: https://bugs.gentoo.org/860165
    Signed-off-by: Denis Reva <denis7774@gmail.com>

 media-libs/amdvlk/Manifest               |   5 ++
 media-libs/amdvlk/amdvlk-2022.4.3.ebuild | 124 +++++++++++++++++++++++++++++++
 media-libs/amdvlk/metadata.xml           |   8 +-
 3 files changed, 136 insertions(+), 1 deletion(-)
Comment 90 Larry the Git Cow gentoo-dev 2022-12-16 16:39:27 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=26c0cadb6e243d8fdf6aaaa6262727c127ebcd44

commit 26c0cadb6e243d8fdf6aaaa6262727c127ebcd44
Author:     Denis Reva <denis7774@gmail.com>
AuthorDate: 2022-12-16 15:23:17 +0000
Commit:     Denis Reva <denis7774@gmail.com>
CommitDate: 2022-12-16 15:23:31 +0000

    media-libs/amdvlk: updated to 2022.4.4; Upstream: Add Navi31 support
    
    Bug: https://bugs.gentoo.org/665590
    Signed-off-by: Denis Reva <denis7774@gmail.com>

 media-libs/amdvlk/amdvlk-2022.4.4.ebuild | 124 +++++++++++++++++++++++++++++++
 1 file changed, 124 insertions(+)
Comment 91 Reva Denis 2023-03-17 09:40:45 UTC
Sadly amdvlk 2023.1.3 will be delayed. I requires new build algorhithm, but I don't have time. Maybe later.
Comment 92 Larry the Git Cow gentoo-dev 2024-02-18 16:15:42 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=a3658bc001ffd691ed6ac4c6b7f2eba3299933f4

commit a3658bc001ffd691ed6ac4c6b7f2eba3299933f4
Author:     Denis Reva <denis7774@gmail.com>
AuthorDate: 2024-02-18 15:18:43 +0000
Commit:     Denis Reva <denis7774@gmail.com>
CommitDate: 2024-02-18 15:18:43 +0000

    media-libs/amdvlk-bin: added info about gentoo wiki
    
    Bug: https://bugs.gentoo.org/665590
    Signed-off-by: Denis Reva <denis7774@gmail.com>

 media-libs/amdvlk-bin/amdvlk-bin-2024.1.1.ebuild | 1 +
 1 file changed, 1 insertion(+)
Comment 93 Reva Denis 2024-02-18 16:51:30 UTC
The good news have been arrived!
I have added binary driver and updated wiki page https://wiki.gentoo.org/wiki/AMDVLK