Firmware Updates

The update process depends on which firmware version your Zero is currently running. To check the version, go to the "Settings" tab and start "System Info". Look at the dates on the Compiled on lines.

Older than October 2013:
Update to the October 2013 firmware first, then read on below.
October 2013: (2013-10-04)
Install the special anti-corruption mini-update to fix a data corruption issue that can prevent the full update from succeeding. After that, install the 2014-05-05 update and finally the 2014-08-20 update.
May 2014: (2014-05-05)
You can install the 2014-08-20 update right away.

You can find installation instructions below the change logs.

OpenDingux Release 2014-08-20

Download: OpenDingux Update for GCW Zero

Image Scaling:

The hardware image processor (IPU) is now used to rescale video to fit the Zero's 320x240 screen. This is already useful for some applications and is an essential step towards HDMI and analog TV-out.

Applications can be modified to request resolutions smaller than 320x240, which will then be scaled up in hardware. This can allow for example some emulators to run a bit faster. By default, scaling will preserve the aspect ratio, but if you prefer to have no black borders even if that means distorting the image, you can switch modes using Power+A.

Applications can also set the key X-OD-NeedsDownscaling=true in their OPK metadata to request the use of resolutions higher than 320x240 which are then downscaled to 320x240. This can help in porting PC applications that need for example 640x480 output resolution. For applications that can render in either low (320x240 or below) or high resolution, we suggest to not set this key and render in low resolution, since outputting fewer pixels is better for performance and battery life.

G-sensor:

A driver was added that makes the g-sensor in the Zero available as a joystick. Applications that want to use this should set X-OD-NeedsGSensor=true in their OPK metadata.

Rumble:

A driver was added for the rumble motor inside the Zero. It can be used via the SDL2 haptic API.

GMenu2X Improvements:

The file selector is now a lot faster when entering directories with lots of files. Also the button repeat rate is now configurable, so you can increase this if you think scrolling is too slow.

Preview images (such as screenshots or cover art for game ROMs) are shown semi-transparently full screen behind the file list. Preview images should be placed in a directory named previews below the directory containing the data files, where the preview image has the same file name as the corresponding data file, but with the file extension .png. For example for my-favorite-game.rom the preview image would be previews/my-favorite-game.png.

The displaying of manuals was made faster, bugs were fixed and support for non-Latin scripts was improved. Unicode support was enhanced and long line wrapping is supported in more places now. Messages appearing on selecting the Power Off/Reboot menu entries make more sense now. There were lots of smaller tweaks, bug fixes and optimizations as well.

Two new translations were added:

Date and Time Changes:

We switched to a different hardware clock (RTC) driver. A side effect of this is that the first time you run the new firmware, the date will be reset to 1970 (the beginning of time in the UNIX world). The easiest way to correct the time is to connect to a WiFi access point, then the right time will be fetched over the network (via NTP). Alternatively, you can manually set the time using the clock application.

When the system time is updated via the network (NTP), it is now properly saved in the hardware clock (RTC) on shutdown; previously a bug prevented this.

A time zone database was added. There is no GUI for it yet, but from the command line you can create a symlink from /etc/local/timezone to the file under /usr/share/zoneinfo/uclibc/ representing your local time zone.

Changes for Developers:

Other changes:

OpenDingux Release 2014-05-05

Download: OpenDingux Update for GCW Zero

If you encounter "Flashed image is corrupted!" error messages when installing the 2014-05-05 update, there is a special anti-corruption mini-update to fix that issue. Install it and then retry the 2014-05-05 update. Note that this mini-update is intended only for October 2013 firmwares; you can find the firmware version in the System Info application under the Settings tab.

Root file-system changes:

Kernel changes:

GMenu2X:

Power switch daemon:

New important libraries:

OpenDingux Release 2014-04-27

This update was retracted because the files it installed could be corrupted while copying and one of the checksum verifications that protects against activating corrupted installs didn't work either.

OpenDingux Release 2013-10-04

Download: OpenDingux Update for GCW Zero

Changes:

OpenDingux Release 2013-09-13

Download: OpenDingux Update for GCW Zero

Changes:

OpenDingux Release 2013-07-22

Download: OpenDingux Update for GCW Zero

Changes:

OpenDingux Release 2013-07-06

Download: OpenDingux Update for GCW Zero

Changes:

How it works

First make sure you have a backup of all valuable user data you have on your GCW Zero, such as save games.

Download the most recent updater application above. Transfer the application (OPK file) to the apps/ directory on your GCW Zero. Then start the application from the menu:

You can select an option with the d-pad and confirm your choice with the start button.

While the update is in progress, you'll see progress information being printed showing what the updater is doing. The update process takes a few minutes, please be patient while it does its work, even if you don't see anything happening for a while on the screen. The output should look like this:

When you press start again, the system will restart. After the restart you can check that the new kernel and rootfs were installed in the System Info application:

The compile date for the kernel and rootfs should be equal to or very close to the date of the updater application.

After the update is complete, you can remove the updater application (OPK file).