Check out our Monthly Survey Page to see what our users are running.
[Fixed, needs testing] Dying Light refuses to launch
Page: «14/17»
  Go to:
Mushufaza 29 Sep, 2018
Quoting: GloriousEggrollI cannot share the libraries because they need to be compiled with the version of LLVM that exists on the system they are being used on. Also, I am not going to maintain and update the libraries every time a new version of llvm or mesa comes out. This fix is a workaround for Arch until the problem is resolved with glvnd. Also sharing compiled binaries is not secure.

Hello, following the recommendations of GloriousEggroll, I decided to try it in my distro kubuntu 18.04, after many failed attempts and about to give up, I found the golden egg.

based on these two guides, I got the solution.

"https://www.gamingonlinux.com/wiki/Building_Mesa_from_source"
"https://xorg-team.pages.debian.net/xorg/howto/build-mesa.html"

*only 64 bits
*You must use one of the two PPAs, Oibaf (mesa 18.3-devel with llvm 7) or Padoka Stable (mesa 18.2.1 with llvm 7), for AMD Graphics card, I use Oibaf for the moment.

1º Open terminal or konsole, we must install what is necessary for the compilation (for command "build-dep mesa" you must enable deb-src in the repository list of the PPA that you choose to use).
sudo apt-get install build-essential git libelf-dev libsdl2-2.0 llvm-7 llvm-7-dev
sudo apt-get build-dep mesa


2º well we continue working with our current terminal or konsole and we will add these necessary parameters, one by one.
build_dir="${HOME}/build/mesa"
cpuarch="znver1" # I set it for Zen, but you can use "native" or anything else you like.
build_threads=$(nproc)
arch_dir["32"]="x86"
arch_dir["64"]="x86_64"
arch_vk["32"]="i686"
arch_vk["64"]="x86_64"

mkdir -p "$build_dir"
cd $(dirname "$build_dir")

git clone git://anongit.freedesktop.org/mesa/mesa $(basename "$build_dir")
cd "$build_dir"
autoreconf -vfi


3º We continue in our current terminal or konsole, once the task of "autoreconf -vfi" finalized, continue with the variants for "./configure", GLVND is not mentioned because it is disabled by default, the location of llvm 7 can be changed here "--with-llvm-prefix=/usr/lib/llvm-7/".
./configure --build=x86_64-linux-gnu --prefix=${mesa_dir} --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/${arch_dir["64"]} --libexecdir=\${prefix}/${arch_dir["64"]} --disable-maintainer-mode --disable-dependency-tracking --enable-dri "--with-dri-drivers= i965" --with-dri-driverdir=/usr/lib/x86_64-linux-gnu/dri --with-dri-searchpath=/usr/lib/x86_64-linux-gnu/dri:\\\$\${ORIGIN}/dri:/usr/lib/dri "--with-vulkan-drivers= intel radeon" --enable-osmesa --enable-glx-tls --enable-shared-glapi --enable-texture-float --disable-xvmc --disable-omx-bellagio --enable-driglx-direct --enable-gbm --enable-dri3 "--with-platforms=x11,surfaceless wayland drm" --enable-xa --enable-llvm --enable-opencl --enable-opencl-icd --with-llvm-prefix=/usr/lib/llvm-7/ --enable-vdpau --enable-va --enable-gallium-extra-hud --enable-lmsensors "--with-gallium-drivers= radeonsi" --disable-gles1 --enable-gles2 "CFLAGS=-g -O3 -fdebug-prefix-map=${HOME}/build=. -march=${cpuarch} -fstack-protector-strong -Wformat -Werror=format-security -Wall" "CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2" "CXXFLAGS=-g -O3 -fdebug-prefix-map=${HOME}/build=. -march=${cpuarch} -fstack-protector-strong -Wformat -Werror=format-security -Wall" "FCFLAGS=-g -O3 -fdebug-prefix-map=${HOME}/build=. -fstack-protector-strong" "FFLAGS=-g -O3 -fdebug-prefix-map=${HOME}/build=. -march=${cpuarch} -fstack-protector-strong" "GCJFLAGS=-g -O3 -fdebug-prefix-map=${HOME}/build=. -fstack-protector-strong" LDFLAGS=-Wl,-z,relro "OBJCFLAGS=-g -O3 -fdebug-prefix-map=${HOME}/build=. -march=${cpuarch} -fstack-protector-strong -Wformat -Werror=format-security" "OBJCXXFLAGS=-g -O3 -fdebug-prefix-map=${HOME}/build=. -march=${cpuarch} -fstack-protector-strong -Wformat -Werror=format-security"

