Games won't run on i3wm but do work on DEs

I don't have much experience with Linux and Linux gaming, it would be really nice if someone could guide me!

I just switched to Manjaro i3 from Pop!_OS about a week or two ago, as I wanted to use i3 without the bloat of GNOME. I had downloaded some games, but all the games that run through a executable file, don't actually open. I just see some kind of window opening up, but then it immediately closes down and nothing happens. However, those same games run perfectly on Pop!_OS (on i3). I thought I was supposed to install some package, but I didn't know where to look. I also tried to run the game's executable file using the terminal, however, I got an output saying Aborted (core dumped). I could not find anyone else with this issue, so I might have done something wrong. Should I reinstall Manjaro i3? Switch to a different Linux kernel? I have no idea where I should look.

I'm not sure what additional info should I provide, just let me know and I will add it! Any help would be amazing! Thanks in advance!

PS: Is this the right category? Should this be in Newbie Corner or it is fine here?

EDIT: Games with .AppImage files work with no issues!

Is that all of the output or was there more before that?

It may be that you are missing some dependencies that the game in question needs to have installed.

1 Like

This is the complete output of every game I tried, just the directory and executable file name is different:

Set current directory to /home/MY_USERNAME/Games/hole-punch/Hole Punch LINUX v1.2 
Found path: /home/MY_USERNAME/Games/hole-punch/Hole Punch LINUX v1.2/Hole Punch.x86_64
[1]    58082 abort (core dumped)  ./Hole\ Punch.x86_64

