Project

General

Profile

Bug #9341

Settings broken in Linux build

Added by Aristaeus almost 8 years ago. Updated over 7 years ago.

Status:
Closed
Severity:
High
Assignee:
-
Category:
Application
Target version:
Start date:
04/20/2016
% Done:

100%

Version:
Platform:
Linux
Expansion:
Language:
English (US)
Mod Related:
No
Votes:
Arrow u r green
Arrow d r red

Description

When you open the settings they're completely blank. As you can see in the screenshot, there are no settings to change :(. I'm running Kubuntu on a laptop with a fairly ordinary Intel graphics chip - around 4000 iirc. The issue isn't exclusive to me; https://www.reddit.com/r/KerbalSpaceProgram/comments/4fjb3v/kerbal_space_program_update_11_turbo_charged_is/d29eutd

Ok, as I'm writing this more issues are appearing. The load save dialogue is broken in the same way; no text appears. However, I can click where the first save should be and select it, and it loads properly. I've attached screenshots - you can see in the second one the load button isn't shaded out.

Moving on to the VAB, most of the useful parts of the GUI are broken. Part tabs, the engineer's report, and parts of the item mouseover GUI are all invisible. The lines on the ground are also flickery, but that's not gamebreaking.

The flight GUI isn't much better. As you can see in the screenshot, there's bits missing everywhere. However, if you know where the buttons are you can still click them just fine.

I haven't played the earlier prerelease builds so I don't know if this is a new issue, but I suspect it's been around since the UI overhaul. Let me know if there's anything else I can do to help, and good luck.

snapshot3.png (26.6 KB) snapshot3.png kraken settings Aristaeus, 04/20/2016 06:23 AM
snapshot4.png (62.6 KB) snapshot4.png load button greyed out Aristaeus, 04/20/2016 06:30 AM
snapshot5.png (62.4 KB) snapshot5.png load button clickable Aristaeus, 04/20/2016 06:30 AM
snapshot6.png (1.05 MB) snapshot6.png VAB issues Aristaeus, 04/20/2016 06:35 AM
snapshot7.png (1.04 MB) snapshot7.png Flight window Aristaeus, 04/20/2016 06:38 AM
17301
17303
17304
17305
17307

Related issues

Related to Kerbal Space Program - Bug #9443: Some menus don't have entriesDuplicate04/23/2016

History

#1 Updated by Lysius almost 8 years ago

Also reported as 1.1prerelease Bug #7493

#2 Updated by Aristaeus almost 8 years ago

Lysius wrote:

Also reported as 1.1prerelease Bug #7493

Oh, sorry. I looked to see if it was already reported, but apparently I didn't look hard enough. Feel free to delete this.

#4 Updated by sal_vager almost 8 years ago

  • Category changed from 295 to 368
  • Severity changed from Critical to High

Aristaeus, try running KSP with the -force-glcore command line argument, this is a Unity engine argument that forces Unity to detect and use the best OpenGL version on the system.

https://docs.unity3d.com/Manual/CommandLineArguments.html

#5 Updated by sal_vager almost 8 years ago

  • Status changed from New to Need More Info

#6 Updated by Aristaeus almost 8 years ago

sal_vager wrote:

Aristaeus, try running KSP with the -force-glcore command line argument, this is a Unity engine argument that forces Unity to detect and use the best OpenGL version on the system.

https://docs.unity3d.com/Manual/CommandLineArguments.html

It's working! Thanks a lot!

#7 Updated by Jajcus almost 8 years ago

For me, using the '-force-glcore' option causes startup crashes: http://bugs.kerbalspaceprogram.com/issues/9461
'-force-glcore33' works better (no crash), provided I disable shadows in settings.

#8 Updated by kilobug almost 8 years ago

I've the same issue on my Debian Sid, using GOG's version of KSP, with radeonsi driver on R9 380X.

Using -force-glcore makes the game crash, but the game works (and the settings bug is fixed) with -force-glcore33 or -force-glcore40. Oddly with -force-glcore41 (the last official supported OpenGL version on stable Mesa for radeonsi) the whole game screen is entierly black (apart from mouse cursor).

I'll try -force-glcore42/-force-glcore43 with latest git Mesa (which has support for OpenGL 4.3 on radeonsi) later on.

#9 Updated by sal_vager almost 8 years ago

Thanks for the info guys.

