ValveSoftware / Proton

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

Grand Theft Auto V (271590) #37

Open CodingKoopa opened 5 years ago

CodingKoopa commented 5 years ago

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:

john5788 commented 5 years ago

@justeff I know I can get it to work with Lutris/Wine+DXVK, but I'd like to see this working "natively" from within Steam via Steam Play/Proton. I'm just reporting my findings when I try to launch the game "out-of-the-box" and with a proposed fix by a fellow user.

justeff commented 5 years ago

Ok cool ;)

wUFr commented 5 years ago

about blurry textures, i noticed that too... running in 4K with 0.5x scaling (basically 1080p with sharp UI elements) with 16x AF and textures on high.

Could try it without scaling, if that does something... if my 970 wont run away screaming in pain

gripped commented 5 years ago

@AlexeyProkhin Thank you very much for the fix.

Out of curiosity I downloaded wine-staging-3.14-1-x86_64.pkg.tar.xz from the Arch Linux repositories and copied lib/wine/nvapi64.dll.so & lib/wine/.fakedlls/nvapi64.dll to the corresponding dirs in the proton wine prefix.

The game then runs without the need for the fix but the fps is marginally worse. So atm it's better to pretend to be an AMD card !

Still can't quite believe I can play GTA V @ 5760 x 1080 on Linux. FPS slightly worse than Windows but entirely playable :)

john5788 commented 5 years ago

I tried what @gripped suggested and I am able to get the game window to appear for half a second, then crashes again to the Rockstar Social Club launcher.

It looks like something with joystick is causing my problem for crashing:

Backtrace:
=>0 0x00007f0a8c559e4b in libsdl2-2.0.so.0 (+0x36e4b) (0x000000004b7428f0)
  1 0x00007f0a8d1838f4 poll_sdl_device_state+0x123(iface=0x4b742810) [/home/proton/proton/wine/dlls/dinput/joystick_sdl.c:315] in dinput (0x000000004b7428f0)
  2 0x00007f0a8d17a59a JoystickWGenericImpl_Poll+0xf9() in dinput (0x000000000023f9e0)
  3 0x0000000141317e3e in gta5 (+0x1317e3d) (0x000000000023fab0)
  4 0x000000014131969e in gta5 (+0x131969d) (0x000000000023fab0)
  5 0x00000001407da545 in gta5 (+0x7da544) (0x000000000023fab0)
  6 0x00000001407c7a68 in gta5 (+0x7c7a67) (0x000000000023fab0)
  7 0x00000001400147f5 in gta5 (+0x147f4) (0x0000000000000002)
  8 0x000000014156bc9c in gta5 (+0x156bc9b) (0x0000000000000002)
  9 0x00000001400014a8 in gta5 (+0x14a7) (0x000000000023ffd0)
  10 0x0000000141272547 in gta5 (+0x1272546) (0x000000000023ffd0)
  11 0x000000014175d914 in gta5 (+0x175d913) (0x000000000023ffd0)
  12 0x000000007b4777ce start_process+0xfd(entry=0x14175d97c, peb=0x7fffffeaf000) [/home/proton/proton/wine/dlls/kernel32/process.c:1067] in kernel32 (0x000000000023ffd0)
madsbuvi commented 5 years ago

With corefonts installed the game starts, and appears to have decent performance. But the game consistently crashes at the same point ~10 seconds into the first cutscene of the story mode, when one of the characters kicks in a door. PROTON_NO_ESYNC=1 does not appear to make any difference.

Radeon R9 290 Intel i5-6600k mesa version 1:18.3

wUFr commented 5 years ago

@madsbuvi could you try different part of game? I had GTA V crashing on me in first 10 secs when i had unstable RAM overclock, probably not the issue, but you never know :)

madsbuvi commented 5 years ago

I'd need an external save file or something of the sort. I'll install it on windows to make one and let you know. I do not overclock anything.

madsbuvi commented 5 years ago

Okay. I got past the opening to the first save point on windows, and transferred that save via cloud. I noticed that the moment into the first cutscene where it crashes is the exact moment where control is given to the player. Loading the cloud save crashes instantly, which is consistent with player control = crash.

kisak-valve commented 5 years ago

SteamOS and GTA 5, input/focus issues

Issue transferred from https://github.com/ValveSoftware/Proton/issues/1170. @steamoshza posted on 2018-09-02T10:06:16:

hello at valve!

First of all: thank you so much for your efforts, steam play seams to open totally new possibilities, at least for legacy games! Also I have tested proton with another game, some half life 2 mod, it runs really very much perfectly fine with steamOS.

GTA 5 however, causes issues - I'd like to help you to the best of my abilities to resolve this, since I really would love to have it.