(Just noticed that now it is abort, previously I used to get Aborted. Doesn't make a difference, but weird to see it change XD )

Dependencies in the sense? All the games have an additional directory in the directory where the executable file is. Are those the dependencies? Or should I manually install them? If that is the case, where would I find them? None of the game developers mention any dependencies required. I didn't have to install any dependencies on Pop!_OS to get them working.

Try installing steam-native. That package has a bunch of dependencies that include what most games need.

1 Like

No luck after installing steam-native. I think I should've mentioned that the games I am downloading are from itch.io, but I thought it was irrelevant as it would just let me download the game files which have no association with itch.io.

Sorry for replying late!

That is helpful because now I can download the game and see if it works over here. I have a meeting in 5 minutes so there might be a bit of a delay but let me test this out.

1 Like

For me the game runs fine but there was no shell script when I downloaded the game, are you using some type shell script launcher?

1 Like

Oh no I am very sorry for the wrong info, I thought those files which are "executable" are shell files (I'm so dumb). I apologize for this mistake on my end.

Whoa, it did actually run for you! I don't think I am using any shell script launcher. There are three ways I tried to launch the game, first via itch.io (installed the client), second through the terminal (my shell is zsh, if that makes any difference) by just running ./THE_GAME_EXECUTABLE_FILE in the directory of the file, and third using PCManFM.

I did make the game file executable, by running chmod +x THE_GAME_FILE. I also verified it in by the properties of the file mentioned in PCManFM.

I don't think this is a problem of i3 resizing windows instantly, as I turned off tiling in my i3 config and it still didn't work.

The only last thing I can think of: Do you have a swap partition? I didn't set a swap partition on my drive as I had some really annoying issues in Pop!_OS (that's why I switched), and used to make my laptop overheat. Does it make a difference? I would really not want to make a swap partition, but I can try for sure.

Thanks a lot for trying the game on your end! You have been helping me a lot!

This is what I did.

Yes, you could try adding a swap file but I doubt that is what the issue is here.

I looked at the dependencies it needs gcc-libs and glibc. It seems pretty likely both of those are installed already.

1 Like

Yes, the gcc-libs and glibc are already installed on my system. I will try the swap file and get back.

No luck with the swap file. I remembered that I had tried to run the executable file using a another tty, and it did not give any abort output. The game was running in the background.

Sorry for giving information in bits and bytes, I tried so many things that I don't even remember.

  • Install package gdb
  • run gdb
  • run gdb ./THE_GAME_EXECUTABLE_FILE
  • run gdb COREDUMP#

Please share

1 Like

Output of gdb:

GNU gdb (GDB) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word".
(gdb)

Output of gdb ./THE_GAME_EXECUTABLE_FILE:

SAME_OUTPUT_AS_GDB
Reading symbols from ./Hole Punch.x86_64...
Reading symbols from /home/USERNAME/Games/hole-punch/Hole Punch LINUX v1.2/LinuxPlayer_s.debug...
(No debugging symbols found in /home/USERNAME/Games/hole-punch/Hole Punch LINUX v1.2/LinuxPlayer_s.debug)
(gdb)

Output of COREDUMP#:

SAME_OUTPUT_AS_GDB
COREDUMP#: No such file or directory.
(gdb)

I had to quit gdb in order to run the commands. Should I have ran the commands inside of gdb? It outputs Undefined command: "gdb" when I do it that way.

If thats the PID you can also do something like

coredumpctl info 58082
coredumpctl gdb 58082
1 Like

Output of coredumpctl info 10992 (10992 was the PID):

           PID: 10992 (Hole Punch.x86_)
           UID: 1000 (USERNAME)
           GID: 1000 (USERNAME)
        Signal: 6 (ABRT)
     Timestamp: TIME_STAMP (1min 19s ago)
  Command Line: ./Hole Punch.x86_64
    Executable: /home/USERNAME/Games/hole-punch/Hole Punch LINUX v1.2/Hole Punch.x86_64
 Control Group: /user.slice/user-1000.slice/session-2.scope
          Unit: session-2.scope
         Slice: user-1000.slice
       Session: 2
     Owner UID: 1000 (USERNAME)
       Boot ID: BOOT_ID
    Machine ID: MACHINE_ID
      Hostname: ADIGEN
       Storage: /var/lib/systemd/coredump/core.Hole\x20Punch\x2ex86_.BOOT_ID.10992.1593248681000000000000.lz4
       Message: Process 10992 (Hole Punch.x86_) of user 1000 dumped core.

                Stack trace of thread 10992:
                #0  0x00007f480ed22355 raise (libc.so.6 + 0x3c355)
                #1  0x00007f480ed0b853 abort (libc.so.6 + 0x25853)
                #2  0x00007f480fb859df n/a (/home/USERNAME/Games/hole-punch/Hole Punch LINUX v1.2/UnityPlayer.so + 0xb219df)
                #3  0x0000000000000001 n/a (n/a + 0x0)

For coredumpctl gdb 10992, nothing special came up. I will still paste the output:

For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/USERNAME/Games/hole-punch/Hole Punch LINUX v1.2/Hole Punch.x86_64...
Reading symbols from /home/USERNAME/Games/hole-punch/Hole Punch LINUX v1.2/LinuxPlayer_s.debug...
(No debugging symbols found in /home/USERNAME/Games/hole-punch/Hole Punch LINUX v1.2/LinuxPlayer_s.debug)
[New LWP 10992]
[New LWP 11019]
[New LWP 10994]
[New LWP 11000]
[New LWP 11001]
[New LWP 10995]
[New LWP 10996]
[New LWP 11002]
[New LWP 10997]
[New LWP 11004]
[New LWP 11003]
[New LWP 10998]
[New LWP 10999]
[New LWP 11007]
[New LWP 11006]
[New LWP 11009]
[New LWP 11011]
[New LWP 11021]
[New LWP 11012]
[New LWP 11015]
[New LWP 11017]
[New LWP 11018]
[New LWP 11013]
[New LWP 11010]
[New LWP 11008]
[New LWP 11014]
[New LWP 11016]
[New LWP 11005]

warning: Unexpected size of section `.reg-xstate/10992' in core file.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".

Sometimes, the output of strace is more easily consumed.

sudo pacman -S strace
strace ./Hole Punch.x86_64
1 Like

The output of strace is HUMONGOUS! What should I paste here?

Is there anything interesting in the last couple of hundred lines before it fails?

1 Like

Honestly, I have absolutely no idea what I have to be looking for, so I don't think much interesting stuff is there. I do see a bunch of lines towards the absolute end:

rt_sigaction(SIGABRT, {sa_handler=SIG_DFL, sa_mask=[ABRT], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fc3d6fe63e0}, {sa_handler=0x7fc31a5d9cae, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7fc3d7185960}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [SEGV PWR], 8) = 0
getpid()                                = 31554
gettid()                                = 31554
tgkill(31554, 31554, SIGABRT)           = 0
rt_sigprocmask(SIG_SETMASK, [SEGV PWR], NULL, 8) = 0
--- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=31554, si_uid=1000} ---
+++ killed by SIGABRT (core dumped) +++
[1]    31551 abort (core dumped)  strace ./Hole\ Punch.x86_64

Hope the output is of some use.

I think I should try loading the game on a live Manjaro i3 USB, let me see whether it works or not.

Didn't work. Same error.

Forum kindly sponsored by