4º If you have succeeded with "./configure", proceed with our beloved "make" that will give us the golden egg, write in your current terminal or konsole, armed with patience go for some snacks!.
make

5º finally we have the golden egg, finished the task of "make" if you have not had errors we will close our current terminal or konsole and go to the folder that we have created "/ home / your user / build / mesa / x86_64 /" and copy two files "libGL.so.1.2.0 and libglapi.so.0.0.0" in the steam installation folder of "Dying Light", once that is done we will open Steam and in the launch options we will add the command.
LD_PRELOAD=$LD_PRELOAD:libGL.so.1.2.0:libglapi.so.0.0.0 %command%

Press play!! and to have fun :D :3

I hope to help those who use distros based on deb, greetings from Chile thanks to all, hopefully Techland repair this soon.(it's 05:00 AM I want to sleep u-u)

P. D. Sorry for my English.
schidin 29 Sep, 2018
Can anybody play for a longer period after this fix? I have freezes after about 15 minutes where I have to restart the whole system.
GloriousEggroll 29 Sep, 2018
@schidin you probably want to be on llvm 7 or llvm-svn. llvm 6 is well known for hard gpu hangs in various games. once you upgrade llvm you will also have to compile + install mesa-git + lib32-mesa-git. Please note that you should turn ON glvnd (set glvnd=true) before installing mesa-git. You only need to turn it off for the Dying Light libraries, which dont work system wide (which is why we dont install the package with glvnd disabled).

Note: a lot of people dont understand that mesa has to be compiled with whatever version of llvm is on the system. so when you reinstall llvm, you also have to recompile mesa so that it uses that llvm version
schidin 29 Sep, 2018
Thank you,

what I dont understand is, that before I began trying to fix Dying Light, I didnt even have LLVM installed. I only installed this package after I saw Your video where it was needed to build MESA. But MESA was already installed on my system (and I played a lot of games without issues). So I just wondered about the whole LLVM-problem...

Now I wonder if I just remove LLVM, install LLVM-SVN, build MESA-GIT without installing and just let Dying Light use this, since this does not effect my (working) system, but provides the newer LLVM-MESA-Combo to Dying Light, or is there anything I am not understanding?

Anyhow, thank you again for your extensive help on this problem!
tuubi 30 Sep, 2018
Quoting: schidinwhat I dont understand is, that before I began trying to fix Dying Light, I didnt even have LLVM installed. I only installed this package after I saw Your video where it was needed to build MESA. But MESA was already installed on my system (and I played a lot of games without issues). So I just wondered about the whole LLVM-problem...
I bet you did have libllvm though as it's a Mesa dependency. On Ubuntu 18.04 or Mint 19 you'd get libllvm6.0 installed by default.

EDIT: I did notice you run Manjaro. The package might be llvm-libs there?
schidin 30 Sep, 2018
Ah yes you are right. But for compiling Mesa-git I still had to install Standard llvm.
matou68 30 Sep, 2018
i have compiled Mesa 18.2.1 with LLVM 6.0.0 on Ubuntu 18.04 with glvnd disabled. Dying Light wont start. you must compile with llvm 7 or svn to avoid GPU hang.

i have do some tests with my "home compiled" Mesa 18.2.1

some game will start like tomb raider, day of infamy, serious sam 3 bfe

verdun or shadow of mordor dont start.
Mushufaza 1 Oct, 2018
Quoting: matou68i have compiled Mesa 18.2.1 with LLVM 6.0.0 on Ubuntu 18.04 with glvnd disabled. Dying Light wont start. you must compile with llvm 7 or svn to avoid GPU hang.

i have do some tests with my "home compiled" Mesa 18.2.1

some game will start like tomb raider, day of infamy, serious sam 3 bfe

verdun or shadow of mordor dont start.

hello, I do not understand your information, the compilation of "Mesa" is only to get two files for dying light not for the root system, if you want llvm 7 use padoka stable ppa and compile with that as described on page 14, if you use ubuntu 18.04.

the only mistake I've had, when using the "Drop Attack" skill closes the game randomly, I already sent a ticket to Techland, I played several hours without any crashes.
x_wing 1 Oct, 2018
Quoting: GloriousEggrollI cannot share the libraries because they need to be compiled with the version of LLVM that exists on the system they are being used on. Also, I am not going to maintain and update the libraries every time a new version of llvm or mesa comes out. This fix is a workaround for Arch until the problem is resolved with glvnd. Also sharing compiled binaries is not secure.

I agree that everyone should be very careful when using shared objects downloaded from the web, but I think that we can believe on each other here... for now.

In the other hand, as the problem seems to be related with glvnd (which, AFAIK, is an standard way for supporting multiple OGL vendors implementations) we will not get in to LLVM version problems as it is used by the dri drivers. In other words: if replacing libGL.so and libglapi.so does the trick, then sharing this two files should be a workaround for everyone that is using the same base distro no matter the llvm version.

Either case, good catch with glvnd. I recently discovered that a local default Mesa drivers build was working and Padoka's versions were crashing the game. GLVND really fits as the source of the problem as a default meson build on mesa has glvnd disabled. Good to see that the community dig out the reason of DIDE & DL crash.
Mushufaza 2 Oct, 2018
QuoteI agree that everyone should be very careful when using shared objects downloaded from the web, but I think that we can believe on each other here... for now.

In the other hand, as the problem seems to be related with glvnd (which, AFAIK, is an standard way for supporting multiple OGL vendors implementations) we will not get in to LLVM version problems as it is used by the dri drivers. In other words: if replacing libGL.so and libglapi.so does the trick, then sharing this two files should be a workaround for everyone that is using the same base distro no matter the llvm version.

Either case, good catch with glvnd. I recently discovered that a local default Mesa drivers build was working and Padoka's versions were crashing the game. GLVND really fits as the source of the problem as a default meson build on mesa has glvnd disabled. Good to see that the community dig out the reason of DIDE & DL crash.

Hi, I share your opinion, if you're interested I uploaded the "Libs" for you to try, they are compiled with llvm 7 in a Ryzen 1600, I also uploaded the last Kernel in the branch 4.18.8 based on amd-staging-drm-next, it is a delight for those who use AMDGPU, all this I use in conjunction with Obaf ppa or Padoka Stable.

Only for Ubuntu 18.04 64 bits

Dying Light Libs
https://drive.google.com/file/d/12enZT4pLIH59HN7zdmwqup1PI0mD_m8a/view?usp=sharing

Kernel 4.18.8 based on amd-staging-drm-next
https://drive.google.com/file/d/1jMeMc7hpzkd-6mRSLQU2zhHIZ12h8ddc/view?usp=sharing

from https://github.com/M-Bab/linux-kernel-amdgpu-binaries (they are currently in branch 4.19.0 RC6, I'm waiting for the final version)
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone with no article paywalls. We also don't have tons of adverts, there's also no tracking and we respect your privacy. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register

Or login with...
Sign in with Steam Sign in with Twitter Sign in with Google
Social logins require cookies to stay logged in.