¡Dr. Monalisa is now platinum on GNU/Linux with Wine!

General Talking for all forum users.
Post Reply
User avatar
JoseskVolpe
Posts: 4
Joined: 16 Feb 2022, 03:57
Been thanked: 1 time

¡Dr. Monalisa is now platinum on GNU/Linux with Wine!

Post by JoseskVolpe »

Hello, i'm Josesk and i'm the current maintainer for Empire Earth 2 Dr. Monalisa 1.5 Unofficial patch on Wine's AppDB.
I would like to happily announce that Dr. Monalisa has just got Platinum rating on Wine :3
No more special configuration are needed to install and play this patch, no winetricks no PlayOnLinux no Lutris, just install and play out-of-the-box
Tested on Manjaro Linux 21.2.3, kernel 5.16.7-1-MANJARO on Wine 7.1

https://appdb.winehq.org/objectManager. ... gId=112018

Image
Image
Image

User avatar
Dr.MonaLisa
High Representative
Posts: 8707
Joined: 17 Jun 2010, 11:21
Location: Poland
Has thanked: 49 times
Been thanked: 108 times

Re: ¡Dr. Monalisa is now platinum on GNU/Linux with Wine!

Post by Dr.MonaLisa »

Wow, thanks a lot for letting us know :)

I wasn't even aware that it works "out of the box" now. I think it's thanks to the update where installer installs DirectX 9 files automatically.

One thing I noticed is the "URL: http://www.empireearth2.com/". I think it redirects to an incorrect domain with ads :) Would it be possible to change it to https://ee2.eu/patch?

Thanks again for maintenancing WineHQ site!

I will need to update https://ee2.eu/linux as it's currently more confusing than helpful.
Best regards,
Dr.MonaLisa
Ministry of Game Affairs
Department of Control and Complains
User avatar
JoseskVolpe
Posts: 4
Joined: 16 Feb 2022, 03:57
Been thanked: 1 time

Re: ¡Dr. Monalisa is now platinum on GNU/Linux with Wine!

Post by JoseskVolpe »

Dr.MonaLisa wrote: 17 Feb 2022, 17:45 Wow, thanks a lot for letting us know :)

I wasn't even aware that it works "out of the box" now. I think it's thanks to the update where installer installs DirectX 9 files automatically.
Wine has got DirectX improvements on this release, some games got better results aswell.
But extracting DirectX resources may help aswell. Howvwer, if it replaces system DirectX 9 files, then replacing Wine's DLL, i'm afraid that's not good... Unless if it install DirectX files on the application directory.
On Wine, installing native DLL libraries is only used as workaround, you should never replace Wine's built-in DLLs on the default wineprefix (wich you should use for stable applications that works out-of-the-box). Native DirectX libraries depends on the NT kernel and is not fully supported on Wine, it's proprietary aswell. So while replacing DLLs to native DLLs is used as a workaround to fix compatibility with some applications, it may break compatibility with many others aswell, since then, any bug reports coming from this prefix are invalid as they aren't caused by the built-in libraries.
Wine's goal is to be able to run all applications (that don't directly rely on NT kernel) out-of-the-box by using built-in libraries.

But seeing from winecfg, it hopefully doesn't seems to replace built-in DirectX libraries.
Image
By default, Wine sets all libraries loading as "built-in, native". If it were replacing them, these DirectX libraries would be listed as "native", or "native, built-in".
What it means is that, by default, Wine will use built-in Wine libraries, but will try native override libraries if built-in libraries fail.
There's no d3dx9 native libraries on the game's directory, so i checked system32.
I compared d3dx9_43.dll checksums on system32 with a new prefix too, they're the same, so it was not overridden by EE2. If EE2 tries to override them, i think Wine tells the installer that DXD9 libraries is already on their latest versions, and then the installer just skip.
So, looks like EE2 is now working fine with built-in libraries, yay.

Dr.MonaLisa wrote: 17 Feb 2022, 17:45 One thing I noticed is the "URL: http://www.empireearth2.com/". I think it redirects to an incorrect domain with ads :) Would it be possible to change it to https://ee2.eu/patch?
Sorry, i can't :c
URL is set to all versions, so this includes unpatched vanilla game. The patch's URL is set on "Free Download Patch download page" below description.

