yvt / openspades

Compatible client of Ace of Spades 0.75
http://openspades.yvt.jp/
GNU General Public License v3.0
1.14k stars 217 forks source link

Startup Crash due to OpenAL Error with System-Wide PulseAudio Equalizer (on Linux) #823

Open CrsiX opened 5 years ago

CrsiX commented 5 years ago

OpenSpades 0.1.1 was running fine until I set up a system-wide equalizer using package pulseaudio-equalizer. Now, OpenSpades breaks on every single startup.

See the log messages (SystemMessages.log):

2019/04/24 17:37:58 [Main.cpp:324] Package: OpenSpades 0.1.1
[...]
2019/04/24 17:37:58 [ScriptManager.cpp:115] Building
2019/04/24 17:37:58 [PackageUpdateManager.cpp:111] The latest available version is 0.1.3.4 (0.1.3).
2019/04/24 17:37:59 [Main.cpp:610] Starting startup window
[...]
2019/04/24 17:37:59 [StartupScreenHelper.cpp:153] Checking OpenAL availability
2019/04/24 17:37:59 [ALFuncs.cpp:249] Linking with OpenAL library.
2019/04/24 17:37:59 [ALFuncs.cpp:177] 'libopenal.so.1' loaded
[...]
2019/04/24 17:38:00 [SDLGLDevice.cpp:183] ------------------
2019/04/24 17:38:00 [SDLGLDevice.cpp:190] NOTICE: r_ignoreGLErrors is enabled. OpenGL error detection might not work correctly.
2019/04/24 17:38:00 [GLRenderer.cpp:104] GLRenderer bootstrap
[...]
2019/04/24 17:38:00 [ALFuncs.cpp:249] Linking with OpenAL library.
2019/04/24 17:38:00 [ALDevice.cpp:437] --- All devices ---
2019/04/24 17:38:00 [ALDevice.cpp:440] ALSA Default
2019/04/24 17:38:00 [ALDevice.cpp:443] -------------------
2019/04/24 17:38:00 [ALDevice.cpp:445] --- Devices ---
2019/04/24 17:38:00 [ALDevice.cpp:448] OpenAL Soft
2019/04/24 17:38:00 [ALDevice.cpp:451] ---------------
2019/04/24 17:38:00 [ALDevice.cpp:454] Default device: OpenAL Soft
2019/04/24 17:38:00 [ALDevice.cpp:461] OpenAL ALC Extensions (NULL):
2019/04/24 17:38:00 [ALDevice.cpp:463]   ALC_ENUMERATE_ALL_EXT
2019/04/24 17:38:00 [ALDevice.cpp:463]   ALC_ENUMERATION_EXT
2019/04/24 17:38:00 [ALDevice.cpp:463]   ALC_EXT_CAPTURE
2019/04/24 17:38:00 [ALDevice.cpp:463]   ALC_EXT_thread_local_context
2019/04/24 17:38:00 [ALDevice.cpp:463]   ALC_SOFT_loopback
[...]
2019/04/24 17:38:00 [Runner.cpp:48] [!] Unhandled exception in SDLRunner:
Failed to open OpenAL device.
at /build/openspades-stable/parts/openspades/src/Sources/Audio/ALDevice.cpp:467
spades::audio::ALDevice::Internal::Internal() at ALDevice.cpp:427
spades::audio::ALDevice::ALDevice() at ALDevice.cpp:752
void spades::gui::SDLRunner::Run(int, int) at SDLRunner.cpp:403
void spades::gui::Runner::Run() at Runner.cpp:70
void spades::gui::Runner::RunProtected() at Runner.cpp:42
int main(int, char**) at Main.cpp:312

2019/04/24 17:38:29 [Settings.cpp:277] Saving preference to SPConfig.cfg
2019/04/24 17:38:29 [Settings.cpp:183] Saving preferences to SPConfig.cfg

This may be related to issue 710: https://github.com/yvt/openspades/issues/710 However, the problem there was switching audio sinks.

feikname commented 5 years ago

I'm not well versed on how linux audio work, please take my comment with a grain of salt.

OpenSpades is failing to open an OpenAL device which was previously working just fine before you installed pulseaudio-equalizer, so I suspect it's something with your system configuration and there's nothing OpenSpades can do about it.

Two things that come to my mind:

Of course, it might also be an issue with the code.

CrsiX commented 5 years ago

Actually, I reinstalled all the different parts, with no success. But after all, I completely removed qjackctl and rebooted the system (and changed some config). Now, PulseAudio manages all the audio traffic by itself like it did before.

