Zebediah Figura (she/her)
zfigura at codeweavers.com
Wed Aug 18 10:23:15 CDT 2021
Besides wined3d and winejoystick, I've also looked into what would be
required for a few others on that list:
* The story with wineqtdecoder (mostly from private communication with
Dean Greer and Gijs Vermeulen) is that we want to first get libgstreamer
to build nicely on Mac, and then remove wineqtdecoder entirely. Dean and
Gijs are working on the first part.
* avicap32 could be converted trivially, but that said, it's my long
term plan to do some research into kernel streaming first, and see if
avicap32 and qcap can be implemented on top of that architecture.
* capi2032 and ctapi32 are weird cases of third-party DLLs that were (at
the time) considered too hard to get working properly, essentially
because they need to interact with the hardware at too low a level. In
this respect they're like wpcap. However, unlike wpcap, I think it's
likely possible to get at least native ctapi32 (which actually isn't
called that) to work. It had been my vague plan, when I somehow got the
free time, to try to acquire the necessary hardware and test the Windows
driver. I'm not sure about capi2032 yet; I didn't get far enough into
research to tell whether it's possible to use the native version.
* I did briefly look at shell32, but didn't get as far as writing code,
only research. If someone else does get to it first, here are my initial
- The xdg and trash parts can be done almost entirely with win32
APIs. The one thing I think that's awkward is detecting whether we're on
a Mac, since IIRC we don't have __APPLE__. Not sure what to do with that.
- symlink() should be replaced with kernel32/ntdll symlinks. This is
blocked on Erich's patch set getting upstream, though, which could take
quite a while. We could probably use a temporary Unix library for this part.
- shfldr_fs.c and shfldr_unixfs.c need to be merged. In some sense
this is "unixfs should go away", except that unixfs is kind of the
default and so fs is missing some features which will need to be ported.
There are a lot of subtle differences here. Obviously we still want a
Unix root folder in the UI, but this should be hooked up to "\??\unix"
More information about the wine-devel