The Wine 8.5 development release is now available for this translation layer, enabling Windows games and other apps to work on Linux. Part of what makes Steam Play Proton do its thing! This is the usual fortnightly release with the latest work, and then once a year they put up a new stable release that will be Wine 9.0.
Here's the highlights:
- Bundled vkd3d upgraded to version 1.7.
- Better error reporting in the IDL compiler.
- Support for shared Wow64 Classes registry key.
- More cleanups in IME support.
- Support for configuring a WinRT dark theme.
- Various bug fixes.
Some of the bugs noted to be solved up to this release include fixes for Deus Ex: Invisible War, Fair Strike, Bible Black: La Noche de Walpurgis, Sins of the Solar Empire Rebellion, Ultimate Race Pro and various miscellaneous fixes.
Want help managing Wine on Linux? You can try Bottles, Lutris and the Heroic Launcher.
Some you may have missed, popular articles from the last month:
Quoting: SetaSince you're invested into testing videos on Wine, I was wondering; has something happened with AVI playback since Wine 8.2 or so? Thief Gold/2 videos only play the audio and render a black screen...
In my case test bad day la and some videos dont work, this videos stay in avi format with audio in pcm (and transcode to h264+mp3 dont work)
0 Likes
Quoting: Avehicle7887I've tried to re-encode to other h264 profiles too, which caused the videos to not play at all then. Thanks for checking it out :)
Hi wine git add this commits maybe can help if them approve for wine 8.6, must be appear this weekend
Quote--- a/dlls/mfplat/mediatype.c
+++ b/dlls/mfplat/mediatype.c
@@ -26,6 +26,7 @@
#include "ks.h"
#include "ksmedia.h"
#include "amvideo.h"
+#include "wmcodecdsp.h"
WINE_DEFAULT_DEBUG_CHANNEL(mfplat);
@@ -3593,6 +3594,22 @@ static const GUID * get_mf_subtype_for_am_subtype(const GUID *subtype)
if (IsEqualGUID(subtype, &MEDIASUBTYPE_RGB32))
return &MFVideoFormat_RGB32;
+ else if (IsEqualGUID(subtype, &MEDIASUBTYPE_ARGB32))
+ return &MFVideoFormat_ARGB32;
+ else if (IsEqualGUID(subtype, &MEDIASUBTYPE_I420))
+ return &MFVideoFormat_I420;
+ else if (IsEqualGUID(subtype, &MEDIASUBTYPE_AYUV))
+ return &MFVideoFormat_AYUV;
+ else if (IsEqualGUID(subtype, &MEDIASUBTYPE_YV12))
+ return &MFVideoFormat_YV12;
+ else if (IsEqualGUID(subtype, &MEDIASUBTYPE_YUY2))
+ return &MFVideoFormat_YUY2;
+ else if (IsEqualGUID(subtype, &MEDIASUBTYPE_UYVY))
+ return &MFVideoFormat_UYVY;
+ else if (IsEqualGUID(subtype, &MEDIASUBTYPE_YVYU))
+ return &MFVideoFormat_YVYU;
+ else if (IsEqualGUID(subtype, &MEDIASUBTYPE_NV12))
+ return &MFVideoFormat_NV12;
else
{
FIXME("Unknown subtype %s.\n", debugstr_guid(subtype));
--- a/dlls/mfplat/tests/mfplat.c
+++ b/dlls/mfplat/tests/mfplat.c
@@ -56,6 +56,7 @@
#undef EXTERN_GUID
#define EXTERN_GUID DEFINE_GUID
#include "mfd3d12.h"
+#include "wmcodecdsp.h"
DEFINE_GUID(DUMMY_CLSID, 0x12345678,0x1234,0x1234,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19);
DEFINE_GUID(DUMMY_GUID1, 0x12345678,0x1234,0x1234,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21);
@@ -8421,6 +8422,22 @@ static void test_MFInitMediaTypeFromAMMediaType(void)
{0}, {0}, 0, 0, 0,
{sizeof(BITMAPINFOHEADER), 32, 24, 1, 0, 0xdeadbeef}
};
+ static const struct guid_type_pair
+ {
+ const GUID *am_type;
+ const GUID *mf_type;
+ } guid_types[] =
+ {
+ { &MEDIASUBTYPE_I420, &MFVideoFormat_I420 },
+ { &MEDIASUBTYPE_AYUV, &MFVideoFormat_AYUV },
+ { &MEDIASUBTYPE_YV12, &MFVideoFormat_YV12 },
+ { &MEDIASUBTYPE_YUY2, &MFVideoFormat_YUY2 },
+ { &MEDIASUBTYPE_UYVY, &MFVideoFormat_UYVY },
+ { &MEDIASUBTYPE_YVYU, &MFVideoFormat_YVYU },
+ { &MEDIASUBTYPE_NV12, &MFVideoFormat_NV12 },
+ { &MEDIASUBTYPE_ARGB32, &MFVideoFormat_ARGB32 },
+ };
+ unsigned int i;
hr = MFCreateMediaType(&media_type);
ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
@@ -8539,6 +8556,22 @@ static void test_MFInitMediaTypeFromAMMediaType(void)
ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(value32 == 128, "Unexpected value %d.\n", value32);
+ vih.bmiHeader.biHeight = 24;
+ for (i = 0; i < ARRAY_SIZE(guid_types); ++i)
+ {
+ memcpy(&mt.subtype, guid_types.am_type, sizeof(GUID));
+
+ hr = MFInitMediaTypeFromAMMediaType(media_type, &mt);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+
+ hr = IMFMediaType_GetGUID(media_type, &MF_MT_MAJOR_TYPE, &guid);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+ ok(IsEqualGUID(&guid, &MFMediaType_Video), "Unexpected guid %s.\n", debugstr_guid(&guid));
+ hr = IMFMediaType_GetGUID(media_type, &MF_MT_SUBTYPE, &guid);
+ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+ ok(IsEqualGUID(&guid, guid_types[i].mf_type), "Unexpected guid %s.\n", debugstr_guid(&guid));
+ }
+
IMFMediaType_Release(media_type);
}
https://source.winehq.org/git/wine.git/commit/69b98b2b79f91a13bf3b083ec06527e96609cfd7
https://source.winehq.org/git/wine.git/blobdiff/357f0e9a493cd0a6a90cd89367548b57759a5297..69b98b2b79f91a13bf3b083ec06527e96609cfd7:/dlls/mfplat/mediatype.c
https://source.winehq.org/git/wine.git/blobdiff/357f0e9a493cd0a6a90cd89367548b57759a5297..69b98b2b79f91a13bf3b083ec06527e96609cfd7:/dlls/mfplat/tests/mfplat.c
[i]Last edited by mrdeathjr on 11 April 2023 at 1:37 pm UTC
0 Likes
See more from me