Dying Light

Dying Light

データを表示:
Linux/mesa Dying Light issue pinned down
@Modlin_Techland

Hi, I am a comitter of the Linux mesa OpenGL stack. We were able to pin down the issue as to why Dying Light do not work with the opensource AMD drivers in mesa (or any mesa driver for that matter).

The situtation is two fold, first the game requires fixed-pipeline stuff in a GL4.5 context however we could workaround that (although you should still fix it). The more fundamental issue is that invalid GLSL shaders are getting created as "mesa" isn't matched in your vendor detection method in `libropengl.so` resulting in:

```
#version 450

in int gl_VertexID ;

void main() {
gl_Position = vec4(0,0,0,1);
}
```

which is what causes the black screen issue as the redefinition of `gl_VertexID` is illegal GLSL. This happens because a variable called 'g_OpenGL_DeclareVertexId' is getting set. I don't know why you would ever want to redefine `gl_VertexID` as its completely illegal GLSL however maybe it was done as a stub while you were translating directx shaders, who knows. Fun fact: Nvidia drivers compile that completely invalid GLSL, what a suprise :/

Bottom line to fix the blackscreen issue would be if you guys can push a patch that removes `#define OPENGL_DECLARE_VERTEX_ID 1` winding up in your shaders or just remove the line that redefines `in int gl_VertexID`.

Contact me if you need any additional help,
P.S., I don't own a copy of this game so this was in collaboration with Frogging101 from #radeon who found the original `gl_VertexID` redefinition issue.
< >
16-30 / 36 のコメントを表示
Atari の投稿を引用:
With Mesa 17.2 and "MESA_GL_VERSION_OVERRIDE=4.5 MESA_GLSL_VERSION_OVERRIDE=450 %command%" as launch option I'm finally able to play the game. But performance is not the best and the game is kind of laggy.

Yeah, you're probably seeing the performance issues that I mentioned earlier. And if your experience is anything like mine, you'll also find that the framerate plummets in select areas such as the Tower lobby or near Zere's trailer. The game triggers some suboptimal memory management in the driver that results in a lot of swapping between different areas of memory. I submitted kernel patches to fix this; they're in the queue for Linux 4.14. Hopefully it'll help :)

https://www.phoronix.com/scan.php?page=news_item&px=AMDGPU-VRAM-D-Games
@Atari,
Do you have a intel HD card?
Also with "MESA_GL_VERSION_OVERRIDE=4.5 MESA_GLSL_VERSION_OVERRIDE=450 %command%" I'm not able to play the game. Black screen with a white line as a timer. The game exits without an error message. At startup I still get the messagen with Mesa 3.0 vs 3.3.

Are the start options not working or did they change?

Arch Linux 64 bit, mesa 17.2.3 , kernel 4.13.9 on AMD RX480.
FeatureCreature の投稿を引用:
Also with "MESA_GL_VERSION_OVERRIDE=4.5 MESA_GLSL_VERSION_OVERRIDE=450 %command%" I'm not able to play the game. Black screen with a white line as a timer. The game exits without an error message. At startup I still get the messagen with Mesa 3.0 vs 3.3.

Are the start options not working or did they change?

Arch Linux 64 bit, mesa 17.2.3 , kernel 4.13.9 on AMD RX480.

You definitely shouldn't be getting the version mismatch message with those environment variables set. I would carefully check the launch options for typos.
I can play fine with those parameters. Would be great if Techland could patch the game, though.
You definitely shouldn't be getting the version mismatch message with those environment variables set. I would carefully check the launch options for typos.

I can start up the game with MESA_GL_VERSION_OVERRIDE=4.4 MESA_GLSL_VERSION_OVERRIDE=440 %command% or MESA_GL_VERSION_OVERRIDE=4.5 MESA_GLSL_VERSION_OVERRIDE=450 %command% but after that I get a multicolor pixeled screen for a moment, which looks to me like corrupted memory output. Then it gets dark and a white line is slowly progressing on the bottom from left to right till after a few minutes, the game shuts down.

Now being on mesa 17.2.4 and Kernel 4.13.11
I'm also having the same issue.
Without the launch options I get:
1. The unsupported version of OpenGL message
2. A black screen which slowly loads a white line at the bottom for a few seconds before crashing
With the launch options I get:
1. Garbled graphics for a few seconds
2. A black screen which slowly loads a white line at the bottom for a few seconds before crashing

I'm running Debian testing with kernel version 4.14.0, mesa version 17.3.3 on an AMD RX 470.
Doesn't work on my end.
Is everybody getting same log in ~/.local/share/Steam/steamapps/common/Dying Light/DW/out/logs?

