Check out our Monthly Survey Page to see what our users are running.
What are codecs / media components in Proton or Wine-GE that differ from upstream Wine?
Shmerl 4 Jul 2024
I tried playing Blood West (GOG) in Wine+esync (+dxvk) and video cutscenes don't play, or more exactly only audio and subtitles in them work but no image is visible. But all works in Proton according to Proton DB.

So I wonder what I might be missing.

The game is using Unity by the way. It's annoying these codec issues still exist and some engines are still using these junk codecs.

Last edited by Shmerl on 4 Jul 2024 at 6:26 pm UTC
Xpander 4 Jul 2024
not sure if its that exactly but pretty sure steam transcodes some mf video crap to some normal formats.
and GE-proton has some extra mfplat s**t that's technically some licensing grey area.

i think vanilla wine is missing all the media foundation stuff

but i don't know if that specific game uses media foundation stuff ofc.

Last edited by Xpander on 4 Jul 2024 at 7:41 pm UTC
Shmerl 4 Jul 2024
I thought upstream Wine added some media foundation support. Found some info that out of the box Wine isn't configured to use all gstreamer plugins which it's using for codecs. So looking into how to enable them all (including "bad" ones).

Yeah, I don't know if it's related here, but these junk codecs is one of the most common reasons for videos not working.

Last edited by Shmerl on 4 Jul 2024 at 8:19 pm UTC
mrdeathjr 4 Jul 2024
I thought upstream Wine added some media foundation support. Found some info that out of the box Wine isn't configured to use all gstreamer plugins which it's using for codecs. So looking into how to enable them all (including "bad" ones).

Yeah, I don't know if it's related here, but these junk codecs is one of the most common reasons for videos not working.

This game remember me elderborn (same dev too) and curiously this have non working cinematics too

Shmerl 4 Jul 2024
I'm now trying this workaround script:

https://github.com/HoodedDeath/mf-fix

Not sure if it will work.
Shmerl 5 Jul 2024
Nope, no dice. I'll stop wasting time on this mfplat junk.
Media Foundation support in Wine is not complete, see: https://source.winehq.org/WineAPI/mfplat.html
Shmerl 5 Jul 2024
Media Foundation support in Wine is not complete, see: https://source.winehq.org/WineAPI/mfplat.html

So what's the right way to install a native override? I couldn't find anything in winetricks.
Media Foundation support in Wine is not complete, see: https://source.winehq.org/WineAPI/mfplat.html

So what's the right way to install a native override? I couldn't find anything in winetricks.
That's because there is no legally available way for Winetricks to provide the native Media Foundation support. Microsoft doesn't provide them publicly as downloads on their site like they do or have done for other DLLs in the past.

I see you've already commented here, but mf-install illegally redistributes the Media Foundation DLLs: https://github.com/Winetricks/winetricks/issues/1132

They do work for some games, though.

That's my understanding of the situation.

With the additional qualification that the codecs that are patented which you'll actually run into are probably only VC-1, H.264, H.265, and maybe some newer AAC profiles. The baseline profile for H.264 is patent-free, the High profile (most widely used) will be patent-free in the next ~4 years, and the remaining VC-1 patents surely can't expire that far in the future...

No idea how that really interacts with Media Foundation though.
Shmerl 7 Jul 2024
Why do you need native ones if Wine implements it over gstreamer to some degree already? And native ones didn't work anyway.

Dealing with codecs shouldn't be any different from how ffmpeg and gstreamer itself deals with them. So it's not the reason for this to be broken in Wine.

Last edited by Shmerl on 7 Jul 2024 at 1:45 am UTC
mrdeathjr 7 Jul 2024
I trying convert resources.resource (aka cinematics) size around 1gb to xvid and x264 in both cases dont work

however bug appear now in bugzilla

https://bugs.winehq.org/show_bug.cgi?id=56936

only need wait for dev put attention



Last edited by mrdeathjr on 7 Jul 2024 at 7:44 am UTC
Shmerl 7 Jul 2024
Yeah, I just reported the bug there. There was an older one that could be the same:

