salvaliebana
Posts: 67
Joined: Wed Sep 13, 2017 3:27 am

BOX86 on RPI4

Mon Feb 24, 2020 1:38 am

HI, Ive made several tests on box86. I would like to share it with you all guys.
Ive mostly use latest mesa and 720p, but some tests are at 1080p

box86 its a linux 86 userspace emulator with hardware acceleration and wrapping functionalities to emulate the less as possible..
its on heavy development, including wine, steam and unity on his TODO.

this are almost all my tested games, including heavy titles like mount and blade warband.

https://www.youtube.com/watch?v=W0K1_3s ... _ZuPBy8cxh

bfready
Posts: 60
Joined: Sun Jun 16, 2019 2:13 pm

Re: BOX86 on RPI4

Tue Feb 25, 2020 3:55 am

Hi, salvaliebana.

I've watched just about all your videos. Great stuff, keep 'em coming! You helped me get Never Winter Nights working on my RP4. Still amazed at what that thing can do!

vnunnari
Posts: 8
Joined: Wed Jan 08, 2020 12:35 pm

Re: BOX86 on RPI4

Tue Feb 25, 2020 3:37 pm

Oh my god bro! What you annonce is simply AMAZING!
Wine and Steam!

Once i'll be able to run some kind of games like MapleStory or the ElderScroll : Morrowind (perhaps, Oblivion works well too) on RPI4 it will be really fun.

Can't wait! :o

salvaliebana
Posts: 67
Joined: Wed Sep 13, 2017 3:27 am

Re: BOX86 on RPI4

Wed Feb 26, 2020 11:33 pm

Well morrowind runs with open morrowind. Its on my channel too.. the framerate its quite playable. Gpu overclock its required.

bfready
Posts: 60
Joined: Sun Jun 16, 2019 2:13 pm

Re: BOX86 on RPI4

Sun Mar 01, 2020 3:35 am

Hi, salvaliebana.

I've been trying to compile some games that Ptitseb configured for openpandora.

I am currently trying to compile Baron v2.0.4.01
https://pdroms.de/openpandoragmbh-pando ... -game-port

I try to run cmake and it errors out for:
-- Checking for one of the modules 'SDL2_ttf'
CMake Error at /usr/share/cmake-3.13/Modules/FindPkgConfig.cmake:679 (message):
None of the required 'SDL2_ttf' found
Call Stack (most recent call first):
I have a couple questions.
1. Am I assuming too much that a linux armhf version of Baron that pititseb ported over to openpandora will work on the raspberry pi?
2. Do you know of any tutorial on compiling in general?
I know you're supposed to CMAKE (which I think is configuration before compiling)
and then you MAKE, which is the actual compilation of the source code.

This is all I know. Any forums or websites that you know were helpful in learning this stuff would be appreciated!

I have also tried using BOX86 on a couple of linux games that I THOUGHT would work:

Ebonyspire
Dungeontracks