Dr.MonaLisa wrote: 17 Feb 2022, 17:45 Thanks again for maintenancing WineHQ site!

I will need to update https://ee2.eu/linux as it's currently more confusing than helpful.
You're welcome =^w^=
Before updating that, i recommend to check how the game works yourself first. Don't forget to check if your distribution is using the latest Wine's stable version (7.0) hehe.
I tested the game on Wine development version 7.1, 7.1 didn't got much changes so i'm sure it won't matter if it's 7.0 or 7.1 for this game.
You could also hide the outdated information in another section for users that are still using distributions that offers outdated Wine versions and had not updated Wine for themselves.
User avatar
Dr.MonaLisa
High Representative
Posts: 8707
Joined: 17 Jun 2010, 11:21
Location: Poland
Has thanked: 49 times
Been thanked: 108 times

Re: ¡Dr. Monalisa is now platinum on GNU/Linux with Wine!

Post by Dr.MonaLisa »

JoseskVolpe wrote: 17 Feb 2022, 19:18 But extracting DirectX resources may help aswell. Howvwer, if it replaces system DirectX 9 files, then replacing Wine's DLL, i'm afraid that's not good... Unless if it install DirectX files on the application directory.
On Wine, installing native DLL libraries is only used as workaround, you should never replace Wine's built-in DLLs on the default wineprefix (wich you should use for stable applications that works out-of-the-box). Native DirectX libraries depends on the NT kernel and is not fully supported on Wine, it's proprietary aswell. So while replacing DLLs to native DLLs is used as a workaround to fix compatibility with some applications, it may break compatibility with many others aswell, since then, any bug reports coming from this prefix are invalid as they aren't caused by the built-in libraries.
Wine's goal is to be able to run all applications (that don't directly rely on NT kernel) out-of-the-box by using built-in libraries.
By DirectX 9, I meant the "DirectX End-User Runtimes (June 2010)" from https://www.microsoft.com/en-us/downloa ... px?id=8109
In earlier versions of UP1.5 on wine, it required to use: "winetricks d3dx9_43", "winetricks d3dcompiler_43" (and possibly more). I don't think these are the core wine files.

The UP1.5 installer installs these redistributables, because I'm following the official documentation: https://docs.microsoft.com/en-us/window ... -installer
Microsoft wrote: Install the redistributable components every time.

A game's installation process should install the DirectX redistributable components during every single installation without allowing users to opt-out of it. If you allow opting-out, then some users will guess that they don't need it, and if they actually do, the game will not run.
Microsoft wrote: Let the DirectX installer check for optional components.

Do not assume that the latest optional components are already installed on a system, because Windows Update and Service Packs do not provide any of DirectX's optional components. You must install the DirectX runtime either by running dxsetup.exe directly or calling DirectSetup.
JoseskVolpe wrote: 17 Feb 2022, 19:18 Sorry, i can't :c
URL is set to all versions, so this includes unpatched vanilla game. The patch's URL is set on "Free Download Patch download page" below description.
Oh, that's not a problem. I thought it's invalid because it's right under "Application Details: Version: Dr. Monalisa Unofficial Patch 1.5"

JoseskVolpe wrote: 17 Feb 2022, 19:18 Before updating that, i recommend to check how the game works yourself first. Don't forget to check if your distribution is using the latest Wine's stable version (7.0) hehe.
I tested the game on Wine development version 7.1, 7.1 didn't got much changes so i'm sure it won't matter if it's 7.0 or 7.1 for this game.
You could also hide the outdated information in another section for users that are still using distributions that offers outdated Wine versions and had not updated Wine for themselves.
Yes, I've tested wine many times. The Launcher actually has got dozens of fixes in order not to crash on Linux. There were problems with the News window, Support Chat and some others that were fixed over the years.

