Saturday, March 29, 2008

KTorrent vs Bittornado, Deluge, Transmission, rTorrent

Torrent client for Linux? KTorrent! KTorrent is based on the interface that the most popular client for Windows - uTorrent provides, but it is not just a clone, KTorrent cannibalizes uTorrent and improves upon it.

KTorrent is built using the KDE library, and hence it is a KDE application. Of course like thousands of other KDE apps it runs on Gnome. However, typically when people (including me) are using Gnome they prefer to use Gnome applications. Here's why I've chosen KTorrent over other linux torrent clients, all of which you can download through apt-get or synaptic.

Bittorrent/Bittornado - Too simple a client. Doesn't have most options, the Gui is very limited. Only reason to use it would be for really old computers which can't power newer GUI, but there too you're probably better off with rTorrent.
Get it in Ubuntu: sudo apt-get install bittornado-gui

rTorrent - Text based torrent client. It can run the main torrent daemon at the background, text (ncurses) interface connecting to it as and when necessary. Very powerful, but I found the text based + scripted interface too complicated. If I had no other option, I'd probably spend more time on learning to use this interface and go with it. Only one caveat: it doesn't work with NTFS drives.
Get it in Ubuntu: sudo apt-get install rtorrent

Deluge - This is one good client for Gnome. However, since it is built using Python which can be slow in slower computers, and it follows the Gnome 'keep it simple' philosophy, the developers are not ready to add more GUI features. I've myself submitted a patch which would show a torrent bar like uTorrent/KTorrent where you can see which exact part of the torrent has been downloaded as opposed to a single statusbar. I and some other developers thought it was cool but one of the project owners was reluctant to accept it - so I concluded it's not the client for me.
Get it in Ubuntu: sudo apt-get install deluge-torrent

Transmission - This is the default torrent client for Ubuntu Hardy Heron to be released on 2008 April. I seriously do not know why this was chosen, as transmission doesn't yet support DHT. For those who don't know, DHT means distributed hash table, a method which allows a torrent to go on when once started without requiring the main server. If a torrent client doesn't support DHT, it won't be able to search for peers to connect who are outside the list of servers it has, in effect reducing the speed. Irrespective of your Internet connection bandwidth, most often you'll see a dramatic increase in speed for a DHT supported client than a non DHT. So Transmission is a strict no no. First thing you do after installing Hardy is remove Transmission and install something that is more capable, like KTorrent.
Get it in Ubuntu: sudo apt-get install transmission-gtk

Azureus - Never used it myself, but the complaints I've got about it is that it's a major resource hog. Also since it's written in Java, you'll the Java VM loaded in your memory as long as it runs.
Get it in Ubuntu: sudo apt-get install azureus

KTorrent - Now this is the one torrent client for linux that has all. Doesn't matter if it is made for KDE, the package manager will install required KDE libraries automatically to let it run in Gnome. Now you have access to DHT, NAT traversal, support for loading large ban lists, a very nice and informative GUI, hoard of configuration options that you can set without needing to script, and the ability to control KTorrent from terminal. The last thing is what I needed the most, when I figured out how I can connect to my computer from a remote place - as I wanted to control the torrent client remotely. This is how you control KTorrent from terminal:
Once you have a copy of KTorrent running, you can use the "ktshell" program (installed with KTorrent) from the command line, to control it from terminal. If you're connecting through SSH, you'll have to type the following line to let ktshell know which display KTorrent is running: "DISPLAY=0; export DISPLAY". And then you're all set!
Get it in Ubuntu: sudo apt-get install ktorrent

