HOW TO: Root Your Desire Easily (Method #1)

This guide shows you how to root your Desire very easily. There’s two methods to root, I prefer this one.  You just download a Linux Live CD and use it to run UnrEVOked.  Don’t be put off by the word “Linux”, this tutorial’s really easy.

Disclaimer: I take no responsibility for anything that may go wrong by you following these instructions.  Proceed at your own risk!

What You’ll Need

  1. HTC Desire!
  2. blank CD
  3. computer with CD/DVD writer, and some software to burn with (if you don’t have burning software try ImgBURN)
  4. A Linux LiveCD (I used Slax)
  5. If you’re on a wireless network, then download Unrevoked for Linux from their site and copy it onto a USB stick (or your phones SD card)

The Guide

  1. Burn your Linux LiveCD to your blank CD using your burning software
  2. Keep the CD in the CD drive and restart your computer
  3. You should see Slax starting to load up – if not you may have to change your boot sequence so that the CD boots before your hard drive (guide)
  4. You’ll see a Slax start screen – select “Slax Graphic Mode (KDE)” then wait for Slax to load up
  5. Once you get to the Slax desktop, open Firefox using the icon in the taskbar at the bottom, and go to:  Select the Desire, click “Unrevoked3″ and select “Download for Linux”.  Choose the Save option when prompted by Firefox
    If you’re on a wireless network just copy the file from your USB drive or SD card to the Desktop.
  6. Extract the file you download (instructions below if you don’t know how)
  7. On your Desire go on Settings > Applications > Development and make sure “USB Debugging” is turned on
  8. Connect your phone to your USB cable
  9. Run Unrevoked (file’s called reflash) and wait a couple of minutes whilst it roots your phone
  10. When it returns the success message you know you’ve successfully rooted your phone!
    The video below shows the rooting process:

(Optional) Detailed Instructions on How To Extract the File You Downloaded

If you don’t know how to extract the UnrEVOked file downloaded from Firefox, follow these steps:

  1. Go to the Slax desktop (close any open Windows)
  2. Double-click the Home icon on the Desktop -> go into Downloads
  3. Right-click reflash.tar.gz and select Preview in Archiver
  4. Right-click the file in the window that opens, and select “Extract”
  5. When it asks you to select a location, click the Folder icon next the text box (which says root) and select Downloads
  6. Press OK

Final Word

At the end of this guide your phone should be rooted and you’ll be in recovery mode.  At this point you can restart your phone and continue using it normally, but with the bonus of having root permissions.
You’ll be able to run apps that need root permissions like ShootMe for screenshots, and Titanium Backup which lets you make a backup of all your apps and the app data (really suggest you do this if you’re going to install a custom ROM)

You can now move on to installing custom ROMS including the leaked version of Froyo if you like

HOW TO: Root Your Desire Easily (Method #2)

This guide is for Windows users who don’t feel comfortable with Method #1.  It’s still really quite easy to follow as you’ll see…
Whilst these instructions will work, I’ll try to go into a bit more detail tomorrow and hopefully get a video tutorial up too.

Disclaimer: I take no responsibility for anything that may go wrong by you following these instructions.  Proceed at your own risk!

What You’ll Need

  1. unrEVOked3 for Windows – download


  1. Uninstall HTC Sync if you have it installed
  2. Install the hboot driver using these instructions (it says Evo, but works for Desire) – when complete restart your phone
  3. Reinstall HTC Sync
  4. Double-click the reflash-bundle.exe file you just downloaded
  5. It will ask you where to install it, so just pick a location on your computer you can remember


  1. Go to where you installed Unrevoked
  2. On your Desire go to Settings > Applications > Development and make sure you have USB Debugging turned on
  3. Connect your phone to computer via USB
  4. Run reflash
  5. Wait a couple of minutes whilst your phone is rooted
  6. If all goes well you’ll have a rooted phone

Final Word

Once rooted, you can install HTC Sync again.

At the end of this guide your phone should be rooted and you’ll be in recovery mode.  At this point you can restart your phone and continue using it normally, but with the bonus of having root permissions.
You’ll be able to run apps that need root permissions like ShootMe for screenshots, and Titanium Backup which lets you make a backup of all your apps and the app data (really suggest you do this if you’re going to install a custom ROM)

You can now move on to installing custom ROMS including the leaked version of Froyo if you like :)


  1. 17 July 2010 09:29: Added “Reinstall HTC Sync” step.  This will make sure the phone is always recognised and prevent it from being reported as “disconnected”.  Still need to uninstall so that you can install the hboot driver without interruptions.
  2. 21 July 2010 19:18: Added note that phone should be restarted after installing hboot drivers

HOW TO: Install A Custom ROM On Your HTC Desire

Once you’ve rooted your phone you’ll probably want to install a custom ROM to take full advantage of the new gateway you’ve opened in to phone modding.


  1. A rooted Desire

Choosing A ROM
If you’ve already found a ROM you want to install then skip down to the “Installing the ROM” section.

I use XDA-Developers to browse and download ROMs.  There’s a massive selection there all created and customised by various developers.
Just visit the Desire Development section to find a ROM

There’s plenty of ROMs to choose from, each with their strengths and weaknesses.  In order to pick a good ROM there’s a few things to consider:

  • Developer – ROMs are developed usually by individuals, some are created by teams (such as CyanogenMod).  There’s a few dev’s that are well known and have decent reputation, here’s a few examples:
    1. richardtrip – developer of the DeFrost ROM
    2. AdamG – developer of the OpenDesire ROM
    3. uDK – released the leaked Froyo for Desire
    4. Cyanogen – well known for the CyanogenMod series (but currently no stable version for the Desire)
  • Features – what’s included with the ROM.  Here’s a few things to look out for:
    1. HTC Sense – quite a few ROMs don’t actually have HTC Sense.  They run Vanilla Android, which is Android without HTC’s Sense User Interface, and HTC’s applications.  I quite like Vanilla Android, but if you need Sense then make sure the ROM you choose has it.  If you’re not familiar with Vanilla Android then there’s no harm in installing a vanilla ROM to try it out.
    2. A2SD – Apps to SD card feature which means you can install apps to your SD and not have to worry about free space on your phone.  Although Froyo brings A2SD to the Desire anyway, I still managed to run out of space using it (it stores part of the app on the phone still).  As a workaround I switched to the unofficial A2SD method which stores the full app on your SD card though requires an initial setup stage where you create a partition on your SD card to store the apps.
    3. Cache to SD AKA dalvik2sd – This relates to the unofficial A2SD mentioned above.  If you have a fast SD card (class 4 or 6) then it might be worth looking out for this feature too.  If you’re still on a Class 2 like me then it’s probably better if you get a ROM without this.
    4. Custom Kernels – some ROMs will have a custom kernel which features UV (Undervolting) and/or OC (Overclocking).  From my limited understanding, UV causes less voltage to be provided to the processor and therefore increases battery life, whereas OC increases the maximum number of CPU cycles and therefore makes the phone run a little bit faster.  I prefer to stick with the stock kernel in terms of OC/UV.  Additionally, some kernels add support for things like ext3/ext4 partitions, Wireless N and volume hacks.
    5. Theming – some ROMs have exactly the same functionality as other ROMs, but simply look different.  Dev’s have created skinned versions of both Vanilla ROMs and of HTC Sense ROMs.  If you want an alternate look then a themed ROM might be worth looking out for.
    6. Extras – there’s a lot of other customisations developers choose to make too.  Usually the dev will list all the features and modifications in the first post of the article (assuming you’re using XDA) so you can have a look and see if it’s something you like!
  • Updates and Issues-have a look at the topic to see if there’s been many updates to the ROM.  Good developers maintain their ROM and actively fix any problems that occur.  Unfortunately, there’s a number of ROMs where the developer simply wanted their 5 minutes of fame, and then didn’t bother updating the ROM any more even though it has several issues.
    At the top of quite a few ROM topics, the developer will mention and issues that the ROM has so that you’re aware of them before installing.  You can also read through the topic to see if users are reported any other bugs too.  If it seems unstable then it might be worth holding off that ROM for a while.

Installing a ROM

  1. MAKE A BACKUP OF EVERYTHING FIRST.  If you don’t know how have a look at my tutorial here.
    There’s also a backup method in ROM Manager called “Backup current ROM” which I suggest running at least once too.
  2. Download the ROM file from the topic on XDA.  Certain ROMs such as the HTC Sense Froyo’s also need a radio file, if that’s the case then download that too
  3. Connect your Desire to your computer in Disk Drive mode
  4. Copy the ROM file (should be a zip file) and radio (if you need one) to the SD card
  5. Unmount your phone – Eject and change mode to Charge Only
  6. Reboot into recovery using one of these methods:
    • If you have adb install just open Command Prompt/Terminal and type: adb shell reboot recovery
    • If you have ROM Manager installed just choose the “Reboot into Recovery” option
    • Otherwise, turn off your phone -> Hold down Volume Down and Power to boot into hboot -> use the Volume Down key to select “Recovery” and then press the Power button to select it
  7. Once in recovery use your trackpad to scroll down to install zip from sdcard
  8. Choose choose zip from sdcard
  9. Select the ROM to install – your ROM will begin to install
  10. Once installed press the back button a couple of times to go back to the main screen of Clockwork Recovery
  11. Choose reboot system now
  12. If your ROM needs a new radio installing then check if there’s any specific steps in the ROM topic, otherwise just repeat steps 6-9 but select the radio zip file instead of the ROM in step 8
  13. Your phone will now restart and attempt to boot into the custom ROM


  1. My phone gets stuck at the boot screen, help!
    Just go back into recovery and select the wipe data/factory reset option.  Then restart your phone.  If the problem persists have a look in the ROM topic because it may just be a faulty version of the ROM.
  2. How Do I Create An Ext Partition for A2SD?
    This is only needed if you’re using the unofficial A2SD script.  If you want to use Froyo’s built-in version then you don’t need to do anything.
    You’ll need 1) AmonRA recovery port: link and 2) UnrEVOked again
    Using the root guide you used previously and get to the point where you have to run UnrEVOked – but DON’T CONNECT YOUR PHONE yet
    Go on File -> Custom Recovery, and select the AmonRA file you just downloaded (e.g. recovery-RA-desire-v1.7.0.1-R5.img)
    Now connect your phone and let UnrEVOked do it’s thing
    You’ll end up in recovery mode, but now with a different recovery image
    Scroll down to Partition SD Card
    Select Partition SD
    Press Trackball to confirm
    Set the swap size to 0
    Set the ext-2 size to any size you want – this is where your apps will be stored.  I’ve found 2GB way more than adequate but it’s down to personal preference.
    Fat32-size should be remainer.  This is your normal storage space for everything that’s normally on your SD card (what you see when you connect in Disk Drive)
    Press the trackball and your SD card will be partitioned.   When you restart your phone the A2SD script should automatically copy all your apps to the new ext2 partition, and installl any future apps to there too!