Note that you can't switch between different sinks for OpenSpades while it's running (that's possible with almost any other application). Thus, it's tricky to make it work when you have e.g. JACK and PulseAudio running in parallel (which I had).

Also note that OpenSpades ran fine when disabling audio support completely by setting the backend to Null (as long as I had the problems at the beginning).

CrsiX commented 5 years ago

Hm, I just killed and restarted the PulseAudio server right now, and the error is back again ...

It looks like rebooting the machine is the only hope :joy:

mckaygerhard commented 5 years ago

seems related to #839 casuallity at my first time at openspades found its a windosoft crap software..

does not implemnet correctly the openal and detect inscorrectly... note that OpenSpades ran fine when disabling audio support completely by setting the backend to Null .. due bad detection .. lest see, all are detect "fine" (or not) and then implement all the openall related ???? what????

2019/06/25 03:31:13 [ALFuncs.cpp:249] Linking with OpenAL library.
2019/06/25 03:31:13 [ALDevice.cpp:433] --- All devices ---
2019/06/25 03:31:13 [ALDevice.cpp:436] ALSA Default
2019/06/25 03:31:13 [ALDevice.cpp:436] HDA Intel PCH, ALC269VB Analog (CARD=PCH,DEV=0)
2019/06/25 03:31:13 [ALDevice.cpp:436] HDA Intel PCH, HDMI 0 (CARD=PCH,DEV=3)
2019/06/25 03:31:13 [ALDevice.cpp:439] -------------------
2019/06/25 03:31:13 [ALDevice.cpp:441] --- Devices ---
2019/06/25 03:31:13 [ALDevice.cpp:444] OpenAL Soft
2019/06/25 03:31:13 [ALDevice.cpp:447] ---------------
2019/06/25 03:31:13 [ALDevice.cpp:450] Default device: OpenAL Soft
2019/06/25 03:31:13 [ALDevice.cpp:465] OpenAL Info:
2019/06/25 03:31:13 [ALDevice.cpp:466] Vendor: (null)
2019/06/25 03:31:13 [ALDevice.cpp:467] Version: (null)
2019/06/25 03:31:13 [ALDevice.cpp:468] Renderer: (null)
2019/06/25 03:31:13 [ALDevice.cpp:472] OpenAL ALC Extensions:
2019/06/25 03:31:13 [ALDevice.cpp:474] ALC_ENUMERATE_ALL_EXT
2019/06/25 03:31:13 [ALDevice.cpp:474] ALC_ENUMERATION_EXT
2019/06/25 03:31:13 [ALDevice.cpp:474] ALC_EXT_CAPTURE
2019/06/25 03:31:13 [ALDevice.cpp:474] ALC_EXT_DEDICATED
2019/06/25 03:31:13 [ALDevice.cpp:474] ALC_EXT_disconnect
2019/06/25 03:31:13 [ALDevice.cpp:474] ALC_EXT_EFX
2019/06/25 03:31:13 [ALDevice.cpp:474] ALC_EXT_thread_local_context
2019/06/25 03:31:13 [ALDevice.cpp:474] ALC_SOFT_device_clock
2019/06/25 03:31:13 [ALDevice.cpp:474] ALC_SOFT_HRTF
2019/06/25 03:31:13 [ALDevice.cpp:474] ALC_SOFT_loopback
2019/06/25 03:31:13 [ALDevice.cpp:474] ALC_SOFT_output_limiter
2019/06/25 03:31:13 [ALDevice.cpp:474] ALC_SOFT_pause_device
2019/06/25 03:31:13 [ALDevice.cpp:493] EAX enabled
2019/06/25 03:31:13 [ALDevice.cpp:515] 96 source(s) initialized
AL lib: (EE) ALCplaybackAlsa_mixerNoMMapProc: available update failed: Broken pipe
atorresbr commented 2 years ago

This tutorial fix OpenSpades Don't open OpenAl on Ubuntu 21.04 and 21.10

https://www.youtube.com/watch?v=j9XRRP_GDfg

mckaygerhard commented 2 years ago

This tutorial fix OpenSpades Don't open OpenAl on Ubuntu 21.04 and 21.10

https://www.youtube.com/watch?v=j9XRRP_GDfg

SPAWN .. video is unrelated .. only promotes wayland crap

atorresbr commented 2 years ago

This tutorial fix OpenSpades Don't open OpenAl on Ubuntu 21.04 and 21.10 https://www.youtube.com/watch?v=j9XRRP_GDfg

SPAWN .. video is unrelated .. only promotes wayland crap

you who are dumb, imbecile, unable to solve the problem, I solved it with this video.

dannycoulombe commented 8 months ago

This tutorial fix OpenSpades Don't open OpenAl on Ubuntu 21.04 and 21.10 https://www.youtube.com/watch?v=j9XRRP_GDfg

SPAWN .. video is unrelated .. only promotes wayland crap

you who are dumb, imbecile, unable to solve the problem, I solved it with this video.

and you, who doesn't quite understand how graphical interfaces in Linux work, you might not want to switch from X to Wayland as it may corrupt many of your existing applications. A "fix" that may create dozen of problems.