{07:00:04.229} INFO: [INFO] > [OpenGL] MajorVersionDetected=4 MinorVersionDetected=5
{07:00:04.229} INFO: [INFO] > [OpenGL] Extension ARB_debug_output is supported
{07:00:04.229} INFO: [INFO] > [OpenGL] Extension ARB_blend_func_extended is supported
****HERE****{07:00:04.229} INFO: [INFO] > [OpenGL] Video memory detected: 0 [MB]!
{07:00:04.302} INFO: [INFO] > [OpenGL] GPU's vendor id: 4098 [0x1002]; GPU's device id: 26607 [0x67ef].
{07:00:04.302} INFO: [INFO] > [OpenGL] Shader binary dir = 4_5_Mesa_18_0_4.
{07:00:04.302} INFO: [INFO] > [OpenGL] GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 4
{07:00:04.302} INFO: [INFO] > [OpenGL] GL_MAX_UNIFORM_BLOCK_SIZE = 65536
{07:00:04.808} INFO: [INFO] > Texture streaming lowest priority distance set to 100m
{07:00:05.372} INFO: [INFO] > [SDL::WindowMode] Current SwapInterval: 0
{07:00:05.372} INFO: [INFO] > [SDL::SetWindowMode] Setting no vsync resulted in: 0 SDL_GetError: Surface doesn't have a colorkey
{07:00:05.372} INFO: [INFO] > [SDL::WindowMode] Current SwapInterval: 0
{07:00:05.428} INFO: [INFO] > [SDL] Resizing window to 3840x2160 f:1 v:0
{07:02:12.818} INFO: [INFO] > Texture streaming buffer set to 400MB
{07:02:12.834} INFO: [INFO] > >>>>> Audio init
{07:02:13.109} INFO: [INFO] > FMOD::Driver: Default Output Device
{07:02:13.225} INFO: [INFO] > FMOD is using (11) output type.
{07:02:13.225} INFO: [INFO] > FMOD Software Format Info:
{07:02:13.225} INFO: [INFO] | Out Sample Rate: <48000>
{07:02:13.225} INFO: [INFO] | Format: <2>
{07:02:13.225} INFO: [INFO] | Out Channels: <2>
{07:02:13.225} INFO: [INFO] | Max Input Channels: <8>
{07:02:13.225} INFO: [INFO] | Bits: <16>
{07:02:13.225} INFO: [INFO] > FMOD Mixer blocksize = 21.33 ms
{07:02:13.225} INFO: [INFO] > FMOD Mixer blocks count = 4
{07:02:13.225} INFO: [INFO] > FMOD Mixer Total buffer size = 85.33 ms
{07:02:13.225} INFO: [INFO] > FMOD Mixer Average Latency = 53.33 ms
{07:02:13.356} INFO: [INFO] > Caught signal 11 (Segmentation fault).
{07:02:13.390} INFO: [INFO] > /usr/lib/libc.so.6(+0x368f0) [0x7fc3d3d9e8f0]
{07:02:13.390} INFO: [INFO] | libengine.so(_ZN12CTextManager10InitializeEv+0x26f) [0x7fc3d58640cf]
{07:02:13.390} INFO: [INFO] | libengine.so(_Z13CreateTextMgrv+0x40) [0x7fc3d5864220]
{07:02:13.390} INFO: [INFO] | libengine.so(_ZN9CRenderer13LoadResourcesEv+0x2c) [0x7fc3d585187c]
{07:02:13.390} INFO: [INFO] | libengine.so(_ZN5CGame10InitializeEPciPvS1_jjP18IProgressIndicator+0x1944) [0x7fc3d53298b4]
{07:02:13.390} INFO: [INFO] | /home/user/.local/share/Steam/steamapps/common/Dying Light/DyingLightGame(main+0xa45) [0x43e315]
{07:02:13.390} INFO: [INFO] | /usr/lib/libc.so.6(__libc_start_main+0xeb) [0x7fc3d3d8b06b]
{07:02:13.390} INFO: [INFO] | /home/user/.local/share/Steam/steamapps/common/Dying Light/DyingLightGame() [0x4425d9]
EddieLinux の投稿を引用:
Is everybody getting same log in ~/.local/share/Steam/steamapps/common/Dying Light/DW/out/logs?

