Would implementing UMDF support be useful (or even viable)?
Zebediah Figura
zfigura at codeweavers.com
Sun May 15 20:11:32 CDT 2022
On 5/15/22 20:00, Zebediah Figura wrote:
> Hello Mark,
>
> On 5/15/22 17:20, Mark N wrote:
>> Hello, I was reading about the Windows User Mode Device Framework (aka
>> UMDF) and I was interested in possibly working on adding support for UMDF
>> drivers in Wine. I think there are Windows drivers out there that run
>> entirely in usermode (e.g. some USB drivers) which could be successfully
>> ported to Linux this way.
>>
>> However I'm still new to Wine so I thought I'd ask - has anybody else ever
>> explored doing this? Would this sort of thing be a good fit for Wine in
>> general?
>
>
> In general I believe that there is value in running some Windows
> drivers, especially for domain-specific and obsolete software where
> writing an equivalent host driver is untenable.
>
Sorry, I accidentally sent before I was done writing...
Anyway, we currently have a USB driver in Wine. It hasn't seen much use
yet; I've used it to run only one Windows driver.
I have some unfinished local work on WDF, which is currently focused
entirely on the kernel side (KMDF). It's not very complete, partly
because I haven't had much time to work on it, but mostly just because
there hasn't been much demand to run real WDF drivers—I've only
encountered one, in fact, besides a couple of anti-tamper drivers which
appear to load wdfldr.sys and do nothing with it.
Accordingly I'm curious if there's real demand for such UMDF drivers,
and if so what they are drivers for. If it's something that's covered by
a generic host class, such as HID devices, that's not worth spending
time on, but otherwise it's possible.
If you're interested in working on UMDF and find it worthwhile to do so,
bug 49193 [1] has a bit of discussion about KMDF, which mostly applies
to UMDF as well. In particular I'll note: although Microsoft sort of
shares the sources, to be quite frank their code is a terrible,
confusing mess, and I don't get the impression that sharing sources
actually gains them any value. Not that our KMDF and UMDF shouldn't look
similar (and maybe they could share files like the base WdfObject
implementation), but I think development could proceed on them largely
in parallel...
ἔρρωσο,
Zeb
[1] https://bugs.winehq.org/show_bug.cgi?id=49193
More information about the wine-devel
mailing list