Coder Social home page Coder Social logo

valvesoftware / proton Goto Github PK

View Code? Open in Web Editor NEW
23.6K 374.0 1.0K 125.84 MB

Compatibility tool for Steam Play based on Wine and additional components

License: Other

Shell 0.01% C 26.88% C++ 70.81% Python 0.47% C# 1.55% Makefile 0.14% Roff 0.13% Ruby 0.01%
proton

proton's Introduction

Introduction

Proton is a tool for use with the Steam client which allows games which are exclusive to Windows to run on the Linux operating system. It uses Wine to facilitate this.

Most users should use Proton provided by the Steam Client itself. See this Steam Community post for more details.

The source code is provided to enable advanced users the ability to alter Proton. For example, some users may wish to use a different version of Wine with a particular title.

The changelog is available on our wiki.

Obtaining Proton sources

Acquire Proton's source by cloning https://github.com/ValveSoftware/Proton and checking out the branch you desire.

You can clone the latest Proton to your system with this command:

git clone --recurse-submodules https://github.com/ValveSoftware/Proton.git proton

Be sure to update submodules when switching between branches:

git checkout experimental_6.3
git submodule update --init --recursive

If you want to change any subcomponent, now is the time to do so. For example, if you wish to make changes to Wine, you would apply them to the wine/ directory.

Building Proton

Most of Proton builds inside the Proton SDK container with very few dependencies on the host side.

Preparing the build environment

You need either a Docker or a Podman setup. We highly recommend the rootless Podman setup. Please refer to your distribution's documentation for setup instructions (e.g. Arch Podman / Docker, Debian Podman / Docker).

The Easy Way

We provide a top-level Makefile which will execute most of the build commands for you.

After checking out the repository and updating its submodules, assuming that you have a working Docker or Podman setup, you can build and install Proton with a simple:

make install

If your build system is missing dependencies, it will fail quickly with a clear error message.

After the build finishes, you may need to restart the Steam client to see the new Proton tool. The tool's name in the Steam client will be based on the currently checked out branch of Proton. You can override this name using the build_name variable.

See make help for other build targets and options.

Manual building

Configuring the build

mkdir ../build && cd ../build
../proton/configure.sh --enable-ccache --build-name=my_build

Running configure.sh will create a Makefile allowing you to build Proton. The scripts checks if containers are functional and prompt you if any host-side dependencies are missing. You should run the command from a directory created specifically for your build.

The configuration script tries to discover a working Docker or Podman setup to use, but you can force a compatible engine with --container-engine=<executable_name>.

You can enable ccache with --enable-cache flag. This will mount your $CCACHE_DIR or $HOME/.ccache inside the container.

--proton-sdk-image=registry.gitlab.steamos.cloud/proton/soldier/sdk:<version> can be used to build with a custom version of the Proton SDK images.

Check --help for other configuration options.

NOTE: If SELinux is in use, the Proton build container may fail to access your user's files. This is caused by SELinux's filesystem labels. You may pass the --relabel-volumes switch to configure to cause the container engine to relabel its bind-mounts and allow access to those files from within the container. This can be dangerous when used with system directories. Proceed with caution and refer your container engine's manual.

Building

make

Important make targets:

make install - install Proton into your user's Steam directory, see the install Proton locally section for details.

make redist - create a redistribute build (redist/) that can be copied to ~/.steam/root/compatibilitytools.d/.

make deploy - create a deployment build (deploy/). This is what we use to deploy Proton to Steam users via Steamworks.

make module=<module> module - build both 32- and 64-bit versions of the specified wine module. This allows rapid iteration on one module. This target is only useful after building Proton.

make dxvk / make vkd3d-proton - rebuild DXVK / vkd3d-proton.

Debug Builds

To prevent symbol stripping add UNSTRIPPED_BUILD=1 to the make invocation. This should be used only with a clean build directory.

E.g.:

mkdir ../debug-proton-build && cd ../debug-proton-build
../proton/configure.sh --enable-ccache --build-name=debug_build
make UNSTRIPPED_BUILD=1 install

Install Proton locally

Steam ships with several versions of Proton, which games will use by default or that you can select in Steam Settings' Steam Play page. Steam also supports running games with local builds of Proton, which you can install on your machine.

To install a local build of Proton into Steam, make a new directory in ~/.steam/root/compatibilitytools.d/ with a tool name of your choosing and place the directory containing your redistributable build under that path.

