commit:     2a83e65516ede46e788b39a1198b2568e6a703e4
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Nov  4 09:50:54 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Nov  4 10:24:53 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a83e655

app-emulation/wine-proton: always pull gst-plugins-libav+bad

Not overly worth a revbump+rebuild over, but want to propagate
it over time. Hard-dependency also ensures USE=abi_x86_32 is
properly set where needed.

Had an application crash mentioning that h264 support was missing
despite gst-plugins-libav was installed which resolved itself after
installing -bad. Was formerly under the impression -libav was enough
for that but maybe(?) it's needed for h264parser or so before it can
use -libav or -openh264 (possibly only with the way wine is using it).

...and then sometime seen users confused by similar issues despite
"it works with real Proton".

Regardless of if -bad is really needed for h264 or not, real Proton
does ship with -base + -good (provided by -meta), -libav, -bad (with
auto_features=disabled + videoparsers/hls/mpegtsdemux=enabled), and
-dav1d -- so, to ensure things work as expected, let's just hard depend
on everything except -dav1d (from gst-plugins-rs, currently unpackaged
and it would also be an unpopular default given the rust requirement --
hopefully av1 works through libav+ffmpeg[dav1d] but I have not tested).

This may annoy more miminalistic users that didn't need these for their
use case, but would rather not keep this as optfeature or gated behind
USE and instead stay closer to upstream Proton. IMO minimalist users
should use wine-vanilla instead which offers more control in general,
wine-proton is more meant as a "should mostly just work" alternative
for games (e.g. wine-proton doesn't allow disabling opengl/vulkan too,
not tried recently but it didn't even build when vulkan was disabled).

Could take it further and match what Proton enables in each plugins set
like pull gst-plugins-vpx/mpg123/hls among others but believe most of
these should work through -libav and default ffmpeg USE and they may be
redundant (or at least for decoding, games rarely need to do encoding).
Believe Proton enables these given ffmpeg is shipped separately and it
serves as a fallback if missing.

Not depending on e.g. -meta[ffmpeg] as this does nothing but annoy
users into setting the USE. Arguably could drop -meta entirely and
depend on -good but it doesn't hurt to keep to pull additional things
depending on global USE.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/wine-proton/files/README.gentoo         | 4 ----
 app-emulation/wine-proton/wine-proton-10.0.2d.ebuild  | 6 +++++-
 app-emulation/wine-proton/wine-proton-8.0.5c.ebuild   | 6 +++++-
 app-emulation/wine-proton/wine-proton-9.0.4-r2.ebuild | 6 +++++-
 app-emulation/wine-proton/wine-proton-9999.ebuild     | 6 +++++-
 5 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/app-emulation/wine-proton/files/README.gentoo 
b/app-emulation/wine-proton/files/README.gentoo
index 48f3d568a013..741ddf0f8ef7 100644
--- a/app-emulation/wine-proton/files/README.gentoo
+++ b/app-emulation/wine-proton/files/README.gentoo
@@ -42,10 +42,6 @@ Many other proton-specific improvements / fixes are always 
enabled, and
 some game-specific quirks are auto-enabled as needed (can see a few from
 running winecfg).
 
-If have audio/video playback issues, note to look at GStreamer plugins.
-Notably USE=ffmpeg on media-plugins/gst-plugins-meta which Proton normally
-provide by default.
-
 ---
 
 If have other Wine variants installed, remember to either use `eselect wine`

diff --git a/app-emulation/wine-proton/wine-proton-10.0.2d.ebuild 
b/app-emulation/wine-proton/wine-proton-10.0.2d.ebuild
index f6707f22b614..0b1c9b2a2e7e 100644
--- a/app-emulation/wine-proton/wine-proton-10.0.2d.ebuild
+++ b/app-emulation/wine-proton/wine-proton-10.0.2d.ebuild
@@ -102,7 +102,11 @@ RDEPEND="
                app-emulation/wine-gecko:${WINE_GECKO}[${WINE_USEDEP}]
                wow64? ( app-emulation/wine-gecko[abi_x86_32] )
        )
-       gstreamer? ( media-plugins/gst-plugins-meta:1.0[${WINE_USEDEP}] )
+       gstreamer? (
+               media-libs/gst-plugins-bad:1.0[${WINE_USEDEP}]
+               media-plugins/gst-plugins-libav:1.0[${WINE_USEDEP}]
+               media-plugins/gst-plugins-meta:1.0[${WINE_USEDEP}]
+       )
        mono? ( app-emulation/wine-mono:${WINE_MONO} )
        perl? (
                dev-lang/perl

diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild 
b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
index 37fba75f172e..dc65928cf595 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -84,7 +84,11 @@ RDEPEND="
        ${WINE_COMMON_DEPEND}
        app-emulation/wine-desktop-common
        gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
-       gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+       gstreamer? (
+               media-libs/gst-plugins-bad:1.0[${MULTILIB_USEDEP}]
+               media-plugins/gst-plugins-libav:1.0[${MULTILIB_USEDEP}]
+               media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
+       )
        mono? ( app-emulation/wine-mono:${WINE_MONO} )
        perl? (
                dev-lang/perl

diff --git a/app-emulation/wine-proton/wine-proton-9.0.4-r2.ebuild 
b/app-emulation/wine-proton/wine-proton-9.0.4-r2.ebuild
index b795ebe79427..a1ff4d55c8b3 100644
--- a/app-emulation/wine-proton/wine-proton-9.0.4-r2.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9.0.4-r2.ebuild
@@ -84,7 +84,11 @@ RDEPEND="
                app-emulation/wine-gecko:${WINE_GECKO}[${WINE_USEDEP}]
                wow64? ( app-emulation/wine-gecko[abi_x86_32] )
        )
-       gstreamer? ( media-plugins/gst-plugins-meta:1.0[${WINE_USEDEP}] )
+       gstreamer? (
+               media-libs/gst-plugins-bad:1.0[${WINE_USEDEP}]
+               media-plugins/gst-plugins-libav:1.0[${WINE_USEDEP}]
+               media-plugins/gst-plugins-meta:1.0[${WINE_USEDEP}]
+       )
        mono? ( app-emulation/wine-mono:${WINE_MONO} )
        perl? (
                dev-lang/perl

diff --git a/app-emulation/wine-proton/wine-proton-9999.ebuild 
b/app-emulation/wine-proton/wine-proton-9999.ebuild
index f0713f1af650..5f6ffda50903 100644
--- a/app-emulation/wine-proton/wine-proton-9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9999.ebuild
@@ -102,7 +102,11 @@ RDEPEND="
                app-emulation/wine-gecko:${WINE_GECKO}[${WINE_USEDEP}]
                wow64? ( app-emulation/wine-gecko[abi_x86_32] )
        )
-       gstreamer? ( media-plugins/gst-plugins-meta:1.0[${WINE_USEDEP}] )
+       gstreamer? (
+               media-libs/gst-plugins-bad:1.0[${WINE_USEDEP}]
+               media-plugins/gst-plugins-libav:1.0[${WINE_USEDEP}]
+               media-plugins/gst-plugins-meta:1.0[${WINE_USEDEP}]
+       )
        mono? ( app-emulation/wine-mono:${WINE_MONO} )
        perl? (
                dev-lang/perl

Reply via email to