New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Grand Theft Auto IV crashes on start (12210) #350

Open
zetok opened this Issue Aug 24, 2018 · 48 comments

Comments

Projects
None yet
@zetok
Copy link

zetok commented Aug 24, 2018

gtaiv-crash.log
steam-system-info.txt

Distro: Gentoo Linux

@mirh

This comment has been minimized.

Copy link

mirh commented Aug 24, 2018

Seems similar to this, which in turn might be due GFWL.
A workaround for the moment is XLiveLess.

@vanyasem

This comment has been minimized.

Copy link

vanyasem commented Aug 24, 2018

The game refuses to launch for me giving me a black screen. XLiveLess is installed

@Houtworm

This comment has been minimized.

Copy link

Houtworm commented Aug 25, 2018

The installation goes fine, then it asks me about a Xbox account, I just hit play and then i get this error

schermafdruk van 2018-08-25 15-12-20

@vanyasem

This comment has been minimized.

Copy link

vanyasem commented Aug 26, 2018

@Houtworm, please read the comment above about XLiveLess. GFWL doesn't work on wine and probably never will.

@mirh

This comment has been minimized.

Copy link

mirh commented Aug 26, 2018

Source?
AFAIK the current blockers are only LiveID service not initializing (which could have benefited a lot of the last work on msi installers) and WPF (which should have some very dirty workaround, at least).

@ardje

This comment has been minimized.

Copy link

ardje commented Aug 27, 2018

