Archive for January, 2008

From the vaults of "I can’t believe this happened": Wine used to have perfect support for the Windows 98 game "Elastomania". In the more recent updates to Wine, it has gone from Platinum ("works well out-of-the-box") to Garbage ("doesn’t work at all"). That is sad. Especially considering the age of the game.

There’s one more thing that I’ll try, and that is running it without a compositing window manager. But I think we’ll get the same result. If so, I’ll send it to the HQ.

Comments No Comments »

While looking up the possibility of running Crysis on Wine, I came across a thread about Crysis on the PS3 using Linux and Wine.

I hope this is the definitive source for WHY it CANNOT be done.

1. People have been saying that you’d use this combination:
PS3 + Linux + Wine + Crysis. This will not work. The Playstation 3’s CPU is the Cell, which uses the PowerPC instruction set. Windows and all Windows programs, and therefore Wine, rely on the host CPU using the x86 instruction set. The two are not compatible. You cannot run x86-compiled programs on a PowerPC processor, and Crysis is an x86 program.

2. You would need an instruction emulator in order to run Wine. Since Linux is the host platform, you’re pretty much talking about Qemu as the instruction emulator. Qemu has "user-mode emulation+, so it’s possible to run x86-compiled programs on a PowerPC processor using this. But if we’re talking about PS3 + Linux + Qemu + Wine + Crysis, there’s another gotcha. Nobody in the world has managed to get Wine to run on Qemu via user-mode emulation.

3. So, we’d be stuck with emulating a full x86 machine running Windows XP. Now the combination is PS3 + Linux + Qemu + Windows XP + Crysis. Emulating from one instruction set to another is very costly in terms of performance. Crysis doesn’t run very well on normal PCs anyway - it won’t be playable when emulated on top of an entire other operating system.

4. The Playstation 3 has only 256 megabytes of RAM. Xubuntu Linux requires 128 megs, Qemu requires about 32 megabytes for itself, Windows XP requires 128 megs, Crysis requires a gigabyte. We’re out of RAM even before Windows XP has fully loaded.

5. Qemu cannot access the GPU to provide 3D acceleration to the guest OS. Crysis will not start without 3D acceleration.

6. Even if Qemu could provide 3D acceleration to a guest OS, Sony’s hypervisor does not allow Linux to access the GPU.

In short, it’s impossible. Not "possible but impractical". Not "theoretically possible but unplayable". Not "But wouldn’t the windows emulator convert the instructions to whatever the linux os needs". Not "You might be able to get the title screen up". Not "The frame rate would be measured in seconds per frame". Simply: No. Impossible.

———–
WARNING: Do not install the latest builds of Wine (0.9.48 and above). Right now there are too many regressions (things that previously worked, no longer work). Stick with whatever version you’ve got right now until things are in better shape. If you’ve got nothing to lose, though, file as many bug reports as possible or volunteer to be an application maintainer.

Comments 6 Comments »

You might ask why this post, with such a title, is under the category "Advocacy". Well, if you’re reading specifically this category it looks like you’re after some persuasion to switch to GNU/Linux. Then there is something you should know about GNU/Linux as it currently stands, and hopefully it won’t put you off.

Linux is the ignored cousin of Windows when it comes to hardware support. Out of the box, a Linux distribution supports a huge amount of kit, and Ubuntu supports more than any other distribution. But Windows has hardware support from manufacturers - so any device you buy will pretty much work on Windows as long as you install the driver. You’ll have to give up impulse-buying of things, at least until Linux compatibility is actually printed on boxes. You might not be able to buy the device with the best features, and if are, then you might not get access to all those features.

This is even more so with software.

And let it be said that the same applies to Mac OS X, but in a lesser way. Really want that latest Nokia smartphone? It probably doesn’t have OS X software for syncing, although there might be something unofficial out there. If you want a brand-new iRiver or Creative MP3 player (fat chance if you’re a Mac owner, but still), you’ll have to wait until the 3rd-party software for those players is updated to be compatible with the newest models.

With open-source software, it is possible to do lots of things that you can do with proprietary software on Windows. But right now you might not be able to do EVERYTHING. A year ago, I couldn’t even encode video properly on Linux, though others could. Now I can encode perfectly and even edit video, thanks to recent advances in the software, but I still can’t make DVDs that play reliably. Blu-ray and HD-DVDs can be played on Linux, but it’s not as easy as you’d hope.

