GStreamer for Windows and MacOSx

I quite like the gstreamer project although previously was a little disappointed to see that it wasn't being actively ported to OS' other than Linux at the time. Granted I could've contributed, but I've not got a deep rooted love for multimedia hacking I'm afraid. However, Christian Schaller's latest entry shows that things are changing and the Songbird team are jumping on Gstreamer. This can only be a good thing in my opinion :)

Nice work to all involved!

No customisation for you!

Again this morning I was playing with the fresh install of Etch on my work laptop, and came across an old gotcha with Gnome, which I had totally forgotten about. For some reason editing the menus would be ridiculously hard for a complete novice user. Now whether this is because they don't want a user editing menus, or it was an oversight, I don't know. But come on. It's a universal desire to want to rearrange menus. It's pretty simple in Fluxbox, as its all pretty simple file and directory structures, and pretty simple in KDE, but with Gnome you need to have a desire to dedicate significant amounts of time to understanding the weird layout. Thankfully I know about alacarte (previously smeg), which is a replacement / alternative for the Gnome menu editor. It just makes me wonder though, what sort of crack they were on when this decision was made.

Debian Etch on a Toshiba Protege M200

This probably isn't news to anyone, but getting Linux on a laptop which is running Windows, and doesn't have a CDROM drive built in, isn't as easy as it could be. For this reason I've never put Linux on my work Toshiba Protege M200; the thought of arsing about with USB drives and making them bootable made me decide that it wasn't worth the effort - especially as I can't actually use Linux for work (we have a new VoIP phone system which has a Windows-only teleworker client).

However, with the availability of the Debian Windows installer and a free afternoon I sat down, fully prepared to have to do a restore next time I'm in the office. After resizing the partitions and running the Debian installer I was through to the usual text installer, which I'm used to. Basically went through the defaults and eventually rebooted into a semi-working Debian Etch system.

From this point it wasn't tricky in the least, as because it is an older laptop a lot of the problems have already been ironed out. Then again, I don't think it's something my sister could've done.

WiFi:
By default Etch comes with wpasupplicant, which does most the hard work with WiFi interaction these days. Unfortunately the actual device wasn't powering up. A quick google shows that the chipset used in the M200 is the ipw2000 - which needs firmware loaded into it at boot. A quick visit to the ipw2000 sourceforge website, a download, mv ./ipw2000/* /lib/firmware and a reboot, and the WiFi is working.

Tablet / touchscreen Functionality:
Etch comes with X.org 7.1.0-11, and the installer correctly works out that you have a WACOM touchscreen which mostly configures the system for you. However, to get the stylus working you need to add the following to your X.org conf:

Under the InputDevice's:

Section "InputDevice"
    Driver "wacom"
    Identifier "cursor"
    Option "Device" "/dev/ttyS0"
    Option "Type" "cursor"
    Option "ForceDevice" "ISDV4"

EndSection

Section "InputDevice"
    Driver "wacom"
    Identifier "stylus"
    Option "Device" "/dev/ttyS0"
    Option "Type" "stylus"

    Option "ForceDevice" "ISDV4"
EndSection

Section "InputDevice"
    Driver "wacom"
    Identifier "eraser"
    Option "Device" "/dev/ttyS0"

    Option "Type" "eraser"
    Option "ForceDevice" "ISDV4"
EndSection

And inside the ServerLayout stanza:

    InputDevice "cursor" "SendCoreEvents"
    InputDevice "stylus" "SendCoreEvents"

    InputDevice "eraser" "SendCoreEvents"

Save and restart X.org.

I'm yet to attempt getting the hotkeys working for changing the screen brilliance, or the volume, but I'm sure it can be done. The only thing that is really bugging me right now, is the fact that the button on the stylus isn't working yet. I'm sure I'll get it once I start fiddling with xorg.conf some more.

If you're so inclined, the nvidia drivers for the graphics card can be installed in the usual way. I have found that once I installed them (what can I say? I love free software, but I love the beryl project a bit more) the performance was actually slower than the vesa driver. Perhaps nouveau will recitify this.

Overall it was one of the least painful non-windows orientated laptop installations I've done in the last few months.

Bleeding edge

Being at the bleeding edge can hurt sometimes, especially when you're not talking in terms of software. In this instance I am talking about software and hardware, however.

Not 1 month ago I built myself a new machine to replace my previous desktop, which fell to pieces. Unfortunately in my haste not to work at the work laptop for longer than I had to, I set about buying the kit, not taking much thought into the support within linux for each item.

As Christmas and New Year subsided, and work became manageable I turned to making the 3rd partition on this beast into my "regular" (ubuntu or debian) desktop - rather than the work and gaming one, which is Windows. Unfortunately it appears I've made some fatal errors in choosing my hardware;

  • GA-965P-S3: Any 965 chipset requires kernel version 2.6.16, or better, for network drivers and various chipset and dual core enhancements. Many recommend 2.6.18. That limits me to Debian Unstable (Sid), Ubuntu Feisty Fawn, Gentoo, or a custom build immediately. I really can't be arsed with Gentoo, or making a custom build when Feisty or Sid are available.
  • FakeRaid: I chose to use "fakeraid" (on board hardware RAID0). This requires the dmraid package in order to see my logical hard drive. Bugger. Only Fedora and Gentoo have this by default in their installer. Not a problem though, as there are ways aroud this; either loading the package once the installer is running, or installing from a LiveCD, and loading the dmraid package first.
  • Creative X-Fi (Platinum): No drivers available, nor expected from Creative until "second quarter 2007". I cannot live without music. Yes I could use onboard, but its crap, and loading up my MP3 player defeats the point of having a nice soundcard + the breakout box. I hope that some kind soul who knows more about writing drivers than myself can at least resolve some basic functionality. I could live without the remote, honestly!
  • eVGA GeForce7900GS: Requires proprietary drivers for reasonable speeds and "twinview" - which makes updating, etc. "fun" on occasion.