HOW TO: Replace the Default Font

This guide shows you how to replace the default Android font (Droid Sans) with a custom font of your choosing.


  1. A rooted HTC Desire
  2. The font package zip file – link
  3. The font changer .apk file – link


  1. Copy the file to your SD card
  2. Reboot your phone in recovery mode – instructions below if you don’t know how:
    • Using adb: type in Command Prompt/Terminal: adb reboot recovery
    • Using Boot Control widget: click the widget and select Recovery console
    • Manually: turn off your phone.  Turn on your phone holding the power key down.  Select recovery from the menu that appears
  3. Select install zip from sd card and select the file
  4. Once the install is complete restart your phone.
  5. Install the Font Changer apk file (instructions here if you don’t know how)

How to Change Font

  1. Run Font ChangerYou’ll be presented with a list of fonts that you can choose from
  2. Select a font that you like and a preview will appear
  3. If you’re happy press Yes, then press Yes again when prompted to restart your phone
  4. When it’s restarted you’ll see that the system font will have changed to your selection!

How to Revert back to the Default Font

  1. Download the file from here
  2. Copy the file to SD card
  3. Reboot into recovery and install the file. Restart phone
  4. Uninstall Font Changer from your applications


martino2k6 for the font changer apk and files (link)

HOW TO: Run PSFreedom On Your Desire (PS3 Jailbreak)