Prepare to give up some tasks on Linux.

But the good news is that things are getting better. Video encoding software is better now, and I no longer have issues with A/V sync. The advent of Kdenlive makes it possible to do some basic editing and encoding. There are now quite a few playable Linux games, and even Aleph One is now easy to install on Ubuntu (it originally wasn’t!). On the proprietary software front, Skype supports video (though not HD video), Flash is as good as the Windows version, codecs for everything except HDD camcorder video are working well, K9Copy has many features from DvdShrink, and Wine continues to get further DirectX support.

This is a good time for Linux users, and it will get better thanks to the efforts of thousands of brilliant programmers and millions of users. But if you’re thinking of switching to GNU/Linux, keep Windows around in a dual-boot setup, on another computer, or in a virtualiser; until you know that you can live with GNU/Linux full-time.

I may curse that I can’t make reliable video DVDs (well, not yet anyway), and I have given up a golf game, a trucking game, an ambulance-driving game, and free 3-minute calls to anywhere with Gizmo (it never worked on Windows anyway, to be honest). But it’s better than the alternative - an operating system that doesn’t make sense to me, is prone to all sorts of threats, is poorly programmed, is an immutable "black box", leaves me to the mercy of proprietary software developers, leaves me to the mercy of bugs, doesn’t have the workflow and timesaving features that I like, and costs a bundle.

Just make sure you see what you’re gaining, as well as what you’re losing. After all, Windows will never become FLOSS, and I’m sure it won’t become unrestrictive to its users either. But GNU/Linux, with help from open-source and proprietary developers, will definitely close the gaps, so some day you won’t have to give up anything to make the switch.

The sooner you start switching, the sooner you will finish switching (becoming purely GNU/Linux). Take it as slowly as you need to. You will know when the time is right to get rid of Windows/Mac OS. I know: You’re saying "How can I ever switch over completely? I’m tied to Windows! If I adopt Linux, I’ll dual-boot for the rest of my life!". I know that’s what you’re saying, because I originally said it. Now I’m running Linux as a single-boot. It took two years to get to this point, and I did still have to give up a couple of things, but it’s worth it.

Comments No Comments »

Is wireless ready for the desktop? I don’t know. I remember a couple of years ago, lecturers at ECU always had to plug in their Ethernet cables in the main lecture hall despite the university having wireless APs all over the place.

I occasionally lose my connection, and I don’t know what ends off bringing it back. It’s the most frustrating thing. I don’t know if it’s Network Manager, but trying to use the ordinary Networking control panel to connect in these circumstances doesn’t work either.

I got my connection back after putting the router upright on its little stand, turning on b+g mode, and changing the channel from 11 to 3. I also noticed while my father used his computer (he’s finally using his new computer! Whoo hoo!) that his internet was like lightning compared to mine, despite us using the same router.

Maybe channel 11 is already in use in the local area, and packets are colliding? In any case, my internet seems a bit snappier right now, and it has finally connected and is staying connected.

——–
While my father readied his new computer, I noticed that I kept getting logged off MSN - it was reporting that I had logged in from another location. "That’s strange", I thought. My father wouldn’t have logged into Messenger.

I found out what it was. A bit later he was showing me what he’d done. He opened Outlook Express and it started loading in a list of my MSN contacts.

I wanted to take my MSN details off that computer so he wouldn’t accidentally log me out again, but MSN Messenger (sorry, Windows Live Messenger) didn’t seem to have anywhere I could see and edit the details! This is crazy! After about 10 minutes, I looked in the help file, and found the article "How to delete your Passport account details from the computer".

I ended off having to go into Control Panels, then User Account, then click my own account, then click a link in the sidebar for "Manage stored accounts" or something. This just goes to show you - familiarity is where you find it, and the reason why Windows seems so "easy to use" is because you know where all these things are. When someone from the Linux world tries to use Windows, it seems difficult to use because you don’t know where anything is or how to do things in it.

