The forum

[Script] Epic Games Launcher

Author Replies
plata Sunday 8 May 2016 at 11:21
plata
Developer

Note: This is not yet working. I'm just sharing it here because I thought we might get it running together.

 

What works:

  • Installation
  • Running Epic Games Launcher
  • Logging in

 

What doesn't work:

  • Creating an Unreal Engine project (requires Windows 7 SP 1)

 

Update: Use OpenGL to avoid D3D11 issues (black window). (thanks to Yaakuro for figuring this out)

 

Update 2: Fixed crash of login window ("Portal") with error

wine: Call from 0x7bc581c0 to unimplemented function WS2_32.dll.InetNtopW, aborting

by adding

-http=wininet

to command line arguments.

 

Update 3: Use 64bit (otherwise you cannot create Unreal Engine projects)

 

Update 4: Wine 1.9.16 fixes

wine: Call from 0x7bc581c0 to unimplemented function WS2_32.dll.InetNtopW, aborting

 

Update 5: If the update complains about missing dependencies, try "-SkipBuildPatchPrereq".

 

#!/bin/bash
# Date : (2016-05-07 ??-??)
# Last revision : (2016-08-06 12-45)
# Wine version used : 1.9.16
# Distribution used to test : Kubuntu 16.04 x64
# Author : plata
 
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
 
TITLE="Epic Games Launcher"
PREFIX="EpicGamesLauncher"
WORKING_WINE_VERSION="1.9.16"
EDITOR="Epic Games"
GAME_URL="https://www.epicgames.com"
AUTHOR="plata"

# use 64bit (otherwise creating UE projects is not possible)
POL_System_SetArch "amd64"

# start the script
POL_GetSetupImages "http://files.playonlinux.com/resources/setups/$PREFIX/top.jpg" "http://files.playonlinux.com/resources/setups/$PREFIX/left.jpg" "$TITLE"
POL_SetupWindow_Init
POL_Debug_Init
 
POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$GAME_URL" "$AUTHOR" "$PREFIX"
 
# set prefix path
POL_Wine_SelectPrefix "$PREFIX"
 
# download wine if necessary and create prefix
POL_Wine_PrefixCreate "$WORKING_WINE_VERSION"

POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run.')" "$TITLE"
INSTALLER="$APP_ANSWER"

POL_SetupWindow_wait "$(eval_gettext 'Please wait while $TITLE is installed...')"
POL_Wine msiexec /i "$INSTALLER" SKIP_AUTOLAUNCH="1"
 
# create shortcut
POL_Shortcut "EpicGamesLauncher.exe" "$TITLE" "$PREFIX-48x48.png" "-OpenGL"
 
POL_SetupWindow_Close
exit 0

Edited by plata

MTres19 Wednesday 18 May 2016 at 0:25
MTres19Anonymous

Hmmm... Going by this, it might be worthwhile to try adding:

POL_Wine_OverrideDLL "" "d3d11"

Might be worth a try, but don't count on it helping.

plata Wednesday 18 May 2016 at 17:41
plata
Developer

This gives me:

err:module:import_dll Library d3d11.dll (which is needed by L"C:\\Program Files\\Epic Games\\Launcher\\Portal\\Binaries\\Win32\\EpicGamesLauncher.exe") not found
MTres19 Thursday 19 May 2016 at 22:07
MTres19Anonymous

I can't say I know what to do in that case. Probably a deficiency in Wine. If there aren't yet any relevent bugs filed on WineHQ bugzilla, though, you could file one about it. A word of warning though: you should retest first with the official wine-staging packages, possibly from the Official Wine PPA if you're running *buntu. Wine isn't exactly friendly about PlayOnLinux, and you should avoid discussing it even though PlayOnLinux uses vanilla Wine. (This is probably due to the fact that PlayOnLinux is very similar to the commercial Crossover, which helps fund Wine development, only free and arguably better.)

plata Friday 20 May 2016 at 18:25
plata
Developer

I assume it's because D3D11 is not working properly in wine yet. As they are currently working on fixing this (and already have some games running), the near future might bring some improvements.

Yaakuro Saturday 28 May 2016 at 15:05
YaakuroAnonymous

You can use OpenGL instead of DirectX. Add the  '-OpenGL'  flag as argument. But it still doesn't work. This

wine: Call from 0x7bc581c0 to unimplemented function WS2_32.dll.InetNtopW, aborting

seems to be an issue.

Edited by Yaakuro

plata Saturday 28 May 2016 at 17:40
plata
Developer

I updated the script. Seems like the argument '-http=wininet' fixes the crash caused by

unimplemented function WS2_32.dll.InetNtopW

I cannot log in but it seems to run in offline mode.

MTres19 Saturday 28 May 2016 at 18:43
MTres19Anonymous

Hey, it looks like you're getting somewhere! Try

POL_Call POL_Install_wininet

Maybe that will work!

plata Saturday 28 May 2016 at 19:11
plata
Developer

I cannot install wininet. It complains about the checksums.

plata Tuesday 19 July 2016 at 11:46
plata
Developer

One more hint: If the Launcher tries to update, it might get stuck in the "Please wait" window. In this case, temporarily remove the "-http=wininet" parameter.

Maybe installing wininet could help but I cannot check this as I said already. Any news on the checksum problem?

(In winetricks the problem has been fixed in the meantime. As MS has removed old files from their servers, they are now using a fallback to archive.org to download the required files).

Edited by plata

plata Tuesday 26 July 2016 at 18:44
plata
Developer

The wine patch https://source.winehq.org/patches/data/124719 solves

wine: Call from 0x7bc581c0 to unimplemented function WS2_32.dll.InetNtopW, aborting

With this patch, also the "-http=wininet" parameter is not needed anymore.

plata Saturday 6 August 2016 at 12:53
plata
Developer

Wine 1.9.16 contains the required patch. It is now possible to log in. I can, however, not create an Unreal Engine project because this requires Windows 7 SP1 (if I set Wine to Windows 7, the Launcher does not start anymore - I guess it's the same cef issue as for steamwebhelper).

Edited by plata