IMPORTANT: Sony have released the 3.42 update which patches this exploit.  If you want to retain the ability to jailbreak don’t install this update!!!
Instructions are available here on how to avoid the update and still play online.

As mentioned in the Twitter article yesterday there’s an open-source exploit available for the Sony PlayStation 3 which lets you run Homebrew software on it.  This hack has now been ported to Android – this means you can now connect your phone to your PS3, run the jailbreak and be able to run homebrew.


In order to use this you need to Enable PSFreedom first to launch the jailbreak on  the PS3.  Whilst it’s on you won’t be able to use the normal USB capabilities of your phone (adb, file transfer, charge etc), but straight after running it you can disable it.


  1. Sony PlayStation 3 on the 3.41 firmware.  DO NOT UPDATE TO 3.42 (see here)
  2. A rooted phone running OpenDesire 4.0.4 – link
  3. Either: Enable PSFreedom Homebrew (link) or Enable PSFreedom BDMV (link).  BDMV is the one for backups.
  4. Disable PSFreedom (link)


  1. Copy the Enable PSFreedom File and Disable PSFreedom file to your SD Card
  2. Reboot the phone in recovery mode
  3. Select “install zip from SD Card
  4. Select the Enable PSFreedom file
  5. Reboot your phone


  1. Reboot the phone in recovery mode
  2. Select “install zip from SD Card
  3. Select the Disable PSFreedom file
  4. Reboot your phone

