The state of MacFUSE & NTFS-3G on OS X Lion

So I’ve been running Mac OS X Lion (10.7) for a week now, and it’s mostly been fine – most programs run okay and others have had minor updates to improve compatibility. However, there’s some flakiness with MacFUSE and in particular the NTFS-3G package which allows read-write access to hard drives formatted with the NTFS file system.

(If you’re short of time, scroll down to the ‘So what are the options’ section.)

Firstly, a bit of MacFUSE history…

MacFUSE was a project to allow file system packages designed for the Linux FUSE project, which in turn allowed file systems to be loaded in ‘user space’ rather than requiring extensions to the operating system kernel, to be run on Mac OS X. This meant that FUSE did all of the kernel work, thus much simplifying the development of file systems. MacFUSE wasn’t a port of FUSE – it’s a separate project that happens to be compatible with existing FUSE file system packages. It was also developed by a Google employee in his 20% time, i.e. the time that Google allows engineers to set aside for their own projects.

Now, the latest official release of MacFUSE was version 2.0.3,2 which is 32-bit and designed for Leopard, i.e. Mac OS X 10.5. We’re now on Lion, and there hasn’t been a subsequent official release even for Snow Leopard, nevermind Lion. Version 2.0.3,2 ran okay on Snow Leopard provided you used the default 32-bit kernel, but in Lion, the kernel task is 64-bit.

Thankfully, some other developers have picked up the baton – in particular Tuxera, who offer a commercial solution for running NTFS on a Mac. It seems to work fine on Lion, even with a 64-bit kernel. Alternatively, there’s a fork called OSXFUSE, which is in beta at time of writing, although if you want to use OSXFUSE you will need to remove MacFUSE first.

NTFS support

Lion, like other versions of Mac OS X that have come before it, supports read-only access to NTFS disks when a product like MacFUSE isn’t installed. This means that you can read files from an NTFS-formatted disk, but you can’t modify or delete existing files or copy new ones to it. It’s a shame that Apple still hasn’t unveiled official read/write support for NTFS after all these years.

Currently, the only free software I’m aware of for enabling read/write access to NTFS drives is NTFS-3G. The most recent binary release is from October 2010, and whilst this does work on Lion, even with MacFUSE 2.2 you will encounter errors when mounting the disk – namely that it’s taken more than 15 seconds to do so. However, once it is mounted, it seems to work okay, although admittedly I’ve only been working with a seldom-used external drive and not a drive where I expect strong read/write performance.

If you fancy compiling code from source, or have MacPorts, you can get a newer version released in April 2011 which may or may not work better – I haven’t tried it yet.

So what are the options?

There are basically four options you can choose, if you use NTFS drives on your Mac:

  1. Don’t upgrade to Lion just yet. If everything works fine now, you may wish to stay with Snow Leopard until there’s a new binary release of NTFS-3G. Lion is still very new and there aren’t many third-party applications taking advantage of its new features as yet.
  2. Use NTFS-3G and MacFUSE 2.2 as before. In my experience it works, but you do get an error each time your disk is mounted (which could be on every boot up for some) and it is slow at mounting the disk. If you’re reliant on an NTFS drive you may not want to try this just in case things aren’t working properly and you lose data.
  3. Buy Tuxera NTFS for Mac. If you are reliant on an NTFS drive on your Mac, you may want the piece of mind of a commercial, supported product, in which case you can buy Tuxera NTFS for Mac which states that it is Lion-compatible.
  4. Use exFAT instead of NTFS. If you need the drive to be usable on both Windows and Mac, don’t need file system level encryption or compression and are willing to copy all of your data off it, reformat it, and copy the data back, then maybe you’d be better with the exFAT file system. It’s the successor to FAT32, and supports disk and file sizes of over 500 terabytes. It’s also quite well-supported – Mac OS X received support for it in the 10.6.5 update to Snow Leopard, Windows XP supports it with the KB955704 update and Service Pack 2, Windows Vista with Service Pack 1 and Windows 7 supports it out of the box. You will have issues with Linux machines, however, in which case FAT32 is also an option.

I personally have gone for the fourth option for my external drive; the Disk Utility in Lion lets you format drives as exFAT and I don’t need any of the advanced features of NTFS. But another of these options may be best for you.

Mac OS X Lion – first impressions

A screenshot of Preferences in Mac OS X Lion

I made the plunge and installed Mac OS X Lion last night. The install takes a little under an hour all in all, including 2 reboots. During the second phase, i.e. between the two reboots, you can pop open a log file viewer which shows you what it’s actually doing, of which at least 10 minutes is spent running an fsck check on your disk and then creating the recovery partition, which you can use in case your Mac won’t boot properly. (In the past, you would have used the install DVD for Mac OS X, but as Lion is a digital download you won’t have this option anymore).

