Bugs in the Linux version of the Bard's Tale IV

If you need assistance with a technical is sue with The Bard's Tale IV, this forum is for you. Spoilers are allowed, but spoiler warning tags are recommended.

Moderator: Bard Hall Bouncers

Post Reply
shmerl
Explorer
Posts: 335
Joined: September 28th, 2014, 6:31 pm

Bugs in the Linux version of the Bard's Tale IV

Post by shmerl » September 8th, 2019, 6:50 pm

GOG release is causing a GPU hang for me (Sapphire Pulse RX 5700 XT) right in the beginning, when turning around. It happens quite consistently. Max settings, only shadows set to medium.

I opened a Mesa bug here with details: https://bugs.freedesktop.org/show_bug.cgi?id=111591

kilobug
Adventurer
Posts: 972
Joined: September 21st, 2014, 1:07 am
Location: Paris, France

Re: Bugs in the Linux version of the Bard's Tale IV

Post by kilobug » September 9th, 2019, 4:12 am

Since you made the title generic, I'll hijack your thread, hope you don't mind ;) So far I've seen quite a lot of minor bugs, but nothing game-breaking. My setup is a Debian Sid, with a Radeon R380X and 16Gb of RAM, and I'm using GOG Linux version, with settings somewhat toward the "High" range, but not "Ultra". Bugs are :