kilobug please keep us updated.

#10 Updated by Ruedii almost 8 years ago

I've been looking at other bug reports, and it affects all users using Mesa 11.x series as far as I can tell.

This is pretty much anyone using Linux except those using fglrx (who experience other issues) and people using the NVidia proprietary drivers, who have no issues that I know of.

This bug is likely upstream in Unity and makes me question Unity's QA department if a huge chunk of the UI code fails on the driver that ships with most Linux distros. It's as if they only tested it on nVidia proprietary drivers.

#11 Updated by kilobug almost 8 years ago

So I did a few more tests (Debian Sid, Radeon r9 380X).

Using stable mesa (11.2.1) from Debian Sid (which officially supports OpenGL 4.1) :

  • using no option or -force-glcore31 gets the bug as described : various menus (options, load, ...) are empty ;
  • using -force-glcore or -force-glcore42 gets a segfault ;
  • using -force-glcore32 to -force-glcore41 leads (apparently randomly) to one of the two outcomes : 1. everything works nicely 2. the whole screen is black except for the mouse pointer.

Using git mesa (from oibaf's ppa) (which officially supports OpenGL 4.3, but only with LLVM 3.9, which I don't have) :

  • using no option or -force-glcore31 gets the bug as described : various menus (options, load, ...) are empty ;
  • using -force-glcore gets a segfault ;
  • using -force-glcore42 with MESA_GL_VERSION_OVERRIDE=4.2 set too (to force attempting to use GL4.2 despite missing llvm) works fine ;
  • using -force-glcore32 to -force-glcore41 works fine.

I'll try to make some tests with LLVM 3.9 later on.

So at least some improvement with latest git, hopefully when we'll have Mesa 12.0 with LLVM 3.9 stable in a couple of months it'll work great with stable software.

For now, the best solution is to use Git Mesa (with oibaf's ppa it's pretty easy on a Debian-based distro) and -force-glcore41 switch (for radeonsi cards).

#12 Updated by Ruedii almost 8 years ago

  • Version changed from 1.1.0 to 1.1.1

Well, I've tried with Mesa 11.3 Git and LLVM 3.9, and it's still no-go.
Also, have updated to 1.1.1

I will look at both methods mentioned above (manually setting shadows to zero then changing them back, as that likely makes other changes, and forcing the OpenGL version.)

There is no reason to require using a Mesa OpenGL 4.x context. It will likely introduce bugs due to the removal of certain depreciated compatibility functions.

However, I will look at other versions of options for OpenGL versions.

#13 Updated by kilobug almost 8 years ago

Tested quickly on my laptop, which has an integrated i3 Haswell GPU, with the same software (Debian Sid, Oibaf's PPA, KSP from GOG), I have the same behavior : some empty menus by default, but all works with -force-glcore33 (didn't try other options, the game is slow to load on this low-specs laptop).

#14 Updated by ktt9 almost 8 years ago

Same here.

KSP version 1.1.2.1260
Mesa 11.2.2
LLVM 3.7.1
radeonsi driver (Radeon R7 370)

-force-glcore helped. Much thanks for that.

#15 Updated by reedrs almost 8 years ago

Here are some observations from another piece of hardware:

Intel Core i7-6560U (Skylake)
Intel Iris Graphics 540
3200x1800 screen (in fullscreen mode at full resolution for these tests)
Kerbal Space Program 1.1.2 64-bit
Arch Linux x86_64
xf86-video-intel version: 1:2.99.917+654+ga508b11
mesa version: 11.2.2
llvm-libs version: 3.8.0

I'm using KDE/kwin, but I used openbox for these tests to avoid any confusion with http://bugs.kerbalspaceprogram.com/issues/7695 . According to glxinfo, OpenGL 3.3 is the highest version supported.

Arguments:                     Result:

none                           empty settings, menus, etc., exactly as in OP screenshots
-force-glcore                  everything seems to work fine
-force-glcore30                empty settings, menus, etc., exactly as in OP screenshots
-force-glcore31                empty settings, menus, etc., exactly as in OP screenshots
-force-glcore32                everything seems to work fine
-force-glcore33                everything seems to work fine

#16 Updated by Ruedii almost 8 years ago

This problem is universal with all versions of OpenGL on Linux Mesa drivers.

