chexwarrior Posted May 20, 2020 Hi everyone, I recently installed Ubuntu 20.04 on my machine and installed GZDoom via the provided deb package. When I attempt to start a game with FluidSynth as the selected midi device the game freezes, the same thing happens when the main menu music finishes its first loop. The game runs fine with Timidity. I've added the messages displayed in the terminal from the start of the game to the aforementioned freeze at the end of this post, let me know if you need anymore information and thank you in advance. GZDoom g4.3.3 - 2020-01-20 22:20:34 +0100 - SDL version Compiled on Jan 21 2020 M_LoadDefaults: Load system defaults. W_Init: Init WADfiles. adding /opt/gzdoom/gzdoom.pk3, 612 lumps adding /opt/gzdoom/game_support.pk3, 2523 lumps adding /home/andy/.config/gzdoom/DOOM2.WAD, 2919 lumps I_Init: Setting up machine state. CPU Vendor ID: GenuineIntel Name: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz Family 6, Model 158, Stepping 10 Features: SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 HyperThreading V_Init: allocate screen. S_Init: Setting up sound. I_InitSound: Initializing OpenAL Opened device Built-in Audio Analog Stereo EFX enabled ST_Init: Init startup screen. Checking cmd-line parameters... S_InitData: Load sound definitions. G_ParseMapInfo: Load map definitions. Texman.Init: Init texture manager. ParseTeamInfo: Load team definitions. LoadActors: Load actor definitions. script parsing took 103.15 ms R_Init: Init Doom refresh subsystem. DecalLibrary: Load decals. M_Init: Init menus. P_Init: Init Playloop state. ParseSBarInfo: Loading custom status bar definition. D_CheckNetGame: Checking network game status. player 1 of 1 (1 nodes) Using video driver x11 GL_VENDOR: NVIDIA Corporation GL_RENDERER: GeForce GTX 1060 6GB/PCIe/SSE2 GL_VERSION: 4.6.0 NVIDIA 440.82 (Core profile) GL_SHADING_LANGUAGE_VERSION: 4.60 NVIDIA Max. texture size: 32768 Max. texture units: 32 Max. varying: 124 Max. combined shader storage blocks: 96 Max. vertex shader storage blocks: 16 Resolution: 1920 x 1080 fluidsynth: warning: SDL2 not initialized, SDL2 audio driver won't be usable ---------------------------------------- MAP01 - Entryway fluidsynth: warning: SDL2 not initialized, SDL2 audio driver won't be usable (process:79653): GLib-GObject-WARNING **: 06:39:26.516: cannot register existing type 'IpatchSplitsType' (process:79653): GLib-GObject-CRITICAL **: 06:39:26.516: g_param_spec_enum: assertion 'G_TYPE_IS_ENUM (enum_type)' failed ** (process:79653): CRITICAL **: 06:39:26.516: ipatch_type_install_property: assertion 'G_IS_PARAM_SPEC(prop_spec)' failed (process:79653): GLib-GObject-CRITICAL **: 06:39:26.516: g_boxed_type_register_static: assertion 'g_type_from_name (name) == 0' failed (process:79653): GLib-GObject-WARNING **: 06:39:26.516: cannot register existing type 'IpatchSF2GenType' (process:79653): GLib-GObject-WARNING **: 06:39:26.516: cannot retrieve class for invalid (unclassed) type '<invalid>' ** (process:79653): CRITICAL **: 06:39:26.516: file /build/libinstpatch-i701yY/libinstpatch-1.1.2/libinstpatch/IpatchSF2Gen.c: line 148 (_ipatch_sf2_gen_init): assertion `enum_class != NULL' failed. (process:79653): GLib-GObject-WARNING **: 06:39:26.516: cannot register existing type 'IpatchSample' (process:79653): GLib-GObject-WARNING **: 06:39:26.516: cannot register existing type 'IpatchItem' (process:79653): GLib-GObject-CRITICAL **: 06:39:26.516: g_type_interface_add_prerequisite: assertion 'G_TYPE_IS_INTERFACE (interface_type)' failed (process:79653): GLib-GObject-WARNING **: 06:39:26.516: cannot register existing type 'IpatchSF2GenItem' (process:79653): GLib-GObject-WARNING **: 06:39:26.516: cannot register existing type 'IpatchItem' (process:79653): GLib-GObject-CRITICAL **: 06:39:26.516: g_type_interface_add_prerequisite: assertion 'G_TYPE_IS_INTERFACE (interface_type)' failed (process:79653): GLib-GObject-WARNING **: 06:39:26.516: cannot register existing type 'IpatchSF2ModItem' (process:79653): GLib-GObject-WARNING **: 06:39:26.516: cannot register existing type 'IpatchItem' (process:79653): GLib-GObject-CRITICAL **: 06:39:26.516: g_type_interface_add_prerequisite: assertion 'G_TYPE_IS_INTERFACE (interface_type)' failed (process:79653): GLib-GObject-WARNING **: 06:39:26.516: cannot register existing type 'IpatchSF2VoiceCache' (process:79653): GLib-GObject-WARNING **: 06:39:26.516: cannot retrieve class for invalid (unclassed) type '<invalid>' (process:79653): GLib-GObject-WARNING **: 06:39:26.516: cannot register existing type 'IpatchItem' (process:79653): GLib-GObject-CRITICAL **: 06:39:26.516: g_type_register_static: assertion 'parent_type > 0' failed (process:79653): GLib-GObject-CRITICAL **: 06:39:26.517: g_type_register_static: assertion 'parent_type > 0' failed (process:79653): GLib-CRITICAL **: 06:39:26.517: g_once_init_leave: assertion 'result != 0' failed (process:79653): GLib-GObject-WARNING **: 06:39:26.517: cannot retrieve class for invalid (unclassed) type '<invalid>' (process:79653): GLib-GObject-WARNING **: 06:39:26.517: cannot register existing type 'IpatchItem' (process:79653): GLib-GObject-CRITICAL **: 06:39:26.517: g_type_register_static: assertion 'parent_type > 0' failed (process:79653): GLib-GObject-WARNING **: 06:39:26.517: cannot retrieve class for invalid (unclassed) type '<invalid>' (process:79653): GLib-GObject-WARNING **: 06:39:26.517: cannot register existing type 'IpatchConverter' (process:79653): GLib-GObject-WARNING **: 06:39:26.517: cannot retrieve class for invalid (unclassed) type '<invalid>' 0 Share this post Link to post
fabian Posted May 20, 2020 Which version of fluidsynth is that? dpkg -l libfluidsynth\* 1 Share this post Link to post
chexwarrior Posted May 20, 2020 Here is the output from that command: Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-=======================-============-============-======================================================= ii libfluidsynth-dev:amd64 2.1.1-2 amd64 Real-time MIDI software synthesizer (development files) un libfluidsynth1 <none> <none> (no description available) ii libfluidsynth2:amd64 2.1.1-2 amd64 Real-time MIDI software synthesizer (runtime library) 0 Share this post Link to post
fabian Posted May 20, 2020 Looks recent enough. Could you try a different sound font, e.g. the one provided in the timgm6mb-soundfont package? 1 Share this post Link to post
chexwarrior Posted May 20, 2020 (edited) EDIT: Was poking around a bit and saw in the gzdoom.ini that you can include custom directories for soundfonts. I also saw that you can change the soundfont from within the GZDoom menu. Setting Fluidsynth as the midi device and changing to the TimGM6.mb results in the same freeze as before. The good news is I can change Timidity's soundfont now so it doesn't sound so awful :) I attempted to change the soundfont using the instructions you had posted in an older thread. I ran the following commands but they resulted in the same freezing issue: export SDL_SOUNDFONTS=/usr/share/sounds/sf2/TimGM6mb.sf2 gzdoom -iwad DOOM2.wad -file $DOOMWADDIR/akeldama.wad I also grabbed the MuseScore_General soundfount I found here and tried it again: export SDL_SOUNDFONTS=/home/andy/Downloads/MuseScore_General.sf2 gzdoom -iwad DOOM2.wad -file $DOOMWADDIR/akeldama.wad I also read in a random GitHub thread that you can use the SDL_FORCE_SOUNDFONTS env variable, but that didn't seem to change anything either. On my last attempt I got a log of the error, I've attached it in case that's useful. error.zip Edited May 20, 2020 by Chex Warrior 0 Share this post Link to post
Blzut3 Posted May 24, 2020 If you used the actual deb repository then I provide a repackaged fluidsynth1: http://debian.drdteam.org/pool/multiverse/d/drdteam-libfluidsynth1/ Not sure if that will help, but fluidsynth works fine on 20.04 for me. 1 Share this post Link to post
fabian Posted May 24, 2020 @Blzut3 what did you change relative to the official Debian package? 0 Share this post Link to post
Blzut3 Posted May 24, 2020 (edited) The question you should actually be asking is "what did Debian/Ubuntu change relative to my package?" Mine is just the official fluidsynth 1.1.11 source code compiled in a 16.04 chroot like everything else in the repo. I don't recall any such deps in fluidsynth1 but if there were any ABI unstable deps then they would be compiled by me and static linked as well. Once I have the binary I build the deb by hand. Anyway I had to compile and provide it since 20.04 does not ship with the fluidsynth1 ABI anymore. So that package is set up to provide "libfluidsynth1" and if you're on 16.04 through 19.10 it will prefer to install the one from the system universe repo. On 20.04+ it installs drdteam-libfluidsynth1. 1 Share this post Link to post
fabian Posted May 25, 2020 Well, there was an ABI break upstream, so all more recent packages have to provide libfluidsynth2 instead of libfluidsynth1. 0 Share this post Link to post