Support us on Patreon to keep GamingOnLinux alive. This ensures we have no timed articles and no paywalls. Just good, fresh content! Alternatively, you can donate through PayPal, Liberapay or Buy us a Coffee. You can also buy games using our partner links for GOG and Humble Store.
Latest Comments by Hamish
What have you been playing lately? It's chat time
13 July 2020 at 1:14 am UTC Likes: 5

Wanted something familiar so I am doing an Ultra-Violence run of The Ultimate Doom through Crispy Doom at the moment.



It is honestly easier than these screenshots might suggest.

A look at the Penumbra Collection on Linux with Mesa in 2020
11 July 2020 at 3:30 am UTC

Quoting: x_wing
Quoting: HamishFor what it is worth, I found with Requiem that the game will crash when you pick up the first audio log from Eloff Carpenter.
I've installed the game and finished the snow level (I'm now in the Alien facility... if I can call it that way XD). You get the crash when you open the log of the first level?
Yeah, it seems that what exactly triggers the game to crash is variable. I have had it crash at different points with different Mesa versions.

A look at the Penumbra Collection on Linux with Mesa in 2020
7 July 2020 at 6:29 pm UTC

Yeah, same result as before sadly.

Project name: mesa
Build started at 2020-07-07T11:28:20.925677
Main binary: /usr/bin/python
Build Options: -Db_lto=false -Db_pie=true -Db_ndebug=true -Dplatforms=x11,wayland,drm,surfaceless -Ddri-drivers=i915,i965,r100,r200,nouveau -Dgallium-drivers=r300,r600,radeonsi,nouveau,virgl,svga,swrast,iris -Dvulkan-drivers=amd,intel -Dvulkan-overlay-layer=true -Dvulkan-device-select-layer=true -Dswr-arches=avx,avx2 -Ddri3=true -Degl=true -Dgallium-extra-hud=true -Dgallium-nine=true -Dgallium-omx=disabled -Dgallium-opencl=icd -Dgallium-va=true -Dgallium-vdpau=true -Dgallium-xa=true -Dgallium-xvmc=false -Dgbm=true -Dgles1=false -Dgles2=true -Dglvnd=true -Dglx=dri -Dlibunwind=true -Dllvm=true -Dlmsensors=true -Dosmesa=gallium -Dshared-glapi=true -Dvalgrind=false -Dprefix=/usr -Dlibdir=/usr/lib32 -Dlibexecdir=lib -Dsbindir=bin -Dauto_features=enabled -Dbuildtype=plain -Dwrap_mode=nodownload '--native-file crossfile.ini'

None of 'PKG_CONFIG_PATH' are defined in the environment, not changing global flags.
None of 'PKG_CONFIG_PATH' are defined in the environment, not changing global flags.
Project name: mesa
Project version: 20.1.2
Using 'CC' from environment with value: 'gcc -m32'
Using 'CFLAGS' from environment with value: '-O0'
Using 'LDFLAGS' from environment with value: '-Wl,-O0,--sort-common,--as-needed,-z,relro,-z,now'
Using 'CPPFLAGS' from environment with value: '-D_FORTIFY_SOURCE=2'


Thanks for the suggestions regardless x_wing.

A look at the Penumbra Collection on Linux with Mesa in 2020
6 July 2020 at 7:24 pm UTC

That output is from my trying to use the DEBUG_CFLAGS in makepkg.conf, not from when I was exporting my own values in the PKGBUILD. Here is the relevant Meson log for that:
Project name: mesa
Project version: 20.1.2
Using 'CC' from environment with value: 'gcc -m32'
Using 'CFLAGS' from environment with value: '-O0'
Using 'LDFLAGS' from environment with value: '-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
Using 'CPPFLAGS' from environment with value: '-D_FORTIFY_SOURCE=2'
None of 'CC_LD' are defined in the environment, not changing global flags.


And Penumbra still crashes.

A look at the Penumbra Collection on Linux with Mesa in 2020
6 July 2020 at 12:01 am UTC

crossfile.ini is created from the PKGBUILD file of the lib32-mesa Arch package:
https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/lib32-mesa

The contents of crossfile.ini in a generated package are as follows:
[binaries]
llvm-config = '/usr/bin/llvm-config32'


As for the CFLAGS, that is being grabbed from what is defined in makepkg.conf as used by the Arch Build System. Setting the 'debug' option in the PKGBUILD makes its append DEBUG_CFLAGS which is where I was instructed to add the "-O0" flag in the linked Frictional Games forum thread:
https://www.frictionalgames.com/forum/thread-54134-post-363860.html#pid363860

Back in April and May adding the "-O0" flag to DEBUG_CFLAGS in makepkg.conf and toggling the 'debug' and '!strip' options in the lib32-mesa PKGBUILD did do the trick. Now doing so causes it to complain about being unable to determine the dynamic linker.

Here is the relevant parts of my makepkg.conf file:
 #-- Compiler and Linker Flags
