How to install the latest Vice emulator on Ubuntu

By Scott Pigeon, 20 MAY 2017, Ubuntu 17.04

Download

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.

cd ~

svn co https://svn.code.sf.net/p/vice-emu/code/trunk/vice/

It should have created a vice folder. Change into it.

cd ~/vice

Setup

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

./autogen.sh

Configure

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:

file Makefile

Make

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.

make

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.

Install

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.

vsid , the SID player

x64 , the fast C64 emulator

x64sc , the accurate C64 emulator

x64dtv , the C64DTV emulator

x128 , the C128 emulator

xvic , the VIC20 emulator

xpet , the PET emulator

xplus4 , the PLUS4 emulator

xcbm2 , the CBM-II emulator (CRTC models)

xcbm5x0 , the CBM-II emulator (VIC-II models)

xscpu64 , the SCPU64 emulator

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.

Integrate

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.

Get the icon

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

https://upload.wikimedia.org/wikipedia/commons/5/5c/CBM_Logo.svg

Put it in the .icons folder in your home folder (you probably need to create it). Or run the commands:

mkdir ~/.icons

cp ~/Downloads/CBM_Logo.svg ~/.icons/CBM_Logo.svg

Create the launcher

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:

[Desktop Entry]

Name=Vice x64

Comment=Commodore 64 Emulator

Exec=x64

Icon=CBM_Logo

Terminal=false

Type=Application

Categories=Games;Emulators

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.

The End

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!