VOGONS


First post, by zschni

User metadata
Rank Newbie
Rank
Newbie

Okay, after messing around days with Extreme Assault I have a few questions about DosBOX 0.74.
1. I finally got the game working with 3dfx and with Daum's SVN build under Win7, but I can not lock all the targets with Q or TAB. So I decided to let go of GLIDE emulation.
2. WITHOUT GLIDE (running xa.exe), the game runs perfectly and offers great gaming experience with the latest original DosBOX build under Win7.
BUT, and most importantly, is much more worse under Ubuntu MATE 16.04 with the latest DosBOX build. DosBOX is much slower, and I am having much less FPS. I was using the EXACTLY THE SAME config setting even with Win7 and with Linux, except the autoxec part of corse.

So I have questions for some DosBOX Experts here.
How can DosBOX's performance (and the game's speed the same time) be improved on Ubuntu? Is it something related to Ubuntu's poorer hardware support? Chipset drivers? CPU microcode (tried both, no difference)? Maybe graphics card? I do not have any information about DosBOX using the VGA for some tasks. I even experienced with mate-system-monitor and with windows's task manager, that DosBOX is using even less memory on Win7 but runs more smoothly.
I already posted my config somewhere here but here it is again.

Here is my conf file, I deleted the lines with # (comment lines).

# This is the configurationfile for DOSBox 0.74. (Please use the latest version of DOSBox)
# Lines starting with a # are commentlines and are ignored by DOSBox.
# They are used to (briefly) document the effect of each option.

[sdl]
fullscreen=false
fulldouble=false
fullresolution=original
windowresolution=original
output=surface
autolock=true
sensitivity=100
waitonerror=true
priority=highest
mapperfile=mapper-0.74.map
usescancodes=false

[dosbox]
language=
machine=vesa_nolfb
captures=capture
memsize=128

[render]
frameskip=0
aspect=false
scaler=normal2x

[cpu]
core=auto
cputype=auto
cycles=auto
cycleup=10
cycledown=10

[mixer]
nosound=false
rate=44100
blocksize=1024
prebuffer=20

[midi]
mpu401=intelligent
mididevice=default
midiconfig=

[sblaster]
sbtype=sb16
sbbase=220
irq=7
dma=1
hdma=5
sbmixer=true
oplmode=auto
oplemu=default
oplrate=44100

[gus]
gus=false
gusrate=44100
Show last 41 lines
gusbase=240
gusirq=5
gusdma=3
ultradir=C:\ULTRASND

[speaker]
pcspeaker=true
pcrate=44100
tandy=auto
tandyrate=44100
disney=true

[joystick]
joysticktype=none
timed=false
autofire=false
swap34=false
buttonwrap=false

[serial]
serial1=dummy
serial2=dummy
serial3=disabled
serial4=disabled

[dos]
xms=true
ems=true
umb=true
keyboardlayout=us

[ipx]
ipx=false

[autoexec]
#------------------Extreme Assault------------------

mount c /home/zschni/jatek/EXTREME
imgmount.com d /home/zschni/jatek/images/extreme_assault.cue -t cdrom
c:
xa.exe

Thanks!

Reply 1 of 10, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

64bit vs 32bit probably. Dynamic core for 32bit is quite fast but the 64bit equivalent can be slow. And unless you know what you are doing ot's gonna be 64bit on Ubuntu.
Then latest build is vague. Is it self built from SVN or from a package manager? Self built from SVN is advisable since it has 64bit fixes that might help but might not.

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 2 of 10, by zschni

User metadata
Rank Newbie
Rank
Newbie