But box86 would not recognize the executable files (stating it's not an elf file).
Is box86 limited to certain games that are "ported" to box86?

I appreciate the help, man!

bfready
Posts: 60
Joined: Sun Jun 16, 2019 2:13 pm

Re: BOX86 on RPI4

Sun Mar 01, 2020 5:52 am

Sorry if I hijacked the thread.. I am putting my compilation issue on a separate thread if you want to see it, salvaliebana.

viewtopic.php?f=78&t=266632

ptitSeb
Posts: 177
Joined: Tue May 19, 2015 2:49 pm

Re: BOX86 on RPI4

Sun Mar 01, 2020 3:14 pm

bfready wrote:
Sun Mar 01, 2020 3:35 am

I have also tried using BOX86 on a couple of linux games that I THOUGHT would work:

Ebonyspire
Dungeontracks

But box86 would not recognize the executable files (stating it's not an elf file).
Is box86 limited to certain games that are "ported" to box86?

I appreciate the help, man!
Try to do `file` on the binary, just to be sure it's a x86 binary file and not a shell script or an x86_64 binary.
Note that you can also do a `sudo make install` after building box86 to integrate it to the system. That will alow (after a first reboot or a restart if the binfmt systemd service) to transparently launch x86 binary like if they were Pi binary.

(and to answer your question, box86 is aimed to run any x86 program)

bfready
Posts: 60
Joined: Sun Jun 16, 2019 2:13 pm

Re: BOX86 on RPI4

Tue Mar 03, 2020 1:24 am

Hi ptitSeb. Thanks for the file command. I think this shed some light on my problem:
pi@raspberrypi:~/EbonySpire/ESH_120_Demo_WINLinux $ file EbonySpire_Linux
EbonySpire_Linux: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=d4019b3203c323dfa8523ada2ff168001f8c3c14, with debug_info, not stripped

pi@raspberrypi:~/EbonySpire/ESH_120_Demo_WINLinux $ ./box86 EbonySpire_Linux
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 45 Env var
Looking for EbonySpire_Linux
Not an 32bits ELF (2)
Error: reading elf header of ./EbonySpire_Linux
So, because Ebonyspire is a 64 bit Linux application, box86 will not run it. That's what it appears to be atleast.

ptitSeb
Posts: 177
Joined: Tue May 19, 2015 2:49 pm

Re: BOX86 on RPI4

Tue Mar 03, 2020 7:52 am

Yep, it's a 64bits apps... Box86 wont help here.

bfready
Posts: 60
Joined: Sun Jun 16, 2019 2:13 pm

Re: BOX86 on RPI4

Sun Apr 12, 2020 3:14 pm

Hi, ptitSeb.

I was trying to run Zandronum 3 (linux 32 bit version: https://zandronum.com/downloads/zandron ... 86.tar.bz2)

Code: Select all

pi@raspberrypi:~/zandronum3/zandronum3.0-linux-x86 $ box86 zandronum
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 42 Env var
Looking for zandronum
Using native(wrapped) libgtk-x11-2.0.so.0
Using native(wrapped) libgdk-x11-2.0.so.0
Using native(wrapped) libgobject-2.0.so.0
Using native(wrapped) libglib-2.0.so.0
Using native(wrapped) libgio-2.0.so.0
Using native(wrapped) libgmodule-2.0.so.0
Using native(wrapped) libgdk_pixbuf-2.0.so.0
Using native(wrapped) libSDL-1.2.so.0
Using native(wrapped) libm.so.6
Using native(wrapped) libdl.so.2
Using native(wrapped) librt.so.1
Using native(wrapped) libpthread.so.0
Using native(wrapped) libGLU.so.1
Using native(wrapped) libGL.so.1
Using native(wrapped) libz.so.1
Using emulated libfmodex-4.24.16.so
Using emulated /usr/lib/i386-linux-gnu/libstdc++.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Using emulated /usr/lib/i386-linux-gnu/libgcc_s.so.1
Using native(wrapped) libcrypto.so.1
Warning: Weak Symbol _ZGTtnaj not found, cannot apply R_386_JMP_SLOT @0xb29f219c (0x6b506)
Warning: Weak Symbol _ZGTtdlPv not found, cannot apply R_386_JMP_SLOT @0xb29f2478 (0x6c076)
Error: Symbol fts_set not found, cannot apply R_386_JMP_SLOT @0x88972c0 (0x816b406)
Zandronum 3.0 - 170901-1140 - SDL version
Compiled on Sep  1 2017
Using video driver x11

M_LoadDefaults: Load system defaults.
Gameinfo scan took 0 ms
W_Init: Init WADfiles.
 adding /home/pi/zandronum3/zandronum3.0-linux-x86/zandronum.pk3, 689 lumps
 adding ./DOOM2.WAD, 2919 lumps
I_Init: Setting up machine state.
CPU Vendor ID: GenuineIntel
  Family 1, Model 0, Stepping 1
  Features: MMX SSE SSE2
I_InitSound: Initializing FMOD
FMOD Sound System, copyright � Firelight Technologies Pty, Ltd., 1994-2009.
Loaded FMOD version 4.24.16
Cannot read ELF Header
Error: reading elf header of /home/pi/zandronum3/zandronum3.0-linux-x86/liboutput_sdl.so
Warning: Cannot dlopen("/home/pi/zandronum3/zandronum3.0-linux-x86/liboutput_sdl.so"/0xb5405f1e, 1)
Cannot read ELF Header
Error: reading elf header of liboutput_sdl.so
Warning: Cannot dlopen("liboutput_sdl.so"/0x8794580, 1)
OSS could not be initialized. Trying ALSA.
Warning: Cannot dlopen("libasound.so"/0xb2b6fa1e, 101)
Using native(wrapped) libasound.so.2
V_Init: allocate screen.
Using in-memory database. The database will not be saved on exit.
S_Init: Setting up sound.
ST_Init: Init startup screen.
Checking cmd-line parameters...


*** Fatal Error ***
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 43 Env var
Looking for /home/pi/zandronum3/zandronum3.0-linux-x86/./zandronum
Segmentation fault
pi@raspberrypi:~/zandronum3/zandronum3.0-linux-x86 $ Using native(wrapped) libgtk-x11-2.0.so.0
Using native(wrapped) libgdk-x11-2.0.so.0
Using native(wrapped) libgobject-2.0.so.0
Using native(wrapped) libglib-2.0.so.0
Using native(wrapped) libgio-2.0.so.0
Using native(wrapped) libgmodule-2.0.so.0
Using native(wrapped) libgdk_pixbuf-2.0.so.0
Using native(wrapped) libSDL-1.2.so.0
Using native(wrapped) libm.so.6
Using native(wrapped) libdl.so.2
Using native(wrapped) librt.so.1
Using native(wrapped) libpthread.so.0
Using native(wrapped) libGLU.so.1
Using native(wrapped) libGL.so.1
Using native(wrapped) libz.so.1
Using emulated libfmodex-4.24.16.so
Using emulated /usr/lib/i386-linux-gnu/libstdc++.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Using emulated /usr/lib/i386-linux-gnu/libgcc_s.so.1
Using native(wrapped) libcrypto.so.1
Warning: Weak Symbol _ZGTtnaj not found, cannot apply R_386_JMP_SLOT @0xb2a8719c (0x6b506)
Warning: Weak Symbol _ZGTtdlPv not found, cannot apply R_386_JMP_SLOT @0xb2a87478 (0x6c076)
Error: Symbol fts_set not found, cannot apply R_386_JMP_SLOT @0x88972c0 (0x816b406)
Zandronum 3.0 - 170901-1140 - SDL version
Compiled on Sep  1 2017
Using video driver x11

M_LoadDefaults: Load system defaults.
Gameinfo scan took 0 ms
W_Init: Init WADfiles.
 adding /home/pi/zandronum3/zandronum3.0-linux-x86/zandronum.pk3, 689 lumps
 adding ./DOOM2.WAD, 2919 lumps
I_Init: Setting up machine state.
CPU Vendor ID: GenuineIntel
  Family 1, Model 0, Stepping 1
  Features: MMX SSE SSE2
I_InitSound: Initializing FMOD
FMOD Sound System, copyright � Firelight Technologies Pty, Ltd., 1994-2009.
Loaded FMOD version 4.24.16
Cannot read ELF Header
Error: reading elf header of /home/pi/zandronum3/zandronum3.0-linux-x86/liboutput_sdl.so
Warning: Cannot dlopen("/home/pi/zandronum3/zandronum3.0-linux-x86/liboutput_sdl.so"/0xb549ae7e, 1)
Cannot read ELF Header
Error: reading elf header of liboutput_sdl.so
Warning: Cannot dlopen("liboutput_sdl.so"/0x8794580, 1)
OSS could not be initialized. Trying ALSA.
Warning: Cannot dlopen("libasound.so"/0xb2c04a1e, 101)
Using native(wrapped) libasound.so.2
V_Init: allocate screen.
Using in-memory database. The database will not be saved on exit.
S_Init: Setting up sound.
ST_Init: Init startup screen.
Checking cmd-line parameters...


*** Fatal Error ***
!!! Failed to exec debug process
Is that liboutput_sdl.so file not compatible with box86 or something?

I really appreciate your help!

MamiyaOtaru
Posts: 21
Joined: Fri Aug 02, 2019 9:42 am

Re: BOX86 on RPI4

Tue Apr 14, 2020 3:01 am

Unreal Tournament 1999 runs OK here :) Needed to get libnsl.so.1 from i386 ( https://packages.debian.org/buster/i386/libc6/download ) and put it in /usr/lib/i386-linux-gnu for UT to start at all, but then it did. Singleplayer campaign (Start Unreal Tournament) and multiplayer game with bots works. Quick match (Start Practice Session) crashes as soon as I try to start it. No real problem though, multiplayer with bots can be set up pretty much exactly the same as quick match.

I could only get sound to play by installing osspd. No combo of padsp or aoss would work. Sound with the ALAudio.ALAudioSubsystem is terrible and laggy but with Audio.GenericAudioSubsystem it sounds just as it should. But the audio lag is still really bad though. Changing OutputRate=22050Hz to OutputRate=48000Hz reduces the lag a lot but it is still there.

salvieliebana, your videos show it running without any audio lag (or at least not discernible next to what I am seeing). How do you have your sound configured? In terms of packages used, and your UT configs? Or pitseb, if you have any ideas I'm all ears. It's really close to fully playable for me here (1024x768)

ptitSeb
Posts: 177
Joined: Tue May 19, 2015 2:49 pm

Re: BOX86 on RPI4

Tue Apr 14, 2020 12:56 pm

bfready wrote:
Sun Apr 12, 2020 3:14 pm
Hi, ptitSeb.

I was trying to run Zandronum 3 (linux 32 bit version: https://zandronum.com/downloads/zandron ... 86.tar.bz2)

Code: Select all

pi@raspberrypi:~/zandronum3/zandronum3.0-linux-x86 $ box86 zandronum
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 42 Env var
Looking for zandronum
Using native(wrapped) libgtk-x11-2.0.so.0
Using native(wrapped) libgdk-x11-2.0.so.0
Using native(wrapped) libgobject-2.0.so.0
Using native(wrapped) libglib-2.0.so.0
Using native(wrapped) libgio-2.0.so.0
Using native(wrapped) libgmodule-2.0.so.0
Using native(wrapped) libgdk_pixbuf-2.0.so.0
Using native(wrapped) libSDL-1.2.so.0
Using native(wrapped) libm.so.6
Using native(wrapped) libdl.so.2
Using native(wrapped) librt.so.1
Using native(wrapped) libpthread.so.0
Using native(wrapped) libGLU.so.1
Using native(wrapped) libGL.so.1
Using native(wrapped) libz.so.1
Using emulated libfmodex-4.24.16.so
Using emulated /usr/lib/i386-linux-gnu/libstdc++.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Using emulated /usr/lib/i386-linux-gnu/libgcc_s.so.1
Using native(wrapped) libcrypto.so.1
Warning: Weak Symbol _ZGTtnaj not found, cannot apply R_386_JMP_SLOT @0xb29f219c (0x6b506)
Warning: Weak Symbol _ZGTtdlPv not found, cannot apply R_386_JMP_SLOT @0xb29f2478 (0x6c076)
Error: Symbol fts_set not found, cannot apply R_386_JMP_SLOT @0x88972c0 (0x816b406)
Zandronum 3.0 - 170901-1140 - SDL version
Compiled on Sep  1 2017
Using video driver x11

M_LoadDefaults: Load system defaults.
Gameinfo scan took 0 ms
W_Init: Init WADfiles.
 adding /home/pi/zandronum3/zandronum3.0-linux-x86/zandronum.pk3, 689 lumps
 adding ./DOOM2.WAD, 2919 lumps
I_Init: Setting up machine state.
CPU Vendor ID: GenuineIntel
  Family 1, Model 0, Stepping 1
  Features: MMX SSE SSE2
I_InitSound: Initializing FMOD
FMOD Sound System, copyright � Firelight Technologies Pty, Ltd., 1994-2009.
Loaded FMOD version 4.24.16
Cannot read ELF Header
Error: reading elf header of /home/pi/zandronum3/zandronum3.0-linux-x86/liboutput_sdl.so
Warning: Cannot dlopen("/home/pi/zandronum3/zandronum3.0-linux-x86/liboutput_sdl.so"/0xb5405f1e, 1)
Cannot read ELF Header
Error: reading elf header of liboutput_sdl.so
Warning: Cannot dlopen("liboutput_sdl.so"/0x8794580, 1)
OSS could not be initialized. Trying ALSA.
Warning: Cannot dlopen("libasound.so"/0xb2b6fa1e, 101)
Using native(wrapped) libasound.so.2
V_Init: allocate screen.
Using in-memory database. The database will not be saved on exit.
S_Init: Setting up sound.
ST_Init: Init startup screen.
Checking cmd-line parameters...


*** Fatal Error ***
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 43 Env var
Looking for /home/pi/zandronum3/zandronum3.0-linux-x86/./zandronum
Segmentation fault
pi@raspberrypi:~/zandronum3/zandronum3.0-linux-x86 $ Using native(wrapped) libgtk-x11-2.0.so.0
Using native(wrapped) libgdk-x11-2.0.so.0
Using native(wrapped) libgobject-2.0.so.0
Using native(wrapped) libglib-2.0.so.0
Using native(wrapped) libgio-2.0.so.0
Using native(wrapped) libgmodule-2.0.so.0
Using native(wrapped) libgdk_pixbuf-2.0.so.0
Using native(wrapped) libSDL-1.2.so.0
Using native(wrapped) libm.so.6
Using native(wrapped) libdl.so.2
Using native(wrapped) librt.so.1
Using native(wrapped) libpthread.so.0
Using native(wrapped) libGLU.so.1
Using native(wrapped) libGL.so.1
Using native(wrapped) libz.so.1
Using emulated libfmodex-4.24.16.so
Using emulated /usr/lib/i386-linux-gnu/libstdc++.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Using emulated /usr/lib/i386-linux-gnu/libgcc_s.so.1
Using native(wrapped) libcrypto.so.1
Warning: Weak Symbol _ZGTtnaj not found, cannot apply R_386_JMP_SLOT @0xb2a8719c (0x6b506)
Warning: Weak Symbol _ZGTtdlPv not found, cannot apply R_386_JMP_SLOT @0xb2a87478 (0x6c076)
Error: Symbol fts_set not found, cannot apply R_386_JMP_SLOT @0x88972c0 (0x816b406)
Zandronum 3.0 - 170901-1140 - SDL version
Compiled on Sep  1 2017
Using video driver x11

M_LoadDefaults: Load system defaults.
Gameinfo scan took 0 ms
W_Init: Init WADfiles.
 adding /home/pi/zandronum3/zandronum3.0-linux-x86/zandronum.pk3, 689 lumps
 adding ./DOOM2.WAD, 2919 lumps
I_Init: Setting up machine state.
CPU Vendor ID: GenuineIntel
  Family 1, Model 0, Stepping 1
  Features: MMX SSE SSE2
I_InitSound: Initializing FMOD
FMOD Sound System, copyright � Firelight Technologies Pty, Ltd., 1994-2009.
Loaded FMOD version 4.24.16
Cannot read ELF Header
Error: reading elf header of /home/pi/zandronum3/zandronum3.0-linux-x86/liboutput_sdl.so
Warning: Cannot dlopen("/home/pi/zandronum3/zandronum3.0-linux-x86/liboutput_sdl.so"/0xb549ae7e, 1)
Cannot read ELF Header
Error: reading elf header of liboutput_sdl.so
Warning: Cannot dlopen("liboutput_sdl.so"/0x8794580, 1)
OSS could not be initialized. Trying ALSA.
Warning: Cannot dlopen("libasound.so"/0xb2c04a1e, 101)
Using native(wrapped) libasound.so.2
V_Init: allocate screen.
Using in-memory database. The database will not be saved on exit.
S_Init: Setting up sound.
ST_Init: Init startup screen.
Checking cmd-line parameters...


*** Fatal Error ***
!!! Failed to exec debug process
Is that liboutput_sdl.so file not compatible with box86 or something?

I really appreciate your help!
Yeah, I have notice Zandronum crashes. Not sure why yet. In the mean time, why don't you build a natie version of it? I have a version here: https://bitbucket.org/ptitSeb/zandronum/src/default/ that build and run fine or arm, and it's based on latest source (as far as I can tell).

bfready
Posts: 60
Joined: Sun Jun 16, 2019 2:13 pm

Re: BOX86 on RPI4

Tue Apr 14, 2020 11:58 pm

Thanks so much, ptitSeb. I saw your build. I compiled it a month or so ago and it did work! But whenever I tried joining any of the servers through Doomseeker, it would complain that I didn't have a current version of Zandronum. The latest version is 3.0...

I thought the ptitSeb build was an older version, so this is why I was trying to run the latest version of Zandronum in box86.
I am correct, right? The build you made is before 3.0? I tried compiling 3.0 (the original build) and I would get errors about FMOD @ ~ 27 percent. I think that's how you got yours to compile (removing FMOD?). If your version was 3.0 as well, I'm not sure why it wouldn't let me join any server then... I'll have to revisit this.

I would love to get doomseeker and Zandronum working on the raspberry pi! I have a separate PC that I play with the doomseeker, Zandronum setup, but I like to play Doom in my garage (which is where my rpi is).

bfready
Posts: 60
Joined: Sun Jun 16, 2019 2:13 pm

Re: BOX86 on RPI4

Wed Apr 15, 2020 2:56 am

Hi again, ptitSeb.

I tried compiling your build. I disabled FMOD using ccmake and used the following for cmake:
cmake -DCMAKE_BUILD_TYPE=Release -DNO_ASM=1


I can't seem to get beyond 98 percent, due to these "union YYMINORTYPE’ has no member named ‘yy’;" errors.
I saw this in a Zandronum post before and it appears the issue was Raspbian Buster. That is what I am running. Do you think this could be the problem here? I appreciate any help you can give. Thanks!

P.S.
Do you think I may have messed something up by running ccmake first to manually disable FMOD? I wonder if I should try adding that to the cmake command line:
cmake -DCMAKE_BUILD_TYPE=Release -DNO_FMOD=1 -DNO_ASM=1

Code: Select all

[ 95%] Building CXX object src/CMakeFiles/zdoom.dir/thingdef/thingdef_properties.o
[ 95%] Building CXX object src/CMakeFiles/zdoom.dir/thingdef/thingdef_states.o
[ 95%] Building CXX object src/CMakeFiles/zdoom.dir/timidity/common.o
[ 95%] Building CXX object src/CMakeFiles/zdoom.dir/timidity/instrum.o
[ 95%] Building CXX object src/CMakeFiles/zdoom.dir/timidity/instrum_dls.o
[ 95%] Building CXX object src/CMakeFiles/zdoom.dir/timidity/instrum_font.o
[ 96%] Building CXX object src/CMakeFiles/zdoom.dir/timidity/instrum_sf2.o
[ 96%] Building CXX object src/CMakeFiles/zdoom.dir/timidity/mix.o
[ 96%] Building CXX object src/CMakeFiles/zdoom.dir/timidity/playmidi.o
[ 96%] Building CXX object src/CMakeFiles/zdoom.dir/timidity/resample.o
[ 96%] Building CXX object src/CMakeFiles/zdoom.dir/timidity/timidity.o
[ 96%] Building CXX object src/CMakeFiles/zdoom.dir/win32/g15/g15.o
[ 97%] Building CXX object src/CMakeFiles/zdoom.dir/xlat/parse_xlat.o
In file included from /home/pi/zandronum/src/xlat/parse_xlat.cpp:161:
xlat_parser.y: In function ‘void yy_reduce(yyParser*, int)’:
xlat_parser.y:101:80: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
   FLineTrans(special&0xffff, flags+arg.addflags, arg.args[0], arg.args[1], arg.args[2], arg.args[3], arg.args[4]));
                                                                                ^~
                                                                                yy0
xlat_parser.y:101:83: error: unable to find numeric literal operator ‘operator""addflags’
   FLineTrans(special&0xffff, flags+arg.addflags, arg.args[0], arg.args[1], arg.args[2], arg.args[3], arg.args[4]));
                                                                                   ^~~~~~~~~~~~
xlat_parser.y:101:83: note: use -fext-numeric-literals to enable more built-in suffixes
xlat_parser.y:101:113: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
   FLineTrans(special&0xffff, flags+arg.addflags, arg.args[0], arg.args[1], arg.args[2], arg.args[3], arg.args[4]));
                                                                                                                 ^~
                                                                                                                 yy0
xlat_parser.y:101:116: error: unable to find numeric literal operator ‘operator""args’
   FLineTrans(special&0xffff, flags+arg.addflags, arg.args[0], arg.args[1], arg.args[2], arg.args[3], arg.args[4]));
                                                                                                                    ^       
