PocketInstaller (v5.0)


#1

#Contributors please allways rebase your fork before making a pull-request

Read this first: Emulators Installer/Launcher

This is a GUI with a checklist to choose which games/emulators to install. Once they are selected, different scripts are run to install them.

Install

sudo wget -O ipi.sh http://bit.ly/pokeinst

sudo chmod +x ipi.sh

./ipi.sh

Run the GUI

Just go to the PocketInstaller folder and run: ./PocketInstaller.sh

If you already have installed any of the offered systems it won’t be offered to install.

After installing Pocket Home (Marshmallow Edition) you should consider creating a desktop icon (with the icon provided in the PocketInstaller folder) and the following command:

vala-terminal -fs 8 -g 20 20 -e ~/PocketInstaller/PocketInstaller.sh

[details=Project explanation]Synopsis

This project creates an emulator/games installer GUI for Next Thing Co’s (@NextThingCo) Pocket C.H.I.P.

Although the idea is to make a push and install interface, during the first versions still some manual installations will be needed. Just read the how-to file to gain information about this and how to use PocketInstaller.

YAD is used for the interface:

Zenity is used for of the launchers interface:
https://wiki.gnome.org/Projects/Zenity

Pocket Home (by @o-marshmallow) is highly recommended for a great experience:

Also, all the game installers and config files have been created taking the job previously done by some great people at the Next Thing Co’s forums:

PocketInstaller has been created by Damian Vila (@damianvila) and Iker García.

Motivation

Pocket C.H.I.P is an amazing Linux handheld machine. It allows, and will allow more in the future, several uses being one of the most popular ones turning it into a portable emulator/game machine. However, in order to install the software a heavy use of terminal is needed and this can be awful for user with few experience.

This is way Damian Vila proposed at the forums the creation of this tool. We teamed up and this is the result.

Contributors

Everyone can contribute to this project, improving the code or adding functions. If anyone wants something to be added to the installer we will try to do it. Also, .sh files and config files are always welcome, so we just need to add the pushed software to the main GUI.

License

This project is licensed under the MIT license (read License file). Of course, this license affects only to the parts we have created, all the other tools (YAD, Zenity, Pocket Home and so on) hold their own license. Regarding to us, share, collaborate and enjoy![/details]

Changelog

v1.0

First version includes:

Mednafen(GB,GBA,NES,SNES,NPC)
Vice(C64,C128)
Doom
v2.0

GUI updated.

Desktop icon added.

YAD and Zenity autoinstall feature added.

OpenTTD included.

v2.1

DOSBox included.

ScummVM included.

Desktop icon works!

v2.2

Launcher for ScummVM included.

Key for the BunsenLabs repo added, no more warnings after updating.

Closing message added.

v2.3

Code fixes thanks to @emuboy relative paths and -y flag for autoinstall. Thank you!

v3.0

PocketInstaller is now a tar package!: easier installation, just running one script.

Update option added, just launch the install script to check for updates.

Screen resolution check feature has been added, thanks to @KoljaWindeler for having the idea, testing it and improving the code. Resolution is parsed to Mednafen configuration file (more systems will be included in future releases).

Pocket Home(Marshmallow edition) included. Strongly recommended its installation!

Vice configuration file added, automatically parsed.

Launchers added for OpenTTD and ScummVM.

Thanks to CharonPDX for beta testing.

v3.1

GnGeo included.

PCSX included thanks to @torch2424.

v3.2

A log.txt file is written after each run, making easier to find and fix any issue. Thanks to @sWampy for the suggestion.

v3.3

Preparing the next major release: jq is installed, a folder with icons has been added. However, you still need to add them to the desktop manually.

Bug fixes. Thanks to Scott Baeder and Tyler Steele for reporting and testing several times.

v3.4

PCSX installation fixed.

xinput-calibrator, Pocket Home dependency included.

Pop-up included to warn about the reboot (mandatory) after installing Pocket Home (Marshmallow edition).

Log is reset before each run to avoid having a heavy file.

v3.5

Zoom included.

Appropiate shebang added to the scripts.

Thanks to Eric W. Brown (@Feneric) for both contributions.

v3.6

BSDGames included.

Minecraft included.

Quake III included.

RetroArch included.

Thanks to Tarjei Tjonn (@CaptainZalo) for debugging all the scripts and creating the one for Minecraft. Excuse me for the typo in your name!

v3.7

Minor bug fixes: Minecraft script.

Thanks to @Squirrel61 for reporting.

v3.8

Freedroid (a Paradroid clone) included.

XU4 (an Ultima IV clone) included.

Normalized icons.

Thanks to Eric W. Brown (@Feneric) for these contributions.

v3.9

Documentation included.

Guides for Freedroid, XU4 and Zoom included.

Thanks to Eric W. Brown (@Feneric) for these contributions.

v3.10

ColEm included.

The Hitchhiker’s Guide to the Galaxy (HHGTTG) included.

ZEsarUX included.

Zork included.

Thanks to Gustavo H M (sorry it doesn’t allow me to mention more that 10 people, I can repeat them though) for the inspiration to add HHGTTG and Zork.

