Open2x is an umbrella project to bring open source, community friendly, solutions to the GP2X Linux handheld system. The project consists of a number of complementing sub-projects that work together to deliver things such as the Open2x toolchains, kernel and firmware.

Release notes:

This should be considered a release candidate,
so please report all bugs straight away.

Read these instructions before starting.

How to install:
* Copy the contents of the ON_SD directory to the root of a FAT32 formatted SD card.
NOTE: If you encounter problems, try a different card reader or card. Some
F200s won”t read SDs that F100s will and vice-versa. Some card readers will
corrupt data going to a card they don”t like. Try, try again.
* Insert the SD card into the GP2X and boot whilst holding Start+Select
* After the “Firmware Upgrading” screen, you will be promted to press any button – do so.
* Wait for the installation to complete (Formatting NAND/Copying Firmware are the two stages).
* When the image on-screen tells you to, turn off the machine.
* Boot the machine holding Start+Select.
* Wait for the firmware upgrade to complete
* Done!

New features from Senor Quack:
( Users requested I list my Paypal email, so here it is:
donations or thank-yous to dansilsbygmail(DOT)com
are of course much appreciated.. )

* Software reset: if a program crashes or hangs, press
VolUp+VolDown+A+B+X+Y+L+R and then release all buttons
and watch as the Open2X kernel kills off the errant program
and automatically relaunches GMenu2X. It should take 5
seconds or so for the menu to start to relaunch, though
it might take a little longer if it”s a big program.

* TV tweaking daemon, customizable for each program. Gives
most programs 100% perfect TV out. Will not work with some
HW-accelerated SDL apps that used double buffering,
however. Supports tweaking the YUV layer if you find your
movies are off-center in the video player, too.
NOTE: I only have an NTSC TV, so I have no way of knowing
if this even works with PAL TVs, please get back to me
and lemme know if it works or not.

* Support for direct control of the GP2X from a USB gamepad.
Joy2Xd is a new background daemon that can be fully
customized for all sorts of USB gamepads. When running,
the first joystick (leftmost USB port) can control
every single GP2X button in every single GP2X app ever
made, including GMenu2X. Play games and watch movies from
the comfort of your couch. If an app crashes, you can
just hit the same buttons you would on the GP2X to relaunch
the menu: VolUp+VolDown+A+B+X+Y+L+R. For each app, you
can configure you you want the USB joystick used to
control the GP2X to be hidden or shown to apps. This
configurability allows compatibility with every single
emulator I tried. Some need the hidden option turned on,
some have good customizability and don”t need it. Be sure
to run the configuration program in Settings before
turning Joy2XD on from the Open2X settings screen.

* Controls remapping for SDL applications (and others that
read /dev/GPIO for their button inputs). In the GMenu2X
links settings, you”ll see you can map each GP2X button
to a different one. This should work on every single SDL
program every compiled for the GP2X that used the SDL
input layer. (Some apps did not but they are very few)

* Support for volume scaling and muting for all applications.
Press Vol-/+ in GMenu2X and see the icon in the bottom
right change to indicate Normal Mode, Headphones Mode, and
Mute Mode. You can configure the volume levels in the
Open2X settings. Mute mode entirely mutes the GP2X for
all apps until you change it back. Headphones mode makes
the GP2X much quieter overall so you don”t lose your
hearing. Thanks to PokeParadox for helping me get this
wedged into GMenu2X.

* Support in GMenu2X for SD insertion/removal. GMenu2X now
stores all links in a special folder on your SD: .open2x_gmenu2x/
Hit X in GMenu2X to unmount your SD card before removing it.
If you insert a new one, GMenu2X will automatically scan and
display its links. Make sure your SD”s filesystems are free
of any errors, as these can make unmounting flakey.
Sometimes Linux just won”t let go of a filesystem and there”s
nothing I can do about it, so sometimes you might find you
still need to reboot if you see Gmenu2X doesn”t pick up the
new card.

* Touchscreen calibrator for F200s

* LCD timings calibrator. Your timings will be applied at every
boot. My F200 unit gained a much better screen image by
reducing the timing to -4. Scanlines were much less
noticable. Even F100 units can benefit. Note: FPLL mode is
not really good to use because it is tied to the CPU speed.

* MMUhack built right into the Open2X kernel. Write buffering
is turned on by default for any and all apps and will not
affect compatibility. This provides a small speedup to a lot
of apps. Write caching is a configurable option for each
link but that often requires that the program originally
used mmuhack.o, lest screen artifacts occur. Most people
will never need this as Open2X now automatically loads its
own version of the MMUhack module when it detects a game is
trying to load its own. (Open2X uses a wrapper for insmod
and modprobe for this purpose)

* Automatic importation of all old GMenu2X links into the new
/mnt/sd/.open2x_gmenu2x/ link location

* Application section links restorer. If you mess up any
links in the application section, this will remove them all
and copy in all the default ones.

* New GMenu2X options: Booting gmenu2xes found on SD cards is now
turned off by default and configurable. Always apply fast RAM
tweak is a new option that overrides all link settings if you
want an overall speedup for no cost in battery life. New
display of current uptime in the bottom info bar so you can
better estimate remaining battery life, especially on F200 with
no battery gauge. There is now a separate gamma setting for
TV mode because I found TV looked washed out most of the time.
External drives can now be unmounted as well as mounted (to
allow clean, safe shutdowns)

* Mindless made the Open2X image viewer. It kicks ass, try it out.

TODO: Make a bugfix list, as I squashed a colony but don”t
have the time to make one.

#open2x on FreeNode