OpenDingux
About OpenDingux
OpenDingux is a modern Linux distribution for the Dingoo A320/A330. It uses standard Linux interfaces as much as possible, to make it easier to port software from/to OpenDingux.
Notice
OpenDingux is similar to the original (legacy) Dingux, but not 100% compatible. If older Dingux software doesn't run, please look for a more recent build/port of the same program.
Documentation
Read the About page on the Dingoo Wiki and the OpenDingux FAQ.
See below for developer documentation.
2012-06-16: First end-user release
The kernel of this release is based on Linux 3.4 and the root file system is based on buildroot 2010.11.
Changes
kernel:
- splash screen
- new mininit, compatible with more SD cards
- scheduling options tweaked to get better performance
- configurable color table for ILI9338 (can compensate for too blue screen)
- don't monopolize CPU when initializing LCD controller
- added support for V-SYNC (reduces tearing)
- added support for more TV standards: PAL-60 and PAL-M
- increased backlight frequency (prevents wavy backlight)
- sound buffer size enforced to be a multiple of period size
- easy-to-read console font
rootfs:
- SDL updated to 1.2.15
- SDL patched to support V-SYNC
- added Python 2.7 and pygame
- brightness setting is remembered
- fixed issue where sound was off after shutting down with TV-out enabled
- added menu-based TV-out configuration tool
- added system information feature
- added sound configuration tool (alsamixer)
- show only graphical loading screen when loading apps
- added htop (for developers; start via telnet)
toolchain:
- upgraded GCC to version 4.7.1
- improved default optimization: targets mips32 processor, tunes to mips32r2
- link-time optimization (LTO) is disabled for now
- enabled WCHAR support; this is one of the incompatibilities between legacy Dingux and OpenDingux, but it allows more software to be ported
Downloads
- Kernel for ILI9325, ILI9331, ILI9338. Download the version that matches the LCD controller in your Dingoo. Rename it to
zImage when you put it on your SD card.
- Root file system. Rename it to
rootfs.bin when you put it on your SD card.
- Toolchain. You need this only if you want to develop for OpenDingux. The toolchain should run on any x86 Linux system (you might have to install 32-bit compat libaries if your Linux is 64-bit). Extract it in
/opt and put /opt/opendingux-toolchain/usr/bin in your $PATH.
2011-09-18: Second developer pre-release
The kernel of this pre-release is based on Linux 3.0 and the root file system is based on buildroot 2010.11.
Changes
kernel:
- fixed double buffering when TV-out is active
- made framebuffer cacheable; this can speed up rendering considerably
rootfs:
- changed supported image formats for SDL_image; fixes games that use JPEG images
- added libmikmod and support for it in SDL_mixer; fixes games that use music in MOD or other tracker formats
- many small improvements to gmenu2x
- updated pwswd: kill active application using power + select
- renamed TV-out configuration file: tvout -> tvout.conf
- enabled memory overcommit; should allow more big programs to run
toolchain:
upgraded GCC to version 4.6.1 the rootfs that was compiled with GCC 4.6.1 malfunctioned, those problems disappeared when we reverted to GCC 4.5.1
- enabled link-time optimization (LTO) in GCC (but it doesn't actually work because the linker doesn't support it)
Downloads
- Kernel for ILI9325, ILI9331, ILI9338. Download the version that matches the LCD controller in your Dingoo. Rename it to
zImage when you put it on your SD card.
- Root file system. Rename it to
rootfs.bin when you put it on your SD card.
- Toolchain. You need this if you want to develop for OpenDingux. Extract it in
/opt and put /opt/opendingux-toolchain/usr/bin in your $PATH.
2011-09-04: First developer pre-release
The kernel of this pre-release is based on Linux 3.0 and the root file system is based on buildroot 2010.11.
Changes
kernel:
- based on the kernel for Qi Hardware's Ben NanoNote (legacy Dingux uses Ingenic's 2.6.24.3 kernel)
- suspend/resume support
- clock speed changes via cpufreq driver, no conflicts with TV-out
- ZRAM: in-memory compressed swap (successor of compcache)
- support for the built-in NAND storage (readonly)
- new video driver, with double buffering support
- ALSA audio instead of OSS
- alarm feature in RTC (real-time clock) driver
- watchdog driver: reboots the device if the system crashed
- auto-detection of the memory (SDRAM) size
- removed /dev/mem and /proc/jz, as they make programs less portable and are unnecessary
rootfs:
- GMenu2X included
- Power Switch Daemon (pwswd) to change volume, brightness etc at any time
toolchain:
- contains GCC 4.5.1 (legacy Dingux uses 4.3.3)
Downloads
- Kernel for ILI9325, ILI9331, ILI9338. Download the version that matches the LCD controller in your Dingoo. Rename it to
zImage when you put it on your SD card.
- Root file system. Rename it to
rootfs.bin when you put it on your SD card.
- Toolchain. You need this if you want to develop for OpenDingux. Extract it in
/opt and put /opt/opendingux-toolchain/usr/bin in your $PATH.
Documentation
Read the developer documentation on the Dingoo Wiki and the OpenDingux Development FAQ.
Sources
- kernel
- The kernel is maintained at the Qi Hardware git repository.
- root file system
- The root file system is built with buildroot. Our version is maintained at opendingux-buildroot on github.
Please read the wiki entry about Building OpenDingux from sources. Releases are tagged as od-yyyy-mm-dd in git.
Bug and Feature Requests
- kernel
- File them at the opendingux-kernel issue tracker on github.
- root file system
- File them at the opendingux-buildroot issue tracker on github.
Contact
The OpenDingux project is maintained by Maarten ter Huurne (mth) and Paul Cercueil (Ayla).
Join #dingoonity on freenode for a chat.