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