xlat_parser.y:101:116: note: use -fext-numeric-literals to enable more built-in suffixes
In file included from /home/pi/zandronum/src/xlat/parse_xlat.cpp:161:
xlat_parser.y:101:145: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
   FLineTrans(special&0xffff, flags+arg.addflags, arg.args[0], arg.args[1], arg.args[2], arg.args[3], arg.args[4]));
                                                                                                                                                 ^ 
                                                                                                                                                 yy0
xlat_parser.y:101:148: error: unable to find numeric literal operator ‘operator""args’
   FLineTrans(special&0xffff, flags+arg.addflags, arg.args[0], arg.args[1], arg.args[2], arg.args[3], arg.args[4]));
                                                                                                                                                    ^       
xlat_parser.y:101:148: note: use -fext-numeric-literals to enable more built-in suffixes
xlat_parser.y:101:177: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
   FLineTrans(special&0xffff, flags+arg.addflags, arg.args[0], arg.args[1], arg.args[2], arg.args[3], arg.args[4]));
                                                                                                                                                                                 ^ 
                                                                                                                                                                                 yy0
xlat_parser.y:101:180: error: unable to find numeric literal operator ‘operator""args’
   FLineTrans(special&0xffff, flags+arg.addflags, arg.args[0], arg.args[1], arg.args[2], arg.args[3], arg.args[4]));
                                                                                                                                                                                    ^       