Anyhow, the install went okay, so here are my first impressions:

  1. Natural Scrolling – I immediately turned off ‘natural’ scrolling, because it felt like anything but natural. I suppose I could have tried to get used to it, but I use a Windows machine at work which has a scrollwheel that works the ‘classic’ way and would rather have consistency. It’s bad enough having to cope with two different keyboard layouts. Natural scrolling is fine on touchscreen devices like the iPhone but I just don’t think it works with a mouse and separate screen.
  2. Scrollbars – I’m very much against Apple’s decision to hide scrollbars by default, and only show them once you already start scrolling – how do you know whether to scroll something if there are no scrollbars? So I’ve told Lion to always show them. On the other hand, I do like the new minimalist look of the scrollbars.
  3. New theme – Lion brings a lighter and more understated look to its windows than Snow Leopard. I like it on the whole, barring the lack of colour in some places and the very light colouring of the new title bars. I’ll probably get used to it though.
  4. Mission Control – liking this so far – really improves on Exposé, and still very quick.
  5. Launchpad – a good feature, but poorly implemented. When you install Lion, it enumerates all of the applications in your /Applications/ folder and subfolders, and then adds them all, putting the apps that came with OS X on the first page. Problem is that it includes all of your applications, including uninstallers, patches for World of Warcraft and other stuff that just doesn’t need to be there, and, as I mentioned, Apple’s own apps are on the first page regardless of whether you’ve used them or not (which in the case of iDVD, iMovie, Garageband etc., is never). What’s worse is most apps cannot be deleted from Launchpad unless you downloaded them from the Mac App Store, and for most long-term Mac users this isn’t the case. I hope an update will allow you to remove any kind of app and have more intelligent sorting, based on actual use, when Lion is installed over an existing installation – I’d consider these to be quite major bugs. As it was, I had to spend quite a bit of time moving things around to suit me, although now that I’ve done that it works well as a way of accessing programs that aren’t important enough for the Dock but still need to be within easy reach.
  6. Mac App Store – I found the App Store application to be a bit slow and unresponsive in Snow Leopard; unfortunately this hasn’t been fixed in Lion. Frequently when I click on one of the 5 tabs at the top, it does nothing but show the spinning beach ball of doom for a few seconds. Some visual feedback registering my click, and a change of the content pane to ‘Loading’ would feel much better. Also, if the App Store is now the preferred way of installing new applications, then Apple need to do more to help developers grandfather their existing users into it – i.e. if you’ve bought a program before the App Store, then you should be allowed to have a special code to switch to the App Store version without paying for it again, for example. This would be especially useful for programs like Adobe PhotoShop Elements for which I have the retail copy and don’t want to spend another £55 on the App Store version.
  7. Full screen apps – not had much chance to use this as only Apple’s own apps support it right now. Where I have used it, it seems to work okay but is a little slow due to the animations – or at least it is on my 2009-era Mac Mini. Faster animations, like with Mission Control, would have been better. Getting out of full-screen is also a little unintuitive as you have to hold your mouse at the top of the screen to show the menu bar – Apple would have been better having the close button in the same place on the window itself.
  8. Apple Mail – since this got some love in this update, I decided to give it a try and see how it stacked up to Thunderbird. I wasn’t really impressed – it’s a bit ugly now that Apple have removed all the colour from it, and the fonts didn’t seem to render very well in the mail listing pane. Although it started up quickly, I found it slow when working with multiple IMAP accounts in comparison to Thunderbird.
  9. New voices – You can now download several extra voices for the text-to-speech feature. I downloaded ‘Serena’, a British English voice that sounds like a Radio 4 newsreader. It’s a big improvement on the existing voices, sounding more natural and less robotic than ‘Alex’ which was the voice added in Leopard, although it’s not quite perfect yet. New voice packs are a 200+ MB download though.
  10. iTunes – just a note that if you installed iTunes 10.4 before installing Lion, you’ll need to do so again as Lion will revert it back to 10.3 for you, and it’ll throw back an error when you try to launch it saying that your library is for a newer version. Again, hopefully a 10.7.1 will correct this.
  11. Software issues – only major software issue I’ve encountered is with NTFS-3G, which allows read/write access to NTFS volumes using MacFUSE. MacFUSE itself needs an obscure beta version to work, but even then NTFS-3G will sometimes pop up an error when mounting an NTFS volume. However, in my limited testing it was still able to write to NTFS volumes. There’s also some niggles with Dropbox – it works okay but some smaller features are missing. A beta update is available.
  12. Bigger desktop icons – something I noticed was that icons that appear on the desktop are larger than before. I think I preferred them smaller.
  13. Performance – I haven’t noticed any real differences in performance, bar some initial sluggishness whilst Spotlight rebuilds its database which may take an hour or two after installation is complete. Previous OS X updates have brought minor speed improvements, the lack of perfomance improvements in Lion is therefore a bit of a shame.
  14. Resume, Autosave and Versions – none of the apps I use support this yet, so I haven’t tried it. However, NeoOffice will support these features in a beta version due out next month.

On the whole? I’m slightly underwhelmed as I can only see myself regularly using a few of the new features. There are also a few niggles that Apple should sort out, as well as some bizarre and unintuitive user interface changes. In Lion, Apple’s direction was to let the computer get out of the way of the user, yet the ‘bugs’ in Launchpad, natural scrolling, no scrollbars by default and my issues with full screen applications actually get in the way of the user, in my opinion. But, it’s early days, and this is a .0 release. Allegedly 10.7.2 is already available to developers so 10.7.1 must be on the way soon and will hopefully alleviate some of these issues. My advice would be to wait a bit.