ValveSoftware / Proton

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

Install xact by default (or allow easy winetricks installations?) #54

Closed ghost closed 4 years ago

ghost commented 6 years ago

A lot of games require the xact libraries to be installed in order for audio to function properly. Any chance this could be installed by default, or include an easy way to install things via winetricks?

Some games affected:

For now this seems to work, but I'm not sure if there's any downsides:

WINEPREFIX=~/.steam/steam/steamapps/compatdata/APPID/pfx/ winetricks xact

Perhaps some other common winetricks packages should be installed by default too (like corefonts)?

daniel-j commented 6 years ago

I recall having some issues when installing xact with winetricks vs. using Wine's builtin support, I forgot what games it was.

Do they work with FAudio? https://github.com/ValveSoftware/wine/issues/2

Mushoz commented 6 years ago

Subnautica's debug menu (F3) is missing text. According to WineHQ's database, it requires corefonts to render the text. So corefonts would definitely be nice to have for quite a few titles.

SteveHeist commented 6 years ago

I was trying to do something vaguely similar - use Winetricks to force DirectX 9 usage on a game.

WINEPREFIX=~/.local/share/Steam/steamapps/compatdata/202970/pfx winetricks d3dx9 glsl-enable gdiplus

It does change something, but I get this error sitting at the bottom of the steam log:

pid 19054 != 19053, skipping destruction (fork without exec?).

I have the most up-to-date version of wine-stable currently installed separate from Proton. What might be the issue?

pointhi commented 6 years ago

Other game affected: Banished (rest works fine)

aeikum commented 6 years ago

Native 64-bit xaudio2 is unfortunately broken in Wine, so we can't do this on 64-bit prefixes. See WineHQ bug 38668. We do allow games to install native xaudio2 in 32-bit prefixes. Improving built-in xaudio2 is the right thing to do here, see ValveSoftware/wine#2.

IamSonoma commented 6 years ago

Thanks for the wine tricks trick, WINEPREFIX=/home/#my location#/steamapps/compatdata/#my location#/pfx/ winetricks xact

It ran but stated it was already installed.

I have sound-voices in Lutris and have xact installed and voices work fine. I am hoping for this as I hit F5 every 30 since I never know when it will freeze up. Gets annoying. Native would be better.

This work for others?

Edit: I have full sound now. So far it is not crackly yet. I just need to put a few more hours into it. :) Unfortunately work gets in the way. If it helps anyone else from terminal use: WINEPREFIX=~/.steam/steam/steamapps/compatdata/489830/pfx/ winecfg Add your stuff manually. In my case xact and xaudio2_7

So far it is pretty stable. I have only had a few freezes where I had to kill it with ctrl+alt+X. You also may need to do this if it locks up when you exit the game. When I exit I drop out to the main menu then quit. With freezing how can I test video memory with in SSE? I can test it out side with out a problem. I have a GTX1050 2GB and when the game is running and I manage to get out to the desktop it is using ~1.8 GB @38deg C. I read somewhere that the freeze up could occur due to memory or temperature. It never froze up in windows 10. At this point I am not going back to W10. In game I F5 often since my freezing is totally random. So if anyone know how I can monitor this I would appreciate it. Thanks.

NanoSector commented 6 years ago

I can confirm that installing xact in the A Hat In Time prefix fixes the sound effect issue and makes it so that the game now respects the volume levels you set in its settings.

linkjay commented 6 years ago

Yo, can you change /home/doug to ~ for easy copy and pasting in the top message please?

Actually, your WINEPREFIX is different anyhow because you have a manual location for your Steam library. Can you change it to this in the top message?

WINEPREFIX=~/.steam/steam/steamapps/compatdata/USERID/pfx

Carpette commented 6 years ago

Sorry for the dumb comment but ... nobody said that explicitely: where, exactly, do you put this WINEPREFIX trick ? I wich configuration file ? You just need to put this in the PATH ?

ghost commented 6 years ago

@Carpette in a terminal. You probably need a local wine installation as well (from your package manager). @BlakeHepner has some more details about how to get the app ID over here

linkjay commented 6 years ago

I also just want to confirm that installing xact fixed a Skyrim "no sound card detected" launch error.

Going on what OP said about easier winetricks installations, I hope that could be possible. Make a way to install winetricks to all pfx's with 1 click sort of thing.

Splizard commented 6 years ago

This would also be nice so we can submit pull requests that pull the correct components for specific games (using winetricks).

nstgc commented 6 years ago

Mass Effect (a UE3 game) doesn't require xact, though it does require its own audio fix. ME2 requires neither (also UE3).

parkerlreed commented 6 years ago

xact seems to be installed by default. Sonic Mania for example requires it for non stuttery audio. It works out of the box.

Is that not the case?

lavadrop commented 5 years ago

Use winecfg to override xaudio_2_7 to native, builtin. Worked for both Hellblade: Senua's Sacrifice and Skyrim: SE.

unguul commented 5 years ago

@lavadrop 's suggestion worked for me on openSUSE Tumbleweed with Skyrim Special Edition so thank you!!!

steve7233 commented 5 years ago

I was trying to do something vaguely similar - use Winetricks to force DirectX 9 usage on a game.

WINEPREFIX=~/.local/share/Steam/steamapps/compatdata/202970/pfx winetricks d3dx9 glsl-enable gdiplus

Directory 202970 does not exist. It must be some other name.

moll commented 3 years ago

For what it's worth, configuring Proton's WINE prefix to use the native version of xaudio2_7 also happens to fix Grand Theft Auto V crashing on startup with Proton v5.13 for me.

Without it, it tended to fail with:

INFO: OpenAudioDevice failed: ALSA: Couldn't open audio device: No such device or address
INFO: Assertion failed: 0 && "Failed to open audio device!"
kisak-valve commented 3 years ago

Hello @moll, sounds like you've encountered https://github.com/ValveSoftware/steam-runtime/issues/343 or a closely related issue.