Thomas Frohwein wrote (2023-11-17 02:43 CET): > On Wed, Nov 15, 2023 at 08:32:39AM +0100, Stefan Hagen wrote: > > Timo Myyrä wrote (2023-11-14 17:50 CET): > > > On Fri, Nov 10 2023, Stefan Hagen wrote: > > > > > > > Thomas Frohwein wrote (2023-11-09 21:16 CET): > > > >> Here is an update to GZDoom 4.11.3. It works to run mods like the > > > >> recently released Beyond Sunset. > > > >> > > > >> Of note, you may need to switch the video backend to opengl as I > > > >> outlined after previous concerns: > > > >> > > > >> https://marc.info/?l=openbsd-ports&m=169132550927983&w=2 > > > >> > > > >> Of note, we are several versions behind upstream - the current version > > > >> in ports is 4.8.2. > > > > > > > > What's the deal with: > > > >> +- set(ZVULKAN_LIBS ${CMAKE_DL_LIBS} -ldl) > > > >> ++ #set(ZVULKAN_LIBS ${CMAKE_DL_LIBS} -ldl) > > > > > > > > It builds and works fine with > > > > set(ZVULKAN_LIBS ${CMAKE_DL_LIBS}) > > > > > > > > There doesn't seem to be a difference at runtime. At least on my > > > > machine (amd), vulkan runs fine with and without this line. > > > > > > > > (I haven't diffed the build logs to figure out if it has picked up > > > > something differently) > > > > > > > > Regarding: > > > >> https://marc.info/?l=openbsd-ports&m=169132550927983&w=2 > > > >> After changing that back to default opengl (0), > > > > > > > > It seems to be untrue that opengl is the default backend. If I remove > > > > gzdoom.ini and start the game, the vulkan backend is automatically > > > > selected. > > > > > > > > If we have issues with the vulkan backend on more than a few machines, > > > > should we change the default? And/Or described the issue in the README? > > > > > > > > > > How about this diff? Bumps minor version a bit and sets the vulkan bits. > > > Works for me with ryzen thinkpad. > > > > Hmm. Vulkan and OpenGL ES works. When I select OpenGL it gets stuck on > > the loading screen and gzdoom keeps consuming 60% CPU and X ~15/20%. > > > > Does this happen for you too? > > I'm on an Intel Tigerlake system and OpenGL (vid_preferbackend=0) and > GLES2 (vid_preferbackend=3) work, but vulkan segfaults. > > I tested with Freedoom, as well as the commercial gzdoom games Supplice > and Beyond Sunset. > > To me, this looks like it might not be straightforward to figure out > all the video backend issues, but as multiple are available and it seems > to work with some for everyone, I'm ok thfr@ with the update.
Sure, not problem. But then we should document it. Attached the same diff, but I rewrote the README. - add usual readme header - added more details about supported games (the ones I know that work) - added ~/.config/gzdoom as wad installation dir - updated sha256 for doom-1.8 wad (what the heck happened there?) - added reference to games/freedoom - added information about GL backends and how to change them in case of a crash/freeze. Portwise OK sdk@ Index: games/gzdoom/Makefile =================================================================== RCS file: /cvs/ports/games/gzdoom/Makefile,v diff -u -p -u -p -r1.17 Makefile --- games/gzdoom/Makefile 18 Jul 2022 08:27:45 -0000 1.17 +++ games/gzdoom/Makefile 21 Nov 2023 07:15:51 -0000 @@ -6,11 +6,10 @@ ONLY_FOR_ARCHS = i386 amd64 COMMENT = OpenGL engine for idTech 1 games like doom,hexen,heretic... -V = 4.8.2 -GH_ACCOUNT = coelckers -GH_PROJECT = gzdoom -GH_TAGNAME = g${V} -DISTNAME = gzdoom-${V} +V = 4.11.3 + +DIST_TUPLE = github ZDoom gzdoom g${V} . +PKGNAME = gzdoom-${V} CATEGORIES= games @@ -21,8 +20,8 @@ MAINTAINER = Timo Myyra <timo.myyra@bit # GPLv3 PERMIT_PACKAGE = Yes -WANTLIB += ${COMPILER_LIBCXX} SDL2 bz2 c execinfo jpeg m -WANTLIB += openal vpx z zmusic +WANTLIB += ${COMPILER_LIBCXX} SDL2 bz2 c execinfo m +WANTLIB += openal vpx webp webpdemux webpmux zmusic # C++17 COMPILER = base-clang ports-gcc @@ -34,13 +33,14 @@ CONFIGURE_ARGS += -DDYN_OPENAL=NO CONFIGURE_ARGS += -DHAVE_STDINT_H=1 CONFIGURE_ARGS += -DNO_OPENMP=ON -CXXFLAGS += -I. -I${LOCALBASE}/include +CFLAGS += -I${X11BASE}/include +CXXFLAGS += -I. -I${LOCALBASE}/include LIB_DEPENDS = archivers/bzip2 \ audio/openal \ audio/zmusic \ devel/sdl2 \ - graphics/jpeg \ + graphics/libwebp \ multimedia/libvpx NO_TEST = Yes Index: games/gzdoom/distinfo =================================================================== RCS file: /cvs/ports/games/gzdoom/distinfo,v diff -u -p -u -p -r1.7 distinfo --- games/gzdoom/distinfo 18 Jul 2022 08:27:45 -0000 1.7 +++ games/gzdoom/distinfo 21 Nov 2023 07:15:51 -0000 @@ -1,2 +1,2 @@ -SHA256 (gzdoom-4.8.2.tar.gz) = Tt1g+AlMncPft0AL28DrsKXldLCmdH7uTI2fH2r3cSc= -SIZE (gzdoom-4.8.2.tar.gz) = 24247668 +SHA256 (ZDoom-gzdoom-g4.11.3.tar.gz) = WUPbpQ2iD/lPH8xBUTJnLUKhWRfFcbHCt87v4Uk19dU= +SIZE (ZDoom-gzdoom-g4.11.3.tar.gz) = 24354699 Index: games/gzdoom/patches/patch-CMakeLists_txt =================================================================== RCS file: /cvs/ports/games/gzdoom/patches/patch-CMakeLists_txt,v diff -u -p -u -p -r1.3 patch-CMakeLists_txt --- games/gzdoom/patches/patch-CMakeLists_txt 18 Jul 2022 08:27:46 -0000 1.3 +++ games/gzdoom/patches/patch-CMakeLists_txt 21 Nov 2023 07:15:51 -0000 @@ -1,7 +1,7 @@ Index: CMakeLists.txt --- CMakeLists.txt.orig +++ CMakeLists.txt -@@ -272,7 +272,7 @@ else() +@@ -301,7 +301,7 @@ else() if ( UNIX ) include(CheckSymbolExists) Index: games/gzdoom/patches/patch-libraries_ZVulkan_CMakeLists_txt =================================================================== RCS file: games/gzdoom/patches/patch-libraries_ZVulkan_CMakeLists_txt diff -N games/gzdoom/patches/patch-libraries_ZVulkan_CMakeLists_txt --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ games/gzdoom/patches/patch-libraries_ZVulkan_CMakeLists_txt 21 Nov 2023 07:15:51 -0000 @@ -0,0 +1,12 @@ +Index: libraries/ZVulkan/CMakeLists.txt +--- libraries/ZVulkan/CMakeLists.txt.orig ++++ libraries/ZVulkan/CMakeLists.txt +@@ -188,7 +188,7 @@ if(WIN32) + add_definitions(-DUNICODE -D_UNICODE) + else() + set(ZVULKAN_SOURCES ${ZVULKAN_SOURCES} ${ZVULKAN_UNIX_SOURCES}) +- set(ZVULKAN_LIBS ${CMAKE_DL_LIBS} -ldl) ++ set(ZVULKAN_LIBS ${CMAKE_DL_LIBS}) + add_definitions(-DUNIX -D_UNIX) + add_link_options(-pthread) + endif() Index: games/gzdoom/pkg/README =================================================================== RCS file: /cvs/ports/games/gzdoom/pkg/README,v diff -u -p -u -p -r1.2 README --- games/gzdoom/pkg/README 11 Mar 2022 19:04:32 -0000 1.2 +++ games/gzdoom/pkg/README 21 Nov 2023 07:15:51 -0000 @@ -1,14 +1,55 @@ -You will need an IWAD for gzdoom to be fully functional. An IWAD is -the main data file containing the graphics and levels for Doom. If -you have a copy of one of the original Doom games, simply copy your -Doom, Doom 2, Ultimate Doom, or Final Doom IWAD (doom.wad, doom2.wad, -tnt.wad, and plutonia.wad respectively) to ${PREFIX}/share/doom/. -If you do not possess any of those, you can use the shareware IWAD -which is available at: ++----------------------------------------------------------------------- +| Running ${PKGSTEM} on OpenBSD ++----------------------------------------------------------------------- + +Installing Data Files +===================== + +You will need an IWAD for gzdoom to be fully functional. An IWAD is +the main data file containing the graphics and levels for Doom. If +you have a copy of one of the original Doom games, or any other game, +based on the same engine, you can copy them to the following locations +for gzdoom to find: + +- System wide: ${PREFIX}/share/doom/ +- User wide: ~/.config/gzdoom/ + +Supported are data files from: +- Doom 1 (doom1.wad) and 2 (doom2.wad) +- Freedoom (freedoom1.wad, freedoom2.wad) +- Heretic (heretic.wad) +- Hexen (hexen.wad) +- Vomitoreum (vomitoreum.ipk3) +- Apocalyptic Vibes (AVBuild.ipk3) + +If you do not possess any of those, you can install the freedoom +package or use the shareware IWAD which is available at: ftp://ftp.fu-berlin.de/pc/msdos/games/idgames/idstuff/doom/doom-1.8.wad.gz -SHA256 (doom-1.8.wad.gz) = WM9qVjtjGkdWFjCvpidthTwnB5NC95aewwBpZdqFV6E= +SHA256 (doom-1.8.wad.gz) = 58cf6a563b631a47561630afa6276d853c27079342f7969ec3006965da8557a1 + +Rename the file as "doom.wad" to one of the mentioned locations. -Install it to ${PREFIX}/share/doom as "doom.wad". +Optional Dependencies +===================== In case fluidsynth backend is needed the user needs to setup soundfont for it. + +Known Problems +============== + +Gzdoom supports three GL backends (OpenGL, OpenGL ES, Vulkan). Some work +better than others depending on the graphic hardware in the system. + +In case gzdoom freezes or crashes before you can reach the in-game menu +to select a different backend, you can modify ~/.config/gzdoom/gzdoom.ini +manually and change the vid_preferbackend value: + +[GlobalSettings] +vid_preferbackend=1 + +Supported values are: 0 (OpenGL), 1 (Vulkan) or 2 (OpenGL ES) + + + +