{07:00:04.229} INFO: [INFO] > [OpenGL] MajorVersionDetected=4 MinorVersionDetected=5
{07:00:04.229} INFO: [INFO] > [OpenGL] Extension ARB_debug_output is supported
{07:00:04.229} INFO: [INFO] > [OpenGL] Extension ARB_blend_func_extended is supported
****HERE****{07:00:04.229} INFO: [INFO] > [OpenGL] Video memory detected: 0 [MB]!
{07:00:04.302} INFO: [INFO] > [OpenGL] GPU's vendor id: 4098 [0x1002]; GPU's device id: 26607 [0x67ef].
{07:00:04.302} INFO: [INFO] > [OpenGL] Shader binary dir = 4_5_Mesa_18_0_4.
{07:00:04.302} INFO: [INFO] > [OpenGL] GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 4
{07:00:04.302} INFO: [INFO] > [OpenGL] GL_MAX_UNIFORM_BLOCK_SIZE = 65536
{07:00:04.808} INFO: [INFO] > Texture streaming lowest priority distance set to 100m
{07:00:05.372} INFO: [INFO] > [SDL::WindowMode] Current SwapInterval: 0
{07:00:05.372} INFO: [INFO] > [SDL::SetWindowMode] Setting no vsync resulted in: 0 SDL_GetError: Surface doesn't have a colorkey
{07:00:05.372} INFO: [INFO] > [SDL::WindowMode] Current SwapInterval: 0
{07:00:05.428} INFO: [INFO] > [SDL] Resizing window to 3840x2160 f:1 v:0
{07:02:12.818} INFO: [INFO] > Texture streaming buffer set to 400MB
{07:02:12.834} INFO: [INFO] > >>>>> Audio init
{07:02:13.109} INFO: [INFO] > FMOD::Driver: Default Output Device
{07:02:13.225} INFO: [INFO] > FMOD is using (11) output type.
{07:02:13.225} INFO: [INFO] > FMOD Software Format Info:
{07:02:13.225} INFO: [INFO] | Out Sample Rate: <48000>
{07:02:13.225} INFO: [INFO] | Format: <2>
{07:02:13.225} INFO: [INFO] | Out Channels: <2>
{07:02:13.225} INFO: [INFO] | Max Input Channels: <8>
{07:02:13.225} INFO: [INFO] | Bits: <16>
{07:02:13.225} INFO: [INFO] > FMOD Mixer blocksize = 21.33 ms
{07:02:13.225} INFO: [INFO] > FMOD Mixer blocks count = 4
{07:02:13.225} INFO: [INFO] > FMOD Mixer Total buffer size = 85.33 ms
{07:02:13.225} INFO: [INFO] > FMOD Mixer Average Latency = 53.33 ms
{07:02:13.356} INFO: [INFO] > Caught signal 11 (Segmentation fault).
{07:02:13.390} INFO: [INFO] > /usr/lib/libc.so.6(+0x368f0) [0x7fc3d3d9e8f0]
{07:02:13.390} INFO: [INFO] | libengine.so(_ZN12CTextManager10InitializeEv+0x26f) [0x7fc3d58640cf]
{07:02:13.390} INFO: [INFO] | libengine.so(_Z13CreateTextMgrv+0x40) [0x7fc3d5864220]
{07:02:13.390} INFO: [INFO] | libengine.so(_ZN9CRenderer13LoadResourcesEv+0x2c) [0x7fc3d585187c]
{07:02:13.390} INFO: [INFO] | libengine.so(_ZN5CGame10InitializeEPciPvS1_jjP18IProgressIndicator+0x1944) [0x7fc3d53298b4]
{07:02:13.390} INFO: [INFO] | /home/user/.local/share/Steam/steamapps/common/Dying Light/DyingLightGame(main+0xa45) [0x43e315]
{07:02:13.390} INFO: [INFO] | /usr/lib/libc.so.6(__libc_start_main+0xeb) [0x7fc3d3d8b06b]
{07:02:13.390} INFO: [INFO] | /home/user/.local/share/Steam/steamapps/common/Dying Light/DyingLightGame() [0x4425d9]

Yes.
I'm seeing the same issue others are reporting. Screen with crazy colors flashes for a second, then the screen goes black with the white loading line on the bottom that moves to the right, then crashes without any errors. Vega 64, Mesa drivers, Ubuntu 18.10. Tried with the parameters shown and I'm not seeing any difference.

Would love to be able to play the game.

edit: Figured it out, looks like some linux enthusiasts solved the issue for the game developers. Check out the comments here:

https://www.gamingonlinux.com/forum/topic/2766/page=16

You need to download (from the thread) and copy libGL.so.1 to your ~/.local/share/Steam/steamapps/common/Dying Light directory.
最近の変更はSacBuntChrisが行いました; 2018年12月20日 20時42分
I've investigated the issue that causes it to crash when Mesa is compiled with GLVND. Arch compiles with GLVND, maybe other distros too. I'm not sure yet how to fix it at the driver level, but I've made an LD_PRELOAD shim that is easy to compile and mitigates this problem. Details here: https://bugs.freedesktop.org/show_bug.cgi?id=107990#c8
I can confirm that the SHIM on the FreeDesktop, Comment #8 works for Intel HD Whisky Lake 3x8 GT2 onboad GPU with MESA. Thanks!
A year and a half later, and still the same problems.
The libGL.x.x.x fix in the gamingonlinux forum (comment #26) fixed it for me at first. On Arch I installed the mesa 19.0 dev together with this fix, till the mesa version in the off-label-dev repo broke my setup. A few weeks later, I think from 18.3.(2?) onwards the game started to work quite well.

There are occasional crashes, but those are also common place in the win version. Every 5 to 6 hours and when doing a special move, stabbing from above with extra force, those crashes happen. Nonetheless, it is very playable :D

Hope you guys finally get a fix.
< >
16-30 / 36 のコメントを表示
ページ毎: 1530 50

投稿日: 2017年5月3日 16時41分
投稿数: 36