[Wine] Virtual Steam Client
As of right now, the Virtual Steam Client option does not appear to work with games running under wine, such as the Source Unpack for Portal, which requires the steam client in order to run. (It will run if you also run steam under wine, but that probably has the same desync issues that caused this project to create the virtual steam client in the first place)
I presume games are using LoadLibrary/GetProcAddress to run Steam functions. The problem is that those functions are inside kernel32, which is "hard-loaded" when the Windows process is being created. Thus, our way of hooking functions does not work with those. Actually, I'm not sure if we can hook any Windows API function defined by wine.
Is there anything preventing us from, say, doing something similar to what steam's proton does to handle steam client stuff under wine?
That is something different. I think proton translates Windows Steam DLL calls into Linux Steam .so calls, so that Steam games can use the Steam API. We need to have access to Windows Steam DLL calls in the first place.
You could find a dummy Steam dll client somewhere, until this issue is fixed.
Well, I figured we could use proton's thing to perform dll <-> so, and then use your current stuff in place of the official one(s)? I dunno.