jmarsh wrote on 2022-06-08, 11:05:
LukasThyWalls wrote on 2022-06-08, 08:32:
i would prefer to use the 32 bit version because i also read here the 32 bit have a better performance and compatibility than the 64 bit version
This hasn't been true for a couple of years.
Thanks @jmarsh, @realnc and @morphinjh, that's one of the topics i want to bring to this because that's why i read in this same thread but it was messages from 2019, i think. Maybe @Yesterplay80 think otherwise, because then i don't understand why he is still building the 32 bit build at his website with those issues with the dependencies (maybe he don't know), so that's why i asking if it's not better to build the 64 bit build at this point or not building any one for Linux, at least until there is no issues whatsoever and it easier to maintain.
EDIT: I just compiled DOSBox ECE 64 bits and seems to work, so i'm going to do a recap (by memory) because for sure there are things i did that are not needed and some that later i realized that can be much better done:
I extracted the source of dosbox-0.74-3 and copied above the files from the source of DOSBox ECE r4477 (maybe i should use the DOSBox SVN, but i thought that later). EDIT: You need to use dos2unix in autogen.sh to change the text format first! dosunix autogen.sh. Also use chmod +x autogen.sh to make it executable.
* Install some dependencies: sudo apt install libsdl1.2-dev libx11-dev libxkbfile-dev libxext-dev libncurses5-dev libavcodec-dev libswscale-dev libavformat-dev automake build-essential (maybe i'm missing something and other are not really needed). EDIT: Also suggested sudo apt install libfluidsynth3 libfluidsynth-dev libsdl-net1.2 libsdl-net1.2-dev
* During compiling, i had the mt32emu/mt32emu.h missing error. To put that file in the system i went to https://sourceforge.net/projects/munt/files/m … inux/deb/amd64/ and downloaded and installed libmt32emu-2.6.1.deb and libmt32emu-dev-2.6.1.deb (Both are from the most recent stable version, 2.6.2, and also i had to install them with dpkg because QApt seems to have some issues with them about checking dependencies). EDIT: It works with this, but you can use the last source. Some advice can be found below here.
* Also during compiling, i had the sdk2_glide.h missing error (and later related sdk2_3dfx.h, sdk2_glidesys.h, sdk2_sst1vid.h, sdk2_glideutl.h). For this i downloaded OpenGlide master branch https://github.com/voyageur/openglide and do ./bootstrap && ./configure && make && sudo make install, and copying sdk2_glide.h, sdk2_3dfx.h, sdk2_glidesys.h, sdk2_sst1vid.h and sdk2_glideutl.h from the OpenGlide master Source to the include folder in DOSBox ECE Source.
* In the DOSBox source folder: First ./autogen.sh (remember using dos2unix ./autogen.sh first), and then ./configure (EDIT: Suggested ./configure CFLAGS="-O3" CXXFLAGS="-O3" or ./configure CFLAGS="-Ofast" CXXFLAGS="-Ofast") and make.
* Once there is a dosbox executable in the src folder, use strip dosbox from there to shrink the size (from >20MB to <4MB).
With that, i have a linux 64 bit dosbox ECE executable, in KUbuntu 22.04, which one i tested with some games.
Any advice will be appreciated! Thanks!
EDIT: Suggestions by @morphinejh. Thanks!