Linux 64bit support - ready for alpha testing!

@jakob.pogulis here is the output:

$ glxinfo 2>/dev/null | grep version
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
OpenGL core profile version string: 4.3.13399 Core Profile Context 13.101
OpenGL core profile shading language version string: 4.40
OpenGL version string: 4.5.13399 Compatibility Profile Context 13.101
OpenGL shading language version string: 4.40
2 Likes

@jakob.pogulis I just quickly tested the new alpha release, the FATAL:ENGINE: Could not open window error is corrected for me.

About the executables. on one of my computers both 32 & 64 bits versions work perfectly. On another one (all of them are Ubuntu Linux 14.04), the window displays the first “image” (for default, it displays the logo, for the side scroller, it displays the UFO, the background) but it is all frozen. The ESC key doesn’t quit as the app seems to be crashed but frozen.
With strace I noticed there is a ~/.Defold/_crash that keeps being generated in a loop. Its content is:

/home/lstep/Apps/DEFOLD/plugins/com.dynamo.cr.engine_1.0.0.201603291545/engine/x86_64-linux/dmengine[0x62c994]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x10340)[0x7f8376fb1340]
/home/lstep/Apps/DEFOLD/plugins/com.dynamo.cr.engine_1.0.0.201603291545/engine/x86_64-linux/dmengine[0x58f662]
/home/lstep/Apps/DEFOLD/plugins/com.dynamo.cr.engine_1.0.0.201603291545/engine/x86_64-linux/dmengine[0x40ca01]
/home/lstep/Apps/DEFOLD/plugins/com.dynamo.cr.engine_1.0.0.201603291545/engine/x86_64-linux/dmengine[0x40d28f]
/home/lstep/Apps/DEFOLD/plugins/com.dynamo.cr.engine_1.0.0.201603291545/engine/x86_64-linux/dmengine[0x477ac4]
/home/lstep/Apps/DEFOLD/plugins/com.dynamo.cr.engine_1.0.0.201603291545/engine/x86_64-linux/dmengine[0x40d4ec]
/home/lstep/Apps/DEFOLD/plugins/com.dynamo.cr.engine_1.0.0.201603291545/engine/x86_64-linux/dmengine[0x40d5fb]
/home/lstep/Apps/DEFOLD/plugins/com.dynamo.cr.engine_1.0.0.201603291545/engine/x86_64-linux/dmengine[0x409334]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7f83763efec5]
/home/lstep/Apps/DEFOLD/plugins/com.dynamo.cr.engine_1.0.0.201603291545/engine/x86_64-linux/dmengine[0x409196]
1 Like

If you run the command I mentioned above on both computers, do they have the same OpenGL version? Do they both have the same graphics vendor or are there any differences there?

1 Like

On the working Linux (NVIDIA card):

$ glxinfo 2>/dev/null | grep version
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
OpenGL core profile version string: 4.3.0 NVIDIA 352.63
OpenGL core profile shading language version string: 4.30 NVIDIA via Cg compiler
OpenGL version string: 4.5.0 NVIDIA 352.63
OpenGL shading language version string: 4.50 NVIDIA

On the one that is freezing (Radeon video card):

$ glxinfo 2>/dev/null | grep version
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
OpenGL core profile version string: 4.3.13399 Core Profile Context 13.101
OpenGL core profile shading language version string: 4.40
OpenGL version string: 4.5.13399 Compatibility Profile Context 13.101
OpenGL shading language version string: 4.40
1 Like

In my case it is failing with a NVIDIA card on Linux Mint 17.3 (Ubuntu 14.04.4 LTS). I have:

$ lspci | grep -i nvidia
07:00.0 3D controller: NVIDIA Corporation GK208M [GeForce GT 740M] (rev a1)

cabellos@tormekia:~ $ glxinfo | grep version
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
OpenGL core profile version string: 4.3.0 NVIDIA 364.12
OpenGL core profile shading language version string: 4.30 NVIDIA via Cg compiler
OpenGL version string: 4.5.0 NVIDIA 364.12
OpenGL shading language version string: 4.50 NVIDIA
2 Likes

“Build and Run” works for me. Linux Mint 17.1 Rebecca.

kollad@kollad:~/work$ glxinfo 2>/dev/null | grep version
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.3.0-devel (git-b72156c 2016-03-21 trusty-oibaf-ppa)
OpenGL core profile shading language version string: 3.30
OpenGL version string: 3.0 Mesa 11.3.0-devel (git-b72156c 2016-03-21 trusty-oibaf-ppa)
OpenGL shading language version string: 1.30
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.3.0-devel (git-b72156c 2016-03-21 trusty-oibaf-ppa)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
2 Likes

Hello @Luis_Cabellos, is the engine failing in the same manner as @lstep describes or does it terminate completely? Could you check if there’s a crash report generated for you as well, you should find it at ~/.Defold/_crash?

