shkhln / linuxulator-steam-utils

Steam launcher for FreeBSD
MIT License
125 stars 12 forks source link

Letf 4 Dead 2 Segmentation fault #125

Closed oblivcheck closed 3 months ago

oblivcheck commented 6 months ago

Cant use input method I think it is necessary to add this to the wiki. tested fcitx5 ibus.

72

oblivcheck commented 6 months ago

My simple script, maybe someone wants to check it.

shkhln commented 3 months ago

Does this work better with the new chroot stuff? Worse? Not at all?

oblivcheck commented 3 months ago

I built and installed the latest version of LSU, No longer set "export XMODIFIERS=" in hl2.sh

play l4d2:

/usr/home/user/.steam/steam/steamapps/common/Left 4 Dead 2/./hl2.sh: line 75:  9570 Segmentation fault      ${GAME_DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"

Does it look like the problem is still there, or is there something else I need to do?

edit: I use fcitx5

oblivcheck commented 3 months ago

LSU chroot with legacy Steam Runtime: Also unable to launch the game without using "export XMODIFIERS="

oblivcheck commented 3 months ago

ibus:

export XIM_PROGRAM=ibus
export XIM=ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export XMODIFIERS="@im=ibus"

Game can be started(no segmentation fault), but the input method cannot be used.

shkhln commented 3 months ago

Do you have HL2: Deathmatch? Does it crash too?

oblivcheck commented 3 months ago

Use the current latest version of LSU

I can get into this interface. 2024-03-12_1654x871

Nothing happens when clicking "DEATHMATCH"(button has animation effects).

Edit: Switching the game language to English can solve the problem. 2024-03-12_1912x1076

Even when using LSU chroot with legacy Steam Runtime ,Chinese fonts cannot be displayed correctly.

Game can run: 2024-03-12_1925x1084 full_2024-03-12_3840x2160

oblivcheck commented 3 months ago

Other things Play with l4d2 using LSU chroot with legacy Steam Runtime , the game freezes and the sound gets distorted when the window loses focus, until the window regains focus.

shkhln commented 3 months ago

Let's stay focused. What are the precise steps required to crash the game? Is the issue specific to our environment (and not just the issue with the game itself)?

oblivcheck commented 3 months ago

1.System has fcitx5 installed and fcit5 is running

2.Following environment variables are set:

export XIM_PROGRAM=fcitx

export XIM=fcitx

export GTK_IM_MODULE=fcitx

export QT_IM_MODULE=fcitx

export XMODIFIERS="@im=fcitx"

Main attention:

export XMODIFIERS="@im=fcitx"

3.Runing Steam, Play L4D2.

4.Terminal will output something like this:

/usr/home/user/.steam/steam/steamapps/common/Left 4 Dead 2/./hl2.sh: line 75:  9570 Segmentation fault      ${GAME_DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"

Game won't start.


Is the issue specific to our environment (and not just the issue with the game itself)?

I'm sure export XMODIFIERS="@im=fcitx" caused the problem.

Do you have HL2: Deathmatch? Does it crash too?

I assume you are referring to whether the input method causes crashes.

oblivcheck commented 3 months ago

For L4D2, ibus won't cause segmentation fault ,

export XMODIFIERS="@im=ibus"

but it cannot be used in game, can't activate input method.

shkhln commented 3 months ago

So, what we have there are 2 issues:

  1. A crash in SDL, which was fixed in https://github.com/libsdl-org/SDL/commit/57043825ba04c1cbf729123ceed09c8e033adcbb, so if you simply rename libSDL.so that is bundled with the game, allowing it to use the slightly newer version of the library coming with steam-runtime, the crash will go away.
  2. The issue with Linux dbus clients being unable to auth, that should be fixed by https://github.com/freebsd/freebsd-ports/commit/04bd4bf4931ba794718f67ff5e693a679740bdad. Make sure that the DBUS_SESSION_BUS_ADDRESS environment variable is defined and pointing at something, which might not be the case if you use sudo, etc.

I don't think that's quite enough to actually use fcitx5 (assuming the game even supports it), but that is another discussion.

oblivcheck commented 3 months ago

I don't think that's quite enough to actually use fcitx5 (assuming the game even supports it), but that is another discussion.

fcitx work fine., can activate it.

Follow below:

1.

A crash in SDL, which was fixed in https://github.com/libsdl-org/SDL/commit/57043825ba04c1cbf729123ceed09c8e033adcbb,

2.

The issue with Linux dbus clients being unable to auth, that should be fixed by https://github.com/freebsd/freebsd-ports/commit/04bd4bf4931ba794718f67ff5e693a679740bdad.

3.Build and install Latest version LSU.

4.Reboot.

Latest version LSU: Now I can't start l4d2 without using "`LSU chroot with legacy Steam Runtime".

Failed to load the launcher (libxkbcommon.so.0: cannot open shared object file: No such file or directory)

I managed to install it but it looks like it needs a little more。

Failed to load the launcher (libdecor-0.so.0: cannot open shared object file: No such file or directory)

It seems to be a relatively newer library related to Wayland, with no binary files available for CentOS 7.

shkhln commented 3 months ago

It starts just fine for me without those libs. Anyway, I'm reasonably sure the cause of the crash is addressed.

oblivcheck commented 3 months ago

Other things Play with l4d2 using LSU chroot with legacy Steam Runtime , the game freezes and the sound gets distorted when the window loses focus, until the window regains focus.

I think you made some adjustments in the new version(maybe)m this issue has now been resolved.

Now there is a new problem:

https://github.com/shkhln/linuxulator-steam-utils/assets/121147347/55e6bfab-2956-4408-87d7-d154603c5a43

I'm having trouble succinctly describing this issue. Initially, it was just incomplete rendering within the game, but during recording, I also noticed occasional difficulty in selecting items with the mouse.

oblivcheck commented 3 months ago

I'm having trouble succinctly describing this issue. Initially, it was just incomplete rendering within the game, but during recording, I also noticed occasional difficulty in selecting items with the mouse.

I don't know if I should open a new issue.