Verdict: KTorrent. If your system is really old and can't run KTorrent, and you're not writing into NTFS disk, then go for rTorrent.


  1. I don't quite agree.. transmission is the choice for me and not because it's there by default.. It is light and lightning fast compared to kTorrent which with 100+ torrents take forever to start and consumes about 200+MB of memory.
    I don't care much for DHT as mostly I am using private trackers which forbid DHT anyway.

  2. Ktorrent is the best to use. IMHO ;)

  3. I'm using gnome, and I've tried most of the clients for linux. Ktorrent came closest to satisfying my needs but took to darn long to load under gnome, so i just use uTorrent under wine and it works swimmingly :)

  4. For what it's worth...

    Transmission seems to have a problem downloading a torrent once you stop it for any reason. I rebooted after 1 gig of a 4 gig torrent was down and from that point on, Transmission is losing 50% of everything downloaded for that torrent going forward. If you don't interrupt the initial download, it seems to work fine, but if you reboot or disconnect and reconnect to your network, Transmission is having problems.
    I have been able to reproduce this error 10 times in a row now with a different torrent each time, but the file size needs to be over 500 meg. Given the problems with trying to download a large (>1 gig) torrent in one continuous session, I have given up trying ot use Transmission.

  5. transmission is simply garbage.
    the priority setting gets messed up and its slow on download.
    ktorrent is fast when downloading under 8 torrents. very informative and works better than expected.. great product


  6. Some apps seem to load slowly because they don't use the same toolkit that your OS uses. They have load an addtional toolkit into memory. (I wrote about this in my own blog just on Monday if you want to look that up!)

    Post and replies very informative, thanks. I was used to ktorrent on Kubuntu 6.06. I'm new to Xfce, so I'll have to try out Transmission and watch out for the issues described here.

  7. ktorrent gives me WAY more bang for the buck than transmission.

    i've used both clients for quite sometime.

    I'm not seeing much difference between transmission and ktorrent with download speeds.

    this machine runs xubuntu w/ 512MB ram. ktorrent uses just a bit more than transmission.

  8. ktorrent does looks like the best client . but.. i found transmission had much better speed results no matter how much i tried tinkering with ktorrent settings. :( in the past ktorrent also had a cpu usage problem but that seems to be fixed now.

  9. KTorrent is on my desktop system the #1 choice, its very fast it look and feel is very nice, and it doesnt hug TOO much resources.

    rTorrent is great too, i use it on my server (a eeePC) and it does its job excellent the learning courve is a little hh but u get rewarded with a extremly customizeable program that never lets you down.

    On my eeePC i ran with Rtorrent up to 10 torrents for 4 months straight (arch linux) super stable and low on resources.

    If u have a server or NAS rtorrent is great.

    the gnome loaders (transmission deluge and so on) are slow too simple or hog too many resources so i stopped using them some time ago.

  10. personally i'd have to go with rtorrent. It's by far the fastest of all the linux torrent clients. It also scales better than the others. Transmission is probably a close second in speed but it lacks most of the advanced features of rtorrent. It uses a text based what? you can compile it with xmlrpc-c and use the amazing rutorrent frontend which clones the utorrent webui EXACTLY...and with the plugins it does automatic rss downloads and, for my money i'd go with rtorrent.

  11. BitTornado is also python based. I think it's unfair to call python 'slow'.

  12. Transmissionindeed does support DHT, ever since TPB shutdown all their trackers Transmission downloads things with way more peers than Ktorrent can. Im still an avid ktorrent user though .

    If you compile transmission manually you can enable DHT support Im using Gentoo so all I had to do was enable the DHT USE flag, and viola DHT support.

  13. I have to agree with the use of KTorrent. I used deluge for some time on my xfce (Xubuntu) system, but since I switched to PCLinuxOS (I don't have the video hardware for KDE4.. It was too slow), I've been using KTorrent.

    No problems whatsoever with it. Any torrent I add to it is done fast, and moved properly when done.

    I haven't used any of the webui for it, altho I did just now try ktshell for the first time. It reminds me a lot of the deluge cli-ui, altho without all the nice color-coding..

    Very handy, for me, as I often have to administer my home system from work via SSH. Thanks for that tip!!

  14. Deluge is actually pretty good in terms of resources. rtorrent is the fastest, yes, but if you want a GUI that's not all KDE and a 400-lb gorilla on your system, it's much better than transmission.

    Deluge/rtorrent FTW!

  15. I tried using deluge, as I had a bias towards python. But the second time was the same as the first - I stopped using it because it was too buggy. I also don't like the way they develop it; they changed the interface to it with an entire new one that's harder to use.

  16. I still say rtorrent is the way to go. It is just way faster.
    I've seen a torrentflux (bittornado read: python) box with loadavg's in the 10's and 20's, when switching the same hardware to rtorrent, + rutorrent, load drops to 0.5-1.0 and speeds increase.

    This seems to be the rule rather than the exception, that's why it's FAIR to call python "slow"

    It's just a matter of scale.

  17. uTorrent was dropping the connection.

    The failed block issue seems to be resolved with my filesystem move from EXT3 to XFS. Not only that, uTorrent will peer happily with KTorrent now.

  18. i would go with utorrent

  19. 5 years on and now Transmission is possibly the best torrent download program available, with the lowest resource use (even better when running as just the separate daemon program without front end), as well as support for DHT and PEX.

    And for remote operation there has been available for several years, Transmission-Remote-GUI (available on Google Code), which offers better capabilities than the Transmission web interface on port 9091. In fact some may even prefer the transgui interface to Transmission's own GTK or Qt interface.