@zocker_160 has already tested the current version of wine (I'm currently not home to test it). The one thing he noticed is that wine should run with "fshack" prefix, otherwise message boxes from the Launcher might be hidden behind the Splash screen, even when they have the "top most" order.

The other thing I remember from the older versions of Wine, is that in Multiplayer Games the game often threw the "Out of Sync" error. This happens when one of players game "simulation" gets incorrect. In EE2, all players "simulate" the game on their computers (not only the host player). When something incorrect happens, the multiplayer match gets terminated with the "out of sync error". This is actually very useful, because prevents game from behing "hacked", and multiplayer matches are much more fair. On wine, some "re-written" windows function doesn't always return the same results as on Windows, and then it throws Out of Sync. Unfortunately, detecting which function it is is impossible, especially in Multiplayer mode with 60 seconds timeout, where analyzing a debugger breakpoint might take longer than that. Let's just hope that it's fine in wine ver. 7.1 :)
Best regards,
Dr.MonaLisa
Ministry of Game Affairs
Department of Control and Complains
User avatar
JoseskVolpe
Posts: 4
Joined: 16 Feb 2022, 03:57
Been thanked: 1 time

Re: ¡Dr. Monalisa is now platinum on GNU/Linux with Wine!

Post by JoseskVolpe »

Dr.MonaLisa wrote: 18 Feb 2022, 10:54
By DirectX 9, I meant the "DirectX End-User Runtimes (June 2010)" from https://www.microsoft.com/en-us/downloa ... px?id=8109
In earlier versions of UP1.5 on wine, it required to use: "winetricks d3dx9_43", "winetricks d3dcompiler_43" (and possibly more). I don't think these are the core wine files.

The UP1.5 installer installs these redistributables, because I'm following the official documentation: https://docs.microsoft.com/en-us/window ... -installer
Microsoft wrote: Install the redistributable components every time.

A game's installation process should install the DirectX redistributable components during every single installation without allowing users to opt-out of it. If you allow opting-out, then some users will guess that they don't need it, and if they actually do, the game will not run.
Microsoft wrote: Let the DirectX installer check for optional components.

Do not assume that the latest optional components are already installed on a system, because Windows Update and Service Packs do not provide any of DirectX's optional components. You must install the DirectX runtime either by running dxsetup.exe directly or calling DirectSetup.
Oooh got it, i thought it were the API itself. Well, if that's documented, so i'm sure Wine developers have it in mind.
Interesting is that Wine also implements d3dx9_43 and d3dcompiler_43 for some reason:
https://github.com/wine-mirror/wine/tre ... s/d3dx9_43
https://github.com/wine-mirror/wine/tre ... ompiler_43
Dr.MonaLisa wrote: 18 Feb 2022, 10:54
Oh, that's not a problem. I thought it's invalid because it's right under "Application Details: Version: Dr. Monalisa Unofficial Patch 1.5"
Indeed, Wine's website design is quite weird lol
Dr.MonaLisa wrote: 18 Feb 2022, 10:54 The other thing I remember from the older versions of Wine, is that in Multiplayer Games the game often threw the "Out of Sync" error. This happens when one of players game "simulation" gets incorrect. In EE2, all players "simulate" the game on their computers (not only the host player). When something incorrect happens, the multiplayer match gets terminated with the "out of sync error". This is actually very useful, because prevents game from behing "hacked", and multiplayer matches are much more fair. On wine, some "re-written" windows function doesn't always return the same results as on Windows, and then it throws Out of Sync. Unfortunately, detecting which function it is is impossible, especially in Multiplayer mode with 60 seconds timeout, where analyzing a debugger breakpoint might take longer than that. Let's just hope that it's fine in wine ver. 7.1 :)
I did not tested online gameplay this time, because i didn't had time. But i'm sure it's better.
Last time i tested it on Wine 6.16, it were running fine if i had privileged Empire Earth 2 to use my internet, and had a good connection speed. If i were downloading something (and probably it would occur if i were in a Discord call aswell, for example) while playing, then i was having the Out of Sync error.
These users thanked the author JoseskVolpe for the post:
Dr.MonaLisa
Post Reply

Return to “General Talking”