How To Use

  1. Turn off your PS3 (unplug or turn off the switch on the back)
  2. Connect your phone via USB cable to the PS3 (make sure you’ve got PSFreedom Enable on using the Installation steps above)
  3. Restore power to the PS3 by turning the switching on or plugging the cable back in.  Don’t turn on yet
  4. Press the Power button and then QUICKLY press the Eject button.  If you do this right you’ll know because it takes a few seconds longer to start up
  5. In the Games section of the XMB (Cross Media Bar) you’ll see two new options.  If it’s not worked, repeat steps 1-4.
  6. Disconnect your phone and run the Uninstallation instructions to restore normal USB functionality


  1. Do I need to repeat this every time I want to run the exploit?
    Yes, as it’s a soft-jailbreak the jailbreak needs to run each time you turn your console on.  There’s no harm in leaving your phone with PSFreedom Enable on if you don’t the USB features for a while.
  2. Will it only work on OpenDesire?
    For now yes.  The exploit needs to modify the kernel and for now it’s only been done for the OpenDesire one.  We’ll probably see the hack coming to other ROMs in the near future
  3. Can I Run Backups?
    Yes, if you use the BDMV file.  There’s a Homebrew Backup Manager which lets you install the contents of game disk to your hard drive.  After that you still need a disk in the drive (any disk) to launch the game.  Please be sensible with this and use it for games you own.  More detailed instructions (and warnings) on this here (first post, scroll down to the FAQs on backups).

DOWNLOAD: Windows XP ADB Driver for HTC Phones


Yesterday I was trying to install the adb drivers on my work computer, which runs Windows XP.  Naturally, I tried the steps I posted up in a previous article but when it tried finding the drivers I got an error saying “Cannot install this hardware” because it could not find the necessary software.  I correctly assumed that the problem was with the drivers themselves (which worked on my home XP install), and a quick search led me to a topic on XDA-Developers where one of the users has uploaded working ADB Drivers for HTC phones.


You can download the drivers from here.  Use the instructions in this guide to install them (skip steps 8-12)


sh500 on XDA-Developers.  That’s the post which contained the working drivers.

HOW TO: Install the ADB Driver On Windows

Here’s a clearer guide on how exactly to setup the ADB drivers on Windows, with screenshots for each step.

  1. Follow the installation section of this post.  Ignore step 8 (“Windows: install the latest Android phone drivers using the instructions”)
  2. Browse to the android-sdk-windows folder:
  3. Run SDK Setup:
  4. Close the Refresh Sources box (pictured above) if it opens.
  5. Close the Choose Packages to Install box if that’s open too.
  6. Click the Settings option on the right
  7. Under Misccheck the box which says: “Force https://… sources to be fetched using http://…”
  8. Go on Available Packages and click the + (plus) sign next to the long URL (…) to expand it
  9. Select Usb Driver package and press Install Selected
  10. Select Accept under the terms and then press Install
  11. When the installation is completed, close the Installing Archives window
  12. IMPORTANT: In your SDK folder you’ll now have a new folder called usb_driver.  This is the location to search in the rest of the tutorial when you’re required to locate the driver
  13. Make sure you have Device Debugging enabled on your phone by going to Settings > Applications > Development > USB Debugging and ticking the checkbox.
  14. Connect your phone via the USB cable.  You’ll notice the Debugging icon in the notification bar, and opening the notification bar will show “USB debugging connected”
  15. If you’re on Windows XP, follow the steps described in the Perform A Fresh Installation section here
    If you’re on Windows Vista or Windows 7, follow the steps described in the Perform A Fresh Installation section here
    REMEMBER: Where it says “Click “Browse…” and locate the folder where you copied the installation package.” it’s the directory in Step 12 above
  16. The drivers should now be fully installed.

Installing the drivers lets you connect your phone in debug mode.  This allows you to take advantage of the SDK tools, such as ddms which lets you take screenshots.  It also lets you easily install applications from your computer, browse files on your phone and if you start developing Android applications you can quickly test them out on your phone.

UPDATE: If the drivers don’t work for you then try using these drivers instead

HOW TO: Take Screenshots On Your HTC Desire

