Hi all,
I have a question that I hope someone can help me (or at least point me to the right place to ask/report the issue).
Context:
My system: FreeBSD 15/stable (updated), drm-612-kmod, Radeon 780M, mesa-devel on freebsd (25.1.7 on rocky).
So I have /compat/linux with Alma Linux 10.2 installed (instead of rocky because I wanted to test the the i686 support of Alma) and setup my home there (nullfs mount point, same uids/gids), though what I'll describe would also happen with the linux-rl9 packages, I've installed Surviving Mars (a linux native 64bit game, installing thus to /home/<user>/GOG Games/Surviving Mars, available at the same place).
Problem:
If I try to start the game from FreeBSD (i.e. open a terminal or using the launcher) I get a segmentation fault in a few moments after loading (i.e. after the videos and some such) but if I chroot into /compat/linux (as my user, X11 properly setup) there is no segmentation fault and the game works fine.
Question:
So, disregarding that this is a game, my question is why is there a different behaviour? And can I do something to use the software as if running from the chroot but without actually doing the steps?
Reference:
I have a question that I hope someone can help me (or at least point me to the right place to ask/report the issue).
Context:
My system: FreeBSD 15/stable (updated), drm-612-kmod, Radeon 780M, mesa-devel on freebsd (25.1.7 on rocky).
So I have /compat/linux with Alma Linux 10.2 installed (instead of rocky because I wanted to test the the i686 support of Alma) and setup my home there (nullfs mount point, same uids/gids), though what I'll describe would also happen with the linux-rl9 packages, I've installed Surviving Mars (a linux native 64bit game, installing thus to /home/<user>/GOG Games/Surviving Mars, available at the same place).
Problem:
If I try to start the game from FreeBSD (i.e. open a terminal or using the launcher) I get a segmentation fault in a few moments after loading (i.e. after the videos and some such) but if I chroot into /compat/linux (as my user, X11 properly setup) there is no segmentation fault and the game works fine.
Question:
So, disregarding that this is a game, my question is why is there a different behaviour? And can I do something to use the software as if running from the chroot but without actually doing the steps?
Reference:
ldd "/home/fahrenheit/GOG Games/Surviving Mars/game/MarsGOG"
/home/fahrenheit/GOG Games/Surviving Mars/game/MarsGOG:
libpthread.so.0 => not found (0)
libdl.so.2 => not found (0)
libcurl-gnutls.so.4 => not found (0)
libopenal.so.1 => /usr/local/lib/libopenal.so.1 (0x670c556a000)
libssl.so.1.0.0 => /usr/local/lib/libssl.so.1.0.0 (0x670c6ef0000)
libcrypto.so.1.0.0 => /usr/local/lib/libcrypto.so.1.0.0 (0x670c7561000)
libX11.so.6 => /usr/local/lib/libX11.so.6 (0x670c5e8a000)
libXext.so.6 => /usr/local/lib/libXext.so.6 (0x670c875b000)
libXrender.so.1 => /usr/local/lib/libXrender.so.1 (0x670ca169000)
libXrandr.so.2 => /usr/local/lib/libXrandr.so.2 (0x670ca81c000)
libXt.so.6 => /usr/local/lib/libXt.so.6 (0x670cb3b6000)
libSDL2-2.0.so.0 => /usr/local/lib/libSDL2-2.0.so.0 (0x670c9d50000)
libpops_api.so => not found (0)
libstdc++.so.6 => /usr/local/lib/gcc13/libstdc++.so.6 (0x670cd000000)
libm.so.6 => not found (0)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x670c9783000)
libc.so.6 => /usr/local/lib/compat/libc.so.6 (0x670cb594000)
libportaudio.so.2 => /usr/local/lib/libportaudio.so.2 (0x670cb921000)
libjack.so.0 => /usr/local/lib/libjack.so.0 (0x670cc51f000)
libsndio.so.7.3 => /usr/local/lib/libsndio.so.7.3 (0x670ce08b000)
libpulse.so.0 => /usr/local/lib/libpulse.so.0 (0x670ce595000)
libpipewire-0.3.so.0 => /usr/local/lib/libpipewire-0.3.so.0 (0x670ce70b000)
libdbus-1.so.3 => /usr/local/lib/libdbus-1.so.3 (0x670cf727000)
libm.so.5 => /lib/libm.so.5 (0x670d0556000)
libc++.so.1 => /lib/libc++.so.1 (0x670d06da000)
libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x670d146c000)
libthr.so.3 => /lib/libthr.so.3 (0x670d1dec000)
libc.so.7 => /lib/libc.so.7 (0x670d224d000)
libxcb.so.1 => /usr/local/lib/libxcb.so.1 (0x670d3529000)
libSM.so.6 => /usr/local/lib/libSM.so.6 (0x670d3a4a000)
libICE.so.6 => /usr/local/lib/libICE.so.6 (0x670d3e58000)
libXcursor.so.1 => /usr/local/lib/libXcursor.so.1 (0x670d4ce2000)
libXi.so.6 => /usr/local/lib/libXi.so.6 (0x670d5425000)
libXfixes.so.3 => /usr/local/lib/libXfixes.so.3 (0x670d5cf0000)
libXss.so.1 => /usr/local/lib/libXss.so.1 (0x670d6173000)
libdrm.so.2 => /usr/local/lib/libdrm.so.2 (0x670d67e0000)
libgbm.so.1 => /usr/local/lib/libgbm-devel.so.1 (0x670d6881000)
libEGL.so.1 => /usr/local/lib/libEGL.so.1 (0x670d6e1a000)
libwayland-egl.so.1 => /usr/local/lib/libwayland-egl.so.1 (0x670d7a6b000)
libwayland-cursor.so.0 => /usr/local/lib/libwayland-cursor.so.0 (0x670d7e0f000)
libwayland-client.so.0 => /usr/local/lib/libwayland-client.so.0 (0x670d7ff1000)
libxkbcommon.so.0 => /usr/local/lib/libxkbcommon.so.0 (0x670d88fc000)
libusb.so.3 => /usr/lib/libusb.so.3 (0x670d8aeb000)
libusbhid.so.4 => /usr/lib/libusbhid.so.4 (0x670d8dbc000)
librt.so.1 => /lib/librt.so.1 (0x670d92d1000)
libopus.so.0 => /usr/local/lib/libopus.so.0 (0x670dac00000)
libsamplerate.so.0 => /usr/local/lib/libsamplerate.so.0 (0x670d96b1000)
libpulsecommon-17.0.so => /usr/local/lib/pulseaudio/libpulsecommon-17.0.so (0x670d9dec000)
libdl.so.1 => /usr/lib/libdl.so.1 (0x670db6b1000)
libintl.so.8 => /usr/local/lib/libintl.so.8 (0x670dc50e000)
libsys.so.7 => /lib/libsys.so.7 (0x670dcbb3000)
libXau.so.6 => /usr/local/lib/libXau.so.6 (0x670dcc3a000)
libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6 (0x670dd54e000)
libGLdispatch.so.0 => /usr/local/lib/libGLdispatch.so.0 (0x670de10f000)
libepoll-shim.so.0 => /usr/local/lib/libepoll-shim.so.0 (0x670de362000)
libffi.so.8 => /usr/local/lib/libffi.so.8 (0x670ded9f000)
libsndfile.so.1 => /usr/local/lib/libsndfile.so.1 (0x670df664000)
libexecinfo.so.1 => /usr/lib/libexecinfo.so.1 (0x670dfe4d000)
libvorbisenc.so.2 => /usr/local/lib/libvorbisenc.so.2 (0x670e009f000)
libFLAC.so.14 => /usr/local/lib/libFLAC.so.14 (0x670e10b5000)
libmpg123.so.0 => /usr/local/lib/libmpg123.so.0 (0x670e1c60000)
libmp3lame.so.0 => /usr/local/lib/libmp3lame.so.0 (0x670e21a8000)
libvorbis.so.0 => /usr/local/lib/libvorbis.so.0 (0x670e2c08000)
libogg.so.0 => /usr/local/lib/libogg.so.0 (0x670e2ce8000)
libelf.so.2 => /lib/libelf.so.2 (0x670e2ec5000)
[vdso] (0x670c4618000)
/home/fahrenheit/GOG Games/Surviving Mars/game/MarsGOG:
libpthread.so.0 => not found (0)
libdl.so.2 => not found (0)
libcurl-gnutls.so.4 => not found (0)
libopenal.so.1 => /usr/local/lib/libopenal.so.1 (0x670c556a000)
libssl.so.1.0.0 => /usr/local/lib/libssl.so.1.0.0 (0x670c6ef0000)
libcrypto.so.1.0.0 => /usr/local/lib/libcrypto.so.1.0.0 (0x670c7561000)
libX11.so.6 => /usr/local/lib/libX11.so.6 (0x670c5e8a000)
libXext.so.6 => /usr/local/lib/libXext.so.6 (0x670c875b000)
libXrender.so.1 => /usr/local/lib/libXrender.so.1 (0x670ca169000)
libXrandr.so.2 => /usr/local/lib/libXrandr.so.2 (0x670ca81c000)
libXt.so.6 => /usr/local/lib/libXt.so.6 (0x670cb3b6000)
libSDL2-2.0.so.0 => /usr/local/lib/libSDL2-2.0.so.0 (0x670c9d50000)
libpops_api.so => not found (0)
libstdc++.so.6 => /usr/local/lib/gcc13/libstdc++.so.6 (0x670cd000000)
libm.so.6 => not found (0)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x670c9783000)
libc.so.6 => /usr/local/lib/compat/libc.so.6 (0x670cb594000)
libportaudio.so.2 => /usr/local/lib/libportaudio.so.2 (0x670cb921000)
libjack.so.0 => /usr/local/lib/libjack.so.0 (0x670cc51f000)
libsndio.so.7.3 => /usr/local/lib/libsndio.so.7.3 (0x670ce08b000)
libpulse.so.0 => /usr/local/lib/libpulse.so.0 (0x670ce595000)
libpipewire-0.3.so.0 => /usr/local/lib/libpipewire-0.3.so.0 (0x670ce70b000)
libdbus-1.so.3 => /usr/local/lib/libdbus-1.so.3 (0x670cf727000)
libm.so.5 => /lib/libm.so.5 (0x670d0556000)
libc++.so.1 => /lib/libc++.so.1 (0x670d06da000)
libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x670d146c000)
libthr.so.3 => /lib/libthr.so.3 (0x670d1dec000)
libc.so.7 => /lib/libc.so.7 (0x670d224d000)
libxcb.so.1 => /usr/local/lib/libxcb.so.1 (0x670d3529000)
libSM.so.6 => /usr/local/lib/libSM.so.6 (0x670d3a4a000)
libICE.so.6 => /usr/local/lib/libICE.so.6 (0x670d3e58000)
libXcursor.so.1 => /usr/local/lib/libXcursor.so.1 (0x670d4ce2000)
libXi.so.6 => /usr/local/lib/libXi.so.6 (0x670d5425000)
libXfixes.so.3 => /usr/local/lib/libXfixes.so.3 (0x670d5cf0000)
libXss.so.1 => /usr/local/lib/libXss.so.1 (0x670d6173000)
libdrm.so.2 => /usr/local/lib/libdrm.so.2 (0x670d67e0000)
libgbm.so.1 => /usr/local/lib/libgbm-devel.so.1 (0x670d6881000)
libEGL.so.1 => /usr/local/lib/libEGL.so.1 (0x670d6e1a000)
libwayland-egl.so.1 => /usr/local/lib/libwayland-egl.so.1 (0x670d7a6b000)
libwayland-cursor.so.0 => /usr/local/lib/libwayland-cursor.so.0 (0x670d7e0f000)
libwayland-client.so.0 => /usr/local/lib/libwayland-client.so.0 (0x670d7ff1000)
libxkbcommon.so.0 => /usr/local/lib/libxkbcommon.so.0 (0x670d88fc000)
libusb.so.3 => /usr/lib/libusb.so.3 (0x670d8aeb000)
libusbhid.so.4 => /usr/lib/libusbhid.so.4 (0x670d8dbc000)
librt.so.1 => /lib/librt.so.1 (0x670d92d1000)
libopus.so.0 => /usr/local/lib/libopus.so.0 (0x670dac00000)
libsamplerate.so.0 => /usr/local/lib/libsamplerate.so.0 (0x670d96b1000)
libpulsecommon-17.0.so => /usr/local/lib/pulseaudio/libpulsecommon-17.0.so (0x670d9dec000)
libdl.so.1 => /usr/lib/libdl.so.1 (0x670db6b1000)
libintl.so.8 => /usr/local/lib/libintl.so.8 (0x670dc50e000)
libsys.so.7 => /lib/libsys.so.7 (0x670dcbb3000)
libXau.so.6 => /usr/local/lib/libXau.so.6 (0x670dcc3a000)
libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6 (0x670dd54e000)
libGLdispatch.so.0 => /usr/local/lib/libGLdispatch.so.0 (0x670de10f000)
libepoll-shim.so.0 => /usr/local/lib/libepoll-shim.so.0 (0x670de362000)
libffi.so.8 => /usr/local/lib/libffi.so.8 (0x670ded9f000)
libsndfile.so.1 => /usr/local/lib/libsndfile.so.1 (0x670df664000)
libexecinfo.so.1 => /usr/lib/libexecinfo.so.1 (0x670dfe4d000)
libvorbisenc.so.2 => /usr/local/lib/libvorbisenc.so.2 (0x670e009f000)
libFLAC.so.14 => /usr/local/lib/libFLAC.so.14 (0x670e10b5000)
libmpg123.so.0 => /usr/local/lib/libmpg123.so.0 (0x670e1c60000)
libmp3lame.so.0 => /usr/local/lib/libmp3lame.so.0 (0x670e21a8000)
libvorbis.so.0 => /usr/local/lib/libvorbis.so.0 (0x670e2c08000)
libogg.so.0 => /usr/local/lib/libogg.so.0 (0x670e2ce8000)
libelf.so.2 => /lib/libelf.so.2 (0x670e2ec5000)
[vdso] (0x670c4618000)