ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
23.87k stars 1.04k forks source link

Age Of Empire 3: Complete Collection (105450) #17

Open Loooooouuuuu opened 6 years ago

Loooooouuuuu commented 6 years ago

Hello !

I'm trying to install AOE 3 Complete Collection on Steam. The installation goes well, but I get this when I start the game:

image

When I type my CD key, I cannot type the first 5 characters. I'm limited to only 4.

I think it's related to this : https://bugs.winehq.org/show_bug.cgi?id=20456. In this, "alexandre.rozier" said

This problem appears when one has not installed the correct windows fonts. By installing with winetricks the "all fonts" package, this problem goes away and one can enter 5 chars into each field.

How can I do that using Proton ?

Thanks a lot. This project is amazing

BloodyIron commented 5 years ago

has that been communicated to WINE devs?

Bumbadawg commented 5 years ago

Nota bene: performance increased a lot with latest Proton 4.11 and the futex patched kernel 5, (using Feral's gamemode as well) PROTON_USE_D9VK=1 DXVK_HUD=fps gamemoderun %command%

Mte90 commented 5 years ago

performance increased a lot with latest Proton 4.11 and the futex patched kernel 5, (using Feral's gamemode as well) PROTON_USE_D9VK=1 DXVK_HUD=fps gamemoderun %command%

If to someone is not clear where put this string, is inside the proprieties of the game inside steam, right click to the game->proprieties and press launch options.

Bumbadawg commented 5 years ago

@Mte90 indeed, nor do the futex. Good you clear it up. I thought it was a report thread mostly, not made for regular gamer support.

thawkins commented 5 years ago

i am facing the PID problem too, but i cant get any of the fixes to work because there are no proton_run files in the /tmp directory, i'm on fedora 30.

ryao commented 5 years ago

i am facing the PID problem too, but i cant get any of the fixes to work because there are no proton_run files in the /tmp directory, i'm on fedora 30.

Installing .NET is no longer needed, so you can skip that part of the instructions,

EternalBlueFlame commented 4 years ago

I seem to have gotten my install working flawlessly, tested singleplayer, multiplayer, and various graphics settings.

WITH PROTONTRICKS: NOTE: installing protontricks as sudo gave me problems in ubuntu 19, but installing as normal user worked fine. Additionally protontricks should work regardless of distro, and there's support for the steam flatpak. NOTE 2: if you have to reinstall protontricks, you may have to manually delete the protontricks file due to permissions, in my case a simple pipx uninstall couldn't remove the file. This is the variant I used > https://github.com/Matoking/protontricks Additional note that installing pip seems to be required to use the recommend pipx installer.

then run protontricks 105450 mfc42 winxp l3codecx d3dx9

WITHOUT PROTONTRICKS: NOTE: I have not tested this method, but considering protontricks is mostly a shorthand, there shouldn't be issue, however due to filestructure variants, it likely will only work on debian/ubuntu based distros, with the deb version of steam. WINEPREFIX=~/.steam/steam/steamapps/compatdata/105450/pfx/ winetricks mfc42 winxp l3codecx d3dx9

ADDITIONAL NOTES:

BloodyIron commented 4 years ago

While it is good to know the steps to overcome this issue, the fact we need to use winetricks to do this really defeats the point of Proton to begin with: Convenience.

This needs to get baked in already! This needs to be part of Proton so gamers don't need to winetricks each time they install AoE3. There are many gamers who are intimidated by this kind of work, and this completely defeats Proton's primary goals.

Please VALVe, bake this in already!

Holzhaus commented 4 years ago

@BloodyIron They simply can't. This would violate Microsoft's license and request after request won't change that. What needs to happen is that someone implements an open-source version of the libraries listed above, to a degree that suffices to run AOE 3. This is a big undertaking. If you're willing to help out, head over to the wine project and send patches.

EternalBlueFlame commented 4 years ago

@Holzhaus pre-including a series of winetricks calls for a game installer/updater has nothing to do with microsoft licensing, they already use similar tricks for thousands of other games both on and off windows, ever see that occasional window that pops up saying "Installing Microsoft VC Redist Package"?

The amount of necessary additional DLL development for wine to cover the features, mfc42 for example, on it's own, is far more outreachingly difficult than steam just adding one additional line of configs.

thawkins commented 4 years ago

Perhaps the best approach is to formalize a way of scriping any winetricks etc hacks, in such a way they can be added simply to proton, ie a directory of files, one per game that runs before a game launches and checks for the right conditions, and install corrections if not.

On Thu, 12 Dec 2019, 08:56 Jonathan, notifications@github.com wrote:

@Holzhaus https://github.com/Holzhaus pre-including a series of winetricks calls for a game installer/updater has nothing to do with microsoft licensing, they already use similar tricks for thousands of other games both on and off windows, ever see that occasional window that pops up saying "Installing Microsoft VC Redist Package"?

The amount of necessary additional DLL development to cover the features, mfc42 for example, is far more outreachingly difficult than steam just adding one additional line of configs.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ValveSoftware/Proton/issues/17?email_source=notifications&email_token=AAADRSOZGFI5NC2Y4TA56RDQYGD2RA5CNFSM4FQ3NIAKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGVC2JI#issuecomment-564800805, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAADRSO6GKPL72TTFBO45UDQYGD2RANCNFSM4FQ3NIAA .

Holzhaus commented 4 years ago

@Holzhaus pre-including a series of winetricks calls for a game installer/updater has nothing to do with microsoft licensing, they already use similar tricks for thousands of other games both on and off windows, ever see that occasional window that pops up saying "Installing Microsoft VC Redist Package"?

The VC redistributable is included by game devs, not Steam/Proton. Also, Steam cannot legally wrap winetricks AFAIK. Some stuff available via winetricks can only be installed if you own a copy of Windows, e. g. the dotnet4 (used by lots of game launchers) EULA states:

If you are licensed to use Microsoft Windows operating system software (for which this supplement is applicable) (the “software”), you may use this supplement. You may not use it if you do not have a license for the software. You may use a copy of this supplement with each validly licensed copy of the software.

Also, if I was a Valve employee I wouldn't want to maintain a list of winetricks commands for every Windows steam game in existence. It just doesn't scale. Those man hours are better spent with implementing these libraries in wine.

thawkins commented 4 years ago

Also, if I was a Valve employee I wouldn't want to maintain a list of winetricks commands for every Windows steam game in existence. It just doesn't scale. >That man hours are better spent with implementing these libraries in wine.

If a simple bash-script can be used to create a "Patch" for a game, then a much much larger population of contributors would be able to contribute these files. all that is needed is the ability to integrate those scripts into the proton framework. They could even be placed in a separate repository and proton could sync them from there. the chances of getting these "libraries" coded in C/C++ is low, and there are not many people with the required skills to do it, however i see people providing solution recipes in these issue tickets, that if created as scripts instead could provide the solution required, all that is needed is for the game launcher to look for the scripts if they exist and apply them.

On Fri, Dec 13, 2019 at 10:35 AM Jan Holthuis notifications@github.com wrote:

@Holzhaus https://github.com/Holzhaus pre-including a series of winetricks calls for a game installer/updater has nothing to do with microsoft licensing, they already use similar tricks for thousands of other games both on and off windows, ever see that occasional window that pops up saying "Installing Microsoft VC Redist Package"?

The VC redistributable is included by game devs, not Steam/Proton. Also, Steam cannot legally wrap winetricks AFAIK. Some stuff available via winetricks can only be installed if you own a copy of Windows, e. g. the dotnet4 (used by lots of game launchers) EULA states:

If you are licensed to use Microsoft Windows operating system software (for which this supplement is applicable) (the “software”), you may use this supplement. You may not use it if you do not have a license for the software. You may use a copy of this supplement with each validly licensed copy of the software.

Also, if I was a Valve employee I wouldn't want to maintain a list of winetricks commands for every Windows steam game in existence. It just doesn't scale. That man hours are better spent with implementing these libraries in wine.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ValveSoftware/Proton/issues/17?email_source=notifications&email_token=AAADRSKLMJBPBFPJOE2MXBLQYLYIVA5CNFSM4FQ3NIAKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGYWTRI#issuecomment-565275077, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAADRSO325IFLDMUAN5DPKLQYLYIVANCNFSM4FQ3NIAA .

EternalBlueFlame commented 4 years ago

If a simple bash-script can be used to create a "Patch" for a game, then a much much larger population of contributors would be able to contribute these files. all that is needed is the ability to integrate those scripts into the proton framework. They could even be placed in a separate repository and proton could sync them from there. the chances of getting these "libraries" coded in C/C++ is low, and there are not many people with the required skills to do it, however i see people providing solution recipes in these issue tickets, that if created as scripts instead could provide the solution required, all that is needed is for the game launcher to look for the scripts if they exist and apply them.

The Lutris community is actually good proof this concept works astoundingly well, if Steam implemented similar capabilities or even lent a hand to lutris for some proper proton support, that could go a very long way. https://lutris.net/games/ Not to mention if the community had better ability to fix it themselves in ways like this, valve could track the fixes and use that information to better prioritize what libraries need what kind of work in proton/wine themselves. A point in the right direction like that might even speed up such work.

EternalBlueFlame commented 4 years ago

The VC redistributable is included by game devs, not Steam/Proton. Also, Steam cannot legally wrap winetricks AFAIK. Some stuff available via winetricks can only be installed if you own a copy of Windows, e. g. the dotnet4 (used by lots of game launchers)

It's included by the devs and wrapped/run by steam itself, thus why the installer uses the steam UI, if the game includes dotnet4, as some do so they can install and run on windows 7 and older that don't pre-include it, you would be met with the same potential legal issue. Additionally if steam is just calling a terminal command of a 3rd party program, such as winetricks, as you would expect some more lazy bash scripts to do, the legal issue falls on how winetricks obtains and uses the software, not how steam would obtain and use winetricks.

BloodyIron commented 4 years ago

Whether STEAM calls winetricks or the user calls winetricks the legal issue is the same, it's legally fine. If Microsoft had an issue with how winetricks installed .NET and such, they would have taken action by now, they're no legal slouches.

This kind of an automation/scripting/streamlining is effectively identical to how STEAM already installs directx and other aspects games need on first launch (this is the same in Linux and Windows). So it is a moot point.

We've clearly identified what it takes to get past this bug, we just need to add it to the Proton steps that STEAM automatically takes, otherwise why even bother developing Proton?... if we can't bridge small steps like this, it's pointless IMO.

Holzhaus commented 4 years ago

IMHO it's not legally the same. When a user runs winetricks consciously, he implicitly agrees with it's EULA. You can't really say this for users that just install a game via Steam, because might not even know that it pulls Microsoft dependencies that require a valid Windows license. I might be wrong though.

In any case, Proton already is a great addition to Steam and not pointless at all. Since it's open source so you can propose a feature, and if no dev picks it up you can implement it yourself and send a Pull Request. Being an open-source developer myself I can assure you that just repeatedly demanding stuff and acting entitled on a bug tracker is absolutely not helpful and kills motivation.

BloodyIron commented 4 years ago

When a game installs DirectX or .NET through STEAM already (like, Windows game on Windows), they're never prompted for that dialogue either.

I didn't say Proton was pointless, what I was trying to say that not automating things like winetricks produces a very significant roadblock to the whole reasoning behind Proton. If we're not going to have winetricks stuff baked into Proton then we might as we just use Lutris instead of Proton.

aeikum commented 4 years ago

The "PID generator DLL" error, caused by missing mfc42, should be fixed in Proton 4.11-11. However, you will still need the other workarounds for now.

Echelon9 commented 4 years ago

A report of what doesn't work with Proton 4.11-11, whilst trying to avoid any winetricks/protontricks hacks.

IMHO it is indeed a different legal position when a user manually copies these non-distributable files vs. an embedded script shipped by Valve. Licenses for software stuff actually matters.

Microsoft might indeed go after Valve if they adopted this questionable route, as they have deep pockets, even if Microsoft can't be bothered doing the same for individuals.

thawkins commented 4 years ago

I can confirm it is working on fedora 31/steam with following, the below are all typed into a terminal as is:

  1. sudo dnf install winetricks
  2. pip3 install protontricks --user
  3. protontricks 105450 mfc42 winxp l3codecx d3dx9

Then started up the game and it all works

Note: The above was after assigning the latest version of Proton (4.11-11) to steam play in settings (and waiting until all the resulting downloads had completed) and starting the game up and putting the CD key in, where it stalled at the opening screen, I then rebooted the machine to clean up the processes and applied the procedure above.

The only issues i saw during the install was:

0024:err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead.
0024:err:xrandr:xrandr10_init_modes xrandr 1.2 support required
0009:err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead.
0009:err:xrandr:xrandr10_init_modes xrandr 1.2 support required

I have the nvidia proprietary drivers installed via rpmfusion which i need to have because of the CUDA support, as i work on ML tools as my role. But the above error seems to be more a warning about using v1.0 xrandr instead of 1.2, and it does not seem to effect the games.

So now i have AOE2HD, AOE3 and AOM all working, all i need to sort out now is AOE2DE which stalls on video screen initialization in the same way as AOE3 did before the fix above was deployed.

I'm tempted to try the same fix, but with the AOE2DE gameID

thawkins commented 4 years ago

for the relevant folks, the AOE II DE version can be fixed by using the steam client to show the game files and then renaming resources/_common/movies to something else. it appears that the video playback is dieing,

it may be possible that protontricks [nnnn] l3codecx may fix it,as that is the same symptoms that aoeIII suffered from too.

yurikoles commented 4 years ago

Could not load DATAP.BAR :(

Screenshot_20200229_195201

aidalgol commented 4 years ago

I have tried all the tricks described on this issue and the DLL overrides described on #298 to fix sound, and I still have a major sound issue. I have sound during the intro cinematics and on the menu, but sound almost completely dies after a few seconds into the tutorial. I can hear my unit callouts for the first move command I give him, and then I only hear a short loop of water splashing from then on.

I am using Proton 5 with the flathub distribution of Steam on Debian 10.

legluondunet commented 3 years ago

@yurikoles I just had same error message as you and resolved like this: uninstall game delete compdata folder: ...Steam/steamapps/compatdata/105450/ reinstall the game

BloodyIron commented 3 years ago

Do we still need to take manual steps to be "allowed" to enter the CD Key? Or is that actually baked in now and I can play the game without having to winetricks all the things?

wwagner33 commented 3 years ago

Hi,

I installed AoE3 in my ElementoryOs (based in Ubuntu 18.04), but when I click in Play the program show me the message: I could not load DATAPX.BAR. Can you help me? I use Steam Play on Linux.

Thanks a lot! Itś a amazing project. Congratulations!

Screenshots

![Captura de tela de 2021-07-22 00 59 13](https://user-images.githubusercontent.com/381388/126727305-5b9f816f-e410-4208-97d1-4fb5ac65921c.png) ![Captura de tela de 2021-07-22 00 59 45](https://user-images.githubusercontent.com/381388/126727306-dd86ff1d-9d2d-4f6c-b299-f53f2130c732.png) ![Captura de tela de 2021-07-22 00 59 57](https://user-images.githubusercontent.com/381388/126727307-86cd3399-eb8e-4156-80b5-4b06a174b3c7.png) ![Captura de tela de 2021-07-22 01 01 03](https://user-images.githubusercontent.com/381388/126727308-6863c23f-4e6d-4f49-ab4e-eaebd55ae035.png) ![Captura de tela de 2021-07-22 01 01 30](https://user-images.githubusercontent.com/381388/126727309-12b95534-7b15-4dc4-9148-2d1bfdc34df5.png) ![Captura de tela de 2021-07-22 01 01 57](https://user-images.githubusercontent.com/381388/126727312-c79b55aa-6bed-4d01-98f4-85a6c0a54741.png) ![Captura de tela de 2021-07-22 01 03 08](https://user-images.githubusercontent.com/381388/126727313-1baf6c5d-059d-4b51-b5ff-ab41abc51d08.png)

wwagner33 commented 3 years ago

Hi, everyone!

I installed the Age of Empire II HD Edition and the AoE3 Complete Collection executed correctally. I did not undestand the problem but it is solved.

Thanks.

yurikoles commented 3 years ago

@wwagner33 Thanks for CD Key, frakin saved!

minionprocyk commented 3 years ago

Sharing my recent experience with Proton 6.3-6 and a fresh install. Game loads without any extra workarounds. Multiplayer tends to desync when playing with other windows players w/ AI. But seems to work just fine without AI. Maybe an msxml issue? Skirmishes/campaign/changing menu settings all work as you'd expect.

danilo-bc commented 2 years ago

Installed the game with Proton 6.3-8, only tested multiplayer and single player skirmish.

It properly connects to ESO and gets me into a match. I can either play against AI or a human opponent. The problem is that at the end of the match I'm thrown out of ESO because it says I don't have the proper file permissions to load my Home City. I suspect this is something to do about how Proton changed from 5.x to 6.x in regards to sandboxing the games for compatibility.

I tested creating a city and changing a few cards in Skirmish and I don't have the same problem as I have for ESO, BUT the city and deck choices don't save (probably an invisible "can't write file because of permissions" error).

After this I switched back to 5.13-6 and I could access my home cities and have them saved. I could finish a multiplayer game with AI on a game I didn't host and, in the end, I could upgrade my home city cards and keep playing.

I currently can't test it (time to wipe prefix, reinstall, etc), but I think the game doesn't work by default on 5.13-6, but installing it through 6.x, running it once, then downgrading did the trick.

Lastly, I checked there was a Multiplayer patch by the creators of the game. I installed it, but everyone else is still using the unpatched client, so I had CRC errors. I recommend postponing the patch until the server truly come offline, then.

AJuujarvi commented 1 year ago

@danilo-bc Hi, I tested this and was unable to recreate the issue and the game worked flawlessly. As far as I could tell though, I had to use the multiplayer patch since I didn't have an installation pre multiplayer patch release.

Is this issue with your Home City still happening for you pre-multiplayer patch? Are you having any issues still post-multiplayer patch?

danilo-bc commented 1 year ago

@danilo-bc Hi, I tested this and was unable to recreate the issue and the game worked flawlessly. As far as I could tell though, I had to use the multiplayer patch since I didn't have an installation pre multiplayer patch release.

Is this issue with your Home City still happening for you pre-multiplayer patch? Are you having any issues still post-multiplayer patch?

Hi @AJuujarvi, thank you for replying. Since it's been about 11 months, the issue seems to be solved in newer Proton versions. I can play Multiplayer and edit my home cities. I have found, though, that applying the multiplayer patch hindered my ability to play with my friend. Since we only play with each other and bots, we decided not to apply the patch to simplify the process.

I want to note that all this testing has occurred several months before I post this reply, so the situation may have changed either in terms of ESO or in Proton compatibility.

As far as Proton itself is concerned, it seems to have improved greatly.

evan699 commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/17#issue-352769471

moi ca ma fait pareil

jr1991-g commented 7 months ago

With latest Proton 8.0-5 and Experimental I'm getting this issue. Captura desde 2024-02-07 19-07-06

EDIT: This can be fixed if the game it's installed in the first drive, under .steam. If it's installed on another disk under /mnt/xxxx with a long partition name the aforementioned bug occurs, at least on my laptop. Reproducible under ALL Proton versions, even proton-ge.

ThinkPad-E495 Kernel: 6.5.0-17-generic arch: x86_64 bits: 64
    Desktop: GNOME v: 45.2 Distro: Ubuntu 23.10 (Mantic Minotaur)
CPU:
  Info: dual core AMD Ryzen 3 3200U with Radeon Vega Mobile Gfx [MT MCP]
    speed (MHz): avg: 1397 min/max: 1400/2600
Graphics:
  Device-1: AMD Picasso/Raven 2 [Radeon Vega Series / Radeon Mobile Series]
    driver: amdgpu v: kernel
  API: OpenGL v: 4.6 Mesa 23.2.1-1ubuntu3.1 renderer: AMD Radeon Vega 3
    Graphics (raven LLVM 15.0.7 DRM 3.54 6.5.0-17-generic)