micolous.id.au

The result of a blogging accident

amd64 fun, Chapter 1

This is what I’m guessing as chapter one of my amd64 fun. I finally have my Shuttle SN95G5, and I’m fairly happy with it after a shaky start. These things are extremely fussy about RAM, and sometimes need a little convincing. Otherwise they are an expensive doorstop with a very loud fan! I finally got it to boot after swapping some RAM around, and installed the Ubuntu Hoary Release Candidate for amd64.

The first of my problems was that the mouse was moving very chunky, and smoothly. Games were also running chunky. Apparently this is due to the network card, and a faulty BIOS. So until Shuttle release an update, I discovered a simple work around - remove the network status applet from the panel, as well as other network monitoring programs, and disable syslog. ifconfig won’t return the number of packets and bytes sent across the interface (it makes the module return the error), so you can’t brag about how much you can l33ch off a network with gigabit ethernet ;)

Next up is Unreal Tournament 2004. I have a nice installed copy of the Linux x86 version, and I discovered there is a binary called ut2004-bin-linux-amd64 in the System directory of ut2004. There is a problem with libSDL-1.2.so.0, where the copy that comes with ut2004 doesn’t work (after all, it’s a Linux x86 library). So I converted it into an amd64 install by creating a symlink to my system-installed copy in /usr/lib/. I also patched the ut2004 startup script so that you could easily move one install of UT2004 between x86 and amd64. It won’t autodetect the arch, however... you still need to set it. Because the patch is small, I’ll include it in the post:

--- ut2004~     2005-04-08 19:25:01.000000000 +0930
+++ ut2004      2005-04-08 19:25:01.000000000 +0930
@@ -1,10 +1,13 @@
 #!/bin/sh
 #
-# ut2004 startup script
+# ut2004 startup script - HACKED FOR AMD64
 # # Function to find the real directory a program resides in.
 # Feb. 17, 2000 - Sam Lantinga, Loki Entertainment Software
+
+UT2004BIN="ut2004-bin-linux-amd64"
+
 FindPath()
 {
     fullpath="`echo $1 | grep /`"
@@ -43,12 +46,12 @@
 export LD_LIBRARY_PATH # Let's boogie!
-if [ -x "${UT2004_DATA_PATH}/ut2004-bin" ]
+if [ -x "${UT2004_DATA_PATH}/${UT2004BIN}" ]
 then
        cd "${UT2004_DATA_PATH}/"
-       exec "./ut2004-bin" $*
+       exec "./${UT2004BIN}" $*
 fi
-echo "Couldn't run UT2004 (ut2004-bin). Is UT2004_DATA_PATH set?"
+echo "Couldn't run UT2004 (${UT2004BIN}). Is UT2004_DATA_PATH set?"
 exit 1 # end of ut2004 ...