I would delete Windows Live Messenger from the computer, but it’s NOT INSTALLED according to the Add/Remove Applications control panel. Yes, I’m aware that you can delete it if you put a command into the MS-DOS prompt and add several keys to the registry, but this is 2008! I shouldn’t have to use the command-line for anything! That’s why Windows will never get more than 2% of the… oh hang on, it *does*. It’s the dominant platform, but to remove software you have to type a very long command into the command-line. It looks like you’re directly invoking a function in a core system library… ouch!

Comments No Comments »

I finally completed Marathon 2: Durandal just now, though admittedly on Kindergarten difficulty setting. That last room with the hunters and juggernought was ridiculously difficult, but I followed a walkthrough to get the basic tactic (get the monsters to fight eachother).

Who says you can’t do gaming on Linux?

(BTW I used a walkthrough on two other levels to find how to complete them, and at one point I found a critical switch under some lava due to Aleph One’s transparent liquids - how on earth did anyone complete that level with the original game engine?)

Comments No Comments »

Is OS X ready for the desktop?

In this article, I examine the reasons people give for not using Linux desktops, and ask myself: If Linux isn’t “ready for the desktop”, then is Mac OS X?

1. Linux doesn’t come with all the codecs installed for industry-standard video formats like Windows Media Video!

Neither does OS X; it comes with support for its own proprietry standard, and Linux comes with support for an open standard. Maybe Windows and OS X are the ones which are “not ready for the desktop”, as they don’t come with support for Vorbis and Theora?

2. Parts of my computer hardware don’t work with Linux! It should get better hardware compatibility, like Windows!

OS X doesn’t run on ANY part of your computer. Funnily enough, people who want to switch to OS X seem to have no problems with buying a whole new computer (at a premium, too!). And you’re so averse to the suggestion that you buy a new wireless card?

3. Most of my existing programs/games don’t run on Linux!

None would on OS X. Zero, zip, nada. Some will run on Linux though, through Wine.

4. Nobody except super-nerds will want to use a command-line, even occasionally! That’s why people will always use Windows.

Hmm, funny. Windows 3.1 and 95 relied on the command-line, especially for installing software, and yet more people used it than the GUI-only Mac OS. In fact, more people used DOS than used Mac OS.

5. Some programs don’t automatically add themselves to the menu!

OS X doesn’t even have a menu for programs to add themselves to, and you always have to manually add them to the dock.

6. It takes too much time for me to figure out the new operating system. The interface should be just like Windows, so I don’t have to retrain myself.

I’m sure OS X users say the same thing about Windows. At least with Linux, unlike OS X, you can run KDE and install a Windows-lookalike theme. Heck, you could even download a picture of a BSOD and put it in your Cron tab, to give you that special homely feeling :-)

7. A Linux desktop is a mess of programs whose interfaces have completely different looks! [they are talking about Qt and GTK programs co-existing]

On the Mac OS, there are also two officially-sanctioned look-and-feels; Aqua, and Brushed Metal. Oh wait - now there’s a titanium look that Apple must’ve licensed from LG. Plus, if you’re running programs in Apple’s X11 server, they will have their own looks and feels too. And Windows programs run through virtualisation will look different again!

Most of the programs you will use on Linux are either Qt or GTK, so that’s only two sets of looks, and GTK programs will look like native Qt if you’re running KDE. Even if you’re running Gnome, you can choose a theme that is available for GTK and Qt (I am using BlueCurve for QT and GTK at this very moment).

So really, Linux can easily have one consistant interface look, unlike Mac OS X.

And what do the aesthetics of the interface have to do with desktop readiness anyway?

8. When I tried to run Linux in Microsoft Virtual PC, [the sound stuttered / the colours looked grainy]!

Well duh. Linux is one of Microsoft’s competitors. Virtual PC wouldn’t be the first piece of Microsoft software that purposely tries to stop a competitor’s technology from working. But try this: Install Mac OS X into MS Virtual PC. It won’t even install, much less have stuttery sound or grainy graphics. Does that mean that OS X isn’t ready for desktop use, because you can’t try it out in a Microsoft virtualiser before committing to it?

If you want to try Linux in a virtual machine, use Virtualbox - it’s free and works fine with Linux. Or bite the bullet and do a dual-boot - you’ll get faster operation and the ability to try out some Linux games. Isn’t that worthwhile?

Comments 2 Comments »

There is a lot of confusion in the
Linux world about Mac OS X. I will now get rid of the confusion.

Confusion: Mac
OS X is open-source.