- somewhat frequent flickering of textures, objects that flash shortly with a bright color (pink, green, ...) and then back to normal when I move around ;
- a few "seperation lines", 1-pixel large, that occasionally appear on the walls/rocks/... ;
- sometimes it crashes (segfault) when loading a game, but never (so far) during gameplay ;
- for a few seconds after loading an area the game is slugglish, lags when I turn around (probably due to shader compilation, but couldn't it be done during the loading ?) ;
- the "persistency" bugs that are not Linux specifics and were mentioned on other threads (ennemies respawning, grapling hook disappearing, ... when loading a game) ;
- the "unclickable character" bug, again mentioned on other threads and probably not Linux-specific.

That's about it. Else the game runs smoothly, loading times are very reasonable, and so far I'm enjoying it. If needed I'll do more detailed bug reports after the next patch is done, and I'll also post a more detailed review of the game once I've finished it.

demeisen
Explorer
Posts: 347
Joined: July 11th, 2015, 9:59 am

Re: Bugs in the Linux version of the Bard's Tale IV

Post by demeisen » September 9th, 2019, 7:46 am

kilobug wrote:
September 9th, 2019, 4:12 am
for a few seconds after loading an area the game is slugglish, lags when I turn around (probably due to shader compilation, but couldn't it be done during the loading ?) ;
Some of that could also be dynamic asset loading rather than shader compilation. UE tends to get the scene going early with lower resolution versions of textures and maybe lower geo-LOD'ed models, and then demand-load the full assets. That also lets it dynamically load assets as you move around in areas where the full set would be too big.

Anyway, good graphical results here on Ubuntu + nVidia with the 390.116 drivers. No driver related glitches. In a few cases I've noticed a little bit of visible geo-LOD pop, but that's not driver related, just an asset config.
That's about it. Else the game runs smoothly, loading times are very reasonable, and so far I'm enjoying it.
Ditto for me. Enjoyable so far for sure.

I hope the AMD driver folks get that hang sorted out, shmerl - I imagine the additional wait to play must be frustrating :(. Have you tried any radical approaches such as setting all graphics stuff to min settings, to see if that makes any difference? It may be a long shot, but worth trying to see if it'll get you up and limping along until the hang's fixed.

demeisen
Explorer
Posts: 347
Joined: July 11th, 2015, 9:59 am

Re: Bugs in the Linux version of the Bard's Tale IV

Post by demeisen » September 9th, 2019, 8:00 am

I can't promise this is related Shmerl, but maybe... Have you seen this commit? It's relatively new and may not have bubbled through to you yet. It's at least related to framebuffer fence timeouts and your exact error message appears in the commit. Also the commit message talks about fixing a deadlock.

drm/amd/display: Use a reasonable timeout for framebuffer fence waits

shmerl
Explorer
Posts: 335
Joined: September 28th, 2014, 6:31 pm

Re: Bugs in the Linux version of the Bard's Tale IV

Post by shmerl » September 9th, 2019, 4:10 pm

demeisen wrote:
September 9th, 2019, 8:00 am
I can't promise this is related Shmerl, but maybe... Have you seen this commit? It's relatively new and may not have bubbled through to you yet. It's at least related to framebuffer fence timeouts and your exact error message appears in the commit. Also the commit message talks about fixing a deadlock.

drm/amd/display: Use a reasonable timeout for framebuffer fence waits
That's probably the exact error message I'm seeing, but I'm using that code already. It's in in the stable tree, so in 5.3-rc8 as well:
https://git.kernel.org/pub/scm/linux/ke ... -rc8#n5703

I'll try to make a trace, so Mesa developers can investigate further. I don't mind waiting for the fix. I kind of half expect such issues with Navi - the hardware is very new, and drivers would have bugs. Good thing, Mesa developers are attentive to them.
Last edited by shmerl on September 9th, 2019, 6:18 pm, edited 1 time in total.

shmerl
Explorer
Posts: 335
Joined: September 28th, 2014, 6:31 pm

Re: Bugs in the Linux version of the Bard's Tale IV

Post by shmerl » September 9th, 2019, 5:54 pm

Is there any way to skip cutscenes? I couldn't find any key for it. I need to create an apitrace for debugging the GPU hang, but that cutscene in the beginning bloats the trace file immensely. And I can't save the game after it ends for some weird reason, so I can't load into the point right after it either...

UPDATE: anyway, I made apitrace as is. 1.1 GB after pixz compression.

shmerl
Explorer
Posts: 335
Joined: September 28th, 2014, 6:31 pm

Re: Bugs in the Linux version of the Bard's Tale IV

Post by shmerl » September 9th, 2019, 8:06 pm

kilobug wrote:
September 9th, 2019, 4:12 am
Since you made the title generic, I'll hijack your thread, hope you don't mind ;) So far I've seen quite a lot of minor bugs, but nothing game-breaking.
Sure, it's good to have one concentrated thread.
kilobug wrote:
September 9th, 2019, 4:12 am
- somewhat frequent flickering of textures, objects that flash shortly with a bright color (pink, green, ...) and then back to normal when I move around ;
I noticed that too (while looking at some distant buildings - roofs blink purple).

User avatar
TheQuestionMark
Global Moderator
Posts: 26
Joined: August 26th, 2019, 9:42 am
Contact:

Re: Bugs in the Linux version of the Bard's Tale IV

Post by TheQuestionMark » September 9th, 2019, 8:28 pm

Hi All, thanks so much for sharing these issues that you are experiencing in game. This is really helpful and I will be sure to share this with the team. In the mean time can i please ask for you all to submit a Support Ticket with more details of your system/specs and any key examples you can share (with video/photos). This will help our team replicate the issues and work on a fix. Thanks again for the help and appreciate the support. https://inxile.zendesk.com/hc/en-us

kilobug
Adventurer
Posts: 972
Joined: September 21st, 2014, 1:07 am
Location: Paris, France

Re: Bugs in the Linux version of the Bard's Tale IV

Post by kilobug » September 10th, 2019, 12:43 am

TheQuestionMark wrote:
September 9th, 2019, 8:28 pm
Hi All, thanks so much for sharing these issues that you are experiencing in game. This is really helpful and I will be sure to share this with the team. In the mean time can i please ask for you all to submit a Support Ticket with more details of your system/specs and any key examples you can share (with video/photos). This will help our team replicate the issues and work on a fix. Thanks again for the help and appreciate the support. https://inxile.zendesk.com/hc/en-us
Hi ! Thanks for the feedback. I was planning to do that but then I heard a patch is coming in the next few days, so I'll wait for the patch (to not waste both my time and your time filling bugs that were already solved). Then I'll do my best to submit more complete bug reports (but I'll be unavailable from friday morning until monday, so might be next week).

demeisen
Explorer
Posts: 347
Joined: July 11th, 2015, 9:59 am

Re: Bugs in the Linux version of the Bard's Tale IV

Post by demeisen » September 10th, 2019, 7:13 am

shmerl wrote:
September 9th, 2019, 5:54 pm
Is there any way to skip cutscenes? I couldn't find any key for it.
If you mean the ones that play upon starting the game and loading a saved game, I've been able to skip those with a left mouse click in the BT window.

shmerl
Explorer
Posts: 335
Joined: September 28th, 2014, 6:31 pm

Re: Bugs in the Linux version of the Bard's Tale IV

Post by shmerl » September 10th, 2019, 8:49 am

demeisen wrote:
September 10th, 2019, 7:13 am
shmerl wrote:
September 9th, 2019, 5:54 pm
Is there any way to skip cutscenes? I couldn't find any key for it.
If you mean the ones that play upon starting the game and loading a saved game, I've been able to skip those with a left mouse click in the BT window.
I mean the one in the intro, where that monk (or whoever that character is) is giving a speech during execution.

shmerl
Explorer
Posts: 335
Joined: September 28th, 2014, 6:31 pm

Re: Bugs in the Linux version of the Bard's Tale IV

Post by shmerl » September 10th, 2019, 7:59 pm

Just a small update for anyone affected. Mesa developers reproduced the GPU hang problem using the trace, so hopefully it's fixable.

shmerl
Explorer
Posts: 335
Joined: September 28th, 2014, 6:31 pm

Re: Bugs in the Linux version of the Bard's Tale IV

Post by shmerl » September 10th, 2019, 8:26 pm

Timothy Arceri posted an update about the GPU hang bug. Apparently it's a problem with the game itself:
The games shaders use GLSL 4.30 which mean interpolation qualifiers must match across shader interfaces otherwise it is a link-time error. In GLSL 4.40 this restriction was relaxed.

There is at least one attempt in the game (maybe more?) to link a vertex shader output that sets the noperspective qualifier on an output to a fragment shader input where no interpolation qualifier is set. This results in hangs and stuttering in the game when it attempts to use the program that failed to link.
Which brings a question, can you please enable Vulkan renderer, as an alternative path? The above could be a bug in Unreal Engine, so at least Vulkan could provide an alternative until it's fixed.

kilobug
Adventurer
Posts: 972
Joined: September 21st, 2014, 1:07 am
Location: Paris, France

Re: Bugs in the Linux version of the Bard's Tale IV

Post by kilobug » September 11th, 2019, 12:31 am

shmerl wrote:
September 10th, 2019, 8:26 pm
Timothy Arceri posted an update about the GPU hang bug. Apparently it's a problem with the game itself:
The games shaders use GLSL 4.30 which mean interpolation qualifiers must match across shader interfaces otherwise it is a link-time error. In GLSL 4.40 this restriction was relaxed.

There is at least one attempt in the game (maybe more?) to link a vertex shader output that sets the noperspective qualifier on an output to a fragment shader input where no interpolation qualifier is set. This results in hangs and stuttering in the game when it attempts to use the program that failed to link.
Which brings a question, can you please enable Vulkan renderer, as an alternative path? The above could be a bug in Unreal Engine, so at least Vulkan could provide an alternative until it's fixed.
Well Vulkan would sure be nice, but as discussed above I'm not sure it's that easy to enable - but from what I understand of the quote above, they're pretending to use GLSL 4.3 but doing something which is only available in GLSL 4.4, would there be a way to officially use GLSL 4.4 instead ? In Unity games there are -force-glcore44 and similar options to force using one or another version of OpenGL, is there anything similar here, either at runtime (better) or at build time ?

demeisen
Explorer
Posts: 347
Joined: July 11th, 2015, 9:59 am

Re: Bugs in the Linux version of the Bard's Tale IV

Post by demeisen » September 11th, 2019, 8:46 am

shmerl wrote:
September 10th, 2019, 8:26 pm
Timothy Arceri posted an update about the GPU hang bug. Apparently it's a problem with the game itself:
The games shaders use GLSL 4.30 which mean interpolation qualifiers must match across shader interfaces otherwise it is a link-time error. In GLSL 4.40 this restriction was relaxed.
I am unconvinced.

First, the high level reference from the Khronos (OpenGL standards body) page talking about interface matching. This is not authoritative (the spec is - I'll get to that in a moment), but here's what it says. Bold emphasis is mine. Note it's saying this requires only 4.3.
If GLSL 4.30 or later is available, then the interpolation qualifiers (including centroid and sample) do not need to match. Interpolation in GLSL 4.30 is determined solely by the qualifier specified by the Fragment Shader (even if no qualifier is specified in the FS, which means the default will be used).
The spec is the authoritative source. Here is the 4.3 spec (and the 4.4 spec, for comparison).

Interpolation qualifiers are defined in section 4.5, where you can verify that noperspective is indeed one. The more interesting bit is part way through section 4.3.4, talking about fragment shader interface matching. From version 4.3, with bold emphasis again mine:
The fragment shader inputs form an interface with the last active shader in the vertex processing pipeline. For this interface, the last active shader stage output variables and fragment shader input variables of the same name must match in type and qualification, with a few exceptions: The storage qualifiers must, of course, differ (one is in and one is out). Also, interpolation qualification (e.g., flat) and auxiliary qualification (e.g. centroid) may differ. These mismatches are allowed between any pair of stages. When interpolation or auxiliary qualifiers do not match, those provided in the fragment shader supersede those provided in previous stages. If any such qualifiers are completely missing in the fragment shaders, then the default is used, rather than any qualifiers that may have been declared in previous stages. That is, what matters is what is declared in the fragment shaders, not what is declared in shaders in previous stages.
Note that this spec language and the behavior in question DID change from version 4.2, which does require interpolation qualifier matching. In other words, he's off by one version. I haven't verified that the BT4 shaders are version 4.3, but provided that they are, an interpolation qualifier difference should not result in a link time error.

This is all assuming there is no use of separated program objects, but in that case the rules are more relaxed, not stricter.

Furthermore, an invalid program may produce undefined rendering results upon attempt to execute it, but is not itself an error and should not hang the GPU.

I can always be convinced that I'm wrong, given a spec-based argument. Absent one of those, I believe this is a driver defect, not a BT4 defect. (Edit: BT4 could conceivably provide a workaround, but the defect would still be latent).

shmerl
Explorer
Posts: 335
Joined: September 28th, 2014, 6:31 pm

Re: Bugs in the Linux version of the Bard's Tale IV

Post by shmerl » September 11th, 2019, 9:46 am

demeisen wrote:
September 11th, 2019, 8:46 am
I can always be convinced that I'm wrong, given a spec-based argument. Absent one of those, I believe this is a driver defect, not a BT4 defect. (Edit: BT4 could conceivably provide a workaround, but the defect would still be latent).
Thanks. Can you please post that in the actual bug so developers could see it: https://bugs.freedesktop.org/show_bug.cgi?id=111591

demeisen
Explorer
Posts: 347
Joined: July 11th, 2015, 9:59 am

Re: Bugs in the Linux version of the Bard's Tale IV

Post by demeisen » September 11th, 2019, 10:21 am

shmerl wrote:
September 11th, 2019, 9:46 am
Thanks. Can you please post that in the actual bug so developers could see it: https://bugs.freedesktop.org/show_bug.cgi?id=111591
OK - looks like I need an account, but I'll try to go figure out how to make one. Anyway I should wordsmith it a little bit before posting it there; on re-reading, it sounds more antagonistic than I really mean it to.

EDIT: Done. I'm on nVidia, so I've got no horse in that race, but hopefully it'll be useful for the AMD folks.

shmerl
Explorer
Posts: 335
Joined: September 28th, 2014, 6:31 pm

Re: Bugs in the Linux version of the Bard's Tale IV

Post by shmerl » September 11th, 2019, 11:45 am

demeisen wrote:
September 11th, 2019, 10:21 am
Done. I'm on nVidia, so I've got no horse in that race, but hopefully it'll be useful for the AMD folks.
Thanks! One of the major benefits of AMD is open drivers, where bug reports are public and you can actually see progress. I used to be Nvidia user as well, until Polaris times (RX 480), and since then switched to AMD. Filing Mesa bug reports is a lot more interesting than dealing with Nvidia blob bug reporting process :) Plus as you can see not only AMD developers are working on fixing these, but some from Valve Mesa team and others.

demeisen
Explorer
Posts: 347
Joined: July 11th, 2015, 9:59 am

Re: Bugs in the Linux version of the Bard's Tale IV

Post by demeisen » September 11th, 2019, 1:25 pm

shmerl wrote:
September 11th, 2019, 11:45 am
Thanks! One of the major benefits of AMD is open drivers, where bug reports are public and you can actually see progress.
And, potentially, fix things yourself. If you have the ability to compile those drivers, you could always try finding the place which raises the link error and - assuming it's protected by a version number test - just change the version number. If Timothy is correct and the hang can be attributed to the link failure, and the link failure is indeed due to the interpolation qualifier, who knows, maybe that gives you a workaround to use in the short run.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest