How to install the latest Vice emulator on Ubuntu
By Scott Pigeon, 20 MAY 2017, Ubuntu 17.04
Before following any Ubuntu tutorial you come across, always update your package manager.
sudo apt-get update
To get the latest version of Vice’s source code, we’re going to install Subversion, which is a version control tool, and use it to grab the source code from the repository on SourceForge.
sudo apt-get install subversion
Next, we’ll go to our home folder, and use Subversion to grab the latest source code, which should always be at the same URL.
svn co https://svn.code.sf.net/p/vice-emu/code/trunk/vice/
It should have created a vice folder. Change into it.
You will need some tools to prepare and compile Vice’s source code into something usable.
sudo apt-get install build-essential autoconf
The next list of packages need installed as they’re dependencies. You’ll get errors in the next step without them, so install them now.
sudo apt-get install bison flex libreadline-dev libxaw7-dev libpng-dev xa65 texinfo libpulse-dev texi2html libpcap-dev dos2unix libgtk2.0-cil-dev libgtkglext1-dev libvte-dev libvte-dev libavcodec-dev libavformat-dev libswscale-dev libmp3lame-dev libmpg123-dev yasm ffmpeg libx264-dev
Next we need to run the following command to create a configure script
Run the configure script that will create Makefiles with this command. You can run the script without any options, just ./configure, but I suggest adding these options for a better experience.
./configure --enable-fullscreen --with-pulse --enable-ethernet --with-x --enable-gnomeui --enable-vte --enable-cpuhistory --with-resid --enable-external-ffmpeg
Pay attention to an error it may give you in the last line that it spits out. Here are few errors that I have come across when testing on a fresh install of Ubuntu:
configure: error: Could not find byacc, yacc or bison!
configure: error: Could not find either flex or lex!
configure: error: The Xaw port needs Readline
configure: error: X11/Xaw/Tip.h is missing.
Vice has a few dependencies that you might not have if you’ve never used your system for building before. If ./configure gives you errors like above, then it won’t successfully create the Makefiles we need. So for the example errors above, a web search revealed the need to install bison, flex, libreadline-dev, and libxaw7-dev, which we took care of preemptively in the setup step.
Run the configure script again and again until there are no more errors (it only gives one error at a time). Do a web search for any errors you come across to find out what you need to install, and install it, then try again. Hopefully it works the first time!s
You’ll know you are successful when there is a file named “Makefile” (with a capital ‘M’) created in your ~/vice folder. You can quickly test that it’s there by typing the following command, and hopefully not getting a “No such file or directory” error:
Now that a Makefile exists, you’re ready for the next command, “make”. Just type it. It will find that Makefile and run its instructions.
You should get a long list of read out like “Making all in joyport” and dozens more.
You might see a few warnings, like petdww.c:512:20: warning: ‘petdwwpia_peek’ defined but not used. Do not worry about these.
The whole thing should take 5 to 10 minutes, depending on your computer. If one of the items freezes for a really long time, try hitting Ctrl+C once. But try being patient before resorting to that, as it may break the build.
Next is to install it into your system, which will copy the binaries you just created, like x64, into the /usr/local/bin folder, by typing:
sudo make install
Now, the following commands should open their respective emulators, though you may need to restart the terminal first.
If you ran ./configure without any options, the load disk/tape/etc menu shows when clicking on the window. The settings menu shows when right clicking. With the options I provided, you should have classic GUI menus available like “File”, “Settings”, “Help”, etc.
The config files and other support files got installed into the /usr/local/lib64/vice folder.
Right now there are no icons or launchers. Let’s create one so that we don’t have to use the terminal to open an emulator.
You may be tempted to look through the downloaded Vice folder for icons, but they’re not very good. Let’s just download a good SVG logo that looks good at any size, and use it for all of the emulators.
Go here in the browser, and if it doesn’t download automatically, save with Ctrl+S
Put it in the .icons folder in your home folder (you probably need to create it). Or run the commands:
cp ~/Downloads/CBM_Logo.svg ~/.icons/CBM_Logo.svg
Next we need to create a launcher for each of the emulators. Let’s start with just x64. Open a text editor like gedit, nano, or vim. Paste the following in it:
Comment=Commodore 64 Emulator
And save it as “x64.desktop” in the folder ~/.local/share/applications. Next make it executable with the following command, or right click the file in that folder and look for the checkbox in the properties:
chmod +x ~/.local/share/applications/x64.desktop
Now when you hit the OS key on your keyboard and start typing the name you chose, like “Vice x64”, it should be there in both name and icon, and clicking it should launch x64.
Repeat the “Create the launcher” step for the other emulators, changing Name, Comment, and Exec.
It’s now safe to remove that vice folder you created to free up space and declutter your home folder.
rm -rf ~/vice
Now go play some old games!