Fact: Mac OS X contains many, many
proprietary parts. In fact, most of it is completely closed-source.

Confusion: The
core of OS X is open-source.

Fact: The core of OS X is an operating
system called Darwin. Darwin consists of userland utilities, a
bootloader called BootX (not to be confused with the Old-world Mac
Linux bootloader), and the XNU kernel.

Darwin for PowerPC is open-source, and
earlier versions of Darwin for x86 are open-source. However, from
January 2006 to August 2006, Apple closed the source code of Darwin
for x86. Apple  publicly said in May that they will not release it.
Proving Apple’s ability to change its mind, (latest version of
Hypercard, anyone?), in August they did release it. This wasn’t the
first time the source code was closed, and seeing how the Osx86
project is going, it probably won’t be the last time.

The derivative of Darwin which is an
actual part of OS X is not really open-source. It contains
proprietary drivers, and who knows what other proprietary bits?

Confusion: The
OS X kernel is based on FreeBSD.

Fact: Apple themselves have seemed a
little hazy on where their kernel has come from. Their website said
on a couple of occasions that the OS X kernel was based on NetBSD.
What they are saying now is that the kernel is based on
FreeBSD, with bits from NetBSD (probably the Bluetooth stack).

According to Apple, there are changes
that they made. Apple claims that the changes were pretty small, and
improved performance. I don’t believe those claims, but I haven’t
compared codebases to check. I suspect it’s more a NeXT kernel than
an actual BSD kernel.

(Incidentally, the kernel is called
XNU. One presumes that stands for “XNU is Not Unix” - an apt
name)

Confusion: Since
the OS X kernel is based on FreeBSD, I can run Mac programs on my
generic PC just by installing FreeBSD.

Fact: Nope. The Mac’s executable format
is not understandable by any free software OS’es, not even Darwin
(which isn’t really very free). Also, you’ve got to remember that a
program is not able to be run on a different operating system unless
the relevent libraries are available. Mac OS X programs use the
libraries that come with OS X, and these are proprietary and cannot
be installed on any free operating system. Not even FreeBSD, which in
reality only forms a miniscule part of the actual OS X system.

Confusion: Mac
OS X is Unix-based. Linux is a free implementation of Unix. Security
flaws in OS X are something that should concern all Linux users.

Fact: Not really. The security flaws in
widely-used parts of OS X (like PHP, Python etc) may be of concern to
Linux users, if the flaw is cross-OS. Of course, Apple modifies
cripples programs like Python on OS X, so there may well be
vulnerabilities introduced by Apple’s own hacking. But what about
vulnerabilities in the OS itself? See next question.

Confusion: Mac
OS X is Unix-based. Therefore, it is secure against attack.

Fact: Apple is trying to make inroads
with the home user and small business markets by saying that Mac OS X
is secure. It’s true that there are no OS X viruses in the wild at
the moment, and it’s true that OS X’s security model is better than
the one in Windows XP. But in comparison to a truly secure operating
system, is OS X as good?

Other dumb security flaws revealed over
the years include Safari’s assumption that it’s safe to run shell
scripts inside zip files that you download, and a way for a limited
user to get a root shell that many people accidentally discovered.

Safari is the Apple equivilant of
Internet Explorer 6 – comes with the operating system and provides
most of its security flaws. Both the Windows version and the
iPhone/iPod Touch versions of Safari have a particular security flaw
that will, without warning, download an executable to your desktop
from an untrusted IFRAME. This exact same flaw was present in
Internet Explorer 6, and it was fixed with XP Service Pack 1. That’s
right, Apple is making the same mistakes that Microsoft made years
ago.

While we’re on the subject of the
iPhone and Windows XP, Apple is about to release a firmware update
for the iPhone. Usually I wouldn’t take any notice of the
announcement, except that the new firmware is said to create a
limited user account for the user, and ending the practice of
absolutely everything running as root (administrator) on the iPhone.
Not even I would have believed that Apple would run the iPhone
entirely as root, but it seems that they did, changing the policy
only when it became a necessity to open the iPhone up to third-party
programs. Even on a supposedly “closed” platform like the iPhone,
it is still an insane idea to allow all preinstalled code, web
browser and untrusted wifi data, have access to root. Microsoft
stopped that practice a year ago with the release of Windows Vista,
after they realised that malicious websites could convince a web
browser (Firefox, IE, Opera, Safari etc) to run arbitrary code.