Thanks to Tarjei Tjonn (@CaptainZalo) for hosting the files and creating the installation script for those two games.

3.11

Minor changes to HHGTTG and Zork (remote filenames).

3.12

Frotz removed.

Gargoyle included.

Lectorete included.

Zoom improved.

Thanks to Eric W. Brown (@Feneric) for these contributions.

3.13

Documentation added.

Bug fixes.

4.0

PocketInstaller automatically updates if needed. Bugs can be found, please report.

BSDGames install improved thanks to Eric W. Brown (@Feneric).

4.1

Bugs fixed.

Thanks to Jin Yeom and Clay Cooper for this.

5.0

Desktop icons are created automatically if Pocket Home Marshmallow Edition is already installed.

PocketInstaller is now also more user friendly.

Enjoy the repo:


Pocket Chip Setup Script (Install Cool Communitty Programs in a Single Script!)
PocketChip Preinstalled Software List
Looking to get my hands on an AlphaCHIP
Just got my pocket chip!
PocketCHIP couple of months later
Retroarch, Reicast, and PCSX-ReARMed logs me out
Dunno if you guys already did it but: Zork 1, 2 and 3 on the CHIP!
The Perfect Stylus + $0.25 Cents Worth on Nonsense
Installing Packages With Confusing Information
Sudo apt-get update returns E: Read error - (5: Input/output error) Help
[APT] Pocket Home (Marshmallow edition)
157 updates available
Hitchhiker's Guide to the Galaxy Text Adventure Needs to Come to PocketC.H.I.P.!
#2

How-To

Update your PocketCHIP

First update the packages list from repository by typing this on Terminal (press [Enter] at the end):

sudo apt-get update

If a password is required, type chip and press [Enter] (password will not be shown.)

Then upgrade existing packages by typing:

sudo apt-get upgrade

These steps are necessary to get the most up-to-date list of available software, and update your PocketCHIP’s existing software. It’s wise to run these from time to time, or before installing a new software package.

Get PocketInstaller

Type:

sudo wget -O ipi.sh http://bit.ly/pokeinst

Then:

sudo chmod +x ipi.sh

(It shouldn’t ask for a password after the first time, but if it does, remember it’s chip.)

(Here you see it as “installpocketinstaller.sh”, we thought “ipi.sh” would be easier on your fingers)

And finally ./ipi.sh to install all the packages and files needed for it to run.

It may take a while to download and install everything, don’t worry. But you should see progress. If it stalls, check your internet connection and try again.

Run the GUI

When you want to install something just go to the folder where this project is stored:

cd ~/PocketInstaller/

And run:

./PocketInstaller.sh

If everything went as expected, you should see the installer’s window.

Just check the desired emulator/s and click [Install].
You should see the installation logs. Once finished, the installer will quit, and you can start playing with the freshly installed software!

To install anything else, run ./PocketInstaller.sh again.

Or, if you have Pocket Home by Marshmallow (we strongly recommend it), make a desktop icon as stated in the first post, using the icon from:

~/PocketInstaller/desktopicon.png

And the command:

vala-terminal -fs 8 -g 20 20 -e ~/PocketInstaller/PocketInstaller.sh

(We are planning on doing this for you in a future version)

You can install Pocket Home directly from the installer. A reboot is recommended after it, so the installer will do it for you after a few seconds.

Now you can create icons for the installed programs, see the forums for more information: [APT] Pocket Home (Marshmallow edition)

(This, too, will be automatic in the future).

If any of the available programs is already installed, you won’t see it available for installation.

The current list of programs (as of version 3.0) is:

  • Mednafen (GB, GBA, NES, SNES, NPC)
  • VICE (C64, C128)
  • Doom
  • OpenTTD
  • DOSBox
  • ScummVM
  • Pocket Home (Marshmallow)
  • BSDGames (New in v3.6)
  • Minecraft (New in v3.6)
  • Quake III (New in v3.6)
  • RetroArch (New in v3.6)

More will be added in the future.

The scripts that runs the different programs can be found in the Launchers folder.

Copy config files

Config files (with resolution, keys mapped, etc.) can be found in the Configuration folder. Just replace the original ones with these versions.

Update to the latest version of PocketInstaller

To get the latest version, just run the install again.

Uninstall PocketInstaller

If you want to uninstall PocketInstaller, just delete the folder containing the script:

rm -r ~/PocketInstaller

Bear in mind that this will remove the installer, but not the emulators you’ve already installed.


#3

that sounds good but um…what DOES it install? is it a collection of like mednafen and pocketsnes with an added gui? I dont even know what this thing does, man


#4

Exactly. It’s an emulators installer.
Right now it just has mednafen and VICE. The idea is to simplify the installation and configuration of emulators.
You just download the installer and then use it to install everything else.
:wink:


#5

cool. i already have mednafen all set up though. if it also adds the mednafen GUI ill be on board. btw i recomand you add pocketsnes in the future. its something else someone here did and it kicks quite a large amount of ass.


#6