It seems to be fixed by running fulllscreen at 720x1280 on widescreen monitors. I'm not sure what resolution it works at on non-widescreen.

As a note, could someone test with the Force GLES settings.

#18 Updated by TriggerAu over 7 years ago

  • Status changed from Need More Info to Needs Clarification

#19 Updated by kilobug over 7 years ago

  • Status changed from Needs Clarification to Updated
  • % Done changed from 0 to 10

So, I did a bunch of tests using latest GOG version (1.1.3), on Debian Sid, on two computers : my laptop with an integrated Haswell card, my desktop with a Radeon R9 R380X (Tonga), and different versions of Mesa and different swtiches.

On the laptop :

  • latest stable mesa (12.0), officially supported OpenGL 3.3 : as listed above :
    • with no argument or -force-glcore30 / -force-glcore31 : empty menus ; * with -force-glcore / -force-glcore32 / -force-glcore33 : everything works fine ;
  • git mesa (oibaf ppa), officially supported OpenGL 3.3 : all works fine by default, and even if I use -force-glcore31 .

On the desktop :

  • latest stable mesa (12.0), officially supported OpenGL 4.1 : somewhat as listed above :
    • with no argument or -force-glcore30 / -force-glcore31 : empty menus ; * with -force-glcore : segmentation fault ; * with -force-glcore32 / -force-glcore33 : everything works fine ;
  • git mesa (oibaf ppa), officially supported OpenGL 4.1 : game crashes (segmentation fault) at startup regardless of options ;
  • git mesa + git llvm (padoka ppa), officially supported OpenGL 4.3 : same than with stable mesa :
    • with no argument or -force-glcore30 / -force-glcore31 : empty menus ; * with -force-glcore : segmentation fault ; * with -force-glcore32 / -force-glcore33 : everything works fine.

So it does seem somewhat driver-related, but -force-glcore32 / -force-glcore33 always seem to either help or not change anything, perhaps it would safe to just include them by default on Linux builds ?

(Also, on the side issue, with the Radeon card, sometimes, regardless of the Mesa version and -force-glcore siwtches, the whole game screen is black, quitting and restarting fixes it, but I've no idea if it's related, and it seems pretty much random.)

#20 Updated by sal_vager over 7 years ago

It wouldn't be a good idea to include those lines by default as it might cause issue with other players, and as they are Unity commands and not from Squad we cannot provide support if they don't work.

It definitely is a driver issue, for example this issue doesn't show with Nvidia drivers, I've not heard of it with nouveau either.

The problem here is that there's nothing Squad can do about issues at the graphics driver or game engine level, except to recommend the player uses a working driver.

But it's good to know that the oibaf ppa solved this for you, at least on your laptop, that suggests that this issue will eventually be resolved as the mesa driver improves support for features used by Unity.

#21 Updated by sal_vager over 7 years ago

  • Related to Bug #9443: Some menus don't have entries added

#22 Updated by Jajcus over 7 years ago

It wouldn't be a good idea to include those lines by default as it might cause issue with other players

+1

Such a workaround can be suggested for users, but should not be hard-coded.

It definitely is a driver issue, for example this issue doesn't show with Nvidia drivers, I've not heard of it with nouveau either.

When a buggy code (causing 'undefined behaviour' according to the specification) is working with one driver and is not working with another one, then it is not a driver issue, but the engine code issue. And this might be the case here.

The problem here is that there's nothing Squad can do about issues at the graphics driver or game engine level, except to recommend the player uses a working driver.

Squad may also work with driver and engine providers to fix the bugs. The first think I would try is to reproduce this error with newer Unity version (even if other parts of the game are not ready yet) and if it helps, try to get the fix back-ported.

#23 Updated by sal_vager over 7 years ago

  • Status changed from Updated to Ready to Test
  • % Done changed from 10 to 80

This should be fixed thanks to the newer Unity version.

#24 Updated by Squelch over 7 years ago

  • Target version set to 1.2.0

#25 Updated by kilobug over 7 years ago

I confirm that on my two setups (desktop with Radeon RX380 using mesa/radeonsi, and laptop with Haswell integrated graphics, using mesa/intel) the issue is fixed on version 1.2.0 (from gog). Congrats ! :)

#26 Updated by JPLRepo over 7 years ago

  • Status changed from Ready to Test to Closed
  • % Done changed from 80 to 100

Also available in: Atom PDF