There’s no easy way to take screenshots with an Android phone.  This is due to security issues that could arise if applications were capable of taking screenshots.  For example, imagine an app that would run in the background, take a screenshot every 2 minutes and upload the image to a remote server.  For now, two methods exist but neither are as straightforward as we’d like them to be:

1) Use a rooted phone. Rooting your phone gives you full access to your phone system and therefore it’s possible to access the screenshot functionality.  If you’ve rooted your phone just download ShootMe from the Market and all you need to do is shake the phone to capture a screenshot.

2) Using the Android SDK and a USB cable.

This method involves a few steps but once you’ve completed the setup, taking future screenshots is very easy.


  1. Install the Android SDK using the instructions provided here
  2. On your HTC Desire go on Settings > Applications > Development.  Check the USB debugging option

Taking Screenshots

  1. Browse to your SDK locations and open the tools folder
  2. Make sure your phone is connected via USB, and run the ddms tool.  You should see something like this:
  3. Make sure you select your device from the box on the right, then go on Device > Screen Capture
  4. The new window will grab your current phone screenshot and display it: 
  5. You can use the Refresh, Rotate, Save and Copy options to take the respective action with your screenshot.

Every time you want to take a new screenshot, just follow the 3 steps in the Taking Screenshots section.

Angry Birds Is Finally Out, For Free

This morning Rovio announced the news that the full version their long awaited Android game is finally available; and on top of that they also announced that the game is completely free of charge (but contains adverts).

Anyone running a rooted phone with adblock enabled obviously won’t even get the ads, but if you want to support Rovio then you will be able to buy an ad-free version in the near future.
Rumour has it that the ad-free version will be released on the Android Market after they’ve pushed 10,000 free copies (I’d be surprised if that number isn’t already reached) but only time will tell.


They’ve currently submitted the free version to the Android Market, so it will be available on there within 24 hours.  In the meantime, they’ve also published a copy of it on GetJar but unfortunately their servers are currently down due to the overwhelming demand of this game!

Just to make things easier for readers, I’ve uploaded the game and you can download it from here

UPDATE: It’s now in the Android Market, here’s the QR code (click it if you’re browsing on your phone):

GAME REVIEW: JellyBalls by HyperBees


The folks at Hyperbees were kind enough to send me their new Android title, JellyBalls.  It’s a take on the popular colour-matching genre, with some added extras to make it stand out from the rest.  I’d guess you’re all familiar with this type of game so instead of going on about what you’re supposed to do, I’ll highlight how it differs from its competition:

  • Design – sometimes I’ve found Android games have excellent gameplay, but they look horrendous or sometimes the in-game grahpics are well done but the menu system is a mess.  JellyBeans has it just right, they’ve thought through all the design aspects and made a game where the design is consistent (though nothing spectacular I’ll admit) from start to finish.  The animations are great, and the balls actually bounce when on the screen like jelly beans.
  • Gameplay – there’s plenty of game modes to choose from.  I prefer the “Get them all” mode which has an element of puzzle/logic built in, it makes me think and often plan out the moves in advance to make sure I achieve the desired goal.  For normal mode I’ve never really understood if there is a trick to it, and instead tend to click at random and hope for a fluke.  The gameplay is smooth, the levels get gradually more difficult and I’ve found myself playing this game throughout the week during my commute even if it’s only for a 4 minute local train.
  • Social Features – it’s becoming the norm for games to include some form of socialising method within the game.  JellyBeans uses ScoreLoop to allow you to submit your scores to the leaderboards and view your score ranked against others (including global, country, friends and scores submitted in the last 24 hours)
  • Pricing – at 99cents (60-70p?) is a fair price for the game.  It seems to be a standard price for Android apps/games and this is the kind of game that’ll keep you occupied during those little moments of time that just aren’t long enough to get anything useful done in

The Bad

  • no save games – the main thing lacking from JellyBeans is the ability to continue a game after you quit.  Ideally I’d want to start a game, stop for whatever reason and then carry one where I left off.  From the level of updates to other games HyperBees have published I wouldn’t be surprised if there’s one released for this game enabling game saves in the near future.

The Verdict


It’s a top game and probably the only one of it’s genre that I’d even consider playing thanks to it’s puzzle game mode.  It’s professionally designed, developed and published at an affordable price.  It’s an addictive little gem which has already proven to be very useful for a bit of a time waste.

Market Description:
JellyBalls is an eye-pleasing casual game where you pop same colour balls.
Enjoy multiple game modes and hours of gameplay. Compete with friends through global leaderboard. Includes 5 arcade and logical modes.
The classic favourite takes on a whole new dimension.
Screenshots (click to enlarge)