YimMenu / YimMenu

YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience.
https://yim.gta.menu
GNU General Public License v2.0
1.56k stars 31 forks source link

[Bug]: Crash on Proton due to commit #2698 or #2699 #2710

Closed GreySideMM closed 9 months ago

GreySideMM commented 9 months ago

Describe the bug

Apparently GetWindowsVersion() causes a crash when running GTA thru Proton. Disabling this line "solves" the problem: https://github.com/YimMenu/YimMenu/blob/master/src/main.cpp#L164 I wasn't able to get a stacktrace as of now. (How to do so using Proton?)

Steps To Reproduce

  1. Use latest Proton

Expected Behavior

No Crash

Logs and/or screenshots

[22:29:03.9399848][DEBUG/logger.cpp:28] Using simple logger.
[22:29:05.2058948][INFO/main.cpp:158] Yim's Menu Initializing
[22:29:05.2059060][INFO/main.cpp:159] Git Info
    Branch: master
    Hash:   ec7735cb3a0e7fedb2fcf89112323fdff0dfe22d
    Date:   Mon Feb 12 18:26:07 2024
[22:29:05.2060947][INFO/main.cpp:113] Unable to read registry key UBR

Store

Steam

Language

English

YimMenu Language

English (US)

Additional context

No response

Build

Coload

Yimura commented 9 months ago

Oh yeah makes sense I guess, I'll fix this in a moment.

Yimura commented 9 months ago

Hey @GreySideMM, could you check out the build that the @github-actions bot will posted here #2711? Normally it should work after this.

GreySideMM commented 9 months ago

@Yimura Yes, this file starts up without any problem. Thank you very very much!

Yimura commented 9 months ago

Alright thanks for confirming, I'll merge it into master now.

Vitamin-X commented 8 months ago

how do you got the DLL to start in proton? tryed so many ways now and none worked

Yimura commented 8 months ago

how do you got the DLL to start in proton? tryed so many ways now and none worked

Could you open up a new issue? There’s too little information provided in your comment for us to properly assess the problem you’re facing.

Vitamin-X commented 8 months ago

sorry, i just hoped he might can give me a hint with what he injected the DLL

but sure i can open an new issue, but its not really an issue more like seaking for an advise

still want me to open one?

Yimura commented 8 months ago

sorry, i just hoped he might can give me a hint with what he injected the DLL

but sure i can open an new issue, but its not really an issue more like seaking for an advise

still want me to open one?

There are plenty of other issues where this was discussed from what I remember is that they used an ASI loader to then inject it as soon as the game booted up. Start with by looking at #334

Vitamin-X commented 8 months ago

got it working, Xenos was the problem, i used it to inject the dll on windows, but in proton is wasn't good

let make me a little tutorial.... im Running xUbuntu 23.10 on kernel 6.5.0-21 with NVIDIA 535.154.05 and the experimental proton in steam

  1. install protontricks with running "sudo apt protontricks" in a terminal
  2. add and change GTAs settings (Rockstar version) 2a. you need to add your socialclub launcher to steam 2b. right click on the Launcher.exe in your library and click on settings 2c open compatibility and select "Proton Experimental" grafik 2d. run "protontricks -l 2> /dev/null | grep Launcher.exe" next in the terminal and note the ID, it shows something like that "Non-Steam shortcut: Launcher.exe (3274051658)"
    (steam version) not exactly sure but 2a. change the compatibility to proton Experimental 2a. run "protontricks -l" and look for GTAs ID and note it
  3. run "protontricks [GTA id] --gui " next in the terminal but change [GTA id] with the id you noted 3b. sometimes it shows "protontricks (ERROR): Active compatibility tool was found, but it's not a Proton installation supported by protontricks. Proton installation could not be found!" no idea why but usually i just need to wait for a minute and run the command again and it works, or run "while [ true ]; do protontricks [GTA id] --gui;done" if you were impatient and then just get a coffee and come back to an open GUI
  4. next select "select standard wineprefix" and click ok grafik
  5. next select "start winecfg" and click ok grafik
  6. next select "Windows 10" at Windows-Version and click ok grafik
  7. if u used the impation way, focus the terminal and push crtl+c, if not closing the gui is enough
  8. open steam again and start GTA (or just the launcher)
  9. next you need RemoteDLL, seems like you can only download it from some shady websites but here is a version from one of them RemoteDll.zip
  10. extract it somewhere on your PC
  11. next you need a version of protonhax you get it from here https://github.com/jcnils/protonhax/releases/
  12. extract it ( and move the "protonhax" file to "/usr/bin/" if you wanna be able to start if from everywhere )
  13. run "protonhax ls" that shows you the IDs of the currently running proton instances, (you probably only have 1 running so its ID 0)
  14. run "protonhax run [instance id from before probably 0] [full path to RemoteDLL64.exe]" grafik
  15. start GTA
  16. click on the little windows logo next to the box of "Target Process"
  17. select the GTA5.exe from the list and click "Select" grafik
  18. now open the folder where you saved your YimMenu.dll and drag the dll file into the box called "DLL Name
  19. next click on "Inject DLL"
  20. be happy that you finally got it running grafik
GreySideMM commented 8 months ago

@Vitamin-X Oh well, sry for being late but it was already mentioned in the linked issue: You can simply use Ultimate ASI Loader. See description here: https://github.com/YimMenu/YimMenu/issues/334#issuecomment-1668845510 Just better use the newest loader from https://github.com/ThirteenAG/Ultimate-ASI-Loader instead, not the linked in that post. The ASI Loader even has the benefit that the menu is the "first" to be loaded and it won't fail. That's helpful when GTA tries to send a "bonus report" like a minute after the game launch. (I'm using Steam, idk if that matters.) For me your post might still be helpful, because as of now I have to reload the entire game just to test a new build.

Vitamin-X commented 8 months ago

yea i also liked it to have it seperate and years ago the asi loader was no bueno for online

EDIT: i also got something else in mind to it now, what about the file check that the social club launcher always does?, when you start it, it will check if any of the files inside the GTA folder were changed, also the same with the updates, isnt it annoying when using the asi loader that it constantly gets removed?

GreySideMM commented 8 months ago

@Vitamin-X I never had it removed due to an update. (I'm using YimMenu only since 2 month, tho.) I used the ASI Loader before for offline mods. They (by accident) even survived a complete reinstall of the game. Idk about the social club (or R* launcher), but using Steam SC only gets launched after the start of the game. And then "fixed" by Yim. SocialClub never runs without the game, idk if this is even possible (directly) using Steam as the store.

Vitamin-X commented 8 months ago

i got the rockstar version directly, so i start social club over steam to get it running inside an proton instance