commit:     b5efc091be965765503e55d36ab278934f031a1d
Author:     Michael Mair-Keimberger <mm1ke <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 30 18:41:47 2025 +0000
Commit:     Michael Mair-Keimberger <mm1ke <AT> gentoo <DOT> org>
CommitDate: Fri Aug  8 13:03:36 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b5efc091

media-libs/virglrenderer: wire up venus,vaapi,drm-renderers

`venus` is required for having vulkan accelerated via the host gpu. This
works pretty well, tested with vkcube and steam games.

`vaapi` is for video acceleration via the VA-API. This seems to work
_somehow_ but i couldn't get videos to be accelerated (tested with
mpv --hwdec=vaapi ..)

drm-renderers `amdgpu-experimental`, `asahi` and `msm` haven't been
tested at all.

Signed-off-by: Michael Mair-Keimberger <mm1ke <AT> gentoo.org>
Part-of: https://github.com/gentoo/gentoo/pull/42817
Signed-off-by: Michael Mair-Keimberger <mm1ke <AT> gentoo.org>

 media-libs/virglrenderer/metadata.xml              |  3 +++
 media-libs/virglrenderer/virglrenderer-9999.ebuild | 13 +++++++++++--
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/media-libs/virglrenderer/metadata.xml 
b/media-libs/virglrenderer/metadata.xml
index 8a452bf88d58..0932190b3da9 100644
--- a/media-libs/virglrenderer/metadata.xml
+++ b/media-libs/virglrenderer/metadata.xml
@@ -5,6 +5,9 @@
                <email>[email protected]</email>
                <name>Gentoo Virtualization Project</name>
        </maintainer>
+       <use>
+               <flag name="venus">Enable Venus Virtio-GPU protocol</flag>
+       </use>
        <upstream>
                <remote-id 
type="freedesktop-gitlab">virgl/virglrenderer</remote-id>
        </upstream>

diff --git a/media-libs/virglrenderer/virglrenderer-9999.ebuild 
b/media-libs/virglrenderer/virglrenderer-9999.ebuild
index 27c8eca53c2a..f59246675fd4 100644
--- a/media-libs/virglrenderer/virglrenderer-9999.ebuild
+++ b/media-libs/virglrenderer/virglrenderer-9999.ebuild
@@ -21,7 +21,7 @@ HOMEPAGE="https://virgil3d.github.io/";
 
 LICENSE="MIT"
 SLOT="0"
-IUSE="static-libs test"
+IUSE="static-libs test venus vaapi video_cards_amdgpu video_cards_asahi 
video_cards_freedreno"
 # Most of the testsuite cannot run in our sandboxed environment, just don't
 # deal with it for now.
 RESTRICT="!test? ( test ) test"
@@ -29,6 +29,8 @@ RESTRICT="!test? ( test ) test"
 RDEPEND="
        >=x11-libs/libdrm-2.4.121
        media-libs/libepoxy
+       venus? ( media-libs/vulkan-loader )
+       vaapi? ( media-libs/libva:= )
 "
 DEPEND="
        ${RDEPEND}
@@ -36,10 +38,17 @@ DEPEND="
 "
 
 src_configure() {
+       local -a gpus=()
+       use video_cards_amdgpu && gpus+=( amdgpu-experimental )
+       use video_cards_asahi && gpus+=( asahi )
+       use video_cards_freedreno && gpus+=( msm )
+
        local emesonargs=(
-               # TODO: Wire up drm-renderers= (msm, amdgpu-experimental as of 
1.1.1)
                -Ddefault_library=$(usex static-libs both shared)
+               -Ddrm-renderers=$(IFS=,; echo "${gpus[*]}")
                $(meson_use test tests)
+               $(meson_use venus)
+               $(meson_use vaapi video)
        )
 
        meson_src_configure

Reply via email to