[wine-2.0.1] Help on Overriding Entire System Directory

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
User avatar
Offensive ePeen
Newbie
Newbie
Posts: 3
Joined: Sat Jul 15, 2017 10:53 pm

[wine-2.0.1] Help on Overriding Entire System Directory

Post by Offensive ePeen »

Hello. I'm new to these forums, and I've heard of WINE as a means to run Windows Applications on POSIX platforms for years, but only recently am I interested in migrating to GNU/Linux as a full-time OS and am looking to migrate my Windows Applications so I can dump my Windows dual-boot instance. In winecfg I have Windows 10 listed as the version I want to try to emulate (for better compatibility with modern programs), and I noticed that I can override specific libraries in WINE with native Windows ones.

My question is: How do I override these en-mass and even dump my entire System32 folder (along with maybe my SysWOW64 folder for 32-bit compatibility) so I can get more compatibility in WINE with applications I actually use (like video games)? I mean, I'd like to support FLOSS wherever I can, but I'm also a pragmatic and practical person and would like better compatibility and performance out of programs so I can stop dual booting. I obviously assume that replacing the WINE provided DLLs and binaries with native Windows ones will improve performance and compatibility of programs, but let me know if this isn't true (especially if there's a bottle neck in changing Windows calls to POSIX ones, and not all are implemented). In the Libraries tab I can choose specific APIs and binaries to override, but I'd rather not tediously go through this list to override each and every single one that I can. If I could dump my entire System32 (and anything else I need) from my dual-boot instance and dump it into the WINE-provided drive_c I'd do that, but if I overwrite the fake DLLs manually I've heard that it breaks WINE usage. Also, if it's possible to get an entire native Windows instance running inside WINE, would I be able to pull update services and programs into WINE to automatically update the libraries through Windows Update as time goes on? If not, then I'll still keep at least a virtual machine with Windows inside and periodically update it, and also maybe symbolically link the Windows directory from inside the image to my ~/.wine/drive_c directory so I wouldn't have to dump it all the time.

Any help would be appreciated.

Bonus:
Also, If I wanted to maintain legacy copies of Windows versions below 10 and override libraries for those (in the same WINE instance as my Windows 10 one), is that possible? Or would they all compete for the one windows directory in drive_c?
User avatar
dimesio
Moderator
Moderator
Posts: 13205
Joined: Tue Mar 25, 2008 10:30 pm

Re: [wine-2.0.1] Help on Overriding Entire System Directory

Post by dimesio »

Short answer: don't. As you already noted, copying your entire system32 directory will break the wineprefix and is not supported.

Your assumption that native dlls are always better is wrong. You should only override dlls that your apps actually need to work properly. Depending on the app, that may be none.

Your assumption that setting winecfg to Windows 10 will give you better compatibility with modern programs is also wrong. Changing the Windows version mostly just changes the version reported to the app, not what Wine can/can't do. A higher Windows version may cause the app to take a different codepath, and call functions specific to the higher Windows version that aren't yet implemented in Wine. XP is still likely to give the best compatibility with most apps, which is why it's still the default for the stable branch. If an app requires a higher version, 7 is likely to work best, as that's what's being actively worked on as the default setting in the development branch.

Wine is not a VM. You can't have an "entire native instance running inside Wine." And symlinking Wine's c: drive to a real Windows install is an extremely bad idea. https://wiki.winehq.org/FAQ#I_have_lots ... in_Wine.3F
User avatar
Offensive ePeen
Newbie
Newbie
Posts: 3
Joined: Sat Jul 15, 2017 10:53 pm

Re: [wine-2.0.1] Help on Overriding Entire System Directory

Post by Offensive ePeen »

Well that's sad to hear. I guess I understand now. Thanks for clearing it up. However there should be application-specific profile overrides then, and not just overall ones. Also, as I have the stable version of WINE, I can tell you that the default version is now Windows 7, and not XP. So then I guess I should switch from 10 to 7. Also, what happens if you install a program for one version, but then try to run it as another version?
User avatar
dimesio
Moderator
Moderator
Posts: 13205
Joined: Tue Mar 25, 2008 10:30 pm

Re: [wine-2.0.1] Help on Overriding Entire System Directory

Post by dimesio »

Offensive ePeen wrote: However there should be application-specific profile overrides then, and not just overall ones.
There are. https://wiki.winehq.org/Wine_User%27s_G ... n_Settings
FYI, experienced users generally prefer separate wineprefixes. https://wiki.winehq.org/FAQ#Can_I_store ... 2F.wine.3F
Also, as I have the stable version of WINE, I can tell you that the default version is now Windows 7, and not XP
.
Where did you get Wine from? That's not the case for plain Wine and isn't planned to be until 3.0, but distro/third party party packages may contain unapproved modifications. Or, are you sure you're really using stable and not staging?
Also, what happens if you install a program for one version, but then try to run it as another version?
That depends entirely on the app. You just have to try it and find out.
User avatar
Offensive ePeen
Newbie
Newbie
Posts: 3
Joined: Sat Jul 15, 2017 10:53 pm

Re: [wine-2.0.1] Help on Overriding Entire System Directory

Post by Offensive ePeen »

dimesio wrote:Where did you get Wine from? That's not the case for plain Wine and isn't planned to be until 3.0, but distro/third party party packages may contain unapproved modifications. Or, are you sure you're really using stable and not staging?
I'm on Ubuntu 16.04 LTS, but I manually added the repository from Wine HQ to get the latest stable release.
Locked