I did get GTA IV to work using playonlinux. xliveless should be used as always.
It was rather straight forward until I started to apply patches needing to get any controller to work. Then it stopped working :-(.
Anyway: GTA IV should work more or less out of the box by installing the xlive.dll using the steam recipe on PoL (not the GTA IV recipe, as that is outdated).

I hope Proton will have an xliveless option in the future.

Anyway my problem is almost the same as I started with EFLC. EFLC should display a menu to select which of the two stories you want to play before starting the game itself. That menu is black.

@vanyasem

This comment has been minimized.

Copy link

vanyasem commented Aug 27, 2018

What's your GPU / OS? @ardje

@ardje

This comment has been minimized.

Copy link

ardje commented Aug 28, 2018

@vanyasem : GTA IV EFLC is working for me now (tm) on a GPD WIN 2 using padoka PPA. It only starts from the desktop client though, starting it from big picture gives me black screen. And I need big picture to translate the controller to something sane :-(. I need some more testing though.
This is using the 3.7.4-beta proton if I recall correctly... I will play with it some more tonight.
Note that being able to run it on the WIN 2 is an achievement as a lot of (linux) games ignore the rotated status of the screen and assume the 720x1280 rotated means 720 horizontal and 1280 vertical.
I also will test GTA IV EFLC on my steam machine by starting another wm in the .xsession and use the desktop client.

@vanyasem

This comment has been minimized.

Copy link

vanyasem commented Aug 29, 2018

@mirh Source: winehq. Note on the bottom of the page.

Games for Windows - LIVE does not work under Wine. GFWL components will crash any game that use the service. The only thing to do about it is to cut XLive out using XLiveLess Patch.

I probably won't find a comment by one of Wine maintainers about GFWL support, but considering it has been a lot of time since that note was initially created, you probably get the idea.

@ardje

This comment has been minimized.

Copy link

ardje commented Aug 29, 2018

Oh, wait, I am not using padoka, but oibaf, and that's a guy/repo who packages upstream mesa for stable ubuntu releases on a daily basis.
GTA EFLC seems to just take ages to get to the selection screen I've now seen. I should time it, it looks like 5...10 minutes in big picture mode.
The GPD WIN 2 is based on an intel SoC with a 720x1280 portrait display rotated landscape. It has no rotated scanout features, so all rotation is done in software. The specs: intel M3, intel HD 615, 8GB memory, xbox like gamepad.

On my steammachine with steamos beta, I just reboot it, because it never finishes installing. I think I should install it using desktop mode and see what happens. The steam machine is an i5 with a GTX960M with 3GB VRAM.
On the WIN2 I have major problems using the controller pad, but that might be due to not compiling the kernel correctly. It's not related to GTA at least.
About GFWL, I never knew anything other than to install xlive.dll to get rid of it.
I think installing social club from the GTA site should fix most of these.
But I don't know how proton integrates. Personally I would just use some base image and use a unionfs like fs layer on that. Or each game should have it's separate fixed up environment (like playonlinux).

@ardje

This comment has been minimized.

Copy link

ardje commented Aug 29, 2018

About GFLW: a lot of howtos for windows is about how to disable GFLW. It's not just a problem for people using wine, it's a generic problem.

@ardje

This comment has been minimized.

Copy link

ardje commented Aug 29, 2018

About the very long wait: I found this: https://www.reddit.com/r/GTA/comments/8ff35v/gta_iv_game_stays_on_a_black_screen_for_about_a/

It seems that it looks really like GTA IV EFLC is working properly.

@zetok

This comment has been minimized.

Copy link

zetok commented Aug 29, 2018

Game keeps crashing during the benchmark (Options→Graphics→Benchmark).
gtaiv-benchmark-crash.log

@vanyasem

This comment has been minimized.

Copy link

vanyasem commented Aug 29, 2018

I tried waiting for 11 minutes with no success. I am using the -windowed option. Could you please upload a screenshot?

Also there is a new folder in GTA IV directory called steam_shader_cache, which seems related to the fact that I have pre-compiled shaders on in Steam settings. Do you have that enabled?

@mirh

This comment has been minimized.

Copy link

mirh commented Aug 29, 2018

I probably won't find a comment by one of Wine maintainers about GFWL support, but considering it has been a lot of time since that note was initially created, you probably get the idea.

Means [less than! random guy ≠ wine] nothing.
It's just microsoft gaming dep had a sort of reverse-NIMBY crisis and decided to implement everything they could via this or that windows service (which just about nobody would or does use).
And people seem so much like not even caring that in 3 years nobody noticed bugs getting fixed either.

I just cannot understand for the love of me, what people think wine objective would even be.

About GFLW: a lot of howtos for windows is about how to disable GFLW. It's not just a problem for people using wine, it's a generic problem.

That's because games come bundled with outdated runtimes, which cannot even get to the stage of updating without misbehaving on newer windows. But in my experience this can solve *all* problems.

p.s. I'm impressed that M3-7Y30 (corresponding broadly to a QX9300 plus HD4670) can bring "gta 4 working faster than a slideshow" territory on that tdp

@zetok

This comment has been minimized.

Copy link

zetok commented Aug 29, 2018

@vanyasem
Before launching the game (in -windowed mode), I did 2 things:

# process doesn't seem to be useful? game ~works anyway
while :; do pkill -9 'gta4Browser.exe' ; sleep 2; done

# speeds up game startup (almost instant), drops all the outgoing connections
iptables -A OUTPUT -o eth0 ! -d 127.1 -j DROP

Framerate is horrible though, and there's a graphical glitch next to minimap:

screenshot

@vanyasem

This comment has been minimized.

Copy link

vanyasem commented Aug 29, 2018

Do you all have AMD GPUs or has someone succeeded in launching the game on an nvidia GPU? I feel like nvapi issue might be related here. Though it doesn't work for me even on latest wine staging, so unlikely, still worth noting.

The game is constantly eating one core of my CPU, staying at the black screen. I disabled intro videos just in case, but that didn't help.

@DissCent

This comment has been minimized.

Copy link

DissCent commented Aug 31, 2018

I have the same problem as @vanyasem - xliveless is installed (used this before, so I know how to do it), but no matter what I do (killing gta4browser.exe, setting specific options), the screen just stays black (and one of my CPU cores goes to 100% usage).
This is on Arch Linux with NVIDIA 396.54

@Mattia98

This comment has been minimized.

Copy link

Mattia98 commented Sep 2, 2018

Me too. Have the same problem as @vanyasem and @DissCent
NVIDIA 396.54 drivers on GTX 1050m XUbuntu 18.04
@zetok's workaround does not work for me.

@ardje

This comment has been minimized.

Copy link

ardje commented Sep 4, 2018

@GTAGAME

This comment has been minimized.

Copy link

GTAGAME commented Sep 4, 2018

okay i'm new to this steam proton thing, where do i have to put those wine fixes to block the gta4browser.exe? I tried to put it inside the user_settings.py but that just breaks all games.

@lazanet

This comment has been minimized.

Copy link

lazanet commented Sep 5, 2018

I managed to get the game working fine by copying xliveless (from lutris repo) to the game folder, and then blocking tv.rockstargames.com (because that subdomain has misconfigured ip address at the moment, and game is stuck at disclaimer screen trying to connect to it) by applying following command:
sudo sh -c "echo '127.0.0.1 tv.rockstargames.com' >> /etc/hosts"

Nasty workaround (because of Rockstar's negligence towards GTAIV PC port), but it works.

@Mattia98

This comment has been minimized.

Copy link

Mattia98 commented Sep 6, 2018

What you suggest, @lazanet , seems to be for a separate issue. The first workaround is obvious and is for skipping GFWL. The second is for skipping activation and getting stuck at the disclaimer screen. The problem is that some of us are not even getting to the disclaimer screen. Can you please share your specs so that we can rule out some stuff? Tnx :-*

@instabilis

This comment has been minimized.

Copy link

instabilis commented Sep 7, 2018

@Mattia98 I've managed to get EFLC running on nvidia by copying nvapi files from my system installation of wine (wine 3.14) to the corresponding directories in the Proton (Proton Beta 3.7-5) installation.

cp /usr/lib64/wine/nvapi64.dll.so ~/.local/share/Steam/steamapps/common/Proton\ 3.7\ Beta/dist/lib64/wine/nvapi64.dll.so
cp /usr/lib64/wine/fakedlls/nvapi64.dll ~/.local/share/Steam/steamapps/common/Proton\ 3.7\ Beta/dist/lib64/wine/fakedlls/nvapi64.dll
cp /usr/lib/wine/nvapi.dll.so  ~/.local/share/Steam/steamapps/common/Proton\ 3.7\ Beta/dist/lib/wine/nvapi.dll.so
cp /usr/lib/wine/fakedlls/nvapi.dll ~/.local/share/Steam/steamapps/common/Proton\ 3.7\ Beta/dist/lib/wine/fakedlls/nvapi.dll
@vanyasem

This comment has been minimized.

Copy link

vanyasem commented Sep 7, 2018

For Arch the paths to wine libs differ:

cp -v /usr/lib64/wine/nvapi64.dll.so ~/.local/share/Steam/steamapps/common/Proton\ 3.7\ Beta/dist/lib64/wine/nvapi64.dll.so
cp -v /usr/lib64/wine/fakedlls/nvapi64.dll ~/.local/share/Steam/steamapps/common/Proton\ 3.7\ Beta/dist/lib64/wine/fakedlls/nvapi64.dll
cp -v /usr/lib32/wine/nvapi.dll.so  ~/.local/share/Steam/steamapps/common/Proton\ 3.7\ Beta/dist/lib/wine/nvapi.dll.so
cp -v /usr/lib32/wine/fakedlls/nvapi.dll ~/.local/share/Steam/steamapps/common/Proton\ 3.7\ Beta/dist/lib/wine/fakedlls/nvapi.dll
@vanyasem

This comment has been minimized.

Copy link

vanyasem commented Sep 7, 2018

Related to #165

@vanyasem

This comment has been minimized.

Copy link

vanyasem commented Sep 7, 2018

Can confirm, that fixes both GTA IV, and GTA EFLC for me
2018-09-07-231824_3840x2067_scrot

The game performs very poorly though, I get around ~19 FPS in 4k maxed out. Specs: https://gist.github.com/vanyasem/f787469ec8c50cdd3728340ef4c73269

@vanyasem

This comment has been minimized.

Copy link

vanyasem commented Sep 7, 2018

I only saw some occasional graphics glitches, and shuttering during cutscenes (vsync off). The game runs pretty well by itself.
2018-09-07-234309_384x349_scrot

@Mattia98

This comment has been minimized.

Copy link

Mattia98 commented Sep 8, 2018

When dowloading Wine 3.14 from playonlinux I don't get those files. And when searching through the Ubuntu package (https://packages.ubuntu.com/bionic/amd64/libwine-development/download) I can't find them there either. Where can I get those files?
BTW still not working out-of-the-box on Proton 3.7-6

@pchome

This comment has been minimized.

Copy link

pchome commented Sep 8, 2018

@Mattia98

This comment has been minimized.

Copy link

Mattia98 commented Sep 8, 2018

@pchome OK, as far as I can tell there is no winecfg in Proton so that's out. How would I spoof an AMD card in Proton like suggested in the dxvk wiki?
--- Back to the files:
Where can I find a precompiled wine-staging? According to the wine wiki it's discontinued and there is no such package in the Ubuntu repos.

@vanyasem

This comment has been minimized.

Copy link

vanyasem commented Sep 8, 2018

@Mattia98 first of all, GTA IV is NOT a dx11 game (it uses dx9), and thus doesn't use DXVK. You cannot spoof an AMD card using that method.

There is in fact winecfg in Proton. Use WINEPREFIX="/path/to/steam/steamapps/compatdata/GAMEID/pfx/" "/path/to/steam/steamapps/common/Proton 3.7 Beta/dist/bin/wine64" winecfg to access it.

Now, for wine-staging. Ubuntu's PPAs concept is in fact confusing, which is why I use Arch with it's AUR. But anyways, read https://www.maketecheasier.com/install-wine-staging-ubuntu/, which describes the process of installing wine staging in detail.

@Mattia98

This comment has been minimized.

Copy link

Mattia98 commented Sep 8, 2018

Aha, I thought it was a dx11 game.. So that dxvk wiki link is useless..
Thanks for pointing out that you can in fact run winecfg. I did say "as far as I can tell" if whoever gave a thumbs down to my comment thought it was arrogant or something.

I checked out wine-stagings ppa (I really thought it was dead) and managed to get the files and now it works.
Mini guide:
Download https://dl.winehq.org/wine-builds/ubuntu/pool/main/wine-staging-i386_3.13.0-2~bionic_i386.deb and https://dl.winehq.org/wine-builds/ubuntu/pool/main/wine-staging-amd64_3.14.0~bionic_amd64.deb for 32bin and 64bit libs respectively.
No need to install them. Just open them with your archive manager of choice and extract the nvapi files to their respective folder:
(archive)/opt/wine-staging/lib64/wine/nvapi64.dll.so -> /Proton 3.7 Beta/dist/lib64/wine/
(archive)/opt/wine-staging/lib64/wine/fakedlls/nvapi64.dll -> /Proton 3.7 Beta/dist/lib64/wine/fakedlls/
(archive)/opt/wine-staging/lib/wine/nvapi.dll.so -> /Proton 3.7 Beta/dist/lib/wine/
(archive)/opt/wine-staging/lib/wine/fakedlls/nvapi.dll -> /Proton 3.7 Beta/dist/lib/wine/fakedlls/

Game boots up just fine. Performance is questionable.

@grabmateusz

This comment has been minimized.

Copy link

grabmateusz commented Sep 9, 2018

Compatibility Report

  • Name of the game with compatibility issues: Grand Theft Auto V
  • Steam AppID of the game: 12210

System Information

I confirm:

  • that I haven't found an existing compatibility report for this game. (N/A)
  • that I have checked whether there are updates for my system available. (I will check the game with newest Ubuntu release and newest NVidia Driver, this report IS NOT generated based on newest OS and GPU driver version)

Game log

https://gist.github.com/grabmateusz/d0b8b916c27695488aed537e806551a5

Symptoms

First try:

Window that allows to click "Play game" pops up. After clicking game didn't start, same issue as one reported by @Houtworm. I've applied XLiveLess fix, by putting xlive.dll to the directory with the game.

Second try:

After having xlive fix applied, clicking play results in new window, that does not render anything. I went through this thread and applied fixes suggested by @instabilis and I manually copied nvapi files.

Third try:

Xlive fix applied, nvapi fix applied. Game launches, I can see first animation, I can hear music. I can see GTA splash screen:
screenshot from 2018-09-09 17-23-18

Afterwords nothing happens, black screen, game does not respond.

Reproduction

Follow steps described in Symptoms section.

@ardje

This comment has been minimized.

Copy link

ardje commented Sep 11, 2018

@Mattia98 Thanks mate!
To recap:
apt install intel-microcode to get past securom error 8016 on skylake CPU's
xlive.dll to get past GFWL (generic fix for GFWL, not just for linux/wine)
oibaf PPA/ubuntu (so recent mesa) to get it to run on intel or radeon graphics.
nvapi.dll(.so)? fix to get it to run on Nvidia (black screen hang).
AND:
echo 127.0.0.1 tv.rockstargames.com >> /etc/hosts to get past the second black screen hang on GTA IV.

I have GTA IV EFLC working on both steamos (still using icewm as WM instead of bare steamos session) big picture on a real steam machine with an nvidia gtx960M (zotac sn970) and brewmaster_beta, and ubuntu 18.04 with oibaf ppa on a GPD WIN 2.

I have GTA IV working after the tv.rockstargames.com hack on the steam machine, I still need to confirm this hack on the gpd WIN 2.

The steam controller works fine on the steam machine!

So what's remaining for me:

  • Test if GTA IV and EFLC work in raw steamos session (so no icewm) (to be clear: GTA V doesn't work in a steamos session).
  • Test if GTA IV works on the gpd win 2 using the hosts hack.
  • Figure out why the steam controller and the xpad controller on the gpd win 2 do not work. (Definetly User error, meaning: me).

Edit: running it on nvidia sometimes does have artifacts like blocks you can sometimes see in bad mp4's.
The mesa @ intel looks great though.

@ardje

This comment has been minimized.

Copy link

ardje commented Sep 11, 2018

@grabmateusz
try:
echo 127.0.0.1 tv.rockstargames.com >> /etc/hosts
as I couldn't find any other thing in your log.
You will notice if you do an ss -nt |grep SYN_SENT
and the one directed to that address sticks out.
I have no idea what happens if you have a https server on localhost though :-)

@mirh

This comment has been minimized.

Copy link

mirh commented Sep 11, 2018

Nice tl;dr but

xlive.dll to get past GFWL (generic fix for GFWL, not just for linux/wine)

On windows you just update it to the latest version and it works as I said above

@ardje

This comment has been minimized.

Copy link

ardje commented Sep 11, 2018

@mirh I am sorry to burst your bubble, but none of the GTA's (SA, IV) would start on my fresh windows 10 install on my GPD WIN 2 without additional hacking.
Maybe on older windows systems.
Point is: on windows you need to do additional hacking too. On windows you can install xliveless (it was intended for windows, but helps out on wine too), or you can download and install something from microsoft. So whatever you do, it is always necessary to do that, to get it to even run on windows.
Next to that it requires skylake cpu's to have a certain firmware update running.
Fortunately we can get by by just using the firmware loader, and we do not have to update our bios (some boards will never get a firmware update that fixes the securom issue with skylake cpus).

  • Edit: maybe SA did start, but it certainly did not work with any controller.
  • Edit2: @mirh I do wonder what will happen when you actually install the new versions before installing GTA IV.
    I also do think it would do nothing. As someone already said: tv.rockstargames.com is blocking the startup of GTA IV, as that address is unreachable. This has been going on for a long time. Rockstar could have pointed it to a server that just sends connection reset, making the startup a breeze.
    The only TLC GTA IV got was the expiry of the music licenses, and hence removal of a lot of songs. A shame, because this game is still awesome.
@grabmateusz

This comment has been minimized.

Copy link

grabmateusz commented Sep 11, 2018

@ardje thanks, I confirm, that now it works for me as well. The game itself is playable after applying all 3 mentioned workarounds:

  1. Putting xlive.dll to game dir
  2. Copying 4 nvapi files to Proton dir
  3. Adding tv.rockstargames.com to /etc/hosts

Game runs well. Thanks guys, hope first 2 steps can be solved by Valve, 3rd step by Rockstar (or maybe hack by Valve in Proton itself?) and GTA IV will be whitelisted, as it's decent game.
(Meanwhile my setup sightly changed, as I installed Ubuntu 18.04.1 + newest drivers available for my card). Here is my current System information.
Thanks everyone for help!

@mirh

This comment has been minimized.

Copy link

mirh commented Sep 11, 2018

I am sorry to burst your bubble, but none of the GTA's (SA, IV) would start on my fresh windows 10 install on my GPD WIN 2 without additional hacking.

SA has nothing to do with this, and yes it's butchered steaming heap of bugs.
Not working with many controllers (without mods) is not one though, since of course XInput didn't exist in 2005

As someone already said: tv.rockstargames.com is blocking the startup of GTA IV, as that address is unreachable

I don't know the mysteries of whatever c**p they may have added or broke in the game with the last totally unexpected patch but a) people on steam community report successes here and there still b) I was just talking about gfwl

@Mattia98

This comment has been minimized.

Copy link

Mattia98 commented Sep 18, 2018

@grabmateusz Define playable. I don't think mine is.

@Fl0w3D

This comment has been minimized.

Copy link

Fl0w3D commented Sep 20, 2018

I confirm the game runs really well, except minor little graphic glitches it seems to run perfectly to me. I played for an hour and did the first missions with no trouble.
I played in windowed mode, 1920x1080 (60Hz) and every graphic settings set to High/Very High.
The 3 tips mentioned by @grabmateusz did the trick.

@sabian2008

This comment has been minimized.

Copy link

sabian2008 commented Oct 31, 2018

I can confirm that with the short list of fixes made by @grabmateusz it works fine. FPS are smooth with everything in High (not Very High, which I haven't tried) in a computer with a 4th Gen i7, a Nvidia GTX 750 Ti and playing fullscreen at 1366x768. Only some graphical artifacts in text and the less important graphics layers (i.e. the lamp example).

Implementing the fixes takes at most 15' if you are not familiar with any of them.

I'm using Proton 3.7 Beta.

@pchome

This comment has been minimized.

Copy link

pchome commented Oct 31, 2018

BTW: I've noticed the lights artifacts are gone when I'm forcing LOD Bias using libstrangle

Way to reproduce:

Example: GTA: EFLC localfix I'm currently testing:
~/.config/protonfixes/localfixes/12220.py

from protonfixes import util

def main():
    """ GTA IV: EFLC game
    """
    util.append_argument('-nomemrestrict')
    util.append_argument('-norestrictions')
    util.append_argument('-fullspecaudio')
    util.append_argument('-notimefix')

    # libstrangle
    util.set_environment('LD_PRELOAD', 'libstrangle.so')
    util.set_environment('VSYNC', '-1')
    #util.set_environment('FPS', '59.9')
    util.set_environment('PICMIP', '-1')
@vanyasem

This comment has been minimized.

Copy link

vanyasem commented Oct 31, 2018

Proton 3.16-4 that is meant fix the nvapi issue does not fix the nvapi issue with GTA IV

@budzakd

This comment has been minimized.

Copy link

budzakd commented Nov 20, 2018

guys how to fix a graphical glitch next to minimap? And is better use proton 3.16? now I using 3.7-8

@BobbyWibowo

This comment has been minimized.

Copy link

BobbyWibowo commented Nov 30, 2018

Anybody managed to get user music / independence fm working?
The game reads all of my MP3s in the User Music folder as can be deduced by how userfile.dat is being populated with paths to the music files, but I can't seem to get them playing ever.
I expect it's only normal that MP3s playback won't be available by default though, but I don't really know what else to do.
I looked up some issues in here that had mp3 mentioned, and I found some where they suggested to install libmpg123-0:i386 from apt, but I already had that installed even before having the game (including libmpg123-0 / its 64 bit version, I assume).

@grazzolini

This comment has been minimized.

Copy link

grazzolini commented Dec 5, 2018

I'm using Proton 3.7 and with the xlive fix, copying the nvapi files and changing the hosts file works fine. I have experienced some random freezes after switching back and forth to the GTA and noticed that using PROTON_NO_ESYNC=1 helps with that. I also get the lights glitching, but it's nothing that can prevent the game from being played.

I should mention that I'm using nvidia with optirun/primusrun and bumblebee. Since this is not a DX11 (Vulkan) game, it runs just fine with that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment