shusaura85 / notparadoxlauncher

Alternative for Paradox Launcher
MIT License
154 stars 4 forks source link

Launcher does not start on linux #23

Closed compilenix closed 3 years ago

compilenix commented 3 years ago

Version v1.3.1.x64 OS: Fedora 32 Window Manager: Sway (Wayland)

./launcher

output

[FORMS.PP] ExceptionOccurred 
  Sender=EAccessViolation
  Exception=Access violation
  Stack trace:
  $00000000004D4EB3
  $00000000004BAF29
  $00000000005BDB36
  $00000000005BD51F
  $00000000005B9B93
  $0000000000517475
  $000000000051738B
  $000000000042D0AD
  $000000000042C403
[FORMS.PP] ExceptionOccurred 

Exit code: 0

shusaura85 commented 3 years ago

Hi, can you check if you have the library qt5pas installed?

compilenix commented 3 years ago

Yes: qt5pas-2.6-2000804.fc32.x86_64

shusaura85 commented 3 years ago

Unfortunately my only Linux installation at the moment is Ubuntu (the one used for the pre-compiled binaries) and I currently don't have time to work on it, and won't have time for at least 2 more months.
It might be faster for you to try and compile it from source using Lazarus IDE (and Free Pascal Compiler) as that is probably all it needs to work (just open the lazarus project and hit compile, nothing else needed).

compilenix commented 3 years ago

Okay thanks :)

Other question, does notparadoxlauncher "simply" is and ui + settings and then forks the game with the defined arguments, or is there more to it?

shusaura85 commented 3 years ago

Yup. It simply starts the game with the parameters set up in the options.
The launcher (and boostrapper) was designed to replicate the actions that Paradox Launcher does.
When Steam starts the game, it starts it with the dowser(.exe) binary. That binary then looks for the launcherpath file created by Paradox Launcher (and taken over by NPL) to see where the launcher is installed, then calls the boostrapper_v2(.exe) binary in the specified location. Bootstrapper then starts the actual launcher (official bootstrapper would do a launcher update, then start the latest version). The launcher in the end starts the actual game.
You can see the actual code in the launcher is simply starting a new process for the game with the specified configuration

compilenix commented 3 years ago

Nice, thanks for the detailed description!