xlat_parser.y:101:180: note: use -fext-numeric-literals to enable more built-in suffixes
xlat_parser.y:101:209: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
   FLineTrans(special&0xffff, flags+arg.addflags, arg.args[0], arg.args[1], arg.args[2], arg.args[3], arg.args[4]));
                                                                                                                                                                                                                 ^ 
                                                                                                                                                                                                                 yy0
xlat_parser.y:101:212: error: unable to find numeric literal operator ‘operator""args’
   FLineTrans(special&0xffff, flags+arg.addflags, arg.args[0], arg.args[1], arg.args[2], arg.args[3], arg.args[4]));
                                                                                                                                                                                                                    ^       
xlat_parser.y:101:212: note: use -fext-numeric-literals to enable more built-in suffixes
xlat_parser.y:101:241: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
   FLineTrans(special&0xffff, flags+arg.addflags, arg.args[0], arg.args[1], arg.args[2], arg.args[3], arg.args[4]));
                                                                                                                                                                                                                                                 ^ 
                                                                                                                                                                                                                                                 yy0
xlat_parser.y:101:244: error: unable to find numeric literal operator ‘operator""args’
   FLineTrans(special&0xffff, flags+arg.addflags, arg.args[0], arg.args[1], arg.args[2], arg.args[3], arg.args[4]));
                                                                                                                                                                                                                                                    ^       
