Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Letting libTAS run Ruffle results in Flash game black screen #441

Closed
MyNameIsTrez opened this issue Oct 21, 2021 · 25 comments
Closed

Letting libTAS run Ruffle results in Flash game black screen #441

MyNameIsTrez opened this issue Oct 21, 2021 · 25 comments

Comments

@MyNameIsTrez
Copy link

MyNameIsTrez commented Oct 21, 2021

Hi, so ./ruffle and then selecting plazma_burst_fttp.swf plays great.

When I instead enter libTAS into a terminal, then browse to running ruffle in libTAS and press Start or Start and attach GDB in libTAS I get a Ruffle window that prompts me to select the SWF I want to play.

The problem is that with both Start and Start and attach GDB the game immediately turns black, while this wasn't the case when running ./ruffle directly from a terminal.

libTAS version: 1.4.2 from Ubuntu Software
Ruffle version: ruffle-nightly-2021_10_19-linux-x86_64

Here's the SWF file I'm trying to play (inside of a .zip because GitHub doesn't allow uploading a .swf directly): plazma_burst_fttp.zip

When I press the Start button I see this in the terminal
Attempt 1: Connected.
MESA-INTEL: warning: Haswell Vulkan support is incomplete

thread 'main' has overflowed its stack
fatal runtime error: stack overflow
recv() returns 0 -> socket closed
The connection to the game was closed. Exiting
Aborted (core dumped)

I'm not sure whether the MESA-INTEL: warning: Haswell Vulkan support is incomplete is related to my issue, but I'm running this on a crappy laptop. "Vulkan only supports more recently modern hardware, my Core i7-4790 Haswell has this problem too. I think the most recently Intel igpu with vulkan support is HD500 from 2016." from this person on Reddit.

And when I press the Start and attach GDB button I see this in the terminal
Reading symbols from /home/trez/Games/ruffle-nightly-2021_10_19-linux-x86_64/ruffle...
Signal        Stop	Print	Pass to program	Description
SIGSYS        No	No	Yes		Bad system call
SIGXCPU       No	No	Yes		CPU time limit exceeded
SIGXFSZ       No	No	Yes		File size limit exceeded
SIGUSR1       No	No	Yes		User defined signal 1
SIGUSR2       No	No	Yes		User defined signal 2
SIGPWR        No	No	Yes		Power fail/restart
SIG35         No	No	Yes		Real-time event 35
SIG36         No	No	Yes		Real-time event 36
Starting program: /home/trez/Games/ruffle-nightly-2021_10_19-linux-x86_64/ruffle 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Attempt 1: Connected.
[Detaching after vfork from child process 20758]
[Detaching after vfork from child process 20760]
[Detaching after vfork from child process 20762]
[Detaching after vfork from child process 20767]
[Detaching after vfork from child process 20769]
MESA-INTEL: warning: Haswell Vulkan support is incomplete
[New Thread 0x7fffef006700 (LWP 20794)]
[New Thread 0x7fffee805700 (LWP 20795)]
[New Thread 0x7fffee004700 (LWP 20796)]
[New Thread 0x7fffed803700 (LWP 20797)]
[New Thread 0x7fffed002700 (LWP 20798)]
[New Thread 0x7fffec801700 (LWP 20799)]
[New Thread 0x7fffd7fff700 (LWP 20800)]
[New Thread 0x7fffd77fe700 (LWP 20801)]
[New Thread 0x7fffd6ffd700 (LWP 20802)]
[New Thread 0x7fffd67fc700 (LWP 20803)]
[New Thread 0x7fffd5ffb700 (LWP 20804)]
[New Thread 0x7fffd57fa700 (LWP 20805)]
[New Thread 0x7fffd4eb8700 (LWP 20806)]
[New Thread 0x7fffb3fff700 (LWP 20807)]
[New Thread 0x7fffabfff700 (LWP 20808)]
[New Thread 0x7fffb37fe700 (LWP 20809)]
[New Thread 0x7fffb2ffd700 (LWP 20810)]
--Type <RET> for more, q to quit, c to continue without paging--
Here are my laptop specs

image

@MyNameIsTrez MyNameIsTrez changed the title Flash game in Ruffle gives black screen when Ruffle is run by libTAS Flash game in Ruffle gives black screen only when Ruffle is run by libTAS Oct 21, 2021
@MyNameIsTrez MyNameIsTrez changed the title Flash game in Ruffle gives black screen only when Ruffle is run by libTAS Letting libTAS run Ruffle results in Flash game giving a black screen Oct 21, 2021
@InfoTeddy
Copy link
Contributor

Your GDB output is incomplete. You need to press Enter, q, or c, and then type bt to print the backtrace.

@MyNameIsTrez
Copy link
Author

MyNameIsTrez commented Oct 21, 2021

@InfoTeddy I'm not sure if I did it right, but I pressed q and then entered bt like you instructed and got this. Pressing c to continue paging at this point makes the terminal fill up with thousands of these lines at the bottom of this screenshot. Is this information somewhat useful?

It'd be nice if someone else would be willing to download the libTAS and Ruffle versions along with the SWF to see if they get the same black screen and GDB output
trez@trez-laptop:~$ libTAS
Reading symbols from /home/trez/Games/ruffle-nightly-2021_10_19-linux-x86_64/ruffle...
Signal        Stop	Print	Pass to program	Description
SIGSYS        No	No	Yes		Bad system call
SIGXCPU       No	No	Yes		CPU time limit exceeded
SIGXFSZ       No	No	Yes		File size limit exceeded
SIGUSR1       No	No	Yes		User defined signal 1
SIGUSR2       No	No	Yes		User defined signal 2
SIGPWR        No	No	Yes		Power fail/restart
SIG35         No	No	Yes		Real-time event 35
SIG36         No	No	Yes		Real-time event 36
Starting program: /home/trez/Games/ruffle-nightly-2021_10_19-linux-x86_64/ruffle 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Attempt 1: Connected.
[Detaching after vfork from child process 10544]
[Detaching after vfork from child process 10546]
[Detaching after vfork from child process 10548]
[Detaching after vfork from child process 10552]
[Detaching after vfork from child process 10555]
MESA-INTEL: warning: Haswell Vulkan support is incomplete
[New Thread 0x7fffef006700 (LWP 10571)]
[New Thread 0x7fffe7fff700 (LWP 10572)]
[New Thread 0x7fffee805700 (LWP 10573)]
[New Thread 0x7fffee004700 (LWP 10574)]
[New Thread 0x7fffed803700 (LWP 10575)]
[New Thread 0x7fffed002700 (LWP 10576)]
[New Thread 0x7fffec801700 (LWP 10577)]
[New Thread 0x7fffe77fe700 (LWP 10578)]
[New Thread 0x7fffe6ffd700 (LWP 10579)]
[New Thread 0x7fffe67fc700 (LWP 10580)]
[New Thread 0x7fffe5ffb700 (LWP 10581)]
[New Thread 0x7fffe57fa700 (LWP 10582)]
[New Thread 0x7fffe4eb8700 (LWP 10583)]
[New Thread 0x7fffb7fff700 (LWP 10584)]
[New Thread 0x7fffb77fe700 (LWP 10585)]
[New Thread 0x7fffb6ffd700 (LWP 10586)]
[New Thread 0x7fffb67fc700 (LWP 10587)]
--Type <RET> for more, q to quit, c to continue without paging--c

Thread 1 "ruffle" received signal SIGSEGV, Segmentation fault.
0x00007ffff7cd12b8 in ?? () from /usr/bin/libtas.so
(gdb) bt
#0  0x00007ffff7cd12b8 in ?? () from /usr/bin/libtas.so
#1  0x00007ffff7cddd09 in vkGetDeviceProcAddr () from /usr/bin/libtas.so
#2  0x00007ffff7cddd39 in vkGetDeviceProcAddr () from /usr/bin/libtas.so
#3  0x00007ffff7cddd39 in vkGetDeviceProcAddr () from /usr/bin/libtas.so
<repeated for forever>

@InfoTeddy
Copy link
Contributor

Ok, the vkGetDeviceProcAddr is somewhat useful to know. At this point, though, I don't know much about Vulkan, so someone else (maybe @clementgallet) will have to try to diagnose this issue.

@MyNameIsTrez
Copy link
Author

MyNameIsTrez commented Oct 22, 2021

For the record, I spent a few hours today trying to get Ruffle running that Flash game on both a VirtualBox Ubuntu VM and Hyper-V Ubuntu VM. Unfortunately, both of them gave Vulkan errors, one of which was WARNING: Haswell Vulkan support is incomplete - Error: No DRI3 support. From a bit of looking on the internet it seems a massive pita to get VMs to use a host's GPU, so I'm going to try dual-booting Ubuntu on my main Windows 10 PC instead right now.

@MyNameIsTrez
Copy link
Author

MyNameIsTrez commented Oct 22, 2021

I wasn't able to get dual-booting Ubuntu working after lots of errors and partitioning issues, so I'd appreciate it if someone else would try to reproduce the black screen on Ubuntu with my libTAS + Ruffle version and that Flash game download link.

@vadosnaprimer
Copy link
Contributor

Literal dual-boot between Windows and Linux is indeed tricky to get right the first time, what about just installing Linux on a different drive without dial-boot and telling the computer to load from that once you need it?

@MyNameIsTrez
Copy link
Author

MyNameIsTrez commented Oct 22, 2021

@vadosnaprimer I honestly don't have the patience to continue trying that, sorry. It'd be awesome if someone else who already has Ubuntu installed would check if they also get a black screen. I'll follow this WSL 2 tutorial tomorrow to try and get libTAS working on my Windows 10 PC instead.

@slamotas
Copy link

I am running Ubuntu natively and I get a slightly different error when running Ruffle with any swf:

Attempt 1: Connected.
INTEL-MESA: warning: Haswell Vulkan support is incomplete
recv() returns 0 -> socket closed
The connection to the game was closed. Exiting
Segmentation fault (core dumped)

The game window briefly pops open and then closes.

@MyNameIsTrez
Copy link
Author

MyNameIsTrez commented Oct 22, 2021

@slamotas It's good to know that you're getting almost exactly the same error as me. Could you test that SWF download I linked and try that one too to see if you still get a slightly different error than mine with that too, or was that error from that Flash game I linked?

I should've mentioned it, but when pressing the Start button in libTAS the game's window turns black and disappears after a moment, while with Start and attach gdb the black window stays up.

Also, the official Flash Player launcher version 32.0.0.465 (64-bit) works fine for running that SWF (you just need to press the Control>Play button at the top of the Flash window).

When running that Flash player with libTAS however, the Flash player will turn a permanent black screen even before you've been offered to select a game by the Flash player, and this goes for both the Start and Start and attach gdb buttons. Adding the SWF's path to the Command-line options field in libTAS has the same result. But using the official Flash Player wasn't likely to work, but I wanted to mention this regardless.

Here's the error I get when pressing the Start and attach gdb button with the Flash player program in libTAS
trez@trez-laptop:~$ libTAS
Reading symbols from /home/trez/Games/flash_player_sa_linux.x86_64/flashplayer...
(No debugging symbols found in /home/trez/Games/flash_player_sa_linux.x86_64/flashplayer)
Signal        Stop	Print	Pass to program	Description
SIGSYS        No	No	Yes		Bad system call
SIGXCPU       No	No	Yes		CPU time limit exceeded
SIGXFSZ       No	No	Yes		File size limit exceeded
SIGUSR1       No	No	Yes		User defined signal 1
SIGUSR2       No	No	Yes		User defined signal 2
SIGPWR        No	No	Yes		Power fail/restart
SIG35         No	No	Yes		Real-time event 35
SIG36         No	No	Yes		Real-time event 36
Starting program: /home/trez/Games/flash_player_sa_linux.x86_64/flashplayer /home/trez/Games/plazma_burst_fttp.swf
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Attempt 1: Connected.
[Detaching after vfork from child process 8329]
[New Thread 0x7ffff5308700 (LWP 8332)]
[New Thread 0x7ffff4b07700 (LWP 8333)]
[New Thread 0x7fffeffff700 (LWP 8334)]
[New Thread 0x7fffef7fe700 (LWP 8335)]
[New Thread 0x7fffee016700 (LWP 8336)]
[New Thread 0x7fffed815700 (LWP 8337)]
[Thread 0x7fffed815700 (LWP 8337) exited]
Could not get xcb_query_tree, X error
--Type <RET> for more, q to quit, c to continue without paging--c

Thread 1 "flashplayer" received signal SIGSEGV, Segmentation fault.
0x00007ffff7abeb77 in ?? () from /lib/x86_64-linux-gnu/libX11.so.6
(gdb) bt
#0  0x00007ffff7abeb77 in ?? () from /lib/x86_64-linux-gnu/libX11.so.6
#1  0x00007ffff7d1d73e in ?? () from /usr/bin/libtas.so
#2  0x00007ffff7d16e03 in ?? () from /usr/bin/libtas.so
#3  0x00007ffff7d193bf in ?? () from /usr/bin/libtas.so
#4  0x00007ffff7d17c34 in ?? () from /usr/bin/libtas.so
#5  0x00007ffff7d18a90 in ?? () from /usr/bin/libtas.so
#6  0x00007ffff7ccc84d in ?? () from /usr/bin/libtas.so
#7  0x00007ffff7d37a92 in XShmPutImage () from /usr/bin/libtas.so
#8  0x00007ffff65df09a in ?? () from /lib/x86_64-linux-gnu/libcairo.so.2
#9  0x00007ffff65d6b77 in ?? () from /lib/x86_64-linux-gnu/libcairo.so.2
#10 0x00007ffff65bb9a6 in ?? () from /lib/x86_64-linux-gnu/libcairo.so.2
#11 0x00007ffff65bbc4d in ?? () from /lib/x86_64-linux-gnu/libcairo.so.2
#12 0x00007ffff65bc64e in ?? () from /lib/x86_64-linux-gnu/libcairo.so.2
#13 0x00007ffff656326e in ?? () from /lib/x86_64-linux-gnu/libcairo.so.2
#14 0x00007ffff65dd528 in ?? () from /lib/x86_64-linux-gnu/libcairo.so.2
#15 0x00007ffff65b43a6 in ?? () from /lib/x86_64-linux-gnu/libcairo.so.2
#16 0x00007ffff656b705 in ?? () from /lib/x86_64-linux-gnu/libcairo.so.2
#17 0x00007ffff6564a8e in ?? () from /lib/x86_64-linux-gnu/libcairo.so.2
#18 0x00007ffff65c0eb9 in cairo_fill ()
   from /lib/x86_64-linux-gnu/libcairo.so.2
#19 0x00007ffff7ca093c in ?? ()
   from /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.so
#20 0x00007ffff7ca196b in ?? ()
--Type <RET> for more, q to quit, c to continue without paging--c
   from /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.so
#21 0x00007ffff7c9e0a2 in ?? () from /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.so
#22 0x00007ffff7c9f23f in ?? () from /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/libpixmap.so
#23 0x00007ffff734db0b in ?? () from /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#24 0x00007ffff7341b9b in ?? () from /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#25 0x00007ffff703f802 in g_closure_invoke () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#26 0x00007ffff7052f96 in ?? () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#27 0x00007ffff705e47d in g_signal_emit_valist () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#28 0x00007ffff705f0f3 in g_signal_emit () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#29 0x00007ffff745d22d in ?? () from /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#30 0x00007ffff7340390 in gtk_main_do_event () from /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#31 0x00007ffff718ec4f in ?? () from /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#32 0x00007ffff718ebf3 in ?? () from /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#33 0x00007ffff718b64d in ?? () from /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#34 0x00007ffff718c12d in gdk_window_process_updates () from /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#35 0x00007ffff746c2d0 in ?? () from /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#36 0x00007ffff703f802 in g_closure_invoke () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#37 0x00007ffff7052f96 in ?? () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#38 0x00007ffff705ebbe in g_signal_emit_valist () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#39 0x00007ffff705f0f3 in g_signal_emit () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#40 0x00007ffff72c3ca8 in ?? () from /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#41 0x00007ffff7169e99 in ?? () from /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#42 0x00007ffff6f5204e in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#43 0x00007ffff6f52400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#44 0x00007ffff6f526f3 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#45 0x00007ffff733f092 in gtk_main () from /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#46 0x000000000045a72a in ?? ()
#47 0x00007ffff69450b3 in __libc_start_main (main=0x45a3a0, argc=2, argv=0x7fffffffde58, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffde48) at ../csu/libc-start.c:308
#48 0x000000000045f278 in _start ()
(gdb) 

@MyNameIsTrez
Copy link
Author

MyNameIsTrez commented Oct 22, 2021

I figured out that Ruffle by default uses Vulkan and that selecting the other three options don't even work on my laptop (dx11, dx12, metal). So Ruffle + the Flash game working on my Ubuntu laptop indicates to me that Vulkan is at least installed, which I wasn't sure of with my original libTAS + Ruffle + Flash game error. But I guess that I may still have a version of Vulkan installed that may be incompatible with libTAS.

Running sudo apt install libvulkan1 mesa-vulkan-drivers vulkan-utils and restarting my laptop didn't change the original libTAS + Ruffle + Flash game error either.

@MyNameIsTrez MyNameIsTrez changed the title Letting libTAS run Ruffle results in Flash game giving a black screen Letting libTAS run Ruffle results in Flash game black screen Oct 22, 2021
@slamotas
Copy link

I get the error with any swf that I try.

Vulkan is the only graphics setting that works for me as well. It seems that a pull request is currently being merged that would add OpenGL functionality on Linux, so we should keep an eye on that.

@MyNameIsTrez
Copy link
Author

MyNameIsTrez commented Oct 23, 2021

I am running Ubuntu natively and I get a slightly different error when running Ruffle with any swf
I get the error with any swf that I try

@slamotas So even when you start Ruffle manually instead of letting libTAS start it for you, you get that Ruffle error? Maybe try sudo apt install libvulkan1 mesa-vulkan-drivers vulkan-utils + restarting your computer, cause we seem to have pretty different issues. Ruffle + Flash game works great for me, it's just that libTAS + Ruffle + Flash game gives me errors.

@clementgallet
Copy link
Owner

With commits 666f727, 79fe794 and eec2657 I could run ruffle and the posted game correctly. I'm using the proprietary NVidia driver with a GTX 660, although it should not matter as long as you can run the game natively?

For now I cannot test the new lavapipe Vulkan software renderer from Mesa, because Debian (aka package too old, and I don't want to install from unstable).

@slamotas
Copy link

@MyNameIsTrez Sorry, I meant that I got that error with libTAS. Ruffle and your swf runs fine for me outside of libTAS.

I just tried out the latest automated build and it seems to be working in libTAS now! Time tracking with clock_gettime() is required.

The bug in the title is fixed but there are still some other problems. I have been testing with this game, which works fine outside of libTAS. Games will save and load a state once but hang if you load a state twice. Keyboard inputs are also unresponsive.

@MyNameIsTrez
Copy link
Author

@clementgallet @slamotas I think I managed to download the latest version of libTAS correctly as the window's title is libTAS v1.4.2 - interim a52c4795 (2021-10-23), but when I run Ruffle with it and let it run the Flash game plazma_burst_fttp.swf I linked it still gives me the same errors as before, even with clock_gettime() activated.
image
image

@slamotas
Copy link

@MyNameIsTrez You should put the path of the swf in Command-line options, it will skip the file select window which is probably buggy in libTAS.

@MyNameIsTrez
Copy link
Author

MyNameIsTrez commented Oct 23, 2021

@slamotas That unfortunately doesn't fix it for me, and it also doesn't make the terminal show a different error. :( I have tried it with clock_gettime() turned on and off.

@clementgallet
Copy link
Owner

Can you check Runtime > Debug > Print Categories > OpenGL/Vulkan and paste here the log that is produced on the terminal?

@MyNameIsTrez
Copy link
Author

MyNameIsTrez commented Oct 23, 2021

@clementgallet Here you go:
image
image

By the way, I've noticed that filling out the Game executable field by using its Browse... button can not only fill out the Command-line options field as well, but that it can also uncheck the Runtime>Time tracking>clock_gettime() option. Is this intended behavior? It means that I have to fill out the Game executable field first to make sure the Runtime options don't get changed by it.

By the way, if you want we can debug this further in a Discord conversation (#MyNameIsTrez1585), and when we've figured out the problem we'd close this issue with a small summary of what had happened.

@slamotas
Copy link

As of the latest nightly build, Ruffle now supports OpenGL graphics (use the parameter -g gl to use it). libTAS will boot Ruffle with it, despite this weird error at the start:

Attempt 1: Connected.
[libTAS f:1] Thread 12088 (main) ERROR: Vertex shader compilation failed with error 0:2(10): error: GLSL 1.20 is not supported. Supported versions are: 1.00 ES, 3.00 ES, 3.10 ES, and 3.20 ES

[libTAS f:1] Thread 12088 (main) ERROR: Fragment shader compilation failed with error 0:2(10): error: GLSL 1.20 is not supported. Supported versions are: 1.00 ES, 3.00 ES, 3.10 ES, and 3.20 ES

[libTAS f:1] Thread 12088 (main) ERROR: Program link failed with error error: linking with uncompiled/unspecialized shadererror: linking with uncompiled/unspecialized shader
[libTAS f:1] Thread 12088 (main) ERROR: glBindTexture failed with error 1282
[libTAS f:1] Thread 12088 (main) ERROR: glBindTexture failed with error 1282
[libTAS f:1] Thread 12088 (main) ERROR: glBindTexture failed with error 1282

And the glBindTexture error keeps repeating. Oddly, according to glxinfo, my GLSL version is 4.50, not 1.20. I get absolutely no errors when running this outside of libTAS. I've also lost Vulkan compatibility with this update, although that's not a libTAS problem.

@MyNameIsTrez
Copy link
Author

MyNameIsTrez commented Oct 26, 2021

I have checked Runtime > Time tracking > clock_gettime() and Runtime > Debug > Print Categories > OpenGL/Vulkan.
The code blocks below show that I'm using ruffle-nightly-2021_10_26-linux-x86_64 and libTAS Interim commit a52c4795 built on 2021-10-23. I'm running this on my Ubuntu laptop, so not in a VM.

This is the error I get when pressing the Start button
trez@trez-laptop:~$ libTAS ~/Games/ruffle-nightly-2021_10_26-linux-x86_64/ruffle -g gl ~/Games/plazma_burst_fttp.swf 
Interim commit a52c4795 built on 2021-10-23
Attempt 1: Connected.
recv() returns 0 -> socket closed
The connection to the game was closed. Exiting
This is the error I get when pressing the Launch with GDB button
trez@trez-laptop:~$ libTAS ~/Games/ruffle-nightly-2021_10_26-linux-x86_64/ruffle -g gl ~/Games/plazma_burst_fttp.swf
Interim commit a52c4795 built on 2021-10-23
Reading symbols from /home/trez/Games/ruffle-nightly-2021_10_26-linux-x86_64/ruffle...
Signal        Stop	Print	Pass to program	Description
SIGSYS        No	No	Yes		Bad system call
SIGXCPU       No	No	Yes		CPU time limit exceeded
SIGXFSZ       No	No	Yes		File size limit exceeded
SIGUSR1       No	No	Yes		User defined signal 1
SIGUSR2       No	No	Yes		User defined signal 2
SIGPWR        No	No	Yes		Power fail/restart
SIG35         No	No	Yes		Real-time event 35
SIG36         No	No	Yes		Real-time event 36
Starting program: /home/trez/Games/ruffle-nightly-2021_10_26-linux-x86_64/ruffle -g gl /home/trez/Games/plazma_burst_fttp.swf
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Attempt 1: Couldn't connect to socket.
Attempt 2: Connected.
[New Thread 0x7fffeef67700 (LWP 6462)]
[New Thread 0x7fffee766700 (LWP 6463)]
[New Thread 0x7fffedf65700 (LWP 6464)]
[New Thread 0x7fffed764700 (LWP 6465)]
[New Thread 0x7fffecf63700 (LWP 6466)]
[New Thread 0x7fffd7fff700 (LWP 6467)]
[New Thread 0x7fffd77fe700 (LWP 6468)]
[New Thread 0x7fffd6ffd700 (LWP 6469)]
[New Thread 0x7fffd67fc700 (LWP 6470)]
[New Thread 0x7fffd5ffb700 (LWP 6471)]
[New Thread 0x7fffd57fa700 (LWP 6472)]
[New Thread 0x7fffd4ff9700 (LWP 6473)]
[New Thread 0x7fffb7df4700 (LWP 6474)]
[New Thread 0x7fffb7bf3700 (LWP 6475)]
[New Thread 0x7fffb79f2700 (LWP 6476)]
[New Thread 0x7fffb77f1700 (LWP 6477)]
[New Thread 0x7fffb75f0700 (LWP 6478)]
[New Thread 0x7fffb73ef700 (LWP 6479)]
[Thread 0x7fffb73ef700 (LWP 6479) exited]
[Thread 0x7fffb75f0700 (LWP 6478) exited]
[Thread 0x7fffb77f1700 (LWP 6477) exited]
[New Thread 0x7fffb73ef700 (LWP 6480)]
[New Thread 0x7fffb75f0700 (LWP 6481)]
[New Thread 0x7fffb77f1700 (LWP 6482)]
[Thread 0x7fffb73ef700 (LWP 6480) exited]
[Thread 0x7fffb77f1700 (LWP 6482) exited]
[Thread 0x7fffb75f0700 (LWP 6481) exited]
[New Thread 0x7fffb77f1700 (LWP 6483)]
[New Thread 0x7fffb75f0700 (LWP 6484)]
[New Thread 0x7fffb73ef700 (LWP 6485)]
<repeats>
Here's its bt
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x00007ffff7ed98dc in ?? () from /usr/bin/libtas.so
#2  0x00007ffff7eda0b1 in ?? () from /usr/bin/libtas.so
#3  0x00007ffff7ecb480 in eglMakeCurrent () from /usr/bin/libtas.so
#4  0x00005555558afaef in wgpu_hal::gles::egl::Surface::present ()
#5  0x0000555555898d15 in wgpu_hal::gles::queue::<impl wgpu_hal::Queue<wgpu_hal::gles::Api> for wgpu_hal::gles::Queue>::present ()
#6  0x0000008c00000000 in ?? ()
#7  0x0000006e00000000 in ?? ()
#8  0x0000000400000000 in ?? ()
#9  0x0000000100007fff in ?? ()
#10 0x0000001700000001 in ?? ()
#11 0x0000190800008c43 in ?? ()
#12 0x0000032000001401 in ?? ()
#13 0x0000000100000190 in ?? ()
#14 0x00005555567baf40 in ?? ()
#15 0x0000555556e9fa20 in ?? ()
#16 0xa000000100000001 in ?? ()
#17 0x0000000100000000 in ?? ()
#18 0x00005555567b9fe0 in ?? ()
#19 0x0000555555840e44 in wgpu_core::present::<impl wgpu_core::hub::Global<G>>::surface_present ()

@clementgallet
Copy link
Owner

clementgallet commented Oct 26, 2021

I made EGL code use the GL OSD, because at the time it used functions that were shared with both APIs. Now the GL code uses shaders, so I need to make a specific OSD code for GLES.

@clementgallet
Copy link
Owner

@MyNameIsTrez Did you check natively? You may need to install the EGL libraries to run ruffle.

@slamotas
Copy link

The new commit fixed the errors for me, and I do get OSD now, which is nice. There are still some other bugs with Ruffle but I'll post those as separate issues.

@MyNameIsTrez
Copy link
Author

MyNameIsTrez commented Oct 26, 2021

@clementgallet Yay, the latest interim version of libTAS starts the game without a black screen!

I also ran sudo apt-get install libglfw3-dev libgles2-mesa-dev + restarted my laptop to get it to work, but I'm not sure if I needed to install both of those or just libgles2-mesa-dev.

I can use both -g gl and -g vulkan now, but I do need Runtime > Time tracking > clock_gettime() checked to prevent the game from crashing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants