Solene Rapenne <sol...@perso.pw> writes: > timo.my...@bittivirhe.fi (Timo Myyrä) wrote: > >> timo.my...@bittivirhe.fi (Timo Myyrä) writes: >> >> > Jeremie Courreges-Anglas <j...@wxcvbn.org> writes: >> > >> >> On Thu, Sep 06 2018, timo.my...@bittivirhe.fi (Timo Myyrä) wrote: >> >> >> >>> Jeremie Courreges-Anglas <j...@wxcvbn.org> writes: >> >>> >> >>>> On Fri, Aug 03 2018, timo.my...@bittivirhe.fi (Timo Myyrä) wrote: >> >>>> >> >>>>> timo.my...@bittivirhe.fi (Timo Myyrä) writes: >> >>>>> >> >>>>>> Solene Rapenne <sol...@perso.pw> writes: >> >>>>>> >> >>>>>>> timo.my...@bittivirhe.fi (Timo Myyrä) wrote: >> >>>>>>> >> >>>>>>>> Hi, >> >>>>>>>> >> >>>>>>>> Here's a updated port for latest gzdoom version. >> >>>>>>>> Merged the stuff from Solene's port into my old gzdoom port and >> >>>>>>>> bumped it to >> >>>>>>>> latest version. Tested on amd64 and quick gameplay test seems to >> >>>>>>>> work and >> >>>>>>>> installing soundfont and tuning the ini file, the fluidsynth >> >>>>>>>> playback works. >> >>>>>>>> >> >>>>>>>> - added patch to fix the fluidsynth library name >> >>>>>>>> >> >>>>>>>> - dropped old linker args from Makefile, these don't seem to be >> >>>>>>>> needed at all >> >>>>>>>> >> >>>>>>>> - Added flag to disable GTK dialogs from building so no need for >> >>>>>>>> Gtk dependency >> >>>>>>>> >> >>>>>>>> - fluidsynth is detected at build time so add it as build_depends. >> >>>>>>>> At run time >> >>>>>>>> it needs to be installed but gzdoom can use other midi players as >> >>>>>>>> well so I >> >>>>>>>> didn't add it to run_depends. >> >>>>>>>> >> >>>>>>>> - Dropped previous gxmessage dependy, the game tries kdialog, >> >>>>>>>> gxmessage and >> >>>>>>>> finally xmessage to show crash log. >> >>>>>>>> >> >>>>>>>> - OpenAL needs to be installed to have audio. >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> Timo >> >>>>>>> >> >>>>>>> Your port is way better than the one I submitted last month, good >> >>>>>>> work! Still >> >>>>>>> when using mods, I only have music and no other sound, do you have >> >>>>>>> the same >> >>>>>>> issue? Doom1 and Doom2 runs fine, so it may be related to the mods... >> >>>>>> >> >>>>>> I tested Doom One mod and only got sound in menu and no gameplay >> >>>>>> sounds or music >> >>>>>> at all. Got bunch of errors in console so I guess the mods are to >> >>>>>> blame. >> >>>>>> >> >>>>>> Timo >> >>>>> >> >>>>> Actually its the problem in library loading. There was wrong library >> >>>>> names for >> >>>>> libmpg123, libsndfile in the code. I've patched those and the sounds >> >>>>> seem to >> >>>>> work now after quick test. >> >>>>> >> >>>>> Updated port attached. >> >>>> >> >>>> Here's some late feedback. >> >>>> >> >>>> Regarding the patches, I don't think that #ifdef __OpenBSD__ is a good >> >>>> approach. (For more on this subject, please look at "#ifdef considered >> >>>> harmful" from Henry Spencer.) Please don't push such patches upstream. >> >>>> For our needs in ports land, we can just patch and hardcode the use of >> >>>> the un-versioned .so libs. Ideas for solutions pushable upstream: >> >>>> a cmake option that controls whether dlopened library names should >> >>>> contain a version; or just >> >>>> #ifndef LIBFOO_NAME >> >>>> #define LIBFOO_NAME "libfoo.so.1" >> >>>> ... >> >>>> which would allow downstreams to override the name. >> >>>> >> >>>> About the dlopened libraries: I guess it would be good to list them in >> >>>> LIB_DEPENDS and add the relevant entries to WANTLIB so that gzdoom gets >> >>>> properly updated when its deps change. (Even if ''make >> >>>> port-lib-depends-check'' complains about extra libs.) >> >> >> >> I guess you were not convinced by this point? If you really don't want >> >> to add those to LIB_DEPENDS, either make sure that gzdoom runs fine >> >> without them, or also add them to RUN_DEPENDS. But LIB_DEPENDS would be >> >> better IMO. >> >> >> > >> > Slowly iterating to proper port :) Fluidsynth is one of the supported midi >> > players. The game has bunch of other audio backends as well, some of them >> > built-in like OPL synth but those do not sound very good. >> > >> > I'd like the default gzdoom configuration to work, sounds working >> > and OPL synth playing music. Then the audio could be enhanced by adding >> > fluidsynth etc. for improving the game audio. I just did a quick test of >> > the >> > current port and indeed the game seems to pick up fluidsynth just fine at >> > runtime >> > so it can be dropped from BUILD_DEPENDS. Still need to check if the other >> > libraries >> > are loaded properly at runtime. >> > >> >>>> On sparc64, I get this from cmake: >> >>>> >> >>>> ... >> >>>> -- Performing Test HAVE_THREAD_LOCAL >> >>>> -- Performing Test HAVE_THREAD_LOCAL - Failed >> >>>> CMake Error at src/CMakeLists.txt:408 (message): >> >>>> C++ compiler doesn't support thread_local storage duration specifier >> >>>> >> >>>> COMPILER = base-clang ports-gcc lets the port build and package on >> >>>> sparc64. >> >>>> >> >>>> The rest of the port looks fine. >> >>> >> >>> Ok, here is an another attempt which allows passing the library names to >> >>> build >> >>> process and adding the COMPILER flag to Makefile. >> >> >> >> Still looks mostly good. >> >> >> >> Looks like for the gtk3 libs the build now depends on cmake setting the >> >> define, it doesn't seem to be the case for the other dlopen'd libs. >> >> Anyway, this looks fine for now but you'll probably have to discuss with >> >> upstream. >> >> >> >> (review aborted, back to $DAYJOB...) >> > >> > Yeah, the cmake settings are like first stab to just get things rolling. >> > Need to >> > find proper place where to put those now that those seem to be working as >> > intended. >> > >> > Timo >> >> Ok, hopefully this has everything in order. >> >> I added myself as maintainer, bumped version to 3.5.1 and sorted out the >> dependencies a bit. I disabled the dynamic loading of openal, mpg123 and >> moved >> those to LIB_DEPENDS. OpenAL seems to be required to have sounds in gzdoom >> so it >> makes sense to force it to be present, same for the few other audio libs. >> >> I'm not sure if libsamplerate and libsndfile need to be present in >> BUILD_DEPENDS at all, those get pulled in by the sdl2 dependency anyway so >> should they >> be just removed? >> >> I removed the fluidsynth dependency but kept patches so that if its installed >> later it can be used with gzdoom. Without fluidsynth the game works with >> built-in midi device so it's not mandatory for game operation. >> >> I think this could use gtk flavor, currenly you can't run the game from >> dmenu or >> other graphical menu as gzdoom polls the used WAD file from cli. With gtk >> flavor >> it would use GTK dialog to ask the WAD file but this could be left in later >> versions. >> >> Timo > > There is no music with the default sound (fluidsynth). I can get music with > libapn and libopn. errors are shown when I switch to something else than > libapn > or libopng. > > console output => > > Max. texture size: 8192 > Max. texture units: 32 > Max. varying: 128 > Max. combined shader storage blocks: 72 > Max. vertex shader storage blocks: 12 > Resolution: 640 x 480 > libWildMidi(_WM_InitReader:52): ERROR Unable to load (No such file or > directory) > gzdoom: Unable to load sound font > Unable to create FluidSynth MIDI device. Falling back to OPL > > > map01 - entryway > > libWildMidi(_WM_InitReader:52): ERROR Unable to load (No such file or > directory) > Unable to create FluidSynth MIDI device. Falling back to GUS > libWildMidi(_WM_InitReader:52): ERROR Unable to load (No such file or > directory)
libopn/libapn should work without any additional work. I didn't see Wildmidi port yet for OpenBSD so its expected failure. "gzdoom: Unable to load sound font", as the message above says, have you installed soundfont for the fluidsynth to use? I installed the generaluser-gs-soundfont port and tuned the gzdoom.ini file to search that sound font: [SoundfontSearch.Directories] Path=/usr/local/share/generaluser-gs/ After doing those the fluidsynth should be working. Timo