How to run a PiPresents show when you don't have a Raspberry Pi

PiPresents is some pretty cool software that will run a PowerPoint-like presentation. But with lots more flexibility. It was originally written for the Raspberry Pi.

However.... perhaps someone else has your Pi. Perhaps you don't even have one. It is possible to run a PiPresents show on  your good ol' desktop computer (Windows, Linux, or Mac). Here's how.

First an overview: We're gonna run Linux Mint in a VIrtualBox. Then we're gonna install PiPresents and use the MPV player with the right combination of command line options, instead of the Pi's omxplayer.

OK, here goes.

  • Download Linux Mint Debian Edition, a.k.a LMDE (linuxmint-201403-connamon-dvd.iso): 

  • In VirtualBox, create a new virtual machine (VM) with default settings and these selections along the way..
    • Linux, Debian, 64bit
    • 10G VDI, dynamic disk
    • 128M video memory, 3D acceleration enabled
    • 1024 system memory
    • Add the downloaded iso to the DVD drive in storage options and select "live CD"
  • Start the new machine and install Linux Mint (desktop icon)
    • Follow all prompts. The only tricky point may be at the partition setup page, you need to right click the sda partition and select the '\' item.
    • Installation takes about 15 minutes.
    • Reboot the VM when it asks at the end of the install
    • When it says to eject the disc and then press Enter... just press enter.
  • Add the 'pi' user
    • At the start menu, type in 'users' and select the "Users and Groups" item
    • Add a user named 'pi'. I made mine Administrator instead of Standard. Click OK.
    • Add a password (if you want one shorter than 6 characters, we'll do that below)
    • Below the account picture, click on the groups (where it says "pi" or "pi, sudo")
    • You can select what groups you want, but I chose these to be similar to my main user:
    • adm, audio, cdrom, lpadmin, plugdev, sambashare, sudo, video, vboxsf
    • For a short password, open a terminal and type this in and press enter. 
      • > sudo passwd pi
      • It will prompt you to type in a password. This first one is for your admin account.
      • Then it will prompt you for the new password for the 'pi' user.
      • The terminal doesn't display anything as you are entering passwords, so you have to type it in 'blind' and press Enter. For the new password, you'll have to enter it twice and if it doesn't match, it will ask you to do it again.
  • Switch to the 'pi' user.
  • Install required items for PiPresents (according to PP readme). 
    • > sudo apt-get update
    • Some of the requirements are already included in Mint, so we just need....
    • > sudo apt-get install python-imaging-tk mplayer unclutter uzbl
    • Note: The pexpect stuff described in the PP readme is already installed in Mint as the python-pexpect package.
  • Install some other stuff 
    • > sudo apt-get install  git mpv
    • git for easy download/extraction/updating
    • MPV is the player we are going to use instead of the omxplayer which is specific to the Raspberry Pi (arm processor).
  • Download PiPresents
    • Open a terminal and type in (all on one line if it looks wrapped)...

    • Open a file browser and go to the pipresents folder.
      • CTRL-SHIFT-drag the pp_editor.desktop file onto your desktop
      • Right click on the icon, select properties, and set the permission to allow execution
      • Right click on the pipresents.py file, select properties, and in permissions, allow execution
  • Create and test a PiPresents show that has video

As a side note... I found that using the hardware accelerated command line options for the MPV player either didn't work or gave me a bunch of OpenGL errors. Apparently, VirtualBox doesn't have the hardware acceleration completely implemented yet. If they do fix it, different command line options (--vo) can be used for better performance. The command line that is used to start the player is near the top of the pp_mpvdriver.pp file. Of course, if you're already using Linux as the native desktop OS (not in a VM) you surely have hardware acceleration working already.