The make install target will perform this task for you, installing the Proton build into the Steam folder for the current user. You will have to restart the Steam client for it to pick up on a new tool.

A correct local tool installation should look similar to this:

compatibilitytools.d/my_proton/
├── compatibilitytool.vdf
├── filelock.py
├── LICENSE
├── proton
├── proton_dist.tar
├── toolmanifest.vdf
├── user_settings.sample.py
└── version

To enable your local build in Steam, go to the Steam Play section of the Settings window. If the build was correctly installed, you should see "proton-localbuild" in the drop-down list of compatibility tools.

Each component of this software is used under the terms of their licenses. See the LICENSE files here, as well as the LICENSE, COPYING, etc files in each submodule and directory for details. If you distribute a built version of Proton to other users, you must adhere to the terms of these licenses.

Debugging

Proton builds have their symbols stripped by default. You can switch to "debug" beta branch in Steam (search for Proton in your library, Properties... -> BETAS -> select "debug") or build without stripping (see Debug Builds section).

The symbols are provided through the accompanying .debug files which may need to be explicitly loaded by the debugging tools. For GDB there's a helper script wine/tools/gdbinit.py (source it) that provides load-symbol-files (or lsf for short) command which loads the symbols for all the mapped files.

For tips on debugging see docs/DEBUGGING.md.

compile_commands.json

For use with clangd LSP server and similar tooling.

Projects built using cmake or meson (e.g. vkd3d-proton) automatically come with compile_commands.json. For autotools (e.g. wine) you have to configure the build with --enable-bear that uses bear to create the compilation database. It's not on by default as it make the build slightly slower.

The build system collects all the created compile_commands.json files in a build subdirectory named compile_commands/.

The paths are translated to point to the real source (i.e. not the rsynced copy). It still may depend on build directory for things like auto-generated config.h though and for wine it may be beneficial to run tools/make_requests in you source directories as those changes are not committed.

You can then configure your editor to use that file for clangd in a few ways:

  1. directly - some editors/plugins allow you to specify the path to compile_commands.json
  2. via .clangd file, e.g.
cd src/proton/wine/
cat > .clangd <<EOF
CompileFlags:
  CompilationDatabase: ../build/current-dev/compile_commands/wine64/
EOF
  1. by symlinking:
ln -s ../build/current-dev/compile_commands/wine64/compile_commands.json .

Runtime Config Options

Proton can be tuned at runtime to help certain games run. The Steam client sets some options for known games using the STEAM_COMPAT_CONFIG variable. You can override these options using the environment variables described below.