The issue starts with the fact that I am not using any desktop distro for this, but SteamOS. The latest steamos-beta is installed (mostly for the nvidia drivers and probably mesa), the game detects and runs with DirectX 11, the performance seems to be very good. I had to install msttcorefonts and manually copy over the fonts via

cp /usr/share/fonts/truetype/msttcorefonts/* /home/steam/.local/share/Steam/steamapps/compatdata/271590/pfx/drive_c/windows/system32/fonts/

.. since you do not provide winetricks to install them and trying to install winetricks from different sources caused dependency problems. without those fonts the launcher simply did not start as it should.

This way I could start it, however, the launcher did not accept any input from the onscreen keyboard. I could resolve this by streaming the game to my PC, where I was able to use the keyboard and CRTL+V the provided CD-key. After that, the game did start, but stutters frequently, although the FPS appear to be stable when in non-stutter and decent, with all settings maxed out.

The show stopper is this: the steam controller flashes all the time and every input seems to map to the controller AND mouse-keyboard at once. NOTE: please DO NOT CONFUSE THIS with the usual 'games switch automatically between mouse+keyboard and gamepad, whatever is being used'; I am not touching anything, and the switching occurs all the time, like 10 times per second. Usually the controller LED should be white, but it keeps flashing like 100/60/100/60 percent all the time - I set the brightness to ~60% as my preference, so this is how I can observe that flashing which typically indicates that the controller is (re-)connecting. However, there is no overlay info in the bottom right corner telling me that the controller is reconnecting, it's just flashing.

This has to be some focus issue with big picture, because once I press the steam home button, the steam overlay also does not respond! Effectively no buttons are working then, I literally have to restart the system or kill -9 GTA5.exe via SSH to regain control of the host. There is absolutely no input accepted from this point on.

Anyway, all of this is unplayable because of this, and I do suspect that (especially because the steam overlay fails to respond) this is more or less some focus issue, which you would be able to fix, hopefully.

In short, how to reproduce this: just install GTA 5 on steamOS, you may want to use my workaround to input your CD key and start the game, ...and then immediately select STORY MODE (it will continue with ONLINE MODE otherwise), and you should be able to see for yourselves.

Please tell me if you have the time or resources to dedicate for this issue – I am a dev myself and do see that this may be something not even worth looking into, but keep in mind that there are many people still playing GTA, and at least that focus issue seems fixable to me, regardless what the game seems to do.

Also, before starting I had to apply this: https://github.com/ValveSoftware/Proton/issues/37#issuecomment-415833819

Thank you Valve!

steamoshza commented 5 years ago

@kisak-valve well I co not concur with the transfer, since I do not believe that this has specifically to do something with the game. regardless what it does, totally losing control/focus of steam, the overlay or any input can't be that much related to the game. it is merely an example for which game this happens with.

so my best guess is that this has to do directly with proton or BPM, GTA must not be able to cause such a severely unresponsive system.

drummerdox commented 5 years ago

Hi, have error "GTA V exited unexpectedly". Validation of steam files have successfully passed.

System: linux mint 18 proton 3.7.3 nvidia drivers v384

Hadware: i7 8gb ram 840m

Will appreciate any help, thanks. https://gyazo.com/4ad0085d934028ba528d0f240bfc9cd6

wUFr commented 5 years ago

@drummerdox have you tried any of the tips that are posted above? If not, try these first and you should probably include more info about your system/os/proton version etc if problem persists

drummerdox commented 5 years ago

@wUFr Thanks. Unfortunately after changes from @AlexeyProkhin , I see this error. "No Directx 10 or 11 adapter or runtime found. Please install latest Directx".

How can I configure direct x adapter ? It seems like I done have program 'winecfg' is currently not installed.

https://gyazo.com/270fbb02700d162d6dcee17f172b18ec

update Problem solved after install new nvidia 390 drivers

besentv commented 5 years ago

I tried using the DXVK config and installing corefonts but the game only shows up for a short time and then crashes with this Log:

[2018-09-02 21:42:49.109] [DISPLAY] Game exited with code 0xc0000005 [2018-09-02 21:42:49.110] [ ERROR ] Unable to stat out-file! [2018-09-02 21:42:49.112] [ ERROR ] **** [2018-09-02 21:42:49.112] [ ERROR ] Setting error condition [2018-09-02 21:42:49.114] [ ERROR ] Category: 1 (ERROR_CATEGORY_LAUNCHER) [2018-09-02 21:42:49.114] [ ERROR ] Code: 107 (LAUNCHER_ERR_GAME_CRASHED) [2018-09-02 21:42:49.114] [ ERROR ] Extra:
[2018-09-02 21:42:49.115] [ ERROR ] * Localised: Launcher error. Code: 107 [2018-09-02 21:42:49.115] [ ERROR ] **** [2018-09-02 21:42:49.116] [ ERROR ] Unable to read out-file! [2018-09-02 21:42:49.118] [ ERROR ] **** [2018-09-02 21:42:49.118] [ ERROR ] Setting error condition [2018-09-02 21:42:49.120] [ ERROR ] Category: 5 (ERROR_CATEGORY_EXIT_CODE) [2018-09-02 21:42:49.120] [ ERROR ] Code: -1073741819 (c0000005) [2018-09-02 21:42:49.121] [ ERROR ] Extra:
[2018-09-02 21:42:49.121] [ ERROR ] * Localised: Grand Theft Auto V exited unexpectedly.

[2018-09-02 21:42:49.121] [ ERROR ] **** [2018-09-02 21:42:49.123] [ ERROR ] Exit code 0xc0000005 indicates a game crash (STATUS_ACCESS_VIOLATION) [2018-09-02 21:42:49.139] [ ERROR ] Unable to clear in-file and out-file! [2018-09-02 21:42:51.656] [DISPLAY] Uninitializing.

My Systeminfo: Kernel: 4.15.0-20-generic x86_64 bits: 64 Desktop: Cinnamon 3.8.8 Distro: Linux Mint 19 Tara Graphics: Card: NVIDIA GM200 [GeForce GTX 980 Ti] Display Server: x11 (X.Org 1.19.6 ) driver: nvidia Resolution: 1920x1080@60.00hz, 1920x1080@60.00hz OpenGL: renderer: GeForce GTX 980 Ti/PCIe/SSE2 version: 4.6.0 NVIDIA 396.54

and this is my Proton Log: https://pastebin.com/JzrNLdwz

Anyone out there who can help me with this?

ardje commented 5 years ago

@kisak-valve : I have an issue regarding GTA V and steamOS, if you want, I will refile it differently. Anyway: When using all the above mentioned work arounds, GTA V works on steamos with steam in big picture mode when using a window manager. When starting GTA V on bare steamos (with the steam dedicated compositor/"window manager"), after the social club login, there is a pink background, and eventually that stops, and then there is a black screen and soft music in the background. It doesn't react to input, so I guess it is crashed halfway.

JasonFinestone commented 5 years ago

I got the game started and playable using just the steam beta client and these 4 things I found in this thread -

  1. I'm on Solus so used this to install corefonts - https://solus-project.com/articles/software/third-party/en/#microsoft-core-fonts
  2. Created a gta_dxvk.conf file with this text
    dxgi.customDeviceId = E366
    dxgi.customVendorId = 1002
  3. Used that file location in the games launch options (right click on game in steam client, select "properties" then "Launch Options"
    DXVK_CONFIG_FILE=/home/my_username/gta_dxvk.conf %command%
  4. Renamed file "user_settings.sample.py" in folder "~/.steam/steam/steamapps/common/Proton\ 3.7/" to "user_settings.py", Edited the settings file and uncommented
    "PROTON_NO_ESYNC": "1",

Optional: I enabled DKVK's HUD in this same file

"DXVK_HUD": "devinfo,fps",

I got up to 180FPS in the DXVK HuD results and no crashes although I only played for a short time.

leillo1975 commented 5 years ago

Same as me, but I have a problem with my Steam Controller. This is detected as a Keyboard and if I use sc-controller ( https://github.com/kozec/sc-controller ) emulating a XBOX360 with precission camera, the range of of this camera is limited

wUFr commented 5 years ago

@JasonFinestone be aware GTA V will start doing weird sh*t when reaching framerate that high, would try to keep it under 140FPS :D

JasonFinestone commented 5 years ago

@wUFr how can I limit the FPS? In the same configuration file user_settings.py?

BartWillems commented 5 years ago

For me the game crashes about 10 seconds after I start playing. This is the error I receive:

LLVM ERROR: Cannot select: 0x7f5e79344840: f32 = bitcast 0x7f5e793447d8
  0x7f5e793447d8: v2i32,ch = CopyFromReg 0x7f5e7884b120, Register:v2i32 %26
    0x7f5e79344770: v2i32 = Register %26
In function: main
14865.671:0091:00a7:trace:module:LdrUnloadDll (0x7f5ea66f0000)
14865.671:0091:00a7:trace:module:LdrUnloadDll (L"imm32.dll") - START
14865.671:0091:00a7:trace:module:MODULE_DecRefCount (L"imm32.dll") ldr.LoadCount: 4
14865.671:0091:00a7:trace:module:LdrUnloadDll END
14865.671:0091:00a7:trace:module:LdrUnloadDll (0x7f5ea6690000)
14865.671:0091:00a7:trace:module:LdrUnloadDll (L"iphlpapi.dll") - START
14865.671:0091:00a7:trace:module:LdrUnloadDll END
14865.671:0091:00a7:trace:module:LdrUnloadDll (0x7f5ea6690000)
14865.671:0091:00a7:trace:module:LdrUnloadDll (L"iphlpapi.dll") - START
14865.671:0091:00a7:trace:module:LdrUnloadDll END
14865.671:0091:00a7:trace:module:LdrUnloadDll (0x7f5ea1250000)
14865.671:0091:00a7:trace:module:LdrUnloadDll (L"imagehlp.dll") - START
14865.671:0091:00a7:trace:module:MODULE_DecRefCount (L"imagehlp.dll") ldr.LoadCount: 0
14865.671:0091:00a7:trace:module:MODULE_InitDLL (0x7f5ea1250000 L"imagehlp.dll",PROCESS_DETACH,(nil)) - CALL
14865.671:0091:00a7:trace:module:MODULE_InitDLL (0x7f5ea1250000,PROCESS_DETACH,(nil)) - RETURN 1
14865.671:0091:00a7:trace:module:free_modref  unloading L"C:\\windows\\system32\\imagehlp.dll"
14865.671:0091:00a7:trace:module:LdrUnloadDll END
14865.671:0091:00a7:trace:module:LdrUnloadDll (0x7f5e90010000)
14865.671:0091:00a7:trace:module:LdrUnloadDll (L"hid.dll") - START
14865.671:0091:00a7:trace:module:MODULE_DecRefCount (L"hid.dll") ldr.LoadCount: 0
14865.671:0091:00a7:trace:module:MODULE_InitDLL (0x7f5e90010000 L"hid.dll",PROCESS_DETACH,(nil)) - CALL
14865.671:0091:00a7:trace:module:MODULE_InitDLL (0x7f5e90010000,PROCESS_DETACH,(nil)) - RETURN 1
14865.671:0091:00a7:trace:module:free_modref  unloading L"C:\\windows\\system32\\hid.dll"
14865.671:0091:00a7:trace:module:LdrUnloadDll END
14865.671:0091:00a7:trace:module:LdrUnloadDll (0x7f5e7f850000)
14865.671:0091:00a7:trace:module:LdrUnloadDll (L"setupapi.dll") - START
14865.671:0091:00a7:trace:module:MODULE_DecRefCount (L"setupapi.dll") ldr.LoadCount: 1
14865.671:0091:00a7:trace:module:LdrUnloadDll END
14865.671:0091:00a7:trace:module:LdrUnloadDll (0x7f5ea66f0000)
14865.671:0091:00a7:trace:module:LdrUnloadDll (L"imm32.dll") - START
14865.671:0091:00a7:trace:module:MODULE_DecRefCount (L"imm32.dll") ldr.LoadCount: 3
14865.671:0091:00a7:trace:module:LdrUnloadDll END
14865.671:0091:00a7:trace:module:LdrUnloadDll (0x7f5e7f8c0000)
14865.671:0091:00a7:trace:module:LdrUnloadDll (L"uxtheme.dll") - START
14865.671:0091:00a7:trace:module:MODULE_DecRefCount (L"uxtheme.dll") ldr.LoadCount: 0
14865.671:0091:00a7:trace:module:MODULE_InitDLL (0x7f5e7f8c0000 L"uxtheme.dll",PROCESS_DETACH,(nil)) - CALL
14865.671:0091:00a7:trace:module:MODULE_InitDLL (0x7f5e7f8c0000,PROCESS_DETACH,(nil)) - RETURN 1
14865.671:0091:00a7:trace:module:free_modref  unloading L"C:\\windows\\system32\\uxtheme.dll"
14865.671:0091:00a7:trace:module:LdrUnloadDll END
AL lib: (EE) alc_cleanup: 1 device not closed

.. Then about a 1000 lines that look like this:
14865.730:00c6:00c9:trace:module:MODULE_InitDLL (0x7fe5f4890000,THREAD_DETACH,(nil)) - RETURN 1
14865.735:0008:0090:trace:module:LdrShutdownThread ()
14865.745:0008:0009:fixme:win:AnimateWindow partial stub
14865.784:0008:00ce:trace:module:MODULE_InitDLL (0x7fa188de0000,THREAD_DETACH,(nil)) - RETURN 1

.. finally:
pid 456 != 455, skipping destruction (fork without exec?)

Arch Linux, Proton 3.7-5 beta AMD RX580, kernel 4.18

I have already fixed the FD limit & toyed with the dxvk conf file, nothing seems to work..

Edit: I use Arch btw

KuJo-Ger commented 5 years ago

You will need NVIDIA 396.54 or Mesa 18.1.x at a minimum. LLVM7 or above is recommended to play DX11 games without GPU hangs.

-> https://github.com/ValveSoftware/Proton/blob/proton_3.7/PREREQS.md

After installing corefonts with Winetricks to my Proton-Prefix I got it running (before it hanged at startup at Social Club; it looked like this: https://github.com/ValveSoftware/Proton/issues/37#issuecomment-416037816). I played it for some hours in SP without any problems and with FPS between 35-60.

Linux Mint 19 Kernel 4.17.9 AMD FX-8300 AMD rx580 8GB 16GB RAM Padoka ppa (Mesa dev18.3; LLVM 8.0) Vulkan-drivers installed

Dark-Schnitzel commented 5 years ago

Sadly i cant find any Mesa Package above 18.0.5 for Xenial (16.04), does anyone know when the 18.1.x Series will be released for Xenial?

kisak-valve commented 5 years ago

Hello @Dark-Schnitzel, you could give https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers/ a try.

Dark-Schnitzel commented 5 years ago

@kisak-valve Thank you very much!

Oliver-1xok commented 5 years ago

@c1349887: We had exactly the same problem. You need to install the ms corefonts in your system! Under Ubuntu:

sudo apt install ttf-mscorefonts-installer

That's it! We didn't need winetricks or anything else. We just install the ms corefonts and it works. At least under Ubuntu.

The GTA V launcher simply needs the corefonts. Many will not have them installed. Maybe Valve can integrate them into Proton, if they do not exist in the system. Missing ms corefonts will surely cause problems with other windows games as well. Maybe it's a licensing problem. Can't judge it. But technically, it's so trivial.

jkhsjdhjs commented 5 years ago

Maybe it's a licensing problem.

Exactly, see https://github.com/ValveSoftware/Proton/issues/571.

djspacewhale commented 5 years ago

running Proton 3.7.5 beta on Fedora using native Steam libraries, but GTAV and only GTAV is having issues with the mouse identical to those reported by @KostWarCZE, except my restriction is closer to within a 70-degree window... Tried changing the winecfg settings, installing directx11 and xinput, tried running in window, tried changing mouse input method in-game, but no matter what my range of motion is restricted to a tiny window...

mausworks commented 5 years ago

Had problems with missing fonts in launcher, did the winetricks corefonts trick — did not work. Inspired by @Oliver-1xok I installed the the legacy MS corefonts via pacman:

pacman -S ttf-ms-fonts

Restarted steam, and then it the launcher worked perfectly.


Now the game crashes after the intro, but that's another story.

john5788 commented 5 years ago

It looks like my issue that I reported above is different than what anyone else is reporting here.

https://github.com/ValveSoftware/Proton/issues/37#issuecomment-417714957

Since I'm seeing issues with libsdl2, I went ahead and unplugged my keyboard, launched steam, and launched GTA 5 mouse only. I got farther: the splash screen for GTA5 launched where the gunshots and police sirens are heard, but then it crashes after that with this in the terminal repeating:

>>> Adding process 15412 for game ID 271590
eventfd: Too many open files
eventfd: Too many open files
eventfd: Too many open files
esync: write: Bad file descriptor
eventfd: Too many open files
eventfd: Too many open files
esync: write: Bad file descriptor
eventfd: Too many open files
eventfd: Too many open files
esync: write: Bad file descriptor
eventfd: Too many open files
eventfd: Too many open files
esync: write: Bad file descriptor
eventfd: Too many open files
eventfd: Too many open files

I'm using a Corsair Strafe RGB mechanical keyboard. Is there anything you want specific from my system @kisak-valve in regards to this error with libsdl2 and my keyboard?

Gist for libsdl2 error with keyboard connected: https://gist.github.com/john5788/24f0b1e2bb25e943e0328c1f87952ec2

Gist for new error when keyboard is disconnected and libsdl2 does not fail polling for devices and crashes a little bit later. Keyboard is plugged back in after the crash to resume command of the terminal. https://gist.github.com/john5788/f02ba810bb8bf1454c7c582bd4613e14

vanyasem commented 5 years ago

@john5788 please configure esync properly according to THE DOCS. The issue is not related to the game itself

kisak-valve commented 5 years ago

For the SDL issue, your keyboard is presenting itself as a joystick when it shouldn't be. You may want to adapt https://github.com/denilsonsa/udev-joystick-blacklist to blacklist 1b1c:1b20.

nerdyman commented 5 years ago

I've managed to get it working with @JasonFinestone 's and @AlexeyProkhin 's methods on Arch with the latest Nvidia drivers and wine-staging package, in summary this is what I had to do.

Steps for Arch Linux w/ Nividia proprietary driver

I'm now getting around 60/70 FPS on a GTX 780 with fairly high settings and I no longer need Windows, GTA was the only reason I had it, awesome!

[1] gta_dxvk.conf

dxgi.customDeviceId = E366
dxgi.customVendorId = 1002

You can also use nvidia in place of nvidia-dkms if you don't want the kernel modules to auto build when the kernel changes.

Also I'm not 100% sure but I think steam-native may give a slight FPS boost.

john5788 commented 5 years ago

@kisak-valve and @vanyasem

I increased my number of open files limit by using ulimit -n 1048576 in my ~/.bashrc for now. My system is not accepting the values in /etc/security/limits.conf for some reason, but I'll debug that later on my own.

I also was not able to blacklist the Corsair keyboard as a joystick, the udev rules are not matching. For now I am just using a different keyboard to bypass.

I am getting a new error now, here is the gist:

Backtrace:
=>0 0x0000000141275cbc in gta5 (+0x1275cbc) (0x0000000000000000)
  1 0x00000001412797ce in gta5 (+0x12797cd) (0x0000000000000000)
  2 0x000000007bc91d3d call_thread_func+0xbc(entry=0x1412796d0, arg=0x142911818) [/home/proton/proton/wine/dlls/ntdll/signal_x86_64.c:4367] in ntdll (0x000000003acaffd0)
0x0000000141275cbc: movl    $0,0x0000000000000000

https://gist.github.com/john5788/2c004355ada82230a5d9aff7919cbdc6

john5788 commented 5 years ago

@kisak-valve

Regarding the SDL issue, I cannot blacklist the keyboard from SDL because it doesn't populate or create a /dev/input/js* device like my Xbox one controller does. The only devices that the Corsair keyboard shows up as are /dev/input/event13 and /dev/input/event14. Removing or chmod 000 these devices does prevent SDL from picking them up, however it also causes my keyboard to not work altogether.

Also, Big Picture Mode does not detect my keyboard as a controller so there's some proper detection in Steam itself somehow. Using sdl-jstest, I get the following results:

$ ./sdl2-jstest --list
Found 3 joystick(s)

Joystick Name:     'Microsoft X-Box One pad (Firmware 2015)'
Joystick GUID:     030000005e040000dd02000003020000
Joystick Number:    0
Number of Axes:     6
Number of Buttons: 11
Number of Hats:     1
Number of Balls:    0
GameController:
  Name:    'XInput Controller'
  Mapping: '(null)'

Joystick Name:     'ckb1: Corsair STRAFE RGB Gaming Keyboard'
Joystick GUID:     030000001c1b0000201b000005020000
Joystick Number:    1
Number of Axes:     0
Number of Buttons: 766
Number of Hats:     0
Number of Balls:    0
GameController:
  not a gamepad

Joystick Name:     'ckb1: Corsair STRAFE RGB Gaming Keyboard'
Joystick GUID:     030000001c1b0000201b000005020000
Joystick Number:    2
Number of Axes:     0
Number of Buttons: 766
Number of Hats:     0
Number of Balls:    1
GameController:
  not a gamepad

Is there a way to perhaps not poll the device in joystick_sdl.c using the same condition that this test program uses to detect that the Corsair is not a real controller? Perhaps something like

SDL_GameController* gamepad = SDL_GameControllerOpen(joy_idx);
if (gamepad)
{
    poll()
}

Or utilize the SDL_IsGameController() function before polling the device?

From looking at the code for joystick_sdl.c, I don't understand why the function crashes at line 343 since the number of hats reported there should be 0.

pieterwolfert commented 5 years ago

Yesterday I was able to play GTA V with my proton version being 3.7.5beta, today it is updated to 3.7.6, and it doesn't seem to work anymore. It also doesn't start with Proton 3.7.3, which is the 'stable' version.

My system is Debian 9, with a Ryzen 1500X and Nvidia 1050 ti, with the latest nvidia drivers and llvm 7. I have done the fix to change the DXVK settings, which made it playable before, but not now. Does anyone have any idea? :)

Edit: I was on Nvidia 396.51, updated to 396.54 and it works again!

john5788 commented 5 years ago

Disregard my 2nd to last comment about a "new" error appearing. I didn't realize that Proton updated to 3.7.6 and it removed the fix that I applied from https://github.com/ValveSoftware/Proton/issues/37#issuecomment-417685474 . I reapplied the fix and GTA 5 is now working for me, but I still have the SDL issue as mentioned .

leillo1975 commented 5 years ago

Using the steps that nerdyman describe in this post I can play GTAV without problems, except a strange issie that also have in Wine+DXVK. All controls seems to be OK with my Steam Controller, but when I try run (A button) the game start to record a clip. I try to emulate a XBOX controller with sc-controler, but I have the same problem.

steamoshza commented 5 years ago

@leillo1975

Your are describing exactly what I mentioned before, please see my posting above at https://github.com/ValveSoftware/Proton/issues/37#issuecomment-417925826

is the steam overlay working for you? for me, when pressing the steam home button, the overlay becomes unresponsive.

kaymio commented 5 years ago

To install MS-W10 fonts I got a copy of the folder C:\Windows\Fonts from a W10 install. If you don't have a W install (medium), ask a friend to compress the folder and send it via https://framadrop.org/ or another filetransfer service. After that, I went ahead via the copy method on https://wiki.archlinux.org/index.php/Microsoft_fonts#Using_fonts_from_a_Windows_partition. This enabled me to make a Social Club account, but the game got stuck in the loading screen.

Thanks to the fix from @AlexeyProkhin and clear description from @JasonFinestone https://github.com/ValveSoftware/Proton/issues/37#issuecomment-418265244 I'm now able to start and play the game. Although I can't recommend his optional step as the explanations in the tutorial will be barely visible because of the DXVK FPS overlay. The built-in steam overlay works, so why bother?

Another proposal from @gripped https://github.com/ValveSoftware/Proton/issues/37#issuecomment-417685474 seems interesting and I would like to try it out, but I'm not sure where to find

the corresponding dirs in the proton wine prefix

The nvapi files can be found easily when wine-staging (not wine) is installed, but which folders do correspond?

Arch 4.18.6 , Mesa 18.1.8 on FX8320e , RX480

wUFr commented 5 years ago

@kaymio thats seems like a bit overcomplicated, to get needed fonts, you should just run apt install ttf-mscorefonts-installer and be fine, i did this before i even installed steam, cuz few years back, steam itself wouldnt run without these

edit: not sure how you install stuff on Arch, but pretty sure this package will be available there as well

wUFr commented 5 years ago

@kisak-valve would be good idea setting up repo with list of tutorials, how to make various games working under different distros, at least before Steam can figure it out on their end. So people could just browse it and see whats needed to run lets say GTA (:

This should make Issues for proton itself a bit smaller, if people would follow tutorial first, then report issues if they get any, with game itself.

ryanmusante commented 5 years ago

@wUFr the AUR has ttf-ms-fonts as well as several packages for specific win8 and win10 corefonts. But this is for the OS usage, no? corefonts installed through winetricks would enable for wine.

wUFr commented 5 years ago

I believe wine will use your distro fonts as well, i did not have to install any fonts in wine itself

edit: Found on the internet ... fonts in /usr/share/fonts should be usable directly in Wine

ryanmusante commented 5 years ago

Interesting. I will install those myself, that should be included in FAQ for proton. Or do they plan on including inside of proton? I heard there were copyright issues.

Edit: fc-cache -vfr will regenerate your font cache (verbosely, forced).

jp7677 commented 5 years ago

@leillo1975 @steamoshza I think this is a known GTA issue that also happens on windows. The game seems to change the control scheme once you have used an input device other than your controller. Try to not touch your mouse or keyboard after starting, that works for me.

steamoshza commented 5 years ago

well there is no keyboard or mouse, I am using steamOS as a console like env.

but news to that: after starting the game execute in a shell: killall GTAVLauncher.exe

the launcher is not required to keep the game running, interestingly the issue vanishes then. it's just a little bit annoying to login via ssh all the time, just to kill this after the game launches.

mmtechnodrone commented 5 years ago

as mimattr said setting msdmo to builtin fixes social club problem crashing. I ran winecfg on the game prefix, went to dll overrides and added msdmo, then selected builtin. After that I was able to remove the offline only option and play normally

mimattr commented 5 years ago

System Information

I confirm:

Issues

NOTE: May be possible to distribute Google's Croscore fonts within Proton as a Microsoft alternative.

Kreyren commented 5 years ago

DirectX Error on GTA V: https://i.imgur.com/ljihnWM.png https://i.imgur.com/uJsAIYf.png

STEPS TO REPRODUCE Install steam, allow Steam Play to all games, restart steam, install GTA V, play GTA V, launcher loaded, DirectX error appear, DirectX error close itself after few sec, GTA V launcher appear with same DirectX err.

INFO

emerge --info == https://paste.pound-python.org/show/5zEAaade0t1EzrW6gLnv/

make.conf == https://paste.pound-python.org/show/Uq0to9xsYpGck2BWVQi9/

uname -r == https://paste.pound-python.org/show/LBtzhjQdHykNeupmziDR/

uname -a == https://paste.pound-python.org/show/CWnc8I6NSHelZ0yrIl8M/

PROTON_LOG == NOT GENERATED!

GPU == AMD Radeon 7870

Kernel configuration == https://paste.pound-python.org/show/FKJxQebTRVYb4Y0quQpb/

TRIED SOLUTION

  1. Tried to install DirectX using app-emulator/winetricks-9999, installation seems successful, but doesn't affect the error.
  2. Changed Proton version in Steam > Settings > Steam Play on Proton 3.7.3 to Proton 3.7.6-beta== results in restart steam and update of GTA V, but the issue presists.
  3. Checked Use this tool instead of game-specific selections from Steam in Steam > Settings > Steam Play. == steam restarted, updated GTAV, but problem presists.
  4. Invoked winetricks corefonts vcrun2012 && export WINEDLLOVERRIDES="msdmo=b" == Same issue. 4.1 Tried winetricks --force corefonts == same issue.
  5. Invoked emerge -a media-libs/mesa == same issue. 5.1 Added vulkan USE flag to make.conf and invoked emerge -avuDNq @world. == Launcher is in loading loop. 5.2 changed Proton back to v3.7.3 and restarted Steam == Launcher still in loading loop. 5.3 verifying Integrity == Same issue 5.4 reinstalling GTA V == New Result: https://i.imgur.com/QmtjB5U.png 5.4.1 Recommends informing end-user about the installation of vulkan drivers when proton is invoked for the first time to prevent this issue. 5.5 Running integrity check again. 5.5.1 Where is SocialClub launcher located when Proton is used? Invoking locate SociaClub or simmilar didn't find anything, ~/.wine/Program Files AND Program Files (x86) doesn't have SocialClub folder. 5.6 Invoked rm -rf /home/$USER/.steam/steam/steamapps/common/Proton* and running integrity check again. 5.6.1 - 7 files ware missing and ware reaquired installed. 5.7 New result: https://i.imgur.com/vDQZZ70.png
  6. Reinstalled GTAV == Game won't launch again, none log generated. 6.1 Invoked integrity check which results in 7 missing files, Failed to start game with shared content. invoked integrity check with results in 7 missing files? Disabled Steam Play, restarted steam, Enabled Steam play, resterted steam, GTA V is updating 108,8 MB, SocialClub is in Loading loop again, Added PROTON_LOG=1 %command% to game launch options in steam instead of PROTON_LOG, No log generated again,
  7. trying https://gist.github.com/mimattr/5a2a1d411f11e57e6a3600aeca736602 with launch options DXVK_CONFIG_FILE="/home/$USER/dxvk_gta5.conf" %command%, tried to use beta version of proton, game won't launch again.
  8. Added DXVK_CONFIG_FILE=/home/$USER/dxvk_gta5.conf to launch options which contains (1), make user_settings.py file in /home/$USER/.steam/steam/steamapps/common/Proton 3.7 Beta based on user_settings.sample.py with uncommented "PROTON_NO_ESYNC": "1", "DXVK_HUD": "devinfo,fps",, switched steam settings on proton BETA. == SocialClub loadingloop again, invoked rm GTA5.exe in /home/$USER/.steam/steam/steamapps/common/Grand Theft Auto V, Integrity check, SocialClub loadingloop, invoked wine Social-Club_Setup.exe in GTAV/Installers/, Installation of SocialClub seems successfull, SocialClub loadingloop again, Removed SocialClub via wine uninstaller, Integrity check, Steam is installing SocialClub, SocialClub Loadingloop, added "PROTON_LOG": "1", under user_settings in /home/$USER/.steam/steam/steamapps/common/Proton 3.7 Beta, Noticed new text file steam-271590.log in $HOME results in https://paste.pound-python.org/show/ojASHFtAcBHcsdBInJsr/, Found reference to line 1 on https://github.com/ValveSoftware/steam-for-linux/issues/4677#issuecomment-255561434 and https://github.com/ValveSoftware/steam-for-linux/issues/4677#issuecomment-255704832, Testing, Invoked find /home/$USER/.local/share/Steam/ubuntu12_32/steam-runtime/ -name libgpg-error.so* -delete results in no output, created steam in /bin with..
    #!/bin/bash
    export LD_PRELOAD='/usr/$LIB/libstdc++.so.6'
    export DISPLAY=:0
    steam

    SocialClub loadingloop again, removing /bin/steam, SocialClub loadingloop, invoked export FONTCONFIG_PATH=/etc/fonts to fix(?) Fontconfig error: Cannot load default config file, ERROR: ld.so: object '/home/kreyren/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. still present, Fontconfig error: Cannot load default config file still present, restarting steam, previous errors still present, ignoring LD_PRELOAD based on info from https://wiki.archlinux.org/index.php/Steam/Troubleshooting#Wrong_ELF_class, invoked export WINEDLLOVERRIDES="msdmo=b", invoked winetricks corefonts directx9 vcrun2012 win7 which results in DXSETUP err https://i.imgur.com/MEXDp95.png, if "yes" installation finish with no reported issues?!, log if its of any help https://pastebin.com/pz8Pp3PP, invoked winetricks corefonts directx9 vcrun2012 win7 as user, that seems to work sorry my fault, still same issue (loadingloop in socialclub), set msdmo to buletin in winecfg, no effect, reinstalled, SocialClub err9

8.1 (1) ==

dxgi.customDeviceId = E366
dxgi.customVendorId = 1002
  1. Used Lutris instead, GTA V does not work out of the box from Steam atm, based on my experience :X.

NOTICED BUGS

  1. SocialClub launcher "is jumping all around the screen" if it's dragged using MOUSE1 on top side of a launcher. If dragged using predefined function in WM (DWM) it works correctly.

FIXES