Steam for Linux

Steam for Linux

Sanguivor Sep 26, 2014 @ 7:43am
Workaround for slow download speeds with the Steam for Linux client
Background
Due to a bug in the Steam for Linux client it can slow down not only its own download speeds, but all DNS using network activity at the same time. This happens because the client looks up the network address for all the download servers it connects to every time it makes a connection. This can mean it will request the same information ten times a second from the DNS servers your network connection is using. Depending on how that DNS server is configured, it can throttle down the amount of DNS requests you can make. This causes Steam download speeds to start fast, but then quickly slow down into nothing, before starting up again fast for a short while.

Workaround
To workaround this issue you can install a DNS cache daemon/program on the local machine running Steam so it only taxes your machine, and not your ISP.

In Ubuntu the easiest one to install is dnsmasq because a stripped down version of it (dnsmasq-base) is installed by default already. The base version installed by default does not have the caching functionality enabled.

Because the base version is already running by default the full version you install is not able to start. Easiest way is to just restart your computer, but you can also stop the old dnsmasq service and then start the new one.

Result
For me download speeds in Linux used to climb quickly to 3MB/s and then fall down to nothing in a few seconds until starting up again more than ten seconds later. This also affected all other network traffic. After installing dnsmasq my download speed is a steady 5 to 6MB/s; the same speed as in Windows.
< >
Showing 1-15 of 98 comments
Dusk of Oolacile Sep 26, 2014 @ 1:20pm 
Time to open a bug on the Steam bugtracker, if you haven't already done so. Nice catch!
Sanguivor Sep 26, 2014 @ 6:35pm 
Originally posted by LOLCAT:
Time to open a bug on the Steam bugtracker, if you haven't already done so. Nice catch!
Thanks! It's tracked at Issue 3401[github.com] . I got tired of having to leave Steam to download overnight and finally looked into it. This bug has existed for at least over a year, maybe even from the first version of the Linux client.
Matze Oct 4, 2014 @ 10:53pm 
Thanks for sharing the workaround. dnsmasq is already installed on openSUSE by default. Can you tell me how to configure it to cache the DNS (for Steam)?
Sanguivor Oct 4, 2014 @ 11:22pm 
Sorry, but I've never used or configured openSUSE.
Thunderboad Dec 2, 2014 @ 2:24pm 
This really works!!! Very Thanks!!!
毕贤胜[Linux] Dec 16, 2014 @ 6:44pm 
nice tip. this really stabilized my steam downloads greatly.
JDx Dec 22, 2014 @ 10:54pm 
works +1
triodo Dec 24, 2014 @ 10:12am 
+1
The Dog's Day Dec 25, 2014 @ 1:33pm 
So, how *exactly* do we actually use this tip? I have dnsmasq installed but have no idea how to use it to fix the issue. Can someone please post a complete howto on this, instead of just a "fixed it for me" or "+1"?
JDx Dec 25, 2014 @ 2:24pm 

IIRC , I just installed that "dnsmasq" package from package manger in Ubuntu, and turn ff/ on computer and after a while the download speed started to go up in steam
毕贤胜[Linux] Dec 26, 2014 @ 6:18am 
Originally posted by The Dog's Day:
So, how *exactly* do we actually use this tip? I have dnsmasq installed but have no idea how to use it to fix the issue. Can someone please post a complete howto on this, instead of just a "fixed it for me" or "+1"?

the "how" has already been explained:install dnsmasq

once installed domain name queries are then handled by dnsmasq. when your computer makes a domain name query, dnsmasq checks it's cached list of domain addresses, and if the address isn't currently cached, it forwards the query to the next available dns. it then caches the response, and all subsequent queries to that domain are then handled by dnsmasq.
Last edited by 毕贤胜[Linux]; Dec 26, 2014 @ 6:19am
guga_idde Dec 27, 2014 @ 6:15pm 
Tyyyy! 231 days to 20min! haha
bartek.rychlicki Jan 6, 2015 @ 8:51am 
Complete howto for those still confused:
sudo apt-get install dnsmasq
sudo service dnsmasq restart
# done, this immediatelt improved my download spee from few kbytes per second to full 1.2Mbit

No restart was required.
pdnsd is a nice caching DNS proxy. Besides, it keeps cached records between reboots.
JDx Jan 7, 2015 @ 9:21pm 
Download speeds are still half then on windows client , even with dnsmasq
< >
Showing 1-15 of 98 comments
Per page: 15 30 50