Now the proprietary graphics drivers I could live with (yes, I'm donating to the nouveau effort) for a while. However, the lack of sound will truly drive me up the wall.

So who's fault is it? Mine? The hardware manufacturers? Any member of the FL/OSS movement? Potentially I agree it's partially my fault for not being more careful at what hardware I chose, despite being in a rush, I should've thought it through more. But surely it's the manufacturers (specifically Creative) responsibility to let me use the hardware that I've paid for? Arguably you can say that it's not a supported OS, why should they bow to me? The reason is, that at the end of the day I put [a little amount] money into that company, whilst I don't have the right to tell them what they should do, they should be aware that after being stung once, I'm far more likely to vote with my feet and take my custom elsewhere. After all, with so many people doing it, and at any ever increasing rate (just take a look at your local LUG mailing list to see how many people ask for linux friendly laptop distribution these days), isn't it in their best interests?

Exim4, Courier, SpamAssassin and RoundCube

Having broken my non-production mail server a few days ago, I decided it was about time to actually get around to fixing it. I don't intend using it as my primary mail server, but more as a mirror of my ISP's account - at least until I have a private colocated box again, on a decent line that can handle my mail. Some how I don't think my home line (read: me) will be happy with all of the various mailing lists coming at it.

Anyway, I decided tonight would be a good time to fix it. Amy's off dancing with her mum, and other than wanting to play some games, it seemed like an ideal time. Having never actually used Exim4, Courier, and SpamAssassin it seemed like an ideal thing to waffle on about.

  1. Install what you need. As usual apt-get is king.
    apt-get install exim4-daemon-heavy courier-imap spamassassin spamc sa-exim
    Obviously accept all the various dependancies, and select multiple files for exim4, and internet site. Otherwise leave as default.
  2. Make your Maildir (I prefer this over mbox), using courier's maildirmake command
    maildirmake ~/Maildir/
  3. Append the following to /etc/exim4/update-exim4.conf.conf
    dc_localdelivery='maildir_home'
  4. Edit /etc/default/spamassassin, and set ENABLE = 1
  5. Generate the new config
    update-exim4.conf
    and if that went through without any errors, check exim
    exim4 -bV
    and then restart
    /etc/init.d/exim4 start
  6. Test Exim is working, just to make sure
    exim4 -bt user@localhost
    exim4 -v AnExternalMailAccount@Domain.TLD From: user@localhost To: AnExternalMailAccount@Domain.TLD Subject: Test Test .
  7. If you want to be particularly shitty and reject exe's, com's, bat's, etc. then add the following to /etc/exim4/conf.d/acl/40_exim4-config_check_data, before the final line, "accept"
    deny message = Serious MIME defect detected ($demime_reason) demime = * condition = ${if >{$demime_errorlevel}{2}{1}{0}} deny message = This server will not accept certain file attachments. \ Please resend it as a compressed archive. demime = bat:btm:cmd:com:cpl:dll:exe:lnk:msi:pif:prf:reg:scr:vbs
  8. Edit /etc/exim4/sa-exim.conf, and change the line
    SAEximRunCond: 0
    to
    SAEximRunCond: 1
  9. Now lets add support for virtual domains, in the old fashioned way.
    mkdir /etc/exim4/virtual
  10. Create a set of file, one for each of your domains.
    touch /etc/exim4/virtual/yourdomain.tld
  11. In each file, add the various aliases. The format is localpart: localuser@localhost. Wildcards are accepted.
    postmaster : user@localhost
    The usual Exim magic entries can be present in these files. For instance
    user : :fail: $local_part Does not exist postmaster : :blackhole:
  12. Now to get those virtual domains working, edit /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs, and replace the local_domains line with
    domainlist local_domains = @:localhost:dsearch;/etc/exim4/virtual
    What this should do is look up the contents of /etc/exim4/virtual. Any valid domain in here will be accepted by the server.
  13. Create /etc/exim4/conf.d/router/350_exim4-config_vdom_aliases, and add
    vdom_aliases: driver = redirect allow_defer allow_fail domains = dsearch;/etc/exim4/virtual data = ${expand:${lookup{$local_part}lsearch*@{/etc/exim4/virtual/$domain}}} retry_use_local_part pipe_transport = address_pipe file_transport = address_file no_more
    This gets the actual aliases working.
  14. Re-generate the configuration
    update-exim4.conf
  15. Restart Exim, if all went well
    /etc/init.d/exim4 restart

Courier requires no real configuration. Woohoo. I'll have to SSL it at some point but seeing as its currently only within my physical network, I'll change that at a later date.

One thing to finally remember is to create the Maildir in /etc/skel, and possibly .forward, which can apparently contain user defined filtering rules (and can be surprisingly powerful);

if $h_X-Spam-Status: CONTAINS "Yes" or $h_X-Spam-Flag: CONTAINS "Yes"
then
save Maildir/.Junk/
finish
endif

Having gotten past the hard bit, its was time to play with RoundCube. As with most PHP scripts (yes, I know I've been trying to get rid of them, not add more), all you need to do is read INSTALL. Its very straight forward. As for how RoundCube works... I'm not entirely sure if I like it. The interface is pretty good, but I have to say its not quite as slick as Outlook Web Access (which if you ignore the whole IE-only-proprietory-experience thing, isnt too bad), Zimbra or Hula, and its missing some features; but it's definately getting there. Most certainly much better than Horde IMP or Squirrelmail by a long shot. I'll give it a few weeks / days, and see how things go.