The best way to set these environment overrides for all games is by renaming user_settings.sample.py to user_settings.py and modifying it appropriately. This file is located in the Proton installation directory in your Steam library (often ~/.steam/steam/steamapps/common/Proton #.#).

If you want to change the runtime configuration for a specific game, you can use the Set Launch Options setting in the game's Properties dialog in the Steam client. Set the variable, followed by %command%. For example, input "PROTON_USE_WINED3D=1 %command%" to use the OpenGL-based wined3d renderer instead of the Vulkan-based DXVK renderer.

To enable an option, set the variable to a non-0 value. To disable an option, set the variable to 0. To use Steam's default configuration, do not specify the variable at all.

All of the below are runtime options. They do not effect permanent changes to the Wine prefix. Removing the option will revert to the previous behavior.

Compat config string Environment Variable Description
PROTON_LOG Convenience method for dumping a useful debug log to $PROTON_LOG_DIR/steam-$APPID.log. Set to 1 to enable default logging, or set to a string to be appended to the default WINEDEBUG channels.
PROTON_LOG_DIR Output log files into the directory specified. Defaults to your home directory.
PROTON_WAIT_ATTACH Wait for a debugger to attach to steam.exe before launching the game process. To attach to the game process at startup, debuggers should be set to follow child processes.
PROTON_CRASH_REPORT_DIR Write crash logs into this directory. Does not clean up old logs, so may eat all your disk space eventually.
wined3d PROTON_USE_WINED3D Use OpenGL-based wined3d instead of Vulkan-based DXVK for d3d11, d3d10, and d3d9.
nod3d11 PROTON_NO_D3D11 Disable d3d11.dll, for d3d11 games which can fall back to and run better with d3d9.
nod3d10 PROTON_NO_D3D10 Disable d3d10.dll and dxgi.dll, for d3d10 games which can fall back to and run better with d3d9.
noesync PROTON_NO_ESYNC Do not use eventfd-based in-process synchronization primitives.
nofsync PROTON_NO_FSYNC Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.)
noxim PROTON_NO_XIM Enabled by default. Do not attempt to use XIM (X Input Methods) support. XIM support is known to cause crashes with libx11 older than version 1.7.
disablenvapi PROTON_DISABLE_NVAPI Disable NVIDIA's NVAPI GPU support library.
nativevulkanloader Use the Vulkan loader shipped with the game instead of Proton's built-in Vulkan loader. This breaks VR support, but is required by a few games.
forcelgadd PROTON_FORCE_LARGE_ADDRESS_AWARE Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
heapdelayfree PROTON_HEAP_DELAY_FREE Delay freeing some memory, to work around application use-after-free bugs.
gamedrive PROTON_SET_GAME_DRIVE Create an S: drive which points to the Steam Library which contains the game.
noforcelgadd Disable forcelgadd. If both this and forcelgadd are set, enabled wins.
oldglstr PROTON_OLD_GL_STRING Set some driver overrides to limit the length of the GL extension string, for old games that crash on very long extension strings.
vkd3dfl12 Force the Direct3D 12 feature level to 12, regardless of driver support.
vkd3dbindlesstb Put force_bindless_texel_buffer into VKD3D_CONFIG.
nomfdxgiman WINE_DO_NOT_CREATE_DXGI_DEVICE_MANAGER Enable hack to work around video issues in some games due to incomplete IMFDXGIDeviceManager support.
noopwr WINE_DISABLE_VULKAN_OPWR Enable hack to disable Vulkan other process window rendering which sometimes causes issues on Wayland due to blit being one frame behind.
hidenvgpu PROTON_HIDE_NVIDIA_GPU Force Nvidia GPUs to always be reported as AMD GPUs. Some games require this if they depend on Windows-only Nvidia driver functionality. See also DXVK's nvapiHack config, which only affects reporting from Direct3D.
WINE_FULLSCREEN_INTEGER_SCALING Enable integer scaling mode, to give sharp pixels when upscaling.
cmdlineappend: Append the string after the colon as an argument to the game command. May be specified more than once. Escape commas and backslashes with a backslash.
nosteamffmpeg PROTON_NO_STEAM_FFMPEG Ignore ffmpeg that ships with Steam. Some videos may not play.
xalia PROTON_USE_XALIA Enable Xalia, a program that can add a gamepad UI for some keyboard/mouse interfaces.
seccomp PROTON_USE_SECCOMP Note: Obsoleted in Proton 5.13. In older versions, enable seccomp-bpf filter to emulate native syscalls, required for some DRM protections to work.
d9vk PROTON_USE_D9VK Note: Obsoleted in Proton 5.0. In older versions, use Vulkan-based DXVK instead of OpenGL-based wined3d for d3d9.

proton's People

Contributors

999eagle avatar adamnv avatar aeikum avatar alasky17 avatar cjacek avatar clanig avatar doitsujin avatar epouech avatar giomasce avatar guy1524 avatar hdmap avatar ivyl avatar jactry avatar joshua-ashton avatar jozefkucia avatar jwhite66 avatar kisak-valve avatar liam-middlebrook avatar mcoffin avatar nanonyme avatar nephyrin avatar nsivov avatar plagman avatar rbernon avatar smcv avatar supreeeme avatar tcarrio avatar twhitehead avatar ziqingh avatar zzhiyi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

proton's Issues

Dishonored (205100)

I tested Dishonored. The game itself works fine, controller is detected and saves can be stored/loaded. I experienced some sluggishness in the menus until shaders were loaded, and I had a small problem with full screen (changing to windowed mode and then full screen again fixed it), but this could be my set up. I'd consider this ready for whitelisting 🤷‍♀️.

  • Ubuntu 18.04.1 LTS (64 bit 4.15.0-32-generic)
  • GeForce GTX 1070/PCIe/SSE2 (396.51)
  • Proton 3.7 (default configuration)

System information from steam

Install destination filesystem type 0 disk space

Hi,
I have been running standard steam client on Manjaro for two years with a zfs dataset as the storage location for games. No problems so far.
After activating the beta I can install new games to folders with an xfs filesystem but not to a mounted zfs dataset.
I guess wine/proton does not yet recognize zfs. Can this be added?

ZFS mount:
grafik

xfs partition:
grafik

xcb/xcb.h missing on macOS