CPPFLAGS="-D_FORTIFY_SOURCE=2"
CFLAGS="-march=x86-64 -mtune=generic -O3 -pipe -fno-plt"
CXXFLAGS="-march=x86-64 -mtune=generic -O3 -pipe -fno-plt"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
#-- Make Flags: change this for DistCC/SMP systems
#MAKEFLAGS="-j2"
#-- Debugging flags
DEBUG_CFLAGS="-g -fvar-tracking-assignment -O0"
DEBUG_CXXFLAGS="-g -fvar-tracking-assignments -O0"


I have tried exporting my own CFLAGS in the PKGBUILD containing just the "-O0" flag and with that I can get the lib32-mesa package to build, but Penumbra will still crash when using these builds. I have also tried using the Meson c_args option to set the "-O0" flag to no good effect. I have also tried setting the various "-mno-sse" flags which again do nothing.

A look at the Penumbra Collection on Linux with Mesa in 2020
5 July 2020 at 4:18 pm UTC

Attempting to build the lib32-mesa package as described before now just results in this error:
Build started at 2020-07-05T10:15:07.706677
Main binary: /usr/bin/python
Build Options: -Db_lto=true -Db_pie=true -Db_ndebug=true -Dplatforms=x11,wayland,drm,surfaceless -Ddri-drivers=i915,i965,r100,r200,nouveau -Dgallium-drivers=r300,r600,radeonsi,nouveau,virgl,svga,swrast,iris -Dvulkan-drivers=amd,intel -Dvulkan-overlay-layer=true -Dvulkan-device-select-layer=true -Dswr-arches=avx,avx2 -Ddri3=true -Degl=true -Dgallium-extra-hud=true -Dgallium-nine=true -Dgallium-omx=disabled -Dgallium-opencl=icd -Dgallium-va=true -Dgallium-vdpau=true -Dgallium-xa=true -Dgallium-xvmc=false -Dgbm=true -Dgles1=false -Dgles2=true -Dglvnd=true -Dglx=dri -Dlibunwind=true -Dllvm=true -Dlmsensors=true -Dosmesa=gallium -Dshared-glapi=true -Dvalgrind=false -Dprefix=/usr -Dlibdir=/usr/lib32 -Dlibexecdir=lib -Dsbindir=bin -Dauto_features=enabled -Dbuildtype=plain -Dwrap_mode=nodownload '--native-file crossfile.ini'
Python system: Linux
The Meson build system
Version: 0.54.3
Source dir: /home/hamish/Downloads/lib32-mesa/src/mesa-20.1.2
Build dir: /home/hamish/Downloads/lib32-mesa/src/build
Build type: native build
Program python found: YES (/usr/bin/python)
Running command: /usr/bin/python bin/meson_get_version.py
--- stdout ---
20.1.2
--- stderr ---


None of 'PKG_CONFIG_PATH' are defined in the environment, not changing global flags.
None of 'PKG_CONFIG_PATH' are defined in the environment, not changing global flags.
Project name: mesa
Project version: 20.1.2
Using 'CFLAGS' from environment with value: '-march=x86-64 -mtune=generic -O3 -pipe -fno-plt -g -fvar-tracking-assignment -O0 -fdebug-prefix-map=/home/hamish/Downloads/lib32-mesa/src=/usr/src/debug'
Using 'LDFLAGS' from environment with value: '-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
Using 'CPPFLAGS' from environment with value: '-D_FORTIFY_SOURCE=2'

mesa-20.1.2/meson.build:21:0: ERROR: Unable to determine dynamic linker


Which is kind of annoying as I never got around to completing Requiem yet.

A look at the Penumbra Collection on Linux with Mesa in 2020
24 June 2020 at 2:12 am UTC

For what it is worth, I found with Requiem that the game will crash when you pick up the first audio log from Eloff Carpenter.

A look at the Penumbra Collection on Linux with Mesa in 2020
28 May 2020 at 5:49 pm UTC

So my lovely little Gigabyte Radeon RX 460 arrived last night. I can now confirm that on this card using AMDGPU I am getting crashes not only when I flatten the coin in the vice at the start of Black Plague but also when I leave the fishing boat at the start of Overture once again.

A look at the Penumbra Collection on Linux with Mesa in 2020
27 May 2020 at 7:36 am UTC

Turns out I still have my old Desura receipt:
https://postimg.cc/4mQyC4Jb

I have got my ten dollars worth I have to say.

A look at the Penumbra Collection on Linux with Mesa in 2020
26 May 2020 at 7:28 pm UTC

Quoting: erolmateiThat said, yes, to fix the issue you need to build Mesa so that it does not use optimized SSE instruction (one of the effects of the -O0 flag btw). This is, imho, not a clean solution.
I am sure it is like swatting a mosquito with a sledge hammer, but it worked for me.

I do wonder if a complete Penumbra source port could be constructed from the Overture code.