xlat_parser.y:101:244: note: use -fext-numeric-literals to enable more built-in suffixes
In file included from /home/pi/zandronum/src/xlat/parse_xlat.cpp:161:
xlat_parser.y:170:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  Z.addflags = A.argop << LINETRANS_TAGSHIFT;
              ^~
              yy0
xlat_parser.y:170:17: error: unable to find numeric literal operator ‘operator""addflags’
  Z.addflags = A.argop << LINETRANS_TAGSHIFT;
                 ^~~~~~~~~~~~
xlat_parser.y:170:17: note: use -fext-numeric-literals to enable more built-in suffixes
xlat_parser.y:171:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  Z.argcount = 1;
              ^~
              yy0
xlat_parser.y:171:17: error: unable to find numeric literal operator ‘operator""argcount’
  Z.argcount = 1;
                 ^           
xlat_parser.y:171:17: note: use -fext-numeric-literals to enable more built-in suffixes
xlat_parser.y:172:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  Z.args[0] = A.arg;
              ^~
              yy0
xlat_parser.y:172:17: error: unable to find numeric literal operator ‘operator""args’
  Z.args[0] = A.arg;
                 ^~~     
xlat_parser.y:172:17: note: use -fext-numeric-literals to enable more built-in suffixes
xlat_parser.y:173:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  Z.args[1] = 0;
              ^~
              yy0
