Introduction
------------
This is the first of (many) parts in the upstreaming of the Wayland driver for Wine. Since the amount of code and commits is large, my approach is to upstream the driver in multiple parts in a serial fashion, with each part being a cohesive (to the degree possible) set of not too many commits. When each part is reviewed and merged, I will move on to proposing the next part. My main goal with this approach is to make reviewing easier and more focused. If you have other ideas about how to improve this process for the reviewers, please let me know.
A lot of pieces need to fall into place before the driver becomes even remotely functional, so, some MRs (especially the initial ones) will be a bit more preparatory in nature. To aid in the understanding of and justification for some of the code introduced in such MRs, all the remaining driver commits are always going to be available at https://gitlab.winehq.org/afrantzis/wine/-/tree/wayland.
Part 1
-------
~~This MR introduces the Wayland driver PE and unixlib components with some basic code, and prepares the makedep tool to be able to handle Wayland protocol files.~~
This MR introduces the Wayland driver PE and unixlib components with some basic code, and reports some basic monitor information to Wine.
Please see the individual commit message for more details.
Some questions I would appreciate some feedback on in the context of this MR:
1. Should the Wayland driver build be enabled by default at this point? (currently it's explicitly opt-in with --with-wayland)
2. How should the Wayland driver build be integrated with CI? (currently piggybacking on gitlab/build-linux by adding --with-wayland)
Note that building the Wayland driver should not affect running/testing on X11/Xwayland etc, since it's placed lower in the driver priority list.
~~Part 2 preview: We will handle basic Wayland wl_output (i.e., display) events and populate the Wine monitor information.~~
Part 2 preview: We will report more monitor information and implement GetCurrentDisplaySettings.
--
v8: winewayland.drv: Report all advertised monitor modes to Wine.
winewayland.drv: Report basic monitor information.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2275
According to the tests in 23b72ad, when we are reading a compressed stream, the type returned by `stream_props_GetMediaType()` should reflect compressed format even if we finnally output uncomressed data. For example, if we use wmvcore reader to read a WMV3 stream and output RGB24, the format information returned by `stream_props_GetMediaType()` should be WMV3, not RGB24.
This patch set is marked as draft now, because PATCH 2 and PATCH 3 is affected by 3e8936a2 in MR !2258. So I'll submit a newer version of this after !2258 get merged.
--
v2: winegstreamer: Use codec format in stream_props_GetMediaType.
winegstreamer: Implement amt_from_wg_format_video_wmv.
winegstreamer: Implement wg_format_from_caps_video_wmv.
winegstreamer: Implement wg_parser_stream_get_codec_format.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2387
According to the tests in 23b72ad, when we are reading a compressed stream, the type returned by `stream_props_GetMediaType()` should reflect compressed format even if we finnally output uncomressed data. For example, if we use wmvcore reader to read a WMV3 stream and output RGB24, the format information returned by `stream_props_GetMediaType()` should be WMV3, not RGB24.
This patch set is marked as draft now, because PATCH 2 and PATCH 3 is affected by 3e8936a2 in MR !2258. So I'll submit a newer version of this after !2258 get merged.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2387
This patch doesn't work now. Zebediah, I think I need your help.
My goal is to get the original stream format in `stream_props_GetMediaType()`. For example, if I use wmreader to open a WMV3 stream, then this function should return WMV3 format as its result.
I expect preferred_format to hold the format I need. But test shows that preferred_format is always RGB24 even if I open a WMV stream. I found that preferred_format is written in `wg_parser.c: sink_event_cb(): case GST_EVENT_CAPS`. So it means that the caps here is "video/x-raw", not "video/x-wmv" as I expected.
So how could I get the stream format I want when I open a compressed stream using wmreader?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1945
Needed by the VR game Desperate: Vladivostok.
`IHolographicSpaceStatics2::get_IsSupported()` only returns `FALSE` on 32-bit Windows 10, but the VMs are 64-bit.
--
This merge request has too many patches to be relayed via email.
Please visit the URL below to see the contents of the merge request.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2386
This series intent is to let winedbg (and dbghelp) load the 64bit PE modules
of a wow64 debuggee.
At this stage, all debug info of all modules (PE and ELF) are properly loaded
(and displayed with 'info wow share' command).
Breakpoint and backtrace in 64bit code of a wow64 debuggee are not available.
The serie contains:
- extension of tests to show that 64bit load dll events are generated for
a wow64 debuggee (for a 64bit debugger, not for a 32bit one)
- change for adapting filtering of events
I opted for doing it in ntdll and passing the machine of the mapping in
request's reply. Please advisde if you'd prefer another approach.
--
v3: server,ntdll,wow64: Move filter of (un)load DLL debug events to client side.
kernel32/tests: Extend the tests for load/unload debug events on Wow64.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2240