Linux Ubuntu 20.04. Any game launch from graphic environment.

Surplouf

Member
May 5, 2020
199
191
Hello!

Long story short. My actual computer is a laptop Dell Latitude E6510. I put inside a Ubuntu 20.04. In my tower, i never have any problem to launch a game. But in the laptop, any game launch.

For Renpy game. If i go in a shell and put before the executable
Code:
./
this is work. For Unity game, the game try to launch and shutdown. I receive in the shell the messagte about this command is unknow. But is the executable of the game and i put the file executable.

I know Ubuntu do not use BASH and i have to call it before launch a game (The ./ code reason). But why Unity do not launch and all other game too..

I think i have few library missing. But i have any idea how to begin.
 

cold_arctus

Devoted Member
Sep 25, 2018
8,945
10,824
But why Unity do not launch and all other game too..
The execution file on Linux is called shell script (.sh). In most RenPy and RPGMaker games the shell script has been marked as "Allow execution file as program" (Permissions). For Unity games you have to do it manually or the game won't launch.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,382
15,290
For Unity game, the game try to launch and shutdown. I receive in the shell the messagte about this command is unknow.
Well, an unknown command mean that the launcher (whatever the console, the desktop or the application) can't find the command, not necessarily that it don't exist.

My guess goes for a configuration issue. There's somewhere a ./ missing the list of searchable paths. But is it directly at OS level, X/desktop level, or in the application you use to access to the directory, I can't tell. You'll have to ask google (or whatever search engine) for the way to configure this, starting by the application and ending by the OS.


I know Ubuntu do not use BASH
Hmm, since when ? Last time I had to use an Ubuntu (it start to get old) it was the default shell.
But anyway, as the shebang (the #! in the first line) in Ren'Py's scripts tell, they are wrote for Bourne Shell, not BASH ; what isn't really a problem since normally all shells are Bourne compatible and anyway sh is also present, just not set as default shell.


and i have to call it before launch a game (The ./ code reason).
Hmm, ./ is just a relative path, it tell where the application is located, nothing more.
I haven't cared about Linux internals since a really long time, but as far as I remember, BASH will be used to interpret the script if you explicitly ask for it (bash [path]file), if there's a shebang configured to use it, or if there's no shebang and it's the default shell.
 

Surplouf

Member
May 5, 2020
199
191
The execution file on Linux is called shell script (.sh). In most RenPy and RPGMaker games the shell script has been marked as "Allow execution file as program" (Permissions). For Unity games you have to do it manually or the game won't launch.
I make sure the file is executable before try to launch. For me, this is a mystery. Nothing work on the laptop. And in the tower with the same OS a simple double clic do the job and the game launch.

I post a screenshot video later to show better what is the problem.

For me, is illogical to be unable to launch a game in a OS how is are any problem in another computer.
 

Surplouf

Member
May 5, 2020
199
191
This is 3 video screencap to show the problem. one general, one with a renpy game and the third with a Unity game.

I wish this is explain better the problem.

P.S: the OS is in french. But the configuration option is all the time in the same place. The language used change nothing.
 

cold_arctus

Devoted Member
Sep 25, 2018
8,945
10,824
This is 3 video screencap to show the problem. one general, one with a renpy game and the third with a Unity game.

I wish this is explain better the problem.

P.S: the OS is in french. But the configuration option is all the time in the same place. The language used change nothing.
Mmmh.... there is something wrong with your system if you can't start any Unity based game.

Please upload for each Unity game you showed us your player.log files as text file (.txt) here. The log files should be stored in your hidden ".config/unity3d" folder in your home directory. (No need to upload the Player-prev.log files.)
Now two video screencap from shell script.
"./" means to call a file from the current directory. At the same time you could have drag and drop the file into your open Terminal and get something like this 'home/path/to_Game_directory/Game.sh'.
 

scrumbles

Engaged Member
Jan 12, 2019
2,331
2,421
Now two video screencap from shell script.
I think the error in the second video is kinda expected. This command:
Code:
./Timestamps Lost Love.x86_64
tells Ubuntu to execute a file called "Timestamps" with the arguments "Lost" and "Love.x86_64".
When a filename has spaces, you can escape them with backslashes (\):
Code:
./Timestamps\ Lost\ Love.x86_64
of you can use quotation marks:
Code:
./"Timestamps Lost Love.x86_64"
If you start typing the filename and press the TAB key to complete it, the terminal should automatically add the backslashes.

As for the main problem (games working only if launched from terminal), it's just a wild guess, but... I wonder if the terminal emulator and the GUI session share the same environment variables. The former set can be inspected via printenv, while for the latter you can use .
Btw, what does the file ~/.xsession-errors say? Any hint?
Oh, and does the game keep crashing if you remove the asterisks from the directory name?
 
  • Like
Reactions: cold_arctus

cold_arctus

Devoted Member
Sep 25, 2018
8,945
10,824
I think the error in the second video is kinda expected. This command:
Code:
./Timestamps Lost Love.x86_64
tells Ubuntu to execute a file called "Timestamps" with the arguments "Lost" and "Love.x86_64".
When a filename has spaces, you can escape them with backslashes (\):
Code:
./Timestamps\ Lost\ Love.x86_64
of you can use quotation marks:
Code:
./"Timestamps Lost Love.x86_64"
If you start typing the filename and press the TAB key to complete it, the terminal should automatically add the backslashes.

As for the main problem (games working only if launched from terminal), it's just a wild guess, but... I wonder if the terminal emulator and the GUI session share the same environment variables. The former set can be inspected via printenv, while for the latter you can use .
Btw, what does the file ~/.xsession-errors say? Any hint?
Oh, and does the game keep crashing if you remove the asterisks from the directory name?
You are right. This works.
Code:
./'Name of Gamex86_64'
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,382
15,290
For me, is illogical to be unable to launch a game in a OS how is are any problem in another computer.
While it's perfectly logical, as said by both scrumbles and me, if the configuration, and especially the PATH, isn't the same on both computer. You are using Linux, not Windows or MacOS, it's mandatory to validate the configuration once you installed it.
 

Surplouf

Member
May 5, 2020
199
191
This is the response when i remove the spaces:
Code:
bulb@bulb-Latitude-E6510:~/Jeux/*Timestamps_Lost_Love_R7PE_Linux$ ./Timestamps_Lost_Love_x86_64
Set current directory to /home/bulb/Jeux/*Timestamps_Lost_Love_R7PE_Linux
Found path: /home/bulb/Jeux/*Timestamps_Lost_Love_R7PE_Linux/Timestamps_Lost_Love_x86_64
no boot config - using default values

bulb@bulb-Latitude-E6510:~/Jeux/*Timestamps_Lost_Love_R7PE_Linux$
The player .txt is atached to the message.
 

Surplouf

Member
May 5, 2020
199
191
In the player.txt at line 39 and 40 is an error to open openGL. I try to upgrade video driver if is help.
 

scrumbles

Engaged Member
Jan 12, 2019
2,331
2,421
I try with removing the space in the game name.
Did you rename the Data folder too?
I have renamed just the executable and I was able to reproduce your error. The game crashes and the last line says:
no boot config - using default values
The content of the error log ($HOME/.config/unity3d/Unknown Vendor/Unknown Unity Application/Player.log) is:
There is no data folder