xlat_parser.y:173:17: error: unable to find numeric literal operator ‘operator""args’
  Z.args[1] = 0;
                 ^       
xlat_parser.y:173:17: note: use -fext-numeric-literals to enable more built-in suffixes
xlat_parser.y:174:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  Z.args[2] = 0;
              ^~
              yy0
xlat_parser.y:174:17: error: unable to find numeric literal operator ‘operator""args’
  Z.args[2] = 0;
                 ^       
xlat_parser.y:174:17: note: use -fext-numeric-literals to enable more built-in suffixes
xlat_parser.y:175:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  Z.args[3] = 0;
              ^~
              yy0
xlat_parser.y:175:17: error: unable to find numeric literal operator ‘operator""args’
  Z.args[3] = 0;
                 ^       
xlat_parser.y:175:17: note: use -fext-numeric-literals to enable more built-in suffixes
xlat_parser.y:176:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  Z.args[4] = 0;
              ^~
              yy0
xlat_parser.y:176:17: error: unable to find numeric literal operator ‘operator""args’
  Z.args[4] = 0;
                 ^       
xlat_parser.y:176:17: note: use -fext-numeric-literals to enable more built-in suffixes
In file included from /home/pi/zandronum/src/xlat/parse_xlat.cpp:161:
xlat_parser.y:180:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  Z = A;
              ^ 
              yy0
xlat_parser.y:180:39: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  Z = A;
                                       ^ 
                                       yy0
xlat_parser.y:181:18: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  if (Z.argcount < LINETRANS_MAXARGS)
                  ^~
                  yy0
xlat_parser.y:181:21: error: unable to find numeric literal operator ‘operator""argcount’
  if (Z.argcount < LINETRANS_MAXARGS)
                     ^~~~~~~~~~~~
xlat_parser.y:181:21: note: use -fext-numeric-literals to enable more built-in suffixes
xlat_parser.y:183:15: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
   Z.addflags |= B.argop << (LINETRANS_TAGSHIFT + Z.argcount * TAGOP_NUMBITS);
               ^~
               yy0
xlat_parser.y:183:18: error: unable to find numeric literal operator ‘operator""addflags’
   Z.addflags |= B.argop << (LINETRANS_TAGSHIFT + Z.argcount * TAGOP_NUMBITS);
                  ^~~~~~~~~~~~
xlat_parser.y:183:18: note: use -fext-numeric-literals to enable more built-in suffixes
xlat_parser.y:183:98: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
   Z.addflags |= B.argop << (LINETRANS_TAGSHIFT + Z.argcount * TAGOP_NUMBITS);
                                                                                                  ^ 
                                                                                                  yy0
xlat_parser.y:183:101: error: unable to find numeric literal operator ‘operator""argcount’
   Z.addflags |= B.argop << (LINETRANS_TAGSHIFT + Z.argcount * TAGOP_NUMBITS);
                                                                                                     ^           
xlat_parser.y:183:101: note: use -fext-numeric-literals to enable more built-in suffixes
In file included from /home/pi/zandronum/src/xlat/parse_xlat.cpp:161:
xlat_parser.y:184:15: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
   Z.args[Z.argcount] = B.arg;
               ^~
               yy0
xlat_parser.y:184:18: error: unable to find numeric literal operator ‘operator""args’
   Z.args[Z.argcount] = B.arg;
                  ^~~~~~~~
xlat_parser.y:184:18: note: use -fext-numeric-literals to enable more built-in suffixes
xlat_parser.y:184:39: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
   Z.args[Z.argcount] = B.arg;
                                       ^ 
                                       yy0
xlat_parser.y:184:42: error: unable to find numeric literal operator ‘operator""argcount’
   Z.args[Z.argcount] = B.arg;
                                          ^           
xlat_parser.y:184:42: note: use -fext-numeric-literals to enable more built-in suffixes
xlat_parser.y:185:15: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
   Z.argcount++;
               ^ 
               yy0
xlat_parser.y:185:18: error: unable to find numeric literal operator ‘operator""argcount’
   Z.argcount++;
                  ^           
xlat_parser.y:185:18: note: use -fext-numeric-literals to enable more built-in suffixes
xlat_parser.y:187:23: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  else if (Z.argcount++ == LINETRANS_MAXARGS)
                       ^~
                       yy0
