How to install PCem v16 on Linux
-
- Posts: 23
- Joined: Wed 26 Oct, 2016 6:06 pm
How to install PCem v16 on Linux
I just installed PCem v16 successfully on Ubuntu 20.04. Just wanted to give you a short update, because the Instructions in Readme-Linux.txt did not work for me.
Specifically, I had to run configure like this:
./configure --enable-release-build
The additional libraries I could install with "apt install" like this (may help someone - install before running configure):
libwxgtk-media3.0-gtk3-dev
libopenal-dev
libsdl2-dev
Something else I noticed: I had 12 configurations for PCem on Windows which I tried to use on LInux. So I copied them in .pcem/configs
However, PCem reset every single one to "AMI XT" at first run. What did I do wrong, can this be helped? I would really like to continue using them.
Specifically, I had to run configure like this:
./configure --enable-release-build
The additional libraries I could install with "apt install" like this (may help someone - install before running configure):
libwxgtk-media3.0-gtk3-dev
libopenal-dev
libsdl2-dev
Something else I noticed: I had 12 configurations for PCem on Windows which I tried to use on LInux. So I copied them in .pcem/configs
However, PCem reset every single one to "AMI XT" at first run. What did I do wrong, can this be helped? I would really like to continue using them.
Re: How to install PCem v16 on Linux
There was a name change for one of the bios for pentium. Possibly that's the reason.
Also remember that on linux, the filenames are case sensitive, so bios1 is not the same as BIOS1. Ensure that the correct name is on the .cfg file.
Also remember that on linux, the filenames are case sensitive, so bios1 is not the same as BIOS1. Ensure that the correct name is on the .cfg file.
-
- Posts: 23
- Joined: Wed 26 Oct, 2016 6:06 pm
Re: How to install PCem v16 on Linux
Progress! I found out why every config was reset to AMI XT. Seems that PCem Linux expects every bios name to be in lowercase. EDIT: Sorry, I was wrong but I think I got it now: The files must be named exactly as stated in readme.txt of PCem. So, the Atari PC 3 will need a file called "AWARD_ATARI_PC_BIOS_3.08.BIN" while the AMI XT will need "ami_8088_bios_31jan89.bin". The uppercase / lowercase makes the difference on Linux, do not use lowercase only.
When I put my filenames in lowercase, the bios was found and loaded. Had me confused because it worked flawlessly on PCem on Windows. Of course - you are quite right! PCem Win doesnt even notice if they are uppercase or lowercase.
This seems not be the case with disk images, but to be safe it would probably be prudent to use names in the good old Unix tradition: dos5_harddisk.img instead of DOS 6.0 Harddisk
Thanks for the help with uppercase / lowercase!
But now something else comes up. If I start PCem from the shell, I get strange error messages:
Menu item not found: 1403
Menu item not found: 1404
Am I still missing some packages in wxWidgets or why does this come up? I dont notice anything missing in the GUI, and PCem seems to work ok.
When I put my filenames in lowercase, the bios was found and loaded. Had me confused because it worked flawlessly on PCem on Windows. Of course - you are quite right! PCem Win doesnt even notice if they are uppercase or lowercase.
This seems not be the case with disk images, but to be safe it would probably be prudent to use names in the good old Unix tradition: dos5_harddisk.img instead of DOS 6.0 Harddisk
Thanks for the help with uppercase / lowercase!
But now something else comes up. If I start PCem from the shell, I get strange error messages:
Menu item not found: 1403
Menu item not found: 1404
Am I still missing some packages in wxWidgets or why does this come up? I dont notice anything missing in the GUI, and PCem seems to work ok.
Last edited by j1forPandE on Fri 19 Jun, 2020 3:57 pm, edited 1 time in total.
- SarahWalker
- Site Admin
- Posts: 2054
- Joined: Thu 24 Apr, 2014 4:18 pm
Re: How to install PCem v16 on Linux
I think that's just a bug in the wxrc file. Should be harmless.
-
- Posts: 23
- Joined: Wed 26 Oct, 2016 6:06 pm
Re: How to install PCem v16 on Linux
Thank you Sarah! I had hoped that would be the case.
-
- Posts: 23
- Joined: Wed 26 Oct, 2016 6:06 pm
Re: How to install PCem v16 on Linux
Something else I noticed - its related to LInux, so I thought Id just mention it here. If you run PCem with Wine instead of using the native Linux port, it works excellently, but the emulation thread is not closed in the end, but stays in the background. I dont mean the menu, but the "worker" thread which carries out the actual emulation (virtual machine).
You can close it, but if you run "top" afterwards, it will show you a list of one - or even several - PCem.exe threads still active (depending on how many emulated machines you started). This may be the case with Arculator on Wine, too, by the way. Im using Ubuntu 20.04 with Wine Version: 5.0-3ubuntu1I (thats the advanced branch on Ubuntu, I didnt test with the "stable" branch).
Im not complaining, but people who use PCem with Wine should know this, because you will feel things slowing down if a few PCems are running in the background
To stop them, use the following command in the shell (should not need root):
You can close it, but if you run "top" afterwards, it will show you a list of one - or even several - PCem.exe threads still active (depending on how many emulated machines you started). This may be the case with Arculator on Wine, too, by the way. Im using Ubuntu 20.04 with Wine Version: 5.0-3ubuntu1I (thats the advanced branch on Ubuntu, I didnt test with the "stable" branch).
Im not complaining, but people who use PCem with Wine should know this, because you will feel things slowing down if a few PCems are running in the background
To stop them, use the following command in the shell (should not need root):
Code: Select all
killall PCem.exe
-
- Posts: 23
- Joined: Wed 26 Oct, 2016 6:06 pm
Re: How to install PCem v16 on Linux
Sorry, I was wrong in my previous post. Do not use bios files with lowercase filenames only.
Instead, the files must be named exactly as stated in readme.txt of PCem. So, the Atari PC 3 will need a file called "AWARD_ATARI_PC_BIOS_3.08.BIN" while the AMI XT will need "ami_8088_bios_31jan89.bin". The uppercase / lowercase makes the difference on Linux, do not use lowercase only.
Instead, the files must be named exactly as stated in readme.txt of PCem. So, the Atari PC 3 will need a file called "AWARD_ATARI_PC_BIOS_3.08.BIN" while the AMI XT will need "ami_8088_bios_31jan89.bin". The uppercase / lowercase makes the difference on Linux, do not use lowercase only.
Re: How to install PCem v16 on Linux
A bit off-topic but does PCem under Linux perform faster than in Windows?
-
- Posts: 23
- Joined: Wed 26 Oct, 2016 6:06 pm
Re: How to install PCem v16 on Linux
About the same, I would say. It is really difficult to answer because it is difficult to carry configurations over from Windows to Linux, or recreating the exact same circumstances. The best way would be to create an ideal benchmark situation. Maybe an old benchmarking tool on a floppy disk image, which can be booted into some typical virtual machines - XT class, 486, Pentium maybe. Then compare the results.
If you have suggestions I am willing to try. But that would still not account for differences in 3D graphics, which are probably the most interesting. Many different aspects would come into play here, the graphics drivers, the sound system etc (and both on host and guest!). Maybe Sarah or leilei would know how to do this.
If you have suggestions I am willing to try. But that would still not account for differences in 3D graphics, which are probably the most interesting. Many different aspects would come into play here, the graphics drivers, the sound system etc (and both on host and guest!). Maybe Sarah or leilei would know how to do this.
- SarahWalker
- Site Admin
- Posts: 2054
- Joined: Thu 24 Apr, 2014 4:18 pm
Re: How to install PCem v16 on Linux
I would expect no real difference.
- spiderman82
- Posts: 16
- Joined: Wed 31 Aug, 2016 9:15 am
Re: How to install PCem v16 on Linux
Code: Select all
checking for glGetError in -lGL... no
You need to install the OpenGL library.
Xubuntu 18.04 LTS, 4.15.0-109-generic
-
- Posts: 23
- Joined: Wed 26 Oct, 2016 6:06 pm
Re: How to install PCem v16 on Linux
spiderman82, could you check if opengl/mesa is installed? Run this in a terminal:
Code: Select all
sudo apt list mesa*
- spiderman82
- Posts: 16
- Joined: Wed 31 Aug, 2016 9:15 am
Re: How to install PCem v16 on Linux
Code: Select all
mesa-common-dev / bionic-updates, now 19.2.8-0ubuntu0 ~ 18.04.3 amd64 [installed, automatic]
mesa-opencl-icd / bionic-updates, now 19.2.8-0ubuntu0 ~ 18.04.3 amd64 [installed]
mesa-utils / bionic, now 8.4.0-1 amd64 [installed]
mesa-utils-extra / bionic, now 8.4.0-1 amd64 [installed]
mesa-va-drivers / bionic-updates, now 19.2.8-0ubuntu0 ~ 18.04.3 amd64 [installed]
mesa-vdpau-drivers / bionic-updates, now 19.2.8-0ubuntu0 ~ 18.04.3 amd64 [installed]
mesa-vulkan-drivers / bionic-updates, now 19.2.8-0ubuntu0 ~ 18.04.3 amd64 [installed]
-
- Posts: 23
- Joined: Wed 26 Oct, 2016 6:06 pm
Re: How to install PCem v16 on Linux
i have the same packages (except that I also have the 386 variants, but they are not needed for PCem, I guess). Do you have Nvidia or AMD or Intel grapics? And if it is Nvidia, do you have open drivers (Noveau) or Nvidia closed source?
-
- Posts: 6
- Joined: Tue 07 Jul, 2020 12:09 am
Re: How to install PCem v16 on Linux
I don't know if it helps, but the dependancy list on gentoo is alsa-lib libsdl2 openal and wxgtk...
Re: How to install PCem v16 on Linux
It's complaining about some opengl development package, so you'll need something like libgl-dev. In Debian, it's a virtual package (provided by libgl1-mesa-dev).
-
- Posts: 23
- Joined: Wed 26 Oct, 2016 6:06 pm
Re: How to install PCem v16 on Linux
Yep, I got those too (Ubuntu 20.04). No Idea when and why I installed it. Long before PCem, in any case. Ah, the wonders of Linux packages. Well, I guess the command goes like this:
Code: Select all
sudo apt install libgl1-mesa-dev
- spiderman82
- Posts: 16
- Joined: Wed 31 Aug, 2016 9:15 am
Re: How to install PCem v16 on Linux
libgl1-mesa-dev - installed, NVIDIA -proprietary drivers (closed source)
-
- Posts: 23
- Joined: Wed 26 Oct, 2016 6:06 pm
Re: How to install PCem v16 on Linux
Its the same with me: Nvidias own.
This is really beyond my Linux knowledge. My best guess is that one of the needed virtual / meta packages that got installed on your system was partly removed or something like that. Maybe lost some needed configuration file or something like that. Had it happen already on Ubuntu.
I hope there is a (X)ubuntu graphics pro among us who can help here...
This is really beyond my Linux knowledge. My best guess is that one of the needed virtual / meta packages that got installed on your system was partly removed or something like that. Maybe lost some needed configuration file or something like that. Had it happen already on Ubuntu.
I hope there is a (X)ubuntu graphics pro among us who can help here...
Re: How to install PCem v16 on Linux
Same problem here. Someone gave a solution in that topic :
https://pcem-emulator.co.uk/phpBB3/viewtopic.php?t=785
But, compiling with:
give me this error :
Hopefully could someone help.
https://pcem-emulator.co.uk/phpBB3/viewtopic.php?t=785
But, compiling with:
Code: Select all
make -f Makefile.mingw-wx-sdl2
Code: Select all
gcc -O3 -march=x86-64 -fomit-frame-pointer -msse2 -mstackrealign -Werror -fno-strict-aliasing -DUSE_NETWORKING -c 386.c
gcc -O3 -march=x86-64 -fomit-frame-pointer -msse2 -mstackrealign -Werror -fno-strict-aliasing -DUSE_NETWORKING -c 386_common.c
gcc -O3 -march=x86-64 -fomit-frame-pointer -msse2 -mstackrealign -Werror -fno-strict-aliasing -DUSE_NETWORKING -c 386_dynarec.c
gcc -O3 -march=x86-64 -fomit-frame-pointer -msse2 -mstackrealign -Werror -fno-strict-aliasing -DUSE_NETWORKING -c 386_dynarec_ops.c
gcc -O3 -march=x86-64 -fomit-frame-pointer -msse2 -mstackrealign -Werror -fno-strict-aliasing -DUSE_NETWORKING -c 808x.c
808x.c: In function ‘dumpregs’:
808x.c:491:9: error: ignoring return value of ‘chdir’, declared with attribute warn_unused_result [-Werror=unused-result]
chdir(logs_path);
^~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
Makefile.mingw-wx-sdl2-network:71: recipe for target '808x.o' failed
make: *** [808x.o] Error 1
Re: How to install PCem v16 on Linux
You don't use the Windows-intended MinGW makefiles to build for linux. Please read README-LINUX.txt
Re: How to install PCem v16 on Linux
The readme is not very explicit. I tried the procedure described in it and ended with the error:
Trying give me
Code: Select all
You need to install the OpenGL library
Code: Select all
--with-wx-config
Code: Select all
checking for wxWidgets version >= 3.0.0... ./configure: line 4981: test: too many arguments
./configure: line 4984: test: too many arguments
no (version yes (GNU coreutils) 8.28
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by David MacKenzie. is not new enough)
configure: error:
The requested wxWidgets build couldn't be found.
If you still get this error, then check that 'wx-config' is
in path, the directory where wxWidgets libraries are installed
(returned by 'wx-config --libs' command) is in LD_LIBRARY_PATH
or equivalent variable and wxWidgets version is 3.0.0 or above.
Re: How to install PCem v16 on Linux
I found the solution. I tried to compile pcem under Xubuntu Xenial on vietual machine, it worked fine.
I work on Xubuntu Bionic.
I installed some libraries that were installed with the SDL2 libraries under Xenial, but not under bionic. (I don't know why)
Then ran the following commands:
And it compile fine.
I work on Xubuntu Bionic.
I installed some libraries that were installed with the SDL2 libraries under Xenial, but not under bionic. (I don't know why)
Then ran the following commands:
Code: Select all
sudo rm /usr/lib/x86_64-linux-gnu/libGL.so
sudo ln -s /usr/lib/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so
Re: How to install PCem v16 on Linux
Good day. I just posted a new post for help getting external MIDI option in PCem compiled in Linux.
Comparing to Windows 7 that I am using in my X240 core i7 laptop, Linux version (compiled by myself from github) works much much better with much less noticeable stuttering, for instance when Windows 95 booting up with the startup.wav file( using the same Socket 7 machine with the same CPU - P90), and in-game which use CDs. For eg., I tried running Chaos Overlords, which has almost no stutters in the intro, when compared to the Windows version. Maybe it's just my machine, but I don't think I would go back to Windows running PCem when compared to Linux. (I'm running openSUSE).
- spiderman82
- Posts: 16
- Joined: Wed 31 Aug, 2016 9:15 am
Re: How to install PCem v16 on Linux
Code: Select all
~/pcem16$ ./configure --enable-release-build --enable-networking --enable-alsa
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking whether to build for release... yes
checking whether to enable debugging... no
checking whether to enable networking... yes
checking whether to use ALSA for MIDI output... yes
checking for cpu... x86_64
checking for off64_t x86_64... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for SDL... yes
checking for wx-config... /usr/bin/wx-config
checking for wxWidgets version >= 3.0.0... yes (version 3.1.2)
checking for wxWidgets static library... no
checking for snd_pcm_open in -lasound... yes
checking for pthread_create in -lpthread... yes
checking for glGetError in -lGL... no
You need to install the OpenGL library.
Xubuntu 18.04, kernel 4.15.0-112-generic