On Sat, Sep 21, 2019 at 02:37:21PM +0200, Solene Rapenne wrote: > On Sat, Sep 21, 2019 at 09:34:35PM +1000, Jonathan Gray wrote: > > On Sat, Sep 21, 2019 at 12:29:59PM +0200, Solene Rapenne wrote: > > > On Tue, Aug 20, 2019 at 05:40:50PM +1000, Jonathan Gray wrote: > > > > On Tue, Aug 20, 2019 at 09:43:48AM +0300, ???????????? wrote: > > > > > Hello, > > > > > When I start eduke32 with LD_PRELOAD=/usr/X11R6/lib/libGL.so.17.0 so > > > > > it > > > > > can run in opengl, > > > > > on ion fury it freezes after starting the game and whole machine > > > > > becomes > > > > > unresponsive for some time. I can ssh to it from my cell phone after > > > > > some > > > > > time. Here is screenshot of dmesg: > > > > > > > > > > https://yadi.sk/i/C6NSFEqjxuchoA > > > > > > > > > > Here is dmesg after reboot: https://pastebin.com/HiHp8DUQ > > > > > > > > > > Help. please. > > > > > Thanks. > > > > > > > > Why are you using LD_PRELOAD? OpenGL should work without that. > > > > eduke32 will dlopen libGL.so after libGL.so.1 can't be opened going by > > > > source/glad/src/glad.c. > > > > > > > > Are you using the version of eduke32 in ports? It is quite old and > > > > ion fury had the initial release a few days ago. > > > > > > > > Can you reproduce this with any other game supported by eduke32? > > > > I don't have ion fury but have the rest (and duke3d shareware > > > > is installed when installing the eduke32 package). > > > > > > > > Here is an update to the latest eduke32 which has some graphical > > > > glitches on the title screen with duke3d shareware with inteldrm. > > > > Not sure if the xmp bits are properly built for the tracker music > > > > in ion fury. > > > > > > > > > > With your patch I can play Ion Fury, sounds works but there is no music. > > > > > > Generating voxel models for Polymost. This may take a while... > > > Initializing music... > > > Initializing sound... 64 voices, 2 channels, 16-bit 48000 Hz > > > MV_PlayXMP: libxmp-lite support not included in this binary. > > > MV_PlayXMP: libxmp-lite support not included in this binary. > > > Line 1637, starttrackslot: invalid level 25 or null music for volume 0 > > > level 25 > > > Cache time: 939ms > > > > > > The duke nukem shareware works too, I did not see any glitch. > > > My graphic card from dmesg: > > > > > > "Intel UHD Graphics 620" rev 0x07 at pci0 dev 2 function 0 not configured > > > inteldrm0 at pci0 dev 2 function 0 "Intel UHD Graphics 620" rev 0x07 > > > > > > I don't know if this is expected, but I was only able to play Ion Fury > > > smoothly > > > in 640x480, eduke32 was always near 98% of cpu usage, at higher > > > resolution it > > > was not playable at all. This is curious given my cpu is a i7-8550U > > > 1.80GHz. > > > > > > > Here is a diff to build with HAVE_XMP=1 and FURY=1. > > > > This changes the binary to 'fury' and isn't intended to support duke3d > > from what I understand, so isn't something that should be committed. > > > > Building with FURY=1 disables the polymer OpenGL renderer so this may > > help with running at higher resolutions. > > > > ifeq ($(FURY),1) > > APPNAME := Ion Fury > > APPBASENAME := fury > > STANDALONE := 1 > > POLYMER := 0 > > USE_LIBVPX := 0 > > NETCODE := 0 > > SIMPLE_MENU := 1 > > endif > > HAVE_XMP solves the music issue on Ion Fury and duke3d still works fine > (sound, music, game) > > maybe the ports could be split into multipackages to make a > eduke3d-duke3d and eduke3d-fury > > I did retry, I already had polymer disabled, but it's slow only in > certains areas at a certain time. Like if loading ennemies was requiring > lot of cpu, then usage reduces.
HAVE_XMP=1 is normally the default so we can just stop disabling it. Can you see a difference between building with FURY=1 and without? Perhaps just the single binary is enough. Index: Makefile =================================================================== RCS file: /cvs/ports/games/eduke32/Makefile,v retrieving revision 1.22 diff -u -p -r1.22 Makefile --- Makefile 14 Jul 2019 02:16:51 -0000 1.22 +++ Makefile 21 Sep 2019 13:17:22 -0000 @@ -1,15 +1,14 @@ # $OpenBSD: Makefile,v 1.22 2019/07/14 02:16:51 naddy Exp $ COMMENT = Enhanced Duke Nukem 3D engine -RDATE = 20171105 -RTAG = 6496 +RDATE = 20190919 +RTAG = 8133 DISTNAME = eduke32_src_${RDATE}-${RTAG} PKGNAME = eduke32-2.0.0.${RTAG} -REVISION = 3 EXTRACT_SUFX = .tar.xz CATEGORIES = games x11 -HOMEPAGE = http://www.eduke32.com/ +HOMEPAGE = https://www.eduke32.com/ MAINTAINER = Ryan Freeman <r...@slipgate.org> @@ -37,7 +36,7 @@ WANTLIB += gtk-x11-2.0 RUN_DEPENDS = games/duke3ddata -MASTER_SITES = http://dukeworld.duke4.net/eduke32/synthesis/${RDATE}-${RTAG}/ +MASTER_SITES = https://dukeworld.duke4.net/eduke32/synthesis/${RDATE}-${RTAG}/ COMPILER = base-clang ports-gcc @@ -47,7 +46,6 @@ MAKE_FLAGS += PRETTY_OUTPUT=0 \ CXX="${CXX}" \ STRIP=true \ PACKAGE_REPOSITORY=1 \ - HAVE_XMP=0 \ NOASM=1 MAKE_FILE = GNUmakefile USE_GMAKE = Yes Index: distinfo =================================================================== RCS file: /cvs/ports/games/eduke32/distinfo,v retrieving revision 1.4 diff -u -p -r1.4 distinfo --- distinfo 22 Nov 2017 03:43:46 -0000 1.4 +++ distinfo 21 Sep 2019 11:09:56 -0000 @@ -1,2 +1,2 @@ -SHA256 (eduke32_src_20171105-6496.tar.xz) = 1+MCe1npolXkOvGK6Jtk+THxlaIL9kwoTLKYpdkMPrI= -SIZE (eduke32_src_20171105-6496.tar.xz) = 14351444 +SHA256 (eduke32_src_20190919-8133.tar.xz) = cDN6tkDOIywyEd2Lo15hzVi5Wb6FafmUi+xqdvFpkFg= +SIZE (eduke32_src_20190919-8133.tar.xz) = 15940944 Index: patches/patch-Common_mak =================================================================== RCS file: /cvs/ports/games/eduke32/patches/patch-Common_mak,v retrieving revision 1.1 diff -u -p -r1.1 patch-Common_mak --- patches/patch-Common_mak 22 Nov 2017 03:43:46 -0000 1.1 +++ patches/patch-Common_mak 21 Sep 2019 11:12:32 -0000 @@ -3,7 +3,7 @@ $OpenBSD: patch-Common_mak,v 1.1 2017/11 Index: Common.mak --- Common.mak.orig +++ Common.mak -@@ -638,7 +638,7 @@ ifeq (0,$(RELEASE)) +@@ -706,7 +706,7 @@ ifeq (0,$(RELEASE)) F_NO_STACK_PROTECTOR := else ifeq (0,$(CLANG)) @@ -11,4 +11,4 @@ Index: Common.mak + #COMMONFLAGS += -funswitch-loops endif - ifeq (0,$(DEBUGANYWAY)) + ifeq (0,$(FORCEDEBUG)) Index: patches/patch-GNUmakefile =================================================================== RCS file: /cvs/ports/games/eduke32/patches/patch-GNUmakefile,v retrieving revision 1.2 diff -u -p -r1.2 patch-GNUmakefile --- patches/patch-GNUmakefile 17 Jul 2018 07:56:44 -0000 1.2 +++ patches/patch-GNUmakefile 21 Sep 2019 11:12:41 -0000 @@ -3,7 +3,7 @@ $OpenBSD: patch-GNUmakefile,v 1.2 2018/0 Index: GNUmakefile --- GNUmakefile.orig +++ GNUmakefile -@@ -161,7 +161,6 @@ engine_objs := \ +@@ -272,7 +272,6 @@ engine_objs := \ textfont.cpp \ smalltextfont.cpp \ kplib.cpp \ @@ -11,7 +11,7 @@ Index: GNUmakefile osd.cpp \ pragmas.cpp \ scriptfile.cpp \ -@@ -581,7 +580,7 @@ ifeq ($(SUBPLATFORM),LINUX) +@@ -709,7 +708,7 @@ ifeq ($(SUBPLATFORM),LINUX) endif ifeq ($(PLATFORM),BSD) @@ -20,12 +20,20 @@ Index: GNUmakefile endif ifeq ($(PLATFORM),DARWIN) -@@ -755,7 +754,7 @@ endif +@@ -883,7 +882,7 @@ endif #### Final setup --COMPILERFLAGS += -I$(engine_inc) -I$(mact_inc) -I$(audiolib_inc) -I$(enet_inc) -+COMPILERFLAGS := -I$(engine_inc) -I$(mact_inc) -I$(audiolib_inc) -I$(enet_inc) $(COMPILERFLAGS) +-COMPILERFLAGS += \ ++COMPILERFLAGS := \ + -I$(engine_inc) \ + -I$(mact_inc) \ + -I$(audiolib_inc) \ +@@ -891,6 +890,7 @@ COMPILERFLAGS += \ + -I$(glad_inc) \ + -I$(voidwrap_inc) \ + -MP -MMD \ ++ $(COMPILERFLAGS) - - ##### Recipes + ifneq (0,$(USE_PHYSFS)) + COMPILERFLAGS += -I$(physfs_inc) -DUSE_PHYSFS Index: patches/patch-source_build_Dependencies_mak =================================================================== RCS file: patches/patch-source_build_Dependencies_mak diff -N patches/patch-source_build_Dependencies_mak --- patches/patch-source_build_Dependencies_mak 22 Nov 2017 03:43:46 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,22 +0,0 @@ -$OpenBSD: patch-source_build_Dependencies_mak,v 1.1 2017/11/22 03:43:46 kirby Exp $ - -Index: source/build/Dependencies.mak ---- source/build/Dependencies.mak.orig -+++ source/build/Dependencies.mak -@@ -19,7 +19,7 @@ $(ENGINE_OBJ)/hash.$o: $(ENGINE_SRC)/hash.cpp $(ENGINE - $(ENGINE_OBJ)/colmatch.$o: $(ENGINE_SRC)/colmatch.cpp - $(ENGINE_OBJ)/mhk.$o: $(ENGINE_SRC)/mhk.cpp - $(ENGINE_OBJ)/palette.$o: $(ENGINE_SRC)/palette.cpp $(ENGINE_INC)/palette.h --$(ENGINE_OBJ)/polymost.$o: $(ENGINE_SRC)/polymost.cpp $(ENGINE_INC)/lz4.h $(ENGINE_INC)/compat.h $(ENGINE_INC)/build.h $(ENGINE_INC)/buildtypes.h $(ENGINE_SRC)/engine_priv.h $(ENGINE_INC)/polymost.h $(ENGINE_INC)/hightile.h $(ENGINE_INC)/mdsprite.h $(ENGINE_INC)/texcache.h -+$(ENGINE_OBJ)/polymost.$o: $(ENGINE_SRC)/polymost.cpp $(ENGINE_INC)/compat.h $(ENGINE_INC)/build.h $(ENGINE_INC)/buildtypes.h $(ENGINE_SRC)/engine_priv.h $(ENGINE_INC)/polymost.h $(ENGINE_INC)/hightile.h $(ENGINE_INC)/mdsprite.h $(ENGINE_INC)/texcache.h - $(ENGINE_OBJ)/texcache.$o: $(ENGINE_SRC)/texcache.cpp $(ENGINE_INC)/texcache.h $(ENGINE_INC)/polymost.h $(ENGINE_INC)/dxtfilter.h $(ENGINE_INC)/kplib.h - $(ENGINE_OBJ)/dxtfilter.$o: $(ENGINE_SRC)/dxtfilter.cpp $(ENGINE_INC)/dxtfilter.h $(ENGINE_INC)/texcache.h - $(ENGINE_OBJ)/hightile.$o: $(ENGINE_SRC)/hightile.cpp $(ENGINE_INC)/kplib.h $(ENGINE_INC)/hightile.h -@@ -29,7 +29,6 @@ $(ENGINE_OBJ)/textfont.$o: $(ENGINE_SRC)/textfont.cpp - $(ENGINE_OBJ)/smalltextfont.$o: $(ENGINE_SRC)/smalltextfont.cpp - $(ENGINE_OBJ)/glbuild.$o: $(ENGINE_SRC)/glbuild.cpp $(ENGINE_INC)/glbuild.h $(ENGINE_INC)/baselayer.h - $(ENGINE_OBJ)/kplib.$o: $(ENGINE_SRC)/kplib.cpp $(ENGINE_INC)/compat.h $(ENGINE_INC)/kplib.h --$(ENGINE_OBJ)/lz4.$o: $(ENGINE_SRC)/lz4.c $(ENGINE_INC)/lz4.h - $(ENGINE_OBJ)/md4.$o: $(ENGINE_SRC)/md4.cpp $(ENGINE_INC)/md4.h - $(ENGINE_OBJ)/osd.$o: $(ENGINE_SRC)/osd.cpp $(ENGINE_INC)/build.h $(ENGINE_INC)/buildtypes.h $(ENGINE_INC)/osd.h $(ENGINE_INC)/compat.h $(ENGINE_INC)/baselayer.h - $(ENGINE_OBJ)/pragmas.$o: $(ENGINE_SRC)/pragmas.cpp $(ENGINE_INC)/compat.h Index: patches/patch-source_build_include_compat_h =================================================================== RCS file: patches/patch-source_build_include_compat_h diff -N patches/patch-source_build_include_compat_h --- patches/patch-source_build_include_compat_h 10 Jul 2018 13:53:29 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,18 +0,0 @@ -$OpenBSD: patch-source_build_include_compat_h,v 1.1 2018/07/10 13:53:29 naddy Exp $ - -Cast to int32_t to match the return type of the SSE2-optimized function -on amd64. This fixes errors on other LP64-clang archs: -non-constant-expression cannot be narrowed from type 'long' to 'int32_t' - -Index: source/build/include/compat.h ---- source/build/include/compat.h.orig -+++ source/build/include/compat.h -@@ -606,7 +606,7 @@ static FORCE_INLINE int32_t Blrintf(const float x) - return n; - } - #else --#define Blrintf lrintf -+#define Blrintf(x) static_cast<int32_t>(lrintf(x)) - #endif - - #if defined(__arm__) Index: pkg/DESCR =================================================================== RCS file: /cvs/ports/games/eduke32/pkg/DESCR,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 DESCR --- pkg/DESCR 17 Jul 2012 21:29:50 -0000 1.1.1.1 +++ pkg/DESCR 20 Aug 2019 06:26:39 -0000 @@ -2,16 +2,17 @@ Source-port of the venerable Duke Nukem game engine. Besides increasing portability, the engine adds new renderers, in-game configurability, console, plus extended editing and scripting capabilities. Networking for dukematches and coop play is -fully functional. +fully functional. The engine supports the following games: -(from http://wiki.eduke32.com/wiki/Frequently_Asked_Questions) +(from https://wiki.eduke32.com/wiki/Frequently_Asked_Questions) * Duke Nukem 3D Shareware Version * Duke Nukem 3D * Duke Nukem 3D: Atomic Edition +* Ion Fury * NAM (Note: you must rename GAME.CON from NAM to NAM.CON) -* Napalm (Wal-Mart only version of NAM, some .GRP differences between +* Napalm (Wal-Mart only version of NAM, some .GRP differences between the two releases) -* WWII GI (Limited Support using NAM mode as a base) +* WWII GI (Limited Support using NAM mode as a base) -"EDuke32 makes sandwiches!" +"EDuke32 makes sandwiches!" Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/games/eduke32/pkg/PLIST,v retrieving revision 1.4 diff -u -p -r1.4 PLIST --- pkg/PLIST 4 Sep 2018 12:46:12 -0000 1.4 +++ pkg/PLIST 21 Sep 2019 13:14:26 -0000 @@ -5,6 +5,7 @@ share/doc/eduke32/ share/doc/eduke32/buildlic.txt share/doc/eduke32/gpl-2.0.txt share/doc/pkg-readmes/${PKGSTEM} +share/duke3d/ share/duke3d/SEHELP.HLP share/duke3d/STHELP.HLP share/duke3d/m32help.hlp Index: pkg/README =================================================================== RCS file: /cvs/ports/games/eduke32/pkg/README,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 README --- pkg/README 17 Jul 2012 21:29:50 -0000 1.1.1.1 +++ pkg/README 20 Aug 2019 06:28:20 -0000 @@ -1,4 +1,6 @@ -Shareware Duke Nukem 3D data has been installed to: +$OpenBSD$ + +Shareware Duke Nukem 3D data has been installed to: ${PREFIX}/share/duke3d/ You may also copy your registered version data files (or any other @@ -20,5 +22,5 @@ ${PREFIX}/share/examples/eduke32/ Licenses are found under ${PREFIX}/share/doc/eduke32/ -http://wiki.eduke32.com/ contains a large resource of information on +https://wiki.eduke32.com contains a large resource of information on how to make full use of the eduke32 engine and mapster32 editor.