Until some time during August 2008, it was possible to get root from a local user account just by running one easy-to-write Applescript command, or a terminal command that runs the Applescript. This involves a setuid root program being able to be told to run shell scripts over Applescript. The flaw was present for years, and was a design issue, not an implementation issue. The problem was present at least since Mac OS 10.0 Public Beta, and Apple was warned about it in 2004 by one of their own staff members.

Does Apple care about security at all?
Probably not; if you try to update to Leopard and you have a long
(therefore strong) password, you could be locked out of your own
system… at least until you get into a terminal and fix it. What a
penalty for being security-minded! Does this mean that everyone at
Apple has a short password? Maybe they highlight their passwords in a
Webster’s Dictionary in case they forget them!

BTW: Mac wireless users, make sure your
name isn’t being broadcast to the world via your “computer name”
(e.g. Joe Blogg’s Computer). It’s not a bug, it’s a feature!

Confusion: Apple has a Yum-like
automatic software updater, so you can get security updates whenever
they become available.

Fact: True in theory. Partly true in
practice.

Yes, the software gets updated when
Apple makes the update available. When does Apple make the
update available? As soon as it has a bunch of updates for other
programs. Linux distributions package security updates and push them
to users within 24 hours; in the enterprise distros it can be within
an hour. Mac OS X pushes them to users in a week or so. If you’re
lucky. A study showed that the shortest patch time for recent Apple
security updates was 80 days, which surprised even me.

But shockingly, early last year, a bug
that sent e-mail passwords in cleartext over the Internet remained
unfixed in OS X for 4 months after it was fixed upstream (in the
relevent OSS project). Apple, if you’re wondering why no-one is
buying the Xserve, you might want to look at this.

Confusion: Linux is fast on my
machine. OS X is based on Unix, which means it should be fast.

Fact: Mac OS X is slow. Nobody quite
knows why. Personally, I suspect it’s a combination of these things:

  1. Using a microkernel (these are
    slower than monolithic kernels). No, fanboys; it’s a microkernel.

  2. Possible use of the Java Virtual
    Machine for common tasks

  3. Use of Objective-C (a higher-level
    language than C with many features of the popular interpreted
    languages) in operating system and applications. Many people say
    that an entire operating system coded in C++ would be too slow.
    Objective C is slower than C++.

If the choice is between running
Windows XP Home and OS X, then OS X could be faster if you’re big on
multitasking. Then again, maybe it won’t unless you have a dual-core
or dual-processor machine. In a race between XP Pro and OS X, it’s a
forgone conclusion; OS X is so hopelessly inefficient.

Of course, in a race between OS X and
Linux on speed, the latter will win. Such races have been held. No
prizes for guessing who won. Admittedly, some functions may be faster
on OS X due to different kernel and library design; but most of the
time, the penguin is in the lead.

Confusion: OS X
is POSIX-compliant.

Fact: In reality, OS X does not satisfy
all requirements for POSIX-compliance. In POSIX-operating systems,
all files must only have one fork (“fork” is used here as a word
meaning “section”). The Macintosh, however, actively uses and
encourages files with two forks. POSIX systems and Windows only
recognise one fork (the data fork), and can not read the Mac’s other
fork (the resource fork).

Whereas Linux and Unix can both share
application source code freely, the code often needs modification
before it will compile and run on OS X. Some of this has to do with
OS X’s hiding of certain crucial system directories – something a
truly POSIX-compliant operating system would not do.

Confusion: But Mac OS X is a Certified UNIX!
Fact: Much like the Heart Foundation tick being awarded to McDonalds, the UNIX certification can be bought easily enough. If you install the program “UNIX Services for Windows”, available from Microsoft.com, you will be running a Certified UNIX. Hey… but it looks like Windows and it gets viruses like Windows, it even crashes like Windows!

I guess that whole “Certified UNIX” logo doesn’t mean a damn thing.

Confusion:
You’re a Mac hater!

Fact: My first, second, third, fourth,
fifth, sixth and seventh computers were all Macs running the Classic
Mac OS. I tried OS X, but it made me switch to Ubuntu. I’ve got an
x86 PC now running Ubuntu.