xlat_parser.y:187:26: error: unable to find numeric literal operator ‘operator""argcount’
  else if (Z.argcount++ == LINETRANS_MAXARGS)
                          ^~~~~~~~~~~~
xlat_parser.y:187:26: note: use -fext-numeric-literals to enable more built-in suffixes
In file included from /home/pi/zandronum/src/xlat/parse_xlat.cpp:161:
xlat_parser.y:197:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  Z.addflags = 0;
              ^~
              yy0
xlat_parser.y:197:17: error: unable to find numeric literal operator ‘operator""addflags’
  Z.addflags = 0;
                 ^           
xlat_parser.y:197:17: note: use -fext-numeric-literals to enable more built-in suffixes
xlat_parser.y:198:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  Z.argcount = 0;
              ^~
              yy0
xlat_parser.y:198:17: error: unable to find numeric literal operator ‘operator""argcount’
  Z.argcount = 0;
                 ^           
xlat_parser.y:198:17: note: use -fext-numeric-literals to enable more built-in suffixes
xlat_parser.y:199:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  Z.args[0] = 0;
              ^~
              yy0
xlat_parser.y:199:17: error: unable to find numeric literal operator ‘operator""args’
  Z.args[0] = 0;
                 ^       
xlat_parser.y:199:17: note: use -fext-numeric-literals to enable more built-in suffixes
xlat_parser.y:200:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  Z.args[1] = 0;
              ^~
              yy0
xlat_parser.y:200:17: error: unable to find numeric literal operator ‘operator""args’
  Z.args[1] = 0;
                 ^       
xlat_parser.y:200:17: note: use -fext-numeric-literals to enable more built-in suffixes
xlat_parser.y:201:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  Z.args[2] = 0;
              ^~
              yy0
xlat_parser.y:201:17: error: unable to find numeric literal operator ‘operator""args’
  Z.args[2] = 0;
                 ^       
xlat_parser.y:201:17: note: use -fext-numeric-literals to enable more built-in suffixes
xlat_parser.y:202:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  Z.args[3] = 0;
              ^~
              yy0
xlat_parser.y:202:17: error: unable to find numeric literal operator ‘operator""args’
  Z.args[3] = 0;
                 ^       
xlat_parser.y:202:17: note: use -fext-numeric-literals to enable more built-in suffixes
xlat_parser.y:203:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  Z.args[4] = 0;
              ^~
              yy0
xlat_parser.y:203:17: error: unable to find numeric literal operator ‘operator""args’
  Z.args[4] = 0;
                 ^       
xlat_parser.y:203:17: note: use -fext-numeric-literals to enable more built-in suffixes
In file included from /home/pi/zandronum/src/xlat/parse_xlat.cpp:161:
xlat_parser.y:207:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  Z = A;
              ^ 
              yy0
xlat_parser.y:207:38: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  Z = A;
                                      ^ 
                                      yy0
In file included from /home/pi/zandronum/src/xlat/parse_xlat.cpp:161:
xlat_parser.y:319:45: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  A.filters = C;
                                             ^ 
                                             yy0
In file included from /home/pi/zandronum/src/xlat/parse_xlat.cpp:161:
xlat_parser.y:324:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  A = new MoreFilters;
              ^~
              yy0
xlat_parser.y:325:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  A->next = NULL;
              ^~
              yy0
xlat_parser.y:325:20: error: base operand of ‘->’ is not a pointer
  A->next = NULL;
                    ^ 
xlat_parser.y:326:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  A->filter = B;
              ^~
              yy0
xlat_parser.y:326:20: error: base operand of ‘->’ is not a pointer
  A->filter = B;
                    ^ 
In file included from /home/pi/zandronum/src/xlat/parse_xlat.cpp:161:
xlat_parser.y:330:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  A = new MoreFilters;
              ^~
              yy0
xlat_parser.y:331:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  A->next = C;
              ^ 
              yy0
xlat_parser.y:331:20: error: base operand of ‘->’ is not a pointer
  A->next = C;
                    ^ 
xlat_parser.y:331:44: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  A->next = C;
                                            ^ 
                                            yy0
xlat_parser.y:332:14: error: ‘union YYMINORTYPE’ has no member named ‘yy’; did you mean ‘yy0’?
  A->filter = B;
              ^~
              yy0
xlat_parser.y:332:20: error: base operand of ‘->’ is not a pointer
  A->filter = B;
                    ^ 