Ok, that’s my fault. I tried to be as decriptive as possible and forgot the basics:

This is a collection of different scripts, under a user interface that allows us to choose which one run. At this moment, you can install just selecting in a checklist: mednafen, vice and doom.

We’ll try to add more systems in the future.

Future add-ons will also be the config files for each system, so you just need to copy after installing. We also want to add the GUI for each system, so you just click an icon and it is launched(currenlty only mednafen available for this). Anyway, for this pocket home by @marshmallow is needed.


#7

Pocketsnes?


#8

This is a great initiative and I will try it for sure. But I have some suggestions to improve it.

  • How about a 1-click (well, 1-terminal-line) install? It’s possible and pretty easy, considering the power of the Linux shell, to check all dependencies (YAD, Git etc) for presence and install them when needed. It’s even possible to automatically add and remove the bunsenlabs repo. You could even add the apt update/upgrade commands to the script, because most people who start their pchip for the first time, don’t know that these commands are necessary to avoid error messages when installing new packages.
  • It would also be good to add an auto-updater to the script. You can look at @marshmallow’s script to get an idea how to do it. This also shouldn’t be too hard and I think this is the first thing you should do.
  • I also think that you should make @marshmallow’s version of Pocket Home part of the installation, because:
  • It would be very nice, considering that you created this script to help n00bs, when p-home icons for the installed packages are automatically added.
  • For every package that you include in your installer, make sure that you include all dependencies (add-on packages etc). Preferrably first test the separate package on a factory-reflashed pchip and carefully note all add-ons that you had to install to get it working. Missing dependencies are one of the greatest frustrations when you try to install a package and it doesn’t work. And sometimes, it’s hard to find which add-on package has to be installed to include a certain dependency.

This are just some tips to make your installer better. Maybe I come up with more, I will add them then.

Another hint: if you want to refer to @marshmallow, it’s not @o-marshmallow, that user doesn’t exist on the bbs and therefore the automatic link to his profile isn’t created (you see the difference?)

@dcschelt: I think this project needs to mature a little, but after that it certainly deserves a mention on the blog!


#9

Hi,

Thank you for your suggestions, I’ll answer them one by one and will take them into account, for sure.

  • I was thinking on that and was the first feature I tried. Just append the sources.list file with the repo from bunsenlabs and then install YAD. Perhaps because I wanted a little bit more user interaction I discard the idea. I think it’s a good feature and probably add it on future releases.

  • Another good idea, will check it.

  • We have been thinking, for a future when this script will probably be better, if it is possible to automatically add the icon with @marshmallow Pocket Home.

  • Definitely we need to check each package carefully, to make the process as automatic as possible.

I will be a bit busy these days because I am moving from one country to another one far away. However, we’ll release the v1.1 with some minor improvements soon and I will carefully check all your suggestions for a better v2.

Regarding to your hint about linking to @marshmallow, it is just a misunderstood. The first post on this topic is just a copy-paste from the README file of the Git repo, where @marshmallow it is @o-marshmallow.

Thank you for your recomendation for the blog.


#10

Hi @Squirrel61!

Thanks a lot for all the suggestions! Greatly appreciated. :slight_smile:

Yes, we’re trying to improve the script little by little, to make it easier for people to use it. Yes, the idea is that you only need to install this and then the rest is done by the installer.

To be honest, this first version was more of a proof of concept, and it will keep improving with time.
Any help people can provide will be appreciated.

We’re refining the interface and the scripts, and hope we can come up with something people would like to install and use to get the emulators up and running on their PocketCHIPs.

Thanks a lot for your support!


#11

Its a Snes emulator someone did. i think. it works really well.


#12

Sweet, beyond my comprehension of linux level though thanks


#13

It dosent matter HOW it works. what matters is that it DOES work.


#14

v2.0 is here!

YAD and Zenity autoinstall.
GUI updated.
New great desktop icon added.
OpenTTD added.

Known bugs

If using de desktop icon, some of the installer won’t work. We are trying to fix it. However, it is still completely functional when just ./PocketInstaller.sh

Future release

Not only fixing the bugs, but also implementing the full autoupdate feature as pointed out by @Squirrel61 are our priority. However we’ll be busy the next few days but we’ll post here as soon as we do it.


#15

I get an error, it does not locate package “yad”.


#16

Ok I had some problems with the repo, had to redo something and forgot to add the update bit on the code.

Will fix, check and upload in a while.

Excuse me.


#17

Fixed!

After adding a new repo to sources.list it is necessary to sudo apt-get update. Anyway, the repo was also the wrong one.

Thank you for your feedback @Ramayaben and excuse me for that mistake.

Regards.


#18

No problem, happy to help a little bit, thanks for the quick fix.


#19

Hey sorry to bother you again, now I’m getting this error:


#20

Hi,

It’s ok, you don’t bother, is nice to have some feedback. However this time I won’t be useful, at least by now. That part of the code remains the same from the beggining and should work.

I also removed YAD and Zenity and tested the script before uploading the script.

Now that you have already YAD installed, try to run ./PocketInstaller.sh again and let’s see.