But I still occasionally use my sixth
Mac – the iMac which runs OS 9 and Ubuntu. In terms of hardware,
Apple is pretty good (NOTE: I wrote this article before the Macbook
Air came out). In terms of application software and eye-candy, Apple
is pretty good (I have to take points off for iTunes – even without
the DRM, spyware and horrible brushed-metal look it’s still a piece
of unusable bollocks). In terms of operating systems, Apple needs a
wake-up call. Just because NeXTStep is a fondly-remembered OS from
the 90s, doesn’t mean we want to run it on today’s computers. Apple
can potentially cut off Microsoft’s limbs, and I’d like for them to
do it; but they aren’t going to do it with an operating system
marginally better than Windows.

And next time, make a genuine effort
with the open-source community. For instance, why not try letting
your volunteer bug-fixers see your BUG TRACKER, for goodness sake? Or
hey, if some people want to help you make your operating system
better for free, give them some bloody support.

Comments 2 Comments »

Welcome to the new section of the blog. Basically, I have some things that I’ve written that sit in my home directory and get updated. I’m sure these would be interesting or useful to people, especially since they get updated, so rather than get some free webspace or (shock!) paid webspace I’ll just put them up here. I can edit posts on this blog, so I’ll just do that whenever I have something to add. And I can "permalink" to the articles from the Ubuntu Forums.

Following shortly will be the "Mac OS X Debunked" and "OS X - Desktop Ready?" articles - the latter I’m sure you’ll get a kick out of.

Comments 7 Comments »

I’ve said a lot of negative things about the Macbook Air, so I’ll say something positive about it.

It doesn’t have a Firewire port.

When the Firewire specifications were drawn up by Sony and Apple, they got a bit too smart and tried to make Firewire able to replace most of the other ports on the computer. Heck, they tried to make Firewire able to do debugging of other computers - and that’s where the problem lies.

It’s no surprise that Apple didn’t exactly have security at mind - it’s behaviour you still expect from Apple today - but to be fair there wasn’t a climate of security threats like there is these days. As a result, crackers can gain full access over a computer system by writing maliciously-crafted data to Firewire, creating a virtual device, and then using that virtual device to read and write directly to the system memory of the host computer.

Whoops. Linux combats this problem by providing two devices: /dev/dv1394 and /dev/raw1394. The dv1394 device can only recieve video, and can be accessed by any user on the system. The raw1394 device can do everything that the Firewire specification allows for (including the memory access trick) and as such as limited to root.

The difficulty is, DV capture programs generally require write access to Firewire, to remotely control the camera. /dev/dv1394 does not allow that. This is a current problem with the kernel device interface, and there are a couple of hackish workarounds. The most hackish was the one I just did - allowed read/write access to all users for /dev/raw1394! But I hadn’t learnt the better ways, and I believe that Mac OS X and Windows allow all users read/write access to Firewire anyway.

So, the good thing about the Macbook Air is that it doesn’t have the security flaws involved with having a Firewire port :-D

——
Oh, and in case you hadn’t guessed, I bought a Samsung Mini-DV camera today! They finally came in at work, so I grabbed one.

Comments No Comments »

It’s a sad day for consumers, it’s a sad day for retailers. Hitachi Australia has announced that it’s closing its doors.

This is a real surprise to me, as I can think of a number of other brands that I’d expect to leave first. I thought Hitachi was doing alright.

Luckily we never dealt much with Hitachi - we only got in two Hitachi plasmas, both of which sucked, and we have sold some of their fridges. The wording of the announcement actually isn’t clear if just the consumer electronics side is closing, or if it’s the whole kit and kaboodle (including home appliances).

In any case, I feel very sorry for the staff who would be laid off, as well as anxiety about warranty issues. Lets hope Hitachi does keep service happening for the next 5 years. Now that Centrex has gone bust, people’s Centrex aircons have been breaking down just months before the end of warranty, and guess who is their first port of call?

I also feel anxiety about NEC and Sharp. Consumers simply are not asking for NEC or Sharp, and pricing can sometimes be out of whack compared to their competitors. Sharp’s LCDs are very reasonably priced, though. We’ll have to keep an eye on both of those companies, as I think Sharp has made it clear that they’re afraid this will happen to them too.

Comments 4 Comments »