make[2]: *** [src/CMakeFiles/zdoom.dir/build.make:5409: src/CMakeFiles/zdoom.dir/xlat/parse_xlat.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1075: src/CMakeFiles/zdoom.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

bfready
Posts: 60
Joined: Sun Jun 16, 2019 2:13 pm

Re: BOX86 on RPI4

Wed Apr 15, 2020 3:34 am

https://zandronum.com/tracker/view.php?id=3680

This issue was filed as a bug report last July it seems. I have a feeling, I have to switch OS's or something.

ptitSeb
Posts: 177
Joined: Tue May 19, 2015 2:49 pm

Re: BOX86 on RPI4

Wed Apr 15, 2020 1:18 pm

bfready wrote:
Wed Apr 15, 2020 3:34 am
https://zandronum.com/tracker/view.php?id=3680

This issue was filed as a bug report last July it seems. I have a feeling, I have to switch OS's or something.
So, I checked, and in fact,

Code: Select all

-fsigned-char
was needed in the compile flags.

To make things easier, I have pushed a few changes in the repo, so there is now some profile. So simply use

Code: Select all

-DRPI4=ON
along with

Code: Select all

-DNO_FMOD=ON
and the build type and you should be good to go...

bfready
Posts: 60
Joined: Sun Jun 16, 2019 2:13 pm

Re: BOX86 on RPI4

Wed Apr 15, 2020 1:47 pm

WOW! Thanks, ptitSeb! I was able to compile and run Zandronum. It has sound too (I didn't have sound the last time I got Zandronum working a couple months ago).

However, it crashes when I try to play a game. Something to do w/ openal. I'm guessing a certain combination of settings in the sound options, but I have not found it yet.. Any idea? Thanks again! You're awesome!

Code: Select all

Zandronum 3.1-alpha - 200415-1313 - SDL version
Compiled on Apr 15 2020
Using video driver x11

M_LoadDefaults: Load system defaults.
Gameinfo scan took 0 ms
W_Init: Init WADfiles.
 adding /home/pi/zandronum/zandronum.pk3, 689 lumps
 adding ./DOOM2.WAD, 2919 lumps
I_Init: Setting up machine state.
I_InitSound: Initializing OpenAL
  Opened device Built-in Audio Analog Mono
  EFX enabled
V_Init: allocate screen.
Using in-memory database. The database will not be saved on exit.
S_Init: Setting up sound.
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.
R_Init: Init Doom refresh subsystem.
DecalLibrary: Load decals.
PWO_Init: Initializing preferred weapon order.
M_Init: Init menus.
P_Init: Init Playloop state.
ParseSBarInfo: Loading default status bar definition.
ParseSBarInfo: Loading custom status bar definition.
D_CheckNetGame: Checking network game status.
player 1 of 1 (1 nodes)
Initializing network subsystem.
IP address 127.0.1.1:10667
UDP Initialized.
Resolution: 640 x 480
execvp failed
child gone
Playing demo DEMO1
Cannot play non-ZDoom demos.
Playing demo DEMO2
Cannot play non-ZDoom demos.
Playing demo DEMO3
Cannot play non-ZDoom demos.
execvp failed
child gone
I_InitSound: Initializing OpenAL
  Opened device Built-in Audio Analog Mono
  EFX enabled
execvp failed
child gone
Playing demo DEMO1
Cannot play non-ZDoom demos.
Playing demo DEMO2
Cannot play non-ZDoom demos.


MAP01 - entryway

execvp failed
child gone
zandronum: /build/openal-soft-aOn3HQ/openal-soft-1.19.1/Alc/filters/filter.c:25: BiquadFilter_setParams: Assertion `gain > 0.00001f' failed.
Aborted

bfready
Posts: 60
Joined: Sun Jun 16, 2019 2:13 pm

Re: BOX86 on RPI4

Wed Apr 15, 2020 1:54 pm

Something to do w/ the midi music. I don't hear music when I first load Zandronum, there is no music (there's sound but no music). I tried changing the music volumne and it crashed on me. I am going to look and see if there's a command line for disabling music or something...

ptitSeb
Posts: 177
Joined: Tue May 19, 2015 2:49 pm

Re: BOX86 on RPI4

Wed Apr 15, 2020 2:41 pm

bfready wrote:
Wed Apr 15, 2020 1:54 pm
Something to do w/ the midi music. I don't hear music when I first load Zandronum, there is no music (there's sound but no music). I tried changing the music volumne and it crashed on me. I am going to look and see if there's a command line for disabling music or something...
Can you open a new thread to avoid hijacking box_- one please.

bfready
Posts: 60
Joined: Sun Jun 16, 2019 2:13 pm

Re: BOX86 on RPI4

Wed Apr 15, 2020 3:34 pm

No prob.

ptitSeb
Posts: 177
Joined: Tue May 19, 2015 2:49 pm

Re: BOX86 on RPI4

Thu Apr 16, 2020 5:03 pm

I fixed the issue with box86 when launching Zandronum...
... but ...

it now crashes when starting a game :(

bfready
Posts: 60
Joined: Sun Jun 16, 2019 2:13 pm

Re: BOX86 on RPI4

Fri Apr 17, 2020 4:58 pm

So close!

Do you think it could be related to sound, just like the compiled zandronum? Does it crash when you add the "-nosound" command line option?

ptitSeb
Posts: 177
Joined: Tue May 19, 2015 2:49 pm

Re: BOX86 on RPI4

Sat Apr 18, 2020 4:27 pm

bfready wrote:
Fri Apr 17, 2020 4:58 pm
So close!

Do you think it could be related to sound, just like the compiled zandronum? Does it crash when you add the "-nosound" command line option?
It's not sound related. It's something else, but I have to debug, and because the game create/kill *a lot* of thread, it make debugging tedious...

Giga_Pi
Posts: 166
Joined: Mon May 20, 2019 9:48 am

Re: BOX86 on RPI4

Sun Apr 19, 2020 9:58 am

X86 apps on Raspberry Pi? You've got to be joking?

I'm assuming it has to be i386 linux apps, correct?

Man, it looks like you've done some serious work here. Good job. Will try it when I can (and if I find a reason to. Personally, I find i386 to be more annoying than ARM)
GNOME for Pi

A project to get the popular GNOME desktop to run on Raspberry Pi OS.

Guide here: https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=276512

Pi4 4GB @1.95GHz with ubuntu 20.04

talraash
Posts: 11
Joined: Wed Apr 29, 2020 10:03 pm

Re: BOX86 on RPI4

Wed Apr 29, 2020 10:14 pm

Thanks @ptitSeb... You do a really huge and awesome job.
Tested several games from my humble bundle and gog librarys. With RPi4. Some results
https://github.com/ptitSeb/box86-compat ... ist/issues

Now no need run my big x86 pc to play BattleBlock Theater or Binding of Isaac :D

Return to “Gaming”