So, I'm trying to compile this on macOS Sierra. I followed all of the instructions for building on macOS.
I just got this error message:
/Users/eisnerguy1/proton/SDL-mirror/src/video/./khronos/vulkan/./vk_platform.h:117:10: fatal error: 'xcb/xcb.h' file not found

Here's the full Terminal output after running "./build_proton.sh":
terminal_output.txt

Looks like there's something missing here. Is it something I need to install via Homebrew?

DXVK 0.70

Not sure if this is already being worked on, but here is an issue to track it.

Assume this is more of a difficult update due to the change of install mechanism and the inclusion of directx 10

Phantom Doctrine (UE4) - all audio sources are at max volume

After getting the game to launch (see #32), all audio sources ingame are at max volume regardless of distance from the camera. The volume sliders in the ingame settings menu don't do anything (always max volume).

Additionally, audio is very crackly and skippy.

Trying to launch a game on an NTFS drive fails

I have two steam library folders, one on my SSD, located at ~/.local/share/Steam, and one stored on my HDD, mounted at /mnt/hd, the HDD one is set to default. It seems that Proton installs to the default folder, /mnt/hd/SteamLibrary-linux/steamapps/common/Proton 3.7/.
Trying to launch A Hat in Time fails with the following

Traceback (most recent call last):
  File "/mnt/hd/SteamLibrary-linux/steamapps/common/Proton 3.7/proton", line 89, in <module>
    tar.extractall(path=basedir + "/dist")
  File "/usr/lib/python2.7/tarfile.py", line 2081, in extractall
    self.extract(tarinfo, path)
  File "/usr/lib/python2.7/tarfile.py", line 2118, in extract
    self._extract_member(tarinfo, os.path.join(path, tarinfo.name))
  File "/usr/lib/python2.7/tarfile.py", line 2202, in _extract_member
    self.makelink(tarinfo, targetpath)
  File "/usr/lib/python2.7/tarfile.py", line 2280, in makelink
    os.symlink(tarinfo.linkname, targetpath)
OSError: [Errno 22] Invalid argument

EDIT: Some more information:
SSD is ext4
HDD is ntfs-3g
OS: Arch Linux
Python 2 and 3 are installed.

Disgaea PC (405900)

I tested Disgaea PC and it worked perfectly fine for me, including sounds, controller input, effects, ... (or at least I didn't notice any difference compared to windows)

  • Fedora 28 (4.17.14-202.fc28.x86_64)
  • GTX770 (396.45)
  • R7 1700X
  • Proton 3.7 (default configuration)

System Information from Steam

Plans for contributing back to upstream?

Hi!

It's very nice to see such a big company standing behind Linux support for gaming.

I (and probably the entire Linux community) am very interested in knowing if there are any plans to upstream the work you're putting in Proton. If there are, are you aiming at upstreaming everything or just some pieces?

Regards!

Grand Theft Auto V (271590)

I got the Rockstar Social Club launcher to work from Steam Play after running the Winetricks corefonts verb, but the game always crashes for me on startup, regardless of whether I have esync or DXVK disabled. I have tried running the game in the built in safe mode as well. Curiously enough, there have been reports of the game working with Proton for other people.

Whenever the game crashes, the launcher catches it, and prompts to try again. This stack trace is printed to the console as well.

Info:

  • Distribution: Arch
  • CPU: AMD Ryzen 3 1200
  • GPU: Nvidia GeForce GTX 1050 Ti
  • GPU Driver: Proprietary
  • GPU Driver Version: 396.51

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

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:

  • Skyrim
  • A Hat in Time
  • Phantom Doctrine
  • Seemingly any UE3 or UE4 game

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)?

Hyperdimension Neptunia U: Action Unleashed (387340)

There are some elements that fail to load in the game. The videos from the opening does not load, neither the Idea Factory logo, Compile Heart logo and opening video. After that, in game, some elements don't work too, as most of the characters elements and some enemies, as doggos. One funny thing is the fact the Steam Overlay does not show the FPS.

Here is one screenshot showing the "Action" part of the game:

captura de tela_2018-08-21_21-14-38

System information: https://gist.github.com/FurretUber/4b9e506475e91f64e4204555a20a0886

I would like to thank you for this effort. Neptunia U was rated as "Garbage" and completely unplayable. Now it's pretty good, nearly perfect. 👍

Slap City - Fullscreen Freezes Game

I am running Debian Buster, and with the steam beta version of Proton I have a variety of issues compared to running Steam in Wine Staging.

I had set the game to use Fullscreen, and now with Fullscreen, the game stalls until Gnome prompts me to kill the process.

Edit: I have a Radeon RX 570, and I am running Gnome under Wayland (So Steam is running under xWayland)

Force Windows build?

Is there any way to force a game that does have support for Linux to work with the Windows build through Steam play? If not, can we get a method for doing that?

Some games might run better due to more support being put into the Windows version of that game so it would be better to actually run it through Proton instead.

SteamOS - no settings option to toggle "try with all games"

Tested a few games from the list, and many many thanks! I saw you could enable the option to allow Proton to work with any game, even if not on the approved list (say you wanted to test one out). Is this possible to toggle on SteamOS?

image

Q: Can I try a game with Proton even if it's not marked as compatible?

Yes; head to the Steam Play options of your Steam Client and you'll be able to enable it for all games.

https://steamcommunity.com/games/221410/announcements/detail/1696055855739350561

The Elder Scrolls V: Skyrim Special Edition (489830)

Unsure if this is where to leave such an issue.

I tested Proton out with The Elder Scrolls V: Skyrim Special Edition and while it works, seemed to have okay performance the NPCs didn't seem to have any voices, yet other audio did work.

The Incredible Adventures of Van Helsing: Final Cut Can't get online (400170)

I can't get online in this game, no matter if I want to register or to login, there is always either a network error or the game crashes. However, the game works in offline mode.

Here's the log output when it crashes on login: https://gist.github.com/NoXPhasma/6cf99e10eb74d87ad2c1387b3ae2da11

What does not work:

  • Register/Login
  • Playing in DX11 mode, the game starts up fine, but the loading screen when starting the campaign never finishes.

What does work:

  • game starts up in DX9/11 and OpenGL.
  • Game is playable in in OpenGL Mode.
  • Gamepad support

What was not tested:

  • Online mode
  • Playing in DX9

Enable "Automatically capture the mouse in full-screen windows" by default

This is a setting in winecfg under Graphics. Most games require this to function properly. It should probably be checked by default.

In the mean time, this seems to work, however I'm not sure if it may break anything:

WINEPREFIX=~/.steam/steam/steamapps/compatdata/APPID/pfx/ winecfg

Perhaps a Proton winecfg would also be beneficial to this #24

Proton needs wine-mono support

The game Space Engineers does not open, not showing even the splash screen. I've noticed the following in the log when I try to open it:

wine: Call from 0x7b43c45c to unimplemented function mscoree.dll.CorIsLatestSvc, aborting
wine: Unimplemented function mscoree.dll.CorIsLatestSvc called at address 0x7bc50023:0x7b43c45c (thread 0015), 
starting debugger...

After the starting debugger message there are no relevant messages.

System specifications: https://gist.github.com/FurretUber/4b9e506475e91f64e4204555a20a0886

Support (unsupported) access to winecfg

Let me preface this that I understand the need to maintain the general configuration of the Wine prefix.

However, for those who are willing to dig in and solve some issues that are specific to some games (Dark Souls II mouse issue can be solved with a virtual desktop set via winecfg), it could be very useful. This functionality can be openly stated as unsupported, and if used on technically supported titles there is no guarantee of the behaviour.

I'm going to be making a small edit and submitting a PR, but thought I'd throw an issue for reference first. Let me know what you guys think of the idea!

Games do not run without Python 2.7

I attempted to run some games using Proton (including Quake 3 and Audiosurf, both of which are rated "Platinum" on WineHQ and run normally under normal Wine), and they do not run at all. After clicking "Play", steam will show in the friends list that I am playing the game for a fraction of a second, and then it will immediately change back to "Online". The games do not show up at all, with no windows appearing. I tested using Ubuntu 18.04.1 LTS, with a Radeon R9 270X GPU, and the latest mesa drivers installed from the PPA shown in the guide. I ran Steam via the terminal in order to check if there were any errors, and I saw no errors at all after running the games.
UPDATE: It turns out that after installing the python2.7 package, Proton functions properly. It seems that on some installs, Python 2.7 is not present, which causes Proton to not function.

Importing a library from a windows install /w steam play forced can overwrite files if the title has a linux version

If you have steam play beta enabled+forced and import a windows steam library, if any of the titles have linux compat they will be overwritten with the linux versions.
Normally this wouldn't be an issue (besides kind of ruining the windows side of things), but there are some games that are listed as having linux compat but haven't actually implemented it yet.

Example:
"Battletech" for instance, is listed as having linux compat, but it consists of an empty folder (with a JPG in a folder if you have the dlc). If you import a windows version of Battletech, during validation it will delete all the data and replace it with an empty folder (and dlc jpg if you have it).

Can't launch Windows games installed on another drive

I'm trying to launch a supported game (or any other windows game) from steam play but it keeps erroring out with

 wine: /mnt/games/SteamLibrary/steamapps/compatdata/698780/pfx is not owned by you

I've tried setting a umask for everyone to read,write, and execute , and a uid/gid with my user, both of which didn't work.
The uid/gid wouldn't let me mount the drive with steam, and the umask returns

OSError: [Errno 1] Operation not permitted: '/mnt/games/SteamLibrary/steamapps/compatdata/698780/pfx//drive_c/Program Files (x86)/Steam/steamclient.dll'

I'm using an NTFS Drive that is mainly used for windows games so only windows normally touches it.
I'd also like to note, if I move the install folder to my local drive which is an ext4 (Arch) it runs great.
But I'd rather not switch my other drive to ext4 or anything like that if I don't have to.

Is there something I'm missing? Something I haven't tried or I'm just being too dumb to notice lol

You Need a Budget 4 seems to be missing corefonts (227320)

For YNAB4, there is as far as I can tell, only a single issue with it. Tooltips are not displaying properly. On a traditional wine setup, this is fixed via installing winetricks and then using that to install corefonts. I am not sure how to do this on proton, but even though you can no longer purchase YNAB4 through steam, this same fix would likely apply to many other games with font rendering issues as the corefonts dependency is pretty common.

Recettear: An Item Shop's Tale (70400)

OS: Arch Linux 64 bits, mostly up-to-date.
Proton 3.7.

No sound when trying to play Recettear. It seems to be a known issue on wine:

You have to install dsound and directmusic with winetricks to get audio working

Taken from here.

Not sure yet about the other problems described on that AppDB link.
Seems to mostly work ok from some minutes of experience.

Slap City (725480)

I am running Debian Buster, and with the steam beta version of Proton I have a variety of issues compared to running Steam in Wine Staging.

Character models do not load, all other game models have been observed to load, although due to #25 I am struggling to test this further.

Edit: I have a Radeon RX 570, and I am running Gnome under Wayland (So Steam is running under xWayland)

Age Of Empire 3: Complete Collection (105450)

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

glslang should be a git submodule

I notice that glslangValidator is precompiled - this should probably be a git submodule to allow for easier building on macOS (and other Linux distros).

[Whitelist] Pid (218740)

I tested Pid and it worked perfectly, besides the fact that my specific controller wouldn't be detected. Input via keyboard works perfectly fine, though. Not sure if this qualifies for whitelisting.

  • Ubuntu 18.04.1 LTS (64 bit 4.15.0-32-generic)
  • GeForce GTX 1070/PCIe/SSE2 (396.51)
  • Proton 3.7 (default configuration)

System information from steam

Slap City - No Stock Icons

I am running Debian Buster, and this is an issue I also had running steam through wine staging, I am missing stock icons for all characters in Slap City.

Edit: I have a Radeon RX 570, and I am running Gnome under Wayland (So Steam is running under xWayland)

Crashing with esync enabled

Phantom Doctrine (UE4) crashes on startup with esync enabled. With it disabled using PROTON_NO_ESYNC in user_settings.py, the game starts up fine. (however there are still some issues)

In terminal while crashing:

eventfd: Too many open files
esync: write: Bad file descriptor
Protocol error: process 0028: sendmsg: Bad file descriptor

Keyboard/Mouse input doesn't work in rendered games

OS: NixOS 18.03.133126.4df3426f5a5 (Impala) x86_64
Drivers: mesa

I don't know what specifics I should give but input doesn't work with any games at all. If I run something graphical like the Creation Kit however, input and everything works perfectly. I can't test controllers but I tried an external keyboard and nothing changed.
Games Tested:
Skyrim(Vanilla)
Star Wars Battlefront 2(2005)
Mount & Blade Demo (This one works a little bit but pressing buttons to load a new game or anything doesn't work, the mouse just flickers)
TESIII: Morrowind doesn't even work, crashes once it opens, though idc because OpenMW

Support for legacy Nvidia GPUs

The requirement of Nvidia 396.51 means that many GPUs will never function with this software. This should really be changed to at least work with the legacy 390xx drivers.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.