Kernel
Framebuffer
- Add rotate function (not sure what it's used for)
- Brightness control
- Turn off backlight when lid is closed. Code is there, see user/hinged for an example
- Screen blank causes the Speakers to be turned off but the headphone socket still works - Due to the way power management is handled, should be using SPI bus
- Change from romfs to initramfs so memory can be free'd and provide a r/w root.
Audio
- Input - DONE
- Provide devices nodes for correct ALSA operation (oss only atm), may be better to use uDev/initramfs
Other Kernel Tasks
- Driver for DSerial EDGE
- Support for more than one DLDI device
- Fix roaming between multiple APs with the same ESSID.
- Reproduce kernel panic at boot when gunzip is enabled in busybox and try to fix this if possible. - DONE (Never heard of this one, GNU gzip is enabled now anyway)
Import libwifi fix described here
Build system
- Fix compilation warnings across the whole tree (this is an ongoing task and will never be 'done').
- Clean up Makefiles for each build. Make sure they share as much code as possible by including a general Makefile. Make sure that all errors can be detected by make by splitting long shell command chains into single commands.
- Generate /etc/version containing revision and build type - DONE
Userland
- Text Menu (pdmenu?)- replimenu
- Try to port various tools (fetchmail, nbsmtp, BSD mail, centericq, fetch).
- setup.sh script to configure various system parameters (set timezone, add user, configure mail tools, etc...). Should have a friendly interface (curses?, dialog?) and somewhat resemble setup procedures from other distributions like Debian or Slackware. This point depends on a lot of other points in this list. A shell script may use too much memory, consider writing a C program using ncurses - DONE see cfg_rc
- Fix various bugs that prevent bsdgames from running properly. - Partially done
- Fix autologin (agetty respawning to fast error when /etc/autologin.conf set to no - DONE
- Update mathomatic to latest version.
- Add support for more character sets than just ASCII.
- Add man pages (and/or other form of online docs) to DLDI builds(in progress).
- Fix rc.d scripts so they check for process existence before starting/stopping - DONE
- Fix SAMBA so the DS shows correctly in Network Neighbourhood (NMB daemon needs to run standalone rather than inetd?)
- Fix firmware and wfcdump to correctly locate settings on IQue DS ("On iQue DS (with 512K flash memory), user settings are moved to 7FE00h and up")
- Consider using an rsync daemon on the DS to speed up transfers. rsync seems to port ok, can we get a rsync mirror for downloads on kineox?
- Fix /etc/rc.d/shutdown to kill processes in /var/run before poweroff.
PIXIL
- Convert the pixil "applets", as they are using dlopen(). (Done for date, backlight and battery applets. The other applets can be transformed likewise).
- Connect the backlight and battery information to the DSLINUX kernel. This involves some kernel work and some PIXIL work in /user/pixil/libs/pixlib/platform/dslinux.
- Rework of the layout, adaption to the size of the screen.
- Some artwork for splash screen and modern symbol bitmaps. (Splash screen has been updated by Alessandro Lo-Presti).
- Enabling the MP3 player. NOTE: best may be to code a new frontend to madplay, using the tty controls of madplay.
- Enabling the Webbrowser ViewML. (GPF has done. Breaks down 99% of the time. Needs to set a bigger stack???)
- Make speed enhancements. (Partly done. Simple "shared memory" implemented. Not much faster...)
- Fix nxterm, console output seems to be going the wrong way (example: vi /etc/rc.conf fails)
Current Limitations
Sound
- ALSA driver probably needs more work
Networking
- DHCP and channel scanning do not work for some people
- Maybe port another dhcp client to see if that fixes peoples problems
Other
- Only character set available is 128 character ASCII.
- DSLinuxHistory
