HunterDavis.com 4.0!

16Aug/0922

ScummVM and Monkey Island working on Zipit Z2

New Zipit Update! I've gotten ScummVM working with the new kernel. Xserver-kdrive too, so our memory usage is down again.
Scummvm Selector

You'll need to edit your .scummvmrc file and add the game entries by hand (I still don't have the keys as joystick or mouse in), but they play fine. Update your git tree and remove the zipit temp directory, Bitbake intltool, then bitbake xserver-kdrive. Intltool will fail unless you bitbake it directly, and not as a dependency include. Set the graphics scale to 1x and everything is gravy. Screenshots of the Scummvm selector screen and the Monkey Island EGA DRM scheme are below. This is running even better than the dosbox build as there's not x86 conversion happening!

Monkey Island Starting Up
Monkey Island DRM scheme

Comments (22) Trackbacks (0)
  1. I ordered a z2 last week and now this. Thanks a ton dude.

    I only have a VGA copy of Monkey Island, is that gonna work?

  2. Yeah, probably. I’m about to test full throttle

  3. Are you using the prebuilt kernel or building your own?
    Someone in the IRC channel seemed to believe newer OE kernels would not boot with BLOB.

  4. I’m using the kernel that came with the autoflash I did last update. (OE) Have my quad set up as ipkg repository, so on the Z2 I just ipkg install everything and only upgrade dependencies. Hasn’t caused any issues so far.

  5. Anyone know if just using the provided kernel plus a debian-arm rootfs would work?
    It has debs for practically everything.

  6. For me at least the thought had never crossed my mind……. let me know if you end up doing it, that would save hours and hours of cross compiling time

  7. I am going to try it some time this week or next. I will update when I see how it goes.

  8. Any reason why it would be a big deal to just use a usb mouse with the Z2?
    The expansion port has USB in it, would just need to wire it up.

  9. or is that just for it to connect to a pc, not the other way around?

  10. They’ve got a schematic for it up at the zipit linux page, but I’m thinking it may be a straight serial interface..

  11. sgreen (& Hunter),

    I’ve been using a debian arm rootfs (from a deb bootstrap) on top of Hunter’s wireless+x rootfs and it works pretty well. Initially I had problems, because basic Debian utilities (coreutils, passwd, adduser, etc.) want to replace the busybox ones. No big deal, except that can make busybox mad (and not boot). I haven’t figured out exactly what the set of these tools are, but I just copied the original links back over for a large set of the /sbin and /bin, and away I go. I’m slowly replacing the busybox ones when I find that dpkg needs them (readlink, adduser, find, grep, etc).

    I can now apt-get without fear, though in some cases the ipkg repos are better suited. For instance, Debian’s kdrive package doesn’t work as well as the angstrom repository one (missing the no-mouse option). So far I have a bunch of CLI tools (screen, remind, wyrd, abook, bash) and a few X programs (openbox, xterm, rxvt, feh, xpdf) that came from Debian with no problems. apt-get is great, but you’ll need some serious swap space (I’m using 128mb),

    Perhaps if I built the original Debian system with their busybox that problem would go away.

  12. Fantastic work there Todd! Between this and the keymouse driver (not quite working yet….) we’ve practically got a mini-buntu happening. How’s the execution time for the apt-get with all that swap being used? Ipkg ususally eats up at least another 15 megs of swap past the 32 hard limit but still seems zippy enough. I got enlightenment running last night but still much prefer fluxbox due to the speed increase. I think having multiple flavors of linux running on the z2 does a lot for bringing new people into the fold, major kudos

  13. Thanks. I should find a blog spot (or maybe a wiki) to post how to do some of this. As for “apt-get” I’m guessing it takes up about 10-15 megs of RAM, but I think it’s depends on how big the dependency tree needs to be. But to figure out dependancies for dillo, say right after a bootup, I get times:

    real: 0m 45.87s
    user 0m 7.93s
    sys 0m 1.18s

    So it’s not too painful. The bigger issue is Alignment trap errors, but they just slow down the process. That and I tend to find myself running several applications (links, mutt, and snownews) in a screen session for one user, while installing packages in another. And unloading and moving around memory for the swap can take upwards of 4-5 minutes sometimes. Quite workable, though.

    Did you find a solution for the the extended keyboard inputs? (ie 1,2,3, &,#, /. ? etc) when running in Xfbdev? I’m using openbox to map the Alt+keys using “xdotool”, but it’s pretty laggy. The better solution would be to figure out how to load an appropriate keymap, I guess. I’m also interested in the possibility of “sticky” or “toggle” keys for Shift, Alt, and Ctrl–loadkeys can do that in the framebuffer, but not in X.

  14. Hi Todd,
    Good Idea on the blog. People are definitely interested. Those times are not bad at all. Great to hear how much use you’re getting out of the Z2. I do not know what keymap the shell is using… I’ll have to look into that when I get some time. In the meantime, would an .xmodmap file work? That’d be a quick and dirty way…

  15. Looks like dmesg shows pxa27x-keypad being loaded at startup…interesting…

  16. I believe kdrive is using the same layout as the underlying shell (which is specific to the z2) it just won’t translate Alt+characters as symbols when in Xfbdev. I’ve given up on xmodmap, as it’s only to map specific keys (and not combinations). My kludgy workaround is a window manager keybindings tool that calls “xdotool” when I press a certain combo, say Alt+Q yields:

    xdotool type 1

    But under heavy load, there can be a noticeable lag, since the zipit has to reload xdotool. Wish I knew how to define new keyboad maps for xkb…

    Sorry to post scattershot all over your blog, but on sound, I’ve had some success at least loading the sound modules (/lib/modules/2.6.29/kernel/sound/soc/pxa/snd-soc-z2.ko), once I figured out the kernel modules I had from your wireless+x image were probably for a slightly newer kernel. Anyway, earlier modules now load (kernel 2.6.29) and I just need to figure out enabling the device with i2c (as mentioned below)?

    http://linux.zipitwireless.com/projects/z2kernel/wiki/WikiStart#AudioRegisterSetup

    As no /dev/dsp shows up, and alsamixer doesn’t detect a card yet

  17. Hi Todd,

    I gotcha, shame xmodmap wouldn’t work that’d simplify things. It’s cool posting wherever, it’s helpful both to me and others who read your posts. Not sure if you need to use i2c for the audio setup. I seem to recall a zipit yahoo group email chain with instructions on using the new audio driver, but it’s been a while. Good luck!

  18. Hunter,

    Good call on the yahoo discussion site. I found where Ken McGuire got alsa working (including recording if you feel like soldering). Sweetlilmre’s already got that z2-soc in his OE root for sound support, but I needed to load the modules in the right order and create the devices. There are a few scripts in Ken’s packages that (after a little modification) work like a charm. Sound quality out is excellent, though I’ve only run mp3s and avi with mplayer.

    Ken’s post on Yahoo is here:
    http://tech.groups.yahoo.com/group/zipitwireless/message/2474

    And my modified scripts reads:
    #! /bin/sh
    modprobe -v i2c-core
    modprobe -v i2c-algo-bit
    modprobe -v i2c-pxa
    modprobe -v soundcore
    modprobe -v snd
    modprobe -v snd-page-alloc
    modprobe -v snd-timer
    modprobe -v snd-mixer-oss
    modprobe -v snd-pcm
    modprobe -v snd-pcm-oss
    modprobe -v snd-soc-core
    modprobe -v snd-soc-pxa2xx
    modprobe -v snd-soc-pxa2xx-i2s
    modprobe -v snd-soc-wm8750
    modprobe -v snd-soc-z2
    sleep 1
    rm /dev/audio
    rm /dev/dsp
    rm /dev/mixer
    mknod /dev/audio c 14 4 -m 666
    mknod /dev/dsp c 14 3 -m 666
    mknod /dev/mixer c 14 0 -m 666
    mknod /dev/snd/pcmC0D0c c 116 24 -m 666
    mknod /dev/snd/timer c 116 33 -m 666
    mknod /dev/snd/controlC0 c 116 0 -m 666
    mknod /dev/snd/pcmC0D0p c 116 16 -m 666

    Again, I was lazy and got those kernel modules from sweetlilmre’s userland package instead of my bitbake. Once you’ve got the modules loaded (above) you’ve got to do some serious alsamixer toggling (it helps to save with alsactl). But then you’ll hear lovely noises from your speaker and headphones!

    It’s funny, I received this device less than a week ago, and we have now a debian/ipkg X based media player linux internet device. It’s a pity the community around the Z2 has shrunk in the last year–all the previous contributions have made for one sweet little device.

  19. Todd,

    Nice on the sound!! I thought I had heard something like that in my old email :) Can you post up a root image or I’d be happy to host it here? I think one of the reasons the Z2 community kind of trickled down was that everyone kept starting from scratch. I think in a short order we can have a redistribution image beginners can use. Very cool things happening. I’d enjoy reading that blog too!

  20. Hunter,

    Sure–I’ll go back to just a stripped version. I’ll send you a rootfs based on your userland distribution, but with sound and Xfbdev from the Angstrom and sweetlilmre packages. It shouldn’t take too long–can I email it for you to post for now? I assume h u n t e r ( at ) hunterdavis.com will work for a 10-15 MB attachment?

    I’m going to hold off on posting a Debian image, since it’s substantially larger AND I haven’t figured out how to properly integrate (other than to replace binaries willy-nilly that seem to break busybox. It works, but there are inconsistencies with using multiple package management systems.

  21. Hi Todd,

    Sure, sounds great! I’ll post it up for all to DL when it hits my inbox. My email shouldn’t bounce anything under 20megs, or you could split it into parts with cat or whatever no big. Thanks again for the hard work there! As for debian, sounds reasonable. I think eventually debian should be our default userland as they seem to update their repos with more frequency than angstrom, but it sounds like that’ll take some work.

    This is a huge step we’re taking here distributing an image with working sound. I’ve already cross compiled a great deal of alsa capable utilities and emulators etc in preparation for a release image. Hopefully I can post up a followup image with some emulators and free roms for people to play with. Very good things!


Leave a comment


No trackbacks yet.