@lstep, what drivers do you have installed on the computer that is failing? Are they generic or vendor specific?

1 Like

Great to hear! Please keep me updated if you run into any problems :slight_smile:

2 Likes

@jakob.pogulis To be more specific, on the machine that freezes, my card is an AMD Radeon R9 200 Series, and I’m using the proprietary official drivers from AMD (fglrx version 15.201-0ubuntu0.14.04.1).

1 Like

Hi, in my computer it doesn’t crash the same that @lstep, stepping on gdb it creates the glfw window but anything else. Also, there is a ~/.Defold folder but it is empty. There is no _crash file inside. I enabled the core files but there is no coredump generated.

In the strace it seems there is a failed ioctl call at the end (EPERM (Operation not permitted)):

$ strace ./My\ project.x86_64
.... 
brk(0x1bde000)                          = 0x1bde000
ioctl(5, MGSL_IOCSPARAMS or MMTIMER_GETOFFSET or SNDCTL_MIDI_PRETIME, 0x7ffd880238c0) = -1 EPERM (Operation not permitted)
[x6] ioctl(4, 0xc0104629, 0x7ffd880238c0)    = 0
close(7)                                = 0
[x3] ioctl(4, 0xc0104629, 0x7ffd880238c0)    = 0
close(6)                                = 0
close(5)                                = 0
ioctl(4, 0xc0104629, 0x7ffd880238c0)    = 0
close(4)                                = 0
exit_group(1)                           = ?
+++ exited with 1 +++
1 Like

@jakob.pogulis I found why Defold freezes on my second machine. It’s not because of the AMD driver at all. The freeze is because Defold doesn’t like my keyboard !
Here is the (cryptic) message I get on the GUI console:

INFO:ENGINE: Defold Engine 1.2.76 (a5fecd5)
INFO:ENGINE: Loading data from: build/default
INFO:ENGINE: Initialised sound device 'default'

WARNING:INPUT: No gamepad map found for gamepad 0 (ErgoDox EZ ErgoDox EZ), it will not be used.

My keyboard is an ErgoDox EZ, which is normally seen as a regular USB keyboard…
I don’t understand the error message, what is a gamepad map? Is Defold seeing my keyboard as some sort of gamepad, and why?
If I USB-unplug my keyboard before launching a game, and when the game is started, replug it, it works…

2 Likes

That’s a great find! I’ll look into it when I get to the office. Pinging in @sven who has more experience with the input handling.

Thanks for your time and help ironing out these issues!

1 Like

I agree with Jakob here. Your help has been extremely valuable and I’m really impressed by your willingness to help us test the Linux support of the editor. Thanks!

1 Like

It actually seems like that… :slight_smile: I’m not sure why, perhaps it has something to do with how we handle joysticks/gamepads on Linux. Will take a quick look at it.

Update: Ok, so the engine should not freeze even if the keyboard seems to be recognised as a gamepad. I would guess they are two different problems. It would be nice if we could reproduce the freeze on a machine here as well… Do you have another keyboard you could try plugging in instead and see if there is any difference? :slight_smile:

Update 2: You could also try removing the xf86-input-joystick package (as described here and here) and see if it does any difference. I’m not sure this is the correct way to go, but might be worth a shot if you are not using your keyboard as a joystick. :wink:

1 Like

To be clear it seems like three separate errors:

  1. The keyboard is incorrectly recognised as a gamepad
  2. An unrecognised gamepad makes the engine crash
  3. Crash reporting makes the engine freeze (linux only?)
1 Like

I don’t have this package installed, I also checked the xserver-xorg-input-joystick, it is also not installed.

I have quite a lot of different keyboards to try :wink:, I’ll do a thorough test tonight when I get home and post my results.

1 Like

@Ragnar_Svensson seems to be correct, I built an engine locally on Linux and forced it to crash, but instead it freezes as described. Added a separate issue for this: DEF-1722

Yes, that’s whats I saw, using strace, it looked like the process was looping and constantly opening,writing the _crash file.

1 Like

Hello everyone and thanks a lot for all of your help testing the Linux 64bit editor (and engine)! We believe that we’ve managed to solve the major issues that has been reported by those of you who has tested the build and thanks to your reports we could keep the schedule and release on time.

Since this alpha channel has been discontinued it is important that you synchronise your projects and move to the latest stable release (1.2.78) so you can continue to get updates and don’t risk losing any project data. There should be a download link available at the dashboard shortly and this thread will be locked to end the alpha testing period.

If you have any feedback as to how we’ve handled the alpha testing or any problems you’ve experienced where we could improve please feel free to message me directly (@jakob.pogulis). If you find any additional issues that haven’t been addressed please feel free to post them here on the forums.

Thanks once again,
Jakob

5 Likes