Thank You for quick reply. Both of my Win7 and Ubuntu OS are 64bit versions.
I meant with latest build:
-on Win7: sourceforge >> install the 0.74 with installer, play >> runs fast and well
-on Ubuntu 16.04: install with apt (I believe that's the way you were referring to as package manager)>> play >> slow and laggish.
So You mean I had 32 bit version of DosBox on my Win7_64, and 64 bit version of DosBox on Ubuntu_64?

Second thing: What do you mean with "self built SVN"? Is it something like grab the source from sourceforge then running the commands like:
tar -xvzf...
./autogen.sh (if necessary)
./configure (then solving dependency problems)
make
sudo checkinstall?
If I compile one from the source, is it also an SVN, regardless if I am doing any changes (btw I can not, because I do not own the knowledge)?
I can only compile programs on ubuntu based on this article.
Few days ago I took a look on the DosBOX page here, and tried to compile the 0.70 based on the decription written above, but I ran into problems, and could not make it run. Some patches were unavailable. BTW I can not even install any patches with the help of terminal. Here I saw someone's reply that a patch is: changing different lines in the... code maybe? I can't remeber exactly.

Reply 3 of 10, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

1. On Windows you will have run the 32bit version on Linux you will have run the 64bit version (as you need much more experience to compile, build and run a 32bit binary on a 64bit Linux) and with apt you probably got a 0.74 version with some patches to make it at least run on Linux. Perhaps even disabled dynamic core.
(in the Ubuntu Dosbox, please run

core dynamic
core

(the last core command should return dynamic, if not there is no dynamic core -> slow))
2. built from SVN means, building from *latest* source. But after make, just run ./src/dosbox from the folder where you have the dosbox sources in.
3. Do not try to make old versions compile. Generally if it works in a previous version it will run in the current version or better with the current source.

So please try to grab the latest source from SVN (https://sourceforge.net/p/dosbox/code-0/HEAD/tree/ -> download snapshot) and build that on Linux as on step 2 in that tutorial.

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 4 of 10, by zschni

User metadata
Rank Newbie
Rank
Newbie

Okay, I did everything, but no success. Dynamic core is probably allowed, image here.
The self built SVN is even more slower 😒 I even put the core dynamic command in the autoexec, tried with and without it, no difference.
I ran into problems when building my own SVN, but after I red the commands in the autogen.sh file, I was able to make, and then run the binary from the src folder as you said.
One more thing: the link you gave me was a root(?) folder. So I configured my SVN from the files of the trunk folder, since there were the latest files available.

Reply 5 of 10, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

well, then that's the joys of 64bit Linux 🙁
(one more thing to try is set core=normal and see if that helps somewhat)

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 6 of 10, by zschni

User metadata
Rank Newbie
Rank
Newbie

Heh, even more slower than with core dynamic. It's like getting later and later versions ruins the compatibility with the game.
You know, I own a PII Celeron 333 MHz (mendocino) machine with an nVidia RIVA TNT card. A very old one which fits into a 3.3V AGP2x slot. I had to download the 2.08 for Win98SE (I believe) driver from this forum long ago, because with forceware 44.x the game Pacific Warriors was unplayable.
It is like the same problem. That is why I wanted to build the 0.70 version.
I experienced the same problem with Imperium Galactica on DosBox. Game was playable with 0.63 (a bit slow, but modifying the cycles was a solution), but with 0.72 the game crashed all the time. Somehow it is very very fine with 0.74, I really don't know why is that.
Finally: What do you think about installing the 32 bit version of Ubuntu? Can this be a solution? I mean if I download DosBox on a 32 bit OS through package manager, will I get a 32bit version of DosBOX?

Reply 7 of 10, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator
zschni wrote:

Heh, even more slower than with core dynamic. It's like getting later and later versions ruins the compatibility with the game....
It is like the same problem. That is why I wanted to build the 0.70 version.

No, it's not the same problem. The problem is 64bit and whatever else is wrong with your ubuntu. You wrote yourself that the Windows version of DOSBox is alright.

I experienced the same problem with Imperium Galactica on DosBox. Game was playable with 0.63 (a bit slow, but modifying the cycles was a solution), but with 0.72 the game crashed all the time. Somehow it is very very fine with 0.74, I really don't know why is that.

Because 0.74 is the latest version and most is fine with that. however a regression can occur but apparently in that case 0.74 is better.

Finally: What do you think about installing the 32 bit version of Ubuntu? Can this be a solution? I mean if I download DosBox on a 32 bit OS through package manager, will I get a 32bit version of DosBOX?

yes, you will get a 32bit version but I don't know how up to date 32bit Linux are...

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 8 of 10, by zirkoni

User metadata
Rank Member
Rank
Member

Have you tried installing the 32-bit version of DOSBox?
Something like sudo apt-get install dosbox:i386

DOSBox has a lot of dependencies though and the packet manager will have to install 32-bit versions of all of them as well. You might end up breaking something, I don't know...

https://youtube.com/@zirkoni42

Reply 9 of 10, by zschni

User metadata
Rank Newbie
Rank
Newbie

OOOkay, so Dominus you gave me the idea, and I finally managed to find a solution.
The game still is not as good as on Win7, but much more playable and smoother now.

Dominus wrote:

Dynamic core for 32bit is quite fast but the 64bit equivalent can be slow

and

Dominus wrote:

(as you need much more experience to compile, build and run a 32bit binary on a 64bit Linux)

Let's compile a 32bit version then right? After searching about 2-3 minutes on the web, how to compile 32bit app on 64bit OS, I got rid of the idea, because it seemed impossible for me.

1. Started Virtualbox >> installed a 32bit Ubuntu MATE >> installed Extreme Assault, and started playing >> result was just a tiny bit better, than on 64bit Ubuntu.

(My thought was, that since Win7 users can run x86 softwares on x64 systems, it has to be possible somehow on Ubuntu as well.)

2. I downloaded the SVN you gave me, and compiled Dosbox with the necessary dependencies on the virtual machine which had 32bit Ubuntu.
The apt-file sofware was desperately needed, I have to admit.

3. I copied the compiled 32bit DosBOX (the whole original directory tree) from the virtual machine to my host, then I closed my virtual box.

4. Then multiarch support had to be solved, based on this, and this articles. I do not know if both were necessary, but I did the instructions written on both pages.

5. I tried to run my 32bit DosBOX application on my 64bit Ubuntu, then terminal gave me errors: no such file or directory. This gog page gave me the idea, how to install the necessary i386 packages.

6. Okay let's use apt-file search, search for the correct packages which are containing the necessary files, and then install the package with an :i386 at the end, like this:

This is the output, how I solved these "no such file" problems, when tried to start the DosBOX application. There were a lot of them, this is just an example:

zschni@zschni-P5K:~/Downloads/dosbox-code-0-4011-dosbox-trunk/src$ ./dosbox
./dosbox: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
zschni@zschni-P5K:~/Downloads/dosbox-code-0-4011-dosbox-trunk/src$ apt-file search libGL.so.1
android-sdk: /usr/lib/android-sdk/tools/lib/gles_mesa/libGL.so.1
libgl1-mesa-glx: /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
libgl1-mesa-glx: /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0
nvidia-304: /usr/lib/nvidia-304/libGL.so.1
nvidia-304: /usr/lib32/nvidia-304/libGL.so.1
nvidia-304-updates: /usr/lib/nvidia-304-updates/libGL.so.1
nvidia-304-updates: /usr/lib32/nvidia-304-updates/libGL.so.1
nvidia-340: /usr/lib/nvidia-340/libGL.so.1
nvidia-340: /usr/lib32/nvidia-340/libGL.so.1
nvidia-361: /usr/lib/nvidia-361/libGL.so.1
nvidia-361: /usr/lib/nvidia-361/libGL.so.1.0.0
nvidia-361: /usr/lib32/nvidia-361/libGL.so.1
nvidia-361: /usr/lib32/nvidia-361/libGL.so.1.0.0
nvidia-375: /usr/lib/nvidia-375/libGL.so.1
nvidia-375: /usr/lib/nvidia-375/libGL.so.1.0.0
nvidia-375: /usr/lib32/nvidia-375/libGL.so.1
nvidia-375: /usr/lib32/nvidia-375/libGL.so.1.0.0
primus-libs: /usr/lib/x86_64-linux-gnu/primus/libGL.so.1
zschni@zschni-P5K:~/Downloads/dosbox-code-0-4011-dosbox-trunk/src$ sudo apt install libgl1-mesa-glx:i386

7. Finally the game started.

Dominus, many and many Thanks for this conversation and for your help!
I still have one more question. If I finally compile the binary of the dosbox to the src directory, which files are needed to run the sofware? The whole (original) directory tree?

Reply 10 of 10, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Good god ng and good progress. Hats up!

When you finally got it running, you just need the dosbox binary, /path to sourcecode/src/dosbox

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper