Been busy

I haven’t written much recently, because I’ve been busy. Work is prety hectic, and I’ve been trying to get some hacking done; I am painfully aware that I haven’t hacked on anything and released it for a little while now, and I don’t like that.

Unfortunately, the main thing I’ve been hacking on is an attempt to make my Zaurus be a media player (and not a PIM), and it hasn’t worked. After lots, and lots, and lots of trying, I have reluctantly come to the conclusion that it is not possible to write an application on OpenZaurus 3.5.3 which is the only app running on the Zaurus (or provides the only UI) and is in Python (because that’s what I can write code in). Note that I do not mean “an app running inside Opie or inside GPE“, I mean “it is the app running and that’s it; no desktop environment“. There seem to be three potential approaches:

  • python-qt. To be the only app, you have to get launched instead of Opie. This requires python-quicklauncher to work, and it just doesn’t work at all.
  • python-gtk. This involves starting an X server and then running your PyGtk app, so it’s basically the only thing running. This doesn’t work either; I can create a GtkWindow, but if I put any widget in that window, python-gtk segfaults on window.show().
  • pygame. Doesn’t work at all; pygame has been patched to do something with the qt libraries which isn’t required any more, so it fails on a symbol import.

I’m really disappointed in this. I don’t want to rag on the OZ team too much, because they do a tough job (I’ve done a little work on the OZ website in order to make it a bit clearer, but I’m not part of the project) but, as far as I can tell, the packages aren’t tested much; pygame fails on “import pygame“, which means that it went into the feed broken and wasn’t tested. I’m not sure how to get around this without having unit tests for every package, mind, but when the alternative is “compile a new version myself“, involving setting up a cross-compiling toolchain, I’ve just knocked it on the head.

I have lots of other projects on the go, though. Hopefully some of them will happen, although more of them are involved with the Linux end of the world rather than the web end of the world, which is probably at odds with the relative proportions of people reading this, most of whom (I suspect) will be web people rather than Linux people.

However, whichever you are, you should be attending LugRadio Live 2005 because it’s going to be superb. There’s stuff for Linux people and web people and everyone in between. Go and look, you know it makes sense.

5 Responses to “Been busy”

  1. Does OZ have a frame buffer? If so, you might be able to write directly to that instead of a GUI? Mplayer for example can write directly to the FB given the right xvidix(?) drivers. Perhaps a vanilla VESA FB would work? Saves having to write something in python.

    Bill
  2. It does, and the X server renders to the framebuffer. I can’t write directly to the FB —I’d have to use a graphics library like pygame, which is the Python SDL bindings, and they don’t do rendering to the FB (they did, at one point, but the patch has bit-rotted to the point that it doesn’t work) :(

    sil
  3. If I had a zaurus I would help you with patching pygame since it provides a nice way to write fb apps in python and looks well suited.

    It shouldn’t be too hard for someone who has using sdl/c and pygame I’ve played with both but don’t have the hardware to play with.

    It sounds like a cool idea, in fact just having a few games available as well as a photo album, and media player in such a small package sounds cool, being able to hack the interface yourself makes it really cool ;-)

    sparkes
  4. iiiiiiiiiiiiiiiiiiii

    ggggggggggg
  5. “python-qt. To be the only app, you have to get launched instead of Opie. This requires python-quicklauncher to work, and it just doesn’t work at all.”

    What you can do, is during the boot sequence, there is a point when it says “launching Opie in 3 seconds…” if you press a key at that time, it doesnt lauch opie, instead leaving you with the terminal. From there, navigate to your python “media player” and run. :)

    Jared

Leave a Reply

OpenID is a decentralised authentication system. If you use LiveJournal or Vox you already have an OpenID; just use the URL of your homepage there. See also how to get yourself an OpenID.