* Update dependencies using steam-native-runtime from Arch Linux as a
reference.
* Remove native-only Steam Runtime, just use installed libraries
instead.
* Mark native-only Steam as broken (due to segfault inside D-Bus). Seems it was
already broken for a long time. Doesn't apply to steam-run.
* Some cleanups for chrootenv.
NixOS: Failing to set hardware.opengl.driSupport32Bit will lead to a
confusing error message about missing libGL.so.1. We include a wrapper
around the steam bin to test for working 32bit opengl with glxinfo. When
failing, we display a proper warning hinting towards the option.
Fixes: #19518
Some games (in my case Stardew Valley) require at least something in
/etc/localtime. The actual file linked there doesn't matter as long as
it's some valid timezone.
Example: instead of
(steamPackages.override { newStdcpp = true; }).steam-chrootenv
(which wasn't working anyway) you now do just:
steam.override { newStdcpp = true; }
This seems to have been confusing people, using both xlibs and xorg, etc.
- Avoided renaming local (and different) xlibs binding in gcc*.
- Fixed cases where both xorg and xlibs were used.
Hopefully everything still works as before.
Games utilizing LWJGL >= 2.4 && < 3.0 need this as the framework parses
display information from the command line output of xrandr[1] on Linux.
There are a number of LWJGL games on Steam currently.
[1]: 46f602f0c6/src/java/org/lwjgl/opengl/XRandR.java (L72)
Any reasonably new version of fontconfig does search that path by default,
and setting this globally causes problems, as 2.10 and 2.11 need
incompatible configs.
Tested: slim+xfce desktop, chrootenv-ed steam.
I have no idea why we were setting the global variable;
e.g., neither Fedora nor Ubuntu does that.