So your Pandora just arrived after being in the post for two months. Jolly good! But now that it's actually here, what on earth do you do with it? Don't panic! Let's take a look at what's included in the box(so you don't miss anything!) and then hop on over to setting it up for that extended Ms. Pacman marathon you've been waiting for!
Also, don't forget to hit up GP32X for questions/info/apps/fun/discussion!
- 1 Safety Information
- 2 Warranty Information
- 3 Box Contents
- 4 Specifications
- 5 First Time Use
- 6 Basic Use
- 7 Basic Linux user guide
- 8 Applications
- 9 Introduction To .PNDs
- 9.1 What Are .PNDs?
- 9.2 How do I run a PND-application?
- 9.3 Where Do .PNDs Go?
- 9.4 If I want to override the .PND icon, name, or other settings, how? (Slightly advanced topic)
- 9.5 Where does my data go? How do I make files visible to the applications?
- 9.6 How Do I Make .PNDs?
- 9.7 More Info About .PNDs
- 10 Configuration
- 11 Minimenu - Comprehensive Configuration Documentation
- 11.1 Interesting Menu Items for General Usage
- 11.2 Default configuration is..
- 11.3 Global/User Preferences
- 11.4 Setting up Category Mapping/Merging/Aliasing and Custom Tabs
- 11.5 Skinning the Interface
- 12 Oops! I Borked My Pandora!
- 13 Pandora FAQ
Warning: Choking Hazard, do not let children under the age of 3 come close to your Pandora console. The Pandora contains small parts that can be eaten by those children.
The battery of Pandora must be charged by the charger included with the Pandora (see package contents). Open Pandora Ltd. will not be responsible for damage arising from the use of third party chargers. Please be aware that "cheap" third party chargers often carry fake CE logos. These can damage your Pandora or burst horribly into FLAMES.
Keep the Pandora in normal temperatures under 140F/60C (Recommended temperatures are in the range between -10C and 40C). The battery is a standard Lithium Polymer battery. Do not keep near fire or water. Do not disassemble, destroy or damage the battery, or it may explode! Do not short circuit external contacts! Dispose of it properly, please.
Modifications to hardware can damage your Pandora. Open Pandora Ltd cannot be held responsible for any resulting damage.
Malicious software can do horrible things to your Pandora. Only download Pandora software from trusted locations such as the Pandora App Store, or the websites of trusted developers. See the OP-Team Trusted image in the App Store to see if the software application can be trusted.
The Pandora has a 4.3-inch touch screen. You can touch the screen to trigger an action. That's right, a touch screen - not a stab screen, punch screen, or solid mahogany workbench. Always touch the screen gently – this will be more than enough to trigger the action you want.
The casing of the Pandora has been designed for maximum strength, making it quite hard to break. Please do not consider this a challenge. Do not drop, throw, clamp, launch, tumble dry, or place anvils on the Pandora. This will void your warranty.
A one year warranty applies as required by law, and the device will be replaced/repaired if it is faulty. LCDs with numerous/excessive dead pixels will also be replaced.
When you first open Pandora's box, a slew of demons and raging emotions may forcibly leave the box. This is normal. After that, you should find the following items:
- Pandora console
- Stylus (located in stylus slot on the side of the Pandora)
- Mains power adapter (charger)
The following items should also be present if you ordered them separately:
- TV-Out Cable (As of 05-25-10 these are not yet included in the box and will ship separately as available)
- Carrying Case
- Extra Battery
After you take those things out, you may find a sliver of Hope left over. It's best to keep it, as you never know when you could use some Hope.
- ARM® Cortex™-A8 600Mhz+ CPU running Linux*
- 430-MHz TMS320C64x+™ DSP Core
- PowerVR SGX OpenGL 2.0 ES compliant 3D hardware
- 800x480 4.3" 16.7 million colours touchscreen LCD
- Wifi 802.11b/g, Bluetooth & High Speed USB 2.0 Host
- Dual SDHC card slots & SVideo TV output
- Dual Analogue and Digital gaming controls
- 43 button QWERTY and numeric keypad
- Around 10+ Hours battery life**
- *The 600Mhz+ can be higher or lower. This can be controlled by software designed for the device.
- **Is affected by use. (example turn bluetooth on or off during play time)
- Texas Instruments OMAP3530 processor at 600MHz (officially)
- 256MB DDR-333 SDRAM
- 512MB NAND FLASH memory
- IVA2+ audio and video processor using TI's DaVinci™ technology (430MHz C64x DSP)
- ARM® Cortex™-A8 superscalar microprocessor core
- PowerVR SGX530 (110MHz officially) OpenGL ES 2.0 compliant 3D hardware
- integrated Wifi 802.11b/g (up to 18dBm output)
- integrated Bluetooth 2.0 + EDR (3Mbps) (Class 2, + 4dBm)
- 800x480 resolution LTPS LCD with resistive touch screen, 4.3" widescreen, 16.7 million colors (300 cd/m2 brightness, 450:1 contrast ratio)
- Dual analog controllers
- Full gamepad controls plus shoulder buttons
- Dual SDHC card slots (up to 64GB of storage currently)
- headphone output up to 150mW/channel into 16 ohms, 99dB SNR (up to 24 bit/48KHz)
- TV output (composite and S-Video)
- Internal microphone plus ability to connect external microphone through headset
- Stereo line level inputs and outputs
- 43 button QWERTY and numeric keypad
- USB 2.0 OTG port (1.5/12/480Mbps) with capability to charge device
- USB 2.0 HOST port (480Mbps) capable of providing the full 500mA to attached devices (examples include USB memory, keyboard, mouse, 3G modem, GPS)
- up to two externally accessible UARTs and/or four PWM signals for hardware hacking, robot control, debugging, etc.
- un-brickable design with integrated boot loader for safe code experimentation
- Power and hold switch useful for "instant on" and key lockout to aid in media player applications on the go
- Runs on the Linux operating system (2.6.x)
- Dimensions: 140x83.4x27.5mm
- Weight: 335g (with 4200mAh battery)
The Pandora is a mixture between a PC and a gaming console (similar to classic computers such as the Amiga). That's why it has gaming controls (ABXY buttons, d-pad, and analogue nubs). It is fast enough to emulate many other systems, run a full desktop, access the internet with Firefox and play games such as Quake III. However, it is not as big as a netbook. Believe it or not, it will fit in your pocket. It's a bit bigger than the Nintendo DS. (See Applications section of this manual to see what applications your Pandora will come with.) Remember that your Pandora console will get better with every application installed!
First Time Use
Now that you've opened the box, let's set this thing up! Place the battery inside the battery compartment on the back of the Pandora, making sure the contacts touch(the little silvery metal bits, it's easy). Snap on the battery cover and you're all set!
Charge your Pandora 8 hours before disconnecting it from the wall charger. This will improve the lifetime of your battery. To charge the Pandora, insert the power cable end in the Pandora and the other end into your wall socket.
The battery comes pre-charged at 40%, and that level might have decreased during shipping. To be on the safe side, we recommend that you charge the Pandora before you use it. Simply plug in your wall charger into an outlet, or optionally use a mini-USB cable connected to a computer or wall adapter. For extreme silliness, plug your Pandora into an already charged Pandora, and charge it from that! But not really.
As an added note by MWeston: IF YOU POWERED THE SYSTEM WITHOUT A BATTERY, SHUT IT OFF BEFORE STICKING THE BATTERY BACK IN.
Once your Pandora is ready, turn it on. The OS will take some time to boot up for the first time (about 10 minutes, this is only for the first boot, and is normal). After it has booted, a series of settings dialogs will pop up in the shape of a "Boot Wizard" allowing you to alter your Pandora's settings to your liking.
There are a total of 3 parts to the Boot Wizard guide:
The first thing you will have to do is to calibrate the Pandora's touch screen. Only do this if the screen isn't calibrated already. You will have the option for touchscreen calibration the first time you boot up your Pandora console.
Note: "Calibrating the touch screen" is a term used to describe the process of matching coordinates given by the touch layer with the underlying screen. A badly calibrated screen will register your push elsewhere on the screen, perhaps half a centimeter to one side. As there are sometimes slight variations in the production of the touch layer, you the user can improve the accuracy by matching the two layers manually.
After calibrating your screen, you will have to enter your full name. This is what you will see in any user selection dialogs or when the system needs to address you, so enter whatever you are most comfortable with. Then follows your username. It is recommended to choose an all-lowercase, one-word username here, since you will have to enter this name every time you log in. Once you've entered your username, a password input dialog appears. You will have to enter the password you want to use twice here. If you don't want to have a password for your device, simply leave both fields empty. If, however, you decide to enter a password, something hard to guess and between 8 and 16 characters long is preferred.
Network and security settings
You will now have to enter a name for your Pandora. This will be the Pandora's host name, so you have two options in this situation:
- If you don't have a domain you want to connect to, simply enter any name here. It should not contain any spaces.
- If you do have a domain you want to connect to, enter a name in the form of "pandoraname.domainname.tld". Note that you may never have a use for this.
Then, you'll have to choose whether you want to automatically log in on your Pandora when it boots, or if you should be given the opportunity to log in as a different user, or enter your password. It is recommended to disable auto login if you want to protect your user data, but if you're often in a hurry, then you can enable auto login here.
The final thing you will have to choose, is whether you want to use the full desktop Xfce environment or the gaming-oriented PMenu environment as your default environment in the Pandora. It is recommended to choose Xfce here if you want to gain access to the Pandora's full potential. This option can be changed later at any point.
Calibrating the Analog Nubs
The nubs automatically calibrate with use, and do so every time the unit is freshly powered up. Calibration information is stored inside the nub RAM, so when you power down (full power off, not just low power mode) the calibration information is lost. Calibrating the nubs is as simple as just using them -- do a few left right up down moves or swoosh around, and the nub will know its boundaries and be good thereafter.
So no special effort is required to calibrate or use the nubs, but the first few motions you use of them may be erratic as they self-calibrate.
Calibrating The Touchscreen
The touchscreen in your new Pandora device isn't psychic! You have to tell it what to do, and in order to do that effectively, you need to calibrate it. Simply navigate to settings→screen→calibration wizard[verify credibility] and follow the onscreen instructions. You may have to recalibrate the screen from time to time as well.
During the first boot wizard, you will be offered the option to calibrate the touchscreen. By default it may well work okay, but the option is there. If calibration is far off, use the keyboard to select the calibration option.
Mouse (stylus/pointer) settings
When done with the calibration and you are back in the Pandora Xfce desktop environment you might also want to change some other touch screen settings to make navigation with the stylus work according to your preferences. Two recommended settings to experiment with for easier navigation are:
- The double-click Time setting
- The double-click Distance (valid touch-screen double-click area)
In the first setting, i.e. Time, you will be setting the interval between double-clicks where such clicks will be accepted as valid. Ex. if you set the time to 250ms, the second click (or screen-tap in our case) must occur within 250ms of the first to be valid.
In the second setting, Distance, you will be setting the radius of screen area where the second click (tap) must fall into to be considered as a valid second tap. This means that if, for example, you set the distance to 5, your second tap must fall within a circle radius of 5 pixels from the point where the first tap occurred.
These two settings can be found under: Desktop ---> Xfce menu ---> Settings ---> Mouse ---> Behaviour tab.
minimenu is designed as a fast and easy to use launcher, without a lot of fancy frills. A grid of icons to launch, and use the d-pad or touchscreen to fire one off. It is fairly configurable and skinnable and is fully featured, and very fast. If you recall the interface on the gp32, gp2x, wiz, and gmenu2x you will be right at home and then some!
The main grid
The main grid with the default skin has most of the screen realestate showing a grid of available 'auto discovered' applications, with a detail panel on the right. A list of tabs is across the top of the screen, with some short help message on the bottom.
Pressing Start or B will invoke the pnd-application. Presseing Select will switch to a basic menu, providing shutdown or some advanced options.
Pressing "Y" (think "Why?") will bring up pnd-application documentation, if that pnd-file has defined any.
The left and right shoulder triggers will switch categories of applications; by default, minimenu includes an All category and defaults to showing it.
The applications are auto-discovered in the same means as the xfce desktop and pmenu and other pnd-supporting systems, however you may add additional minimenu-specific searchpaths into the configuration should you wish to. It is likely a basic file browser will also be added, letting you launch applications manually placed on your SD cards.
The standard overrides are supported -- .ovr files for icon title, clockspeed setting and categories, as well as a .pnd for icon override.
Configuration and tricks
minimenu has a fairly comprehensive configuration file for its minimalistic design; most options may be enabled or disabled or fiddled with, and the skin can reasonably be altered.
The All category can be removed if undesired.
Expert conf hackers can specify what categories they'd like and in what order, and have multiple app categories dumped into one tab, and other tricks.
pnd-application icons may be all loaded during the menu setup, or deferred until later and loaded in the background.
Preview pics may be loaded up front (not advised, as it can be slow), or deferred until later. (When deferred, they may load when you rest the selection, or load in background.)
You may choose to have auto-discovered applications registered into any of their 6 categories (Main, Sub1, Sub2, Alt, AltSub1, AltSub2).
Etc and so on.
Additional keys are supported: Q to quit the menu (not really useful for most people), and Space to invoke the application.
Desktop style environment
On the Desktop
The desktop will contain icons for numerous locations (such as each mounted SD card), as well as any auto-discovered pnd-applications located on SD cards or internal NAND.
On the bottom left you have your applications menu, similar to the Windows start menu. Clicking it brings up a list of all installed applications and pnd-applications in the appropriate location on your SD cards.
To the right may be some icons, these serve as shortcuts to commonly used applications. Next to that you have your taskbar which, as you might have guessed, lists all running applications in your current workspace. To the right of the taskbar you have your workspaces, think of these as multiple desktops. By default you have two to switch between. Applications running in one workspace will not be visible in the other, so you can effectively hide your Ms. Pacman game from your boss at work, because there's no way you're not going to go for the gold, even at work! Finally there are a few more icons that deal with TV-Out, network connectivity, etc. and some running applications may place an icon there as well. And to the right of THOSE, you have your time. Because time flies when you're using your Pandora! Badum tsh. And to the right of that, you have a little icon which, when clicked, displays all running applications.
Finally, I'd just like to reiterate this--EVERYTHING is customizable! We'll get to that section later, but for now, let's just check out the applications on your Pandora.
The Pandora button will bring up the applications menu, letting you quickly enter a search to locate an application to run or perform operations against running applications.
Without switching the device entirely off, it may be placed into low power mode or regular power mode; simply pressing the power button will toggle modes.
Consider low power mode to be akin to turning off a PDA or cellphone -- the screen is off, the CPU is clocked down and so on, but the device is still silently on, allowing for alarms to go off or it to be turned on again instantly. Regular power mode is for normal usage.
Low power mode is probably going to be used as the normal "off" for most people, with true off (device powered down entirely, unable to respond to alarms or wake up quickly) available to conserve battery power. Turning the Pandora off completely is the best option if you don't plan on using it for few weeks or longer.
Closing the lid will turn off the display but otherwise leave the device operating - handy for audio playing; turning off the display lowers power use.
The actual behaviour of buttons and events can be customized.
Basic Linux user guide
New to the wonderful world of Linux? No problem! You don't need mad terminal skills to open a web browser, but it can be nice to know what you're doing once in a while.
The structure of the file system
If you're used to the file system of e.g. MS Windows, you will find that a Linux file system is rather different from what you're used to. In this section, we will go through everything you have to know in order to feel comfortable with using the Pandora's file system.
In Windows, you have multiple file system roots, called "drives", that are labeled with different letters, like "C:" or "D:". In Linux, there aren't multiple root directories, but rather just one root directory, called "/". All other directories are inside of this directory, including other drives.
Inside of the root directory ("/") are quite a lot of other directories. Here are the most important ones:
- "/home" - This is where all of the files that are owned by all users are stored. Users do not generally have write-access to anything outside of this directory.
- "/home/username" - Here are the personal files of user "username". In this directory, you will find a directory called "Documents", "Pictures", "Desktop" etc. that correspond to that users personal directories. This directory is also called "username"'s home directory, and can be abbreviated with "~/" (if you're currently logged in as username) or "~username/".
- "/boot" - This is the directory where the Linux kernel is stored, and other files that are needed at boot time can be accessed. Do not touch this directory (You can't even do it if you wanted to)!
- "/bin", "/lib" - System binaries and libraries are stored here. Most of the terminal commands mentioned below can be found inside of "/bin". You should generally never have to touch this directory, either.
- "/usr" - Here is where you'll find programs and files installed by the user. Core applications such as the web browser, media player, and other applications that are available the first time you start your Pandora are stored here. If you decide to install anything via the "ipkg" command (covered later), this is where the files needed by those installations will end up.
- "/etc" - System-wide configuration. Should only be touched by power-users.
- "/media/*" - If you connect USB drives, SD cards or other external media, you will find that the contents of that media have been placed here.
Don't worry if this doesn't make any sense; It was thought up by bearded engineers back in the seventies. They liked the idea that everything would be in a predictable place, but this is no longer completely the case.
The File Manager
Basic Terminal Commands
Note: Linux is case sensitive. This applies to filenames and directories too. "/home/me/stuff" is a different folder than "/home/me/STUFF", you can actually have both. You can have "/home/me/Stuff" too if you like, and all three are separately recognised directories.
In the terminal, you are always in some folder. Think of it like being in a file manager: you can see the contents of the directory you're in, you can do things with those files, or you may decide to go to some other folder and continue your work there.
There are a few essential commands that are used to navigate around your system via the terminal:
- "pwd" - Print the current working directory (will print e.g. "/home/user")
- "ls" - List directory contents (similar to "Dir" in Dos, and the Linux command "dir" will actually emulate the DOS command if you want to!)
- "cd <directory name>" - Change to a different directory, eg. "cd music" or "cd /home/me/music"
- "cd .." - Go up one directory level (similar to "cd.." in Dos)
- "cd" - Go back to your home directory (similar to My Documents in Windows)
- "cd -" - Go back to the previous directory you were in (handy if you forget)
Controlling Running Apps
- "top" - View running processes (like the Task Manager in Windows) press "q" to quit
- "killall [program name] - Stops running process (use with care)
- "rm <filename>" - Remove a file, eg. "rm somefile.txt" or "rm /home/me/randomfiles/somefile.txt"
- "rmdir <directory>" - Will remove a directory, but **only** if it is empty!
- "rm -r <directory>" - Will remove a directory and its contents ("-r" means recursive)
- "rm -rf <directory>" - Will remove a directory, all of its contents, without asking you first. Use with extreme care. ("-f" means force)
- "mv <original filename> <new filename>" - Moves a file to a new place, also used for renaming, eg. "mv somefile.txt somefile_backup.txt" will rename it, but "mv somefile.txt /home/me/backup/somefile.txt" will move it. This will also work for directories.
- "cp <file to copy> <new filename>" - Copy a file, eg. "cp twoweeks.txt twomonths.txt" copies into current directory, while "cp twomonths.txt /home/me/ihaveadream/twoweeks.txt" copies to another directory.
- "cp -r <directory to copy> <new directory name>" - Copy a directory and all of its contents to another location.
- "touch <new file name>" - Makes a new (empty) file
- "mkdir <new directory name>" - Makes a directory
- "cat <filename>" - Prints the contents of a file, eg. "cat hellolo.txt"
- "clear" - Clears screen, terminal input begins at the top again
- "date" - Your friend, the terminal will tell you the date
- "cal [month] [year]" - Makes a pretty calendar, eg. "cal 12 2009" or "cal * 2010" or "cal 1 2010 > fingers_crossed.txt" sends output to file
- "history" - Gives a list of the recent commands you have run. Running !number (e.g. !15) will rerun that numbered command in the history list
- "vi <filename>" - Opens the file for editing in vi 
History Search: Press CTRL-R. As you type, BASH will try and find the command in your recent history that most closely matches what you are typing. To get back to the prompt, press CTRL-C.
Autocompletion: Press TAB. The terminal (also called the shell) will attempt to intelligently figure out what you're trying to type. It needs something to work with however, so try pressing TAB half way through a command or location.
eg. "cd /home/me/pandora_suc" *TAB* will complete it as "cd /home/me/pandora_success" or with a filename "cat /home/me/letters/i_want_the_pandora_to_fa" *TAB* will turn into "cat /home/me/letters/i_want_the_pandora_to_fall_into_my_hands"
Directory aliases: There are some special directory names you can use to refer to a directory that would be too long to type otherwise, or that you simply don't know the name of.
- "~" - Refers to your home directory e.g. "/home/user".
- "~seconduser" - Refers to someone else's home directory.
- "." - Refers to the current directory, or the "same directory" in a path. What this means, is that if you type "cd .", nothing will happen since you already are in ".", and if you type "cd somedir/././././././.", you will simply go to "somedir", since the "."-directories that come after it are the "same directory" as the one before them.
- ".." - Refers to the directory in which the current directory is, or the "parent directory" in a path. If you type "cd .." you will come to the parent directory of your current directory, and if you type "cd s1/s2/s3/../../..", nothing will happen, since the path you specified cancels itself out.
Many applications will come preinstalled into the internal NAND; these will be regular Linux applications (not packaged into pnd files, since they do not need to be redistributed to anyone.)
Additional applications may be found as pnd-files (see below, a packaged up single file representing an entire application) or as regular Linux files (an application likely being made up of many files and possibly needing installation.)
What Is Included?
- Ångström Linux: Lightweight beautiful Linux-based operating system for the Pandora.
- Xfce: A full featured window manager for Linux.
- Midori: A full features web browser, designed to be lighter and faster than a full desktop style browser.
- Lightweight office utilities including Abiword, Gnumeric, and ClawsMail.
Where Can I Get More Apps?
There are many ways to get more applications onto your Pandora.
- The easiest way is to browse the Open App Store, where you can download a selection of free or commercial applications. To download, navigate to an app, pay for it if you must, and hit the 'download' button. Select where you want to save it, and you're done!
- There is the good ol' Pandora File Archive.
- There are nice repositories, such as the Angstrom ARM Repository, or...
- The Pandora includes the package manager ipkg.
- Also, people may upload their apps to weird crevices in the net, so be on the lookout! (or use a search engine)
Introduction To .PNDs
What Are .PNDs?
A .pnd ("pandora") file is an application (game, word processor, emulator, whatever.) More accurately, it is a full application bundled up into a single file; think of it like a zip, with a relatively well defined internal structure.
The pnd-file system was designed so you could use an application without the hassle of installation or uninstallation, or even having to organize it yourself if you don't want to. You just download or obtain the pnd-file, and use it.
If you remember classic computers such as the Amiga - where you inserted a disk and then launched the applications read by Workbench (the Amiga's operating system) - then this is similar: when you insert an SD card into one of the two slots, the (Linux based) Pandora OS will scan it for your PND program files. Any program it finds will either turn up on the desktop or the application menu (just like in Windows).
More details can be found in the "libpnd hub" part of the wiki, but that is more oriented to techies and developers.
How do I run a PND-application?
Put your pnd-files in your SD (see below for some suggestions where.)
A pnd-file is usually invoked in one of the following ways
- browse to the file using the directory browser, and click to run it. (.pnd files are file-associated to another program, pnd_run which knows how to run them.) This lets you organize pnd-files in directories of your choice on the device NAND or SD.
- in PMenu, the applications will be shown by name; you can just select and run them from the menu
- for pnd-files placed into /pandora/menu on SD, the application will be shown in the Start menu on the device; use your stylus or buttons to invoke it
- for pnd-files placed into /pandora/desktop or /pandora/apps on SD, they will show up automatically on your desktop; invoke them with the stylus, your finger, or controls as you see fit
Where Do .PNDs Go?
Put .pnd-files into specific directories if you want them to show up in the Start menu or on your Pandora desktop, or in Pmenu.
You can put them anywhere you like in internal NAND or SD, if you wish to organize them yourself and launch them with taps.
/pandora/desktop -> pnd files show up on the desktop
/pandora/menu -> show up in the Applications menu (by the developers suggested categories.)
/pandora/apps -> show up in the desktop, and in Pmenu
These locations are not written in stone. The "libpnd" config files are in /etc/pandora/conf in the NAND. Generally you will never need to alter these files, but you certainly can if you wish. In theory, obliterating the files will still leave the system working, and they are easily restored. One file, /etc/pandora/conf/desktop defines the "search paths" to look for .pnd files, and where to put ".desktop" files when they are found. The searchpaths says where to find them (such as /pandora/desktop), and where to put the application link - /usr/share/applications is where the menu items are pulled from. IF you wish to put pnd files somewhere not in the searchpath, just add the directory to the search-path and you're good to go.
If I want to override the .PND icon, name, or other settings, how? (Slightly advanced topic)
The easiest way right now is via the "override" (or "overlay") system -- .ovr files.
An .ovr is just a text file you create, with the same name as the pnd-file and in the same location, but with a different file extension. Piece of cake.
If your pnd-file is Hatari.pnd, and you're putting it into /pandora/desktop, then you might create an ovr file for it as: /pandora/desktop/Hatari.ovr If you wish to provide your own icon, create it with the same location and filename, but as a .pnd file: /pandora/desktop/Hatari.png
.ovr files are automatically supported by the system so should work across all pnd-application aware applications and desktops. .png icon overrides have to be handled by the menus, but are already handled by minimenu and anythign using the .desktop system (such as xfce full desktop or other standard desktop environments.)
An ovr-file simply looks like this:
The ovr file may (at this time) override the icon title, the CPU clock speed to set on launch, the main category, and the first subcategory for the main category. Additional fields will become overridable.
Minimenu honors up to 3 lines of 'notes', pulled from the .ovr file. (Make sure they are in the right subapp group). note-1, note-2, note-3, see example below. The notes in minimenu are shown at the bottom of the detail text panel.
[Application-0] title HatariHack0 maincategory Audio maincategorysub1 Emulator [Application-1] title HatariHack1 clockspeed 200 note-1 My text for note line 1
Notice the Application-0 and Application-1 -- any given .pnd file may include multiple applications, so you need to assign your overrides to the correct "sub application". It can be tricky to figure out which subapp you wish to override, but there are some tricks. minimenu, for example, shows the subapp-number in the detail panel. When looking at a .desktop filename, you'll notice #0.desktop .. some number after the # is the subapp-number.
Where does my data go? How do I make files visible to the applications?
An application normally will see what is contained within the pnd-file, or your personal data created with the tool; it can of course look anywhere on the SD or device internal memory. For example a Quake port might expect to see extra level files in /quake, or give you a way of selecting a path to put files in.. or it might just expect it to be in your personal data folders, or in the pnd-file itself. Its up to the application, with suggestions in the pnd-guidelines for developers.
The first time a pnd-application is run, an "app data" directory is created for it; anything that app data folder contains will be visible to the application as if it was in the pnd-file (and in fact, this lets you override files in the pnd-file without modifying the .pnd itself, which could be handy.) If your app creates a file "foo", it'll show up in /pandora/appdata/appname-id as "foo". The actual appdata folder name depends on the name used by the developer, but should generally look like application-name and some funny number afterwards. It should be easy to spot.
ex: Quake 1 will probably put score or save data in /pandora/appdata/quake1-123/ or somesuch.
It will always be helpful to read the description or readme file included.
Hatari (Atari ST emulator) by default is set to look in "./disks" for the disk images (ROMs) to use. What this means is within the pnd-file (where no disks are supplied), and in the appdata directory. With Hatari, you can browse anywhere from the UI and pick a disk anywhere on your SD cards, but by default it'll look into the ./disks directory.
So you might put Hatari into the menu (/pandora/menu/Hatari131.pnd), or into the desktop (/pandora/desktop/Hatari131.pnd), or somewhere else. Regardless, the appdata will be (with the version I'm building now), /pandora/appdata/hatari.skeezix and thus you would put your .ST or .MSA disk images into /pandora/appdata/hatari.skeezix/disks to make them visible to the emulator. However, given it features its own UI, you can put them into /roms/atarist or /disks or whatever, and use them from there.
Q: How do I make ROMs available to an emulator?
For something like ROMs, hopefully a developer consensus will lead either to a canonical location, or a convention of having a directory picker or browser present, so that ROMs can be stored in SD locations of your choice; doesn't strike me as something that should be in a pnd-file, or to be pretended to be in a pnd-file with appdata tricks.
Q: How do I make pak-files available to Quake?
For some add-ons or data needed for a game, the developer may require it to be 'in the main application path'; as mentioned above, just drop it into the appdata folder and the app will just see it.
How Do I Make .PNDs?
More Info About .PNDs
Visit libpnd_hub for more information!
Updating The Firmware
Given a working firmware, you might wish to patch it with official Open Pandora patches; you might also wish to just grab an application from the Angstrom repository, say.
In both of these cases, an ipk file will be made available. (In the future, an automated system may offer to patch up your device or auto-download patches. TBD.)
An ipk file is a compressed installable package.
It should be easily used, but from the Terminal if you wish to manually apply an ipk to patch the firmware, install or update an Angstrom application, it is simple: opkg install foo.ipk
Replacing the Firmware
Rather than patch the firmware, the firmware may be replaced wholesale with a freshly downloaded firmware.
The process for reinstalling the firmware is as follows:
- Extract the contents of the zip to root (main) directory (folder) of your SD card. Fat32 and ext2 filesystems are supported.
- Make sure the pandora is turned off (remove the battery in case it crashes or doesn't turn off by using normal means).
- Insert that SD card into pandora's first slot(it's the one closer to headphone jack).
- Press and hold the right trigger ('R'), then turn the power on (if you have battery removed, insert it while holding R).
- A menu should appear on screen. Select "boot from SD1" using the d-pad by pressing B or X.
- Wait for flash process to finish. Connect the charger to be sure the battery doesn't run out while flashing. Press enter when asked to do so.
- The device should turn off, press power (without holding R) to turn it back on.
- It should then start it's first boot process which migh take up to 15 minutes, be sure to wait for it to finish, otherwise firmware corruption might happen again.
The first firmware release can be found here (Version: 2010-05-01-Zaxxon)
Booting a Firmware from SD
The hardware is capable of booting entirely from SD; if the device is bricked or otherwise has a blank NAND, this could be an option. furthermore you're able to try out alternative operating systems without needing to reinstall your primary operating system.
- Preparing the SD card(s)
- Setting up the firmware on the SD card
Preparing the SD card
There are two main approaches:
- Setting up the firmware on on SD card (meaning you need two partitions - a boot partition, and a firmware partition), and
- Setting things up across two SD cards - meaning you boot from one SD card, and have the firmware on the other.
Operating from one SD card provides you the option of still being able to use the other; operating across two cards provides you he option to have a regular boot-SD, and flip between multiple other SDs for the actual firmware, should you wish to cycle between many operating systems (say.)
The boot partition generally must be FAT32, and then the kernel, MLO and other files need to be unpacked upon it.
The firmware partition must be either ext2fs or ext3fs; under Linux, such a partition can be easily created:
mkfs.ext2 -L LABELNAME /dev/mmcblk0p2 - assuming LABELNAME for the partition - assuming /dev/mmcblk0p2 for your SD device; you'd better check this carefully ;)
Setting Up WiFi
Setting Up Bluetooth
Changing Your Theme
Interesting Menu Items for General Usage
Force all preview caching now
With default configuration, preview pictures will be pulled in as you rest the selection on applications (and not during menu load time, since it is too slow to do that, currently.) When pulled in, a preview pic is cached to RAM (so is instant for pulling up this session again). With default configuration, the preview pic will also attempt to cache out to SD card so that even next session of the menu, it will pull up very quickly (partial second.) However, that very first time you pull up any given preview pic, it will take a few seconds to load due to mounting the pnd-application, looking for the preview inside, and unmounting the application.
The Force All Preview option is in the Select menu; this option allows you to take the preview caching hit right away, for all applications. Trigger this option, then ignore your Pandora for a couple minutes while it chugs away.
Upon completion, all pnd-applications containing Previews should have them in their SD cache (assuming you had sufficient space free.) What this means is that pulling up preview pics should be instant for this sesssion, and very fast for future sessions as well.. no more waiting a few seconds for the first time pull up of a preview picture.
Overriding application details
An .ovr file may be created in the same location as a pnd-application, with the same name except for .ovr at the end -- an application named "Foo.pnd" could have an override file named "Foo.ovr"; that file is mostly handled by libpnd (See above for details), but minimenu extends it to support "Notes".
libpnd does not handle preview picture overrides, so minimenu does this on its own.
In the same location as a pnd file, a preview override may be specified.
If the pnd-file is named "Foo.pnd", minimenu will look for Foo_pvw#0.png for "subapp 0"'s preview. "Subapp 1"'s preview would be checked for as "Foo_pvw#1.png"
Default configuration is..
- Runs without X, and with X.
- Look for applications in the Pandora normal places; your SD cards, in /pandora/desktop and /pandora/menu and /pandora/apps
- Look for additional apps in /pandora/mmenu (say, if you want to have minimenu-only applications, for some reason)
- Look for skins in /etc/pandora/mmenu/skins (on Pandora), but also in SD in /pandora/mmenu/skins/ -- so you can develope skins, or download them and drop them there on your SD.
- Will show pnd-applications in their Main Category tab, and in their Main Sub Category 1 tab. (But not in Main Sub 2, or Alt Category, Alt Sub 1, or Alt Sub 2)
- Will show an "All" tab
- Will show a tab for each non-empty directory in /media -- ie: your SD cards (or USB devices, or other mounts)
- Will not wrap tabs -- when you hit right-trigger to switch to the next right tab, and there are no more, it won't go to the first tab
- Will use DaveC's skin
- Will load application icons when the menu starts up (its pretty fast, so this is usually okay)
- Will load preview pics after the selection rests on an application in the grid for a second or two (ie: not on startup, since it is _very slow_)
- Will try to cache preview pics onto SD card (firstly on the same SD as the application, but will also search other SDs/devices until it finds one with at least 500KB free space)
- Will load preview pics in real time (make you wait while it loads, not do it in background while you do other stuff.)
- Will scroll whole page of the grid up and down
- Will wrap around left/right of grid, staying on same row
- Will wrap around top/bottom of the grid
- Will look for 'category conf' file in /pandora/mmenu on your SDs as mmcatmap.conf; most people will never create this file
- Will honour icon overrides and icon name, category overrides (this is handled by libpnd before minimenu sees it.) However, will also look in the ovr file for 'notes' to show in the Detail panel, and will also look for "preview overrides".
Users will generally not have to touch mmenu.conf at all -- hopefully the defaults are sensible. Still, it can be tweaked.
Skinners will generally touch mmskin.conf in their skin's directory, and WILL NOT put options in their that belong in the other conf files. Thus we achieve separation -- user can change skins and still have their settings applied, and the skin can change its appearance its own way without depending on user mucking with files.
Minimenu will search for mmenu.conf in a sequence of locations, so that you may override it without clobbering the built in system defaults.
- /pandora/mmenu/mmenu.conf - so you can override it on your SD cards
- /etc/pandora/conf/mmenu.conf - the system default
- ./minimenu/mmenu.conf - so you can run from 'current directory' while doing development. Most people can ignore this.
Options in minumenu are broken up into config file sections.
Most options have internal defaults, but many do not, so the conf files are needed; if you break a conf file, it will often still work.. but you can make minimenu crash, so be careful and keep conf file backups. It is probably wise to edit conf files via the override on SD cards, and put skins on SD cards, so that worst case.. pop out your SD and you're good to go with default system again.
- skin_searchpath -- defines the directories that will be searched to find skin-directories. A skin directory is a _directory containing mmskin.conf_ so searchpath may include /media/*/pandora/mmenu/skins to mean that SD cards will be searched in /pandora/mmenu/skins - a skin named "Foo" will then be /pandora/mmenu/skins/Foo/ and contain mmskin.conf
- skin_selected -- defines where to store the name of the activated skin; if this file does not exist, or the named skin cannot be found, the skin named 'default' will be searched for in skin_searchpath
- skin_confname -- the name of the conf file to look for in skins; if you change this, everything will break :)
- load_previews_new -- if set to >0, will attempt to load preview pics _at startup of menu every time_ -- EXTREMELY SLOW for un-cached previews; if, however, you have recently done a "force cache all previews", and thus are fully cached, it might not be too bad. Highly unadvisable.
- load_previews_later -- if set to >0, will want to load preview pics later; if set to 0, will not even try to load preview pictures, ever.
- load_icons_later -- if set to >0, will attempt to load icons after menu starts; normally set to 0, meaning load icons during menu startup (advisable, since its pretty fast.)
- defer_icon_us -- when load_icons_later is activated, this is the microseconds delay between loading icons. (ie: background thread will load icon, then another icon, then another .. with this delay between)
- threaded_preview -- if set to >0, will load preview pics in background; not advisable. Normally will make you wait while preview happens. First releases of Pandora will probably take a few seconds to load each preview, and doing it in background chugs the user experience too much. (A later improvement to pnd_run.sh or creating a fast-mount script that skips the Union Filesystem Mount will make preview loading MANY times faster, at which point this might be a good option.)
- loglevel -- if you wish to turn up or down the logging
- x11_present_sh -- define the command used to figure out if X is present or not; some apps require X, or require no X, or don't care; the menu may decide to filter out apps depending on their requirements and whethor X is running or not
- desktop_apps -- if set to >0, will look in the desktop searchpath for apps (/pandora/desktop say; see /etc/pandora/conf/desktop)
- menu_apps -- if set to >0, will look in menu searchpath too -- see /etc/pandora/conf/desktop
- aux_searchpath -- if you wish to look somewhere else for applications entirely (such as for minimenu specific apps? or another pile of apps?) then look in this searchpath
- terminal -- specifies the command to run when the Select menu is used and user requests to run a Terminal; ie: you could set it to Xterm, or Konsole, or Terminal, or whatever you prefer.
- fullscreen -- if >0, will attempt to grab the full screen and have no window decorations when in X11; if 0, will be a normal window that you can flip to other windows
- screen_width -- used for calculation of a few defaults; don't mess with it.
- wraparound -- if >0, will wrap from leftmost tab to rightmost tab and vice-versa, when trying to switch tabs using the triggers. Normally will just stop at left/rightmost tabs
- top_maincat -- if >0, will include apps in the tab for their main category
- top_maincat1 -- if >0, will include apps in the tab for their main categories first subcategory
- top_maincat2 -- if >0, will include apps in the tab for their main categories second subcategory
- top_altcat -- if >0, will include apps in the tab for their alternate category
- top_altcat1 -- if >0, will include apps in the tab for their alternate categories first subcategory
- top_altcat2 -- if >0, will include apps in the tab for their alternate categories second subcategory
- scroll_increment -- when scrolling the grid up/down, how many rows to scroll by
- wrap_horiz_samerow -- when wrapping left/right on the grid, stay on same row or go to next/previous row?
- wrap_vert_stop -- if set >0, will not wrap top/bottom when user pressing up/down
- defer_timer_ms -- the amoung of time (milliseconds) that the user most leave the selection in one place before the menu goes to pull up the preview pic (either from RAM cache, SD cache or pnd-file if not yet cached)
- do_cache -- if set to >0, will attempt to cache preview pics from pnd apps out to SD for faster loading next session (ie: in first release of the device, pulling preview from pnd may take 3-4 seconds, but pulling from SD cache may take half-second)
- cache_searchpath -- the list of locations to attempt to _cache to_ -- after pulling a preview pic, try to stick the preview here for faster retrieval; note that it will always try the same drive as the app came from first, to try to keep the preview in the same SD as the pnd is.
- cache_minfree -- the amount of space required to make the SD usable for caching too; ie: this is designed so the cache will not use up your vary last amount of space on an SD. If space is insufficient, the next location in cache_searchpath will be checked
- cache_path -- the location to write the cached preview pics out to, relative to the matching searchpath; ie: If a pnd-file is on SD2, it will first try SD2, and then check SD1 and go across the searchpath; once a candidate is found (if!), then the cache_path on that device will be used
- cache_findpath -- the searchpath that helps the menu find the previews; should work out to the same locations as covered by cache_searchpath but include the full cache_path as well, but could also include other locations should you have downloaded pre-cached previews or preview overrides
- catmap_searchpath -- the searchpath to be looked through to find the mmcatmap.conf file (which need not exist at all.)
- catmap_confname -- should you wish to rename the mmcatmap.conf file for some reason
- do_all_cat -- if >0, will show an "All" tab to which all applications will be sent (in addition to their other categories as defined in [tabs] above
- do_browser == if >0, the directory browser will be enabled
- tab_searchpaths == the list of directories that will be opened for browsers, and each will have its own tab
Note the examples: NOTE: to keep from having a million tabs, minimenu will only show directory browser tabs that are non-empty
- if tab_searchpaths is just "/media", then one tab ("/media") will be created, and you can browse that
- if you put "/media/*", then one tab will be created for each subdir in /media (one per SD, plus USB and other mounts)
- you could make the browser point to many locations, such as "/media/*:/:/home" which would show one for each /media subdir, as well as a tab for / (root of filesystem), as well as /home (show one to contain all home directories.)
Setting up Category Mapping/Merging/Aliasing and Custom Tabs
An optional conf file may be created to specify 'category mapping' functionality.
This conf file should be called mmcatmap.conf (unless the name has been changed in mmenu.conf), and should be located in one of the following locations (unless an alternate searchpath has been specified in mmenu.conf)
- On your SD cards in /pandora/mmenu/mmcatmap.conf
- on device in /etc/pandora/mmenu/mmcatmap.conf
- ./minimenu (relative to current working directory) as mmcatmap.conf -- really only useful for developers
The goals of the mmcatmap.conf are a few..
- Allow renaming or aliasing categories (from what developers specify in pnd-applications PXML.xml)
- Allow merging categories (so you can put apps that would be across 5 catrgories, into 3 of your own design)
- Allow order of tabs to be specified (rather than be 'random' as determined from applications)
Applications are _encouraged_ (but not forced) to stick to Freedesktop Category Standards (and should stick to syntax standard.. ie: no spaces, etc.) So in general you should encounter a limited number of categories (not "Foofy123!" but things like "Games" with subcategory "Emulator". See PXML.xml specification for guidelines.) However, developers may specify whatever they like into the PXML.xml and perhaps you disagree or wish to use your own category/tab assignments.
Note on category overrides
There are two main kinds of overrides in this context:
- A per-pnd (and per-subapplication) override; see .ovr files above and below for how to override a category of a specific application
- A per-category override; that is what mmcatmap.conf is for, read on!
[categories] # Normally for mmenu, an encountered category is just used as is. 5 cats exist, you get 5 tabs. # If map_on is >0, then category transforms will occur # @NEWCAT oldcat1:oldcat2 <- means oldcat1, if found, will map to NEWCAT. "@" is discarded. # NOTE: FreeDesktop rules do not allow categories with spaces in the name; if needed, I can add it with quoting. # If map_default_on is set (>0), then any unmapped categories will be forced into the default category bucket (map_default_cat.) # If map_default_on is off (=0), then unmapped categories will become their own categories as normal. # Should probably still have an @ line to create the default category, since creating the cats comes before assigning defaults # NOTE: Individual app overrides occur at the time of app scanning, so before this category mapping occurs and thus is effected map_on 0 # if >0, will do category mapping at all; if 0, don't do any of this. map_default_on 0 # if >0, any unmapped category will get forced to map_default_cat; set to 0 to leave unmapped cats alone map_default_cat Spam # see map_default_on # NOTE: List the categories in reverse order to how you wish them in the tab list; last one shows up as first tab @Woogle Audio @Jimmy Game @Spam
- map_on -- if >0, will turn category magic on; by default, this file and section is ignored.
- map_default_on -- if >0, means that any category not otherwise mapped will be sent to the map_default_cat category. ie: So you must now define mappings for all tabs to _keep_
- map_default_cat -- the name of the category that all not-explicitly-mapped categories will be sent to, if map_default_on is set (similar to how "All" tab works)
The main goods are the config entries starting with "@"
NOTE: The tabs in the config should be listed in reverse order to how you wish them displayed. In the example above, you will get tabs "Spam", "Jimmy", "Woogle", even though they are listed Woogle, then Jimmy, then Spam.
The format is: @TABNAME<whitespace>category1:category2:category-etc-etc
example: Map the category "Audio" to be instead called "Woogle".
example: Map the category "Game" and "Audio" to instead be called "Multimedia"
NOTE: In the large example above, note that the "default" is specified to be "Spam", and if enabled, you then need to define "@Spam" tab for it to refer to (even if nothing is mapped to it in the @Spam line itself.)
NOTE: The categories will at first come from the pnd-applications (in their PXML.xml as specified by the developer), and then possibly be overriden by the .ovr file. This is at the libpnd level before minimenu ever catches wind of the application. Then during application discovery, minimenu will get a list of categories and applications, and pass them through mmcatmap.conf to determine the final list of tabs and categories to use.
Consider: If two pnd-files ezist, as in AwesomeGame in category Game, and SoundOff in Audio, you will normally get two tabs (Game and Audio), plus an All tab, plus a /media/mmcblk1p1 tab for SD1 (say.) If you then put in mmcatmap.conf a line "@Foo Audio", then you will essentially rename Audio to "Foo", and still get two tabs - Game and Foo. You could create a new tab with "@Whizzo Audio:Game" to merge those two categories into one new one called Whizzo, instead.
Skinning the Interface
Setting up a skin you download
Creating new skins
Oops! I Borked My Pandora!
Fear not, young netizen! Your Pandora was designed to be unbrickable, so unless you used the ancient art of alchemy to physically turn your Pandora into a brick (or you just broke the hardware inside), you should be okay!
Restore The Original Firmware
Boot From SD or USB
Silly goose, go to the FAQ page for more detailed information.