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