https://bugs.winehq.org/show_bug.cgi?id=50277
whizse 7 Jul 2024
Running the game with stand alone Proton 9 seems to work fine here. At least the intro plays without problems.

I run the Proton binary directly without using Steam or the runtime so it uses my system libraries and local GStreamer/ffmpeg to decode the videos instead of using the transcoded versions.

The vast majority of the mfplat (and quartz etc.) happens in upstream Wine, but Proton pulls in a lot of cherry picked patches, stuff from staging and a bucket load of hacks specific to games so trying to figure out exactly what makes the videos work in this case might be hard.

Unless you have a good reason to use vanilla Wine you're almost always better of with Proton or -GE for games, even non-Steam ones.
Shmerl 7 Jul 2024
Running the game with stand alone Proton 9 seems to work fine here. At least the intro plays without problems.

I run the Proton binary directly without using Steam or the runtime so it uses my system libraries and local GStreamer/ffmpeg to decode the videos instead of using the transcoded versions.

The vast majority of the mfplat (and quartz etc.) happens in upstream Wine, but Proton pulls in a lot of cherry picked patches, stuff from staging and a bucket load of hacks specific to games so trying to figure out exactly what makes the videos work in this case might be hard.

Unless you have a good reason to use vanilla Wine you're almost always better of with Proton or -GE for games, even non-Steam ones.

GE stopped making releases altogether and decided to switch to some other format? And most developers don't recommend using Proton for non Steam games.

How can I narrow down which patches Proton applies to mfplat? I can try reproducing those. I prefer to stick to upstream Wine with only minimal patches when necessary. I tried staging btw, it didn't help in this case.

Last edited by Shmerl on 7 Jul 2024 at 4:51 pm UTC
Shmerl 7 Jul 2024
Comparing these:

* https://github.com/ValveSoftware/wine/commits/f80ddae9e217f2bad68455891371fa0f524451e7/dlls/mfplat
* https://gitlab.winehq.org/wine/wine/-/commits/master/dlls/mfplat?ref_type=undefined

Looks like proton is behind on some commits but also has non upstreamed ones.

I guess I'll wait until Wine pulls some of that upstream.

Last edited by Shmerl on 7 Jul 2024 at 4:41 pm UTC
whizse 7 Jul 2024
GE stopped making releases altogether and decided to switch to some other format?
No idea, I don't think I've ever used -GE.

* https://github.com/ValveSoftware/wine/commits/f80ddae9e217f2bad68455891371fa0f524451e7/dlls/mfplat
* https://gitlab.winehq.org/wine/wine/-/commits/master/dlls/mfplat?ref_type=undefined

Looks like proton is behind on some commits but also has non upstreamed ones.
And there's a bunch of other mf dlls. mfplay, mfmediaengine etc. Plus the winegstreamer dll.

Sadly I don't think there's any easy way to figure out to narrow down the changes introduced to Proton.
Shmerl 7 Jul 2024
Sadly I don't think there's any easy way to figure out to narrow down the changes introduced to Proton.

I'll try to dig into all of them and compile a list of differences when I have time.

I hope Wine developers are upstreaming what's possible.

Last edited by Shmerl on 7 Jul 2024 at 11:02 pm UTC
Shmerl 14 Jul 2024
This is interesting: https://gitlab.winehq.org/wine/wine/-/merge_requests/5340#note_75745

Looks like Wine developers are considering switching away from using gstreamer. I wonder what they'll use, may be ffmpeg? Hopefully that will result in this whole situation improving.
mrdeathjr 15 Jul 2024
This is interesting: https://gitlab.winehq.org/wine/wine/-/merge_requests/5340#note_75745

Looks like Wine developers are considering switching away from using gstreamer. I wonder what they'll use, may be ffmpeg? Hopefully that will result in this whole situation improving.

yeah this is a really big trouble, well this situation need much time for see improvements and if them stay thinking seriously leave gstreamer

Shmerl 15 Jul 2024
Yeah, that would probably be a while before they replace it.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register