Closed polluxau closed 1 month ago
Can confirm this improves speeds, although in an apples to apples test with Windows; download speeds are half of what is possible with the same hardware.
Weight prioritization appears to be incorrectly set by the Linux client. Normally this is a browser request, but without knowing how the client is sending the request we're in the dark. Hopefully a Valve dev sees this and can chime in or fix it.
Also experiencing this issue and have tried multiple distros also because I thought it might be an Arch linux specific problem. Lucky if I can get 3MB/s from my gigabit connection. By adding those options to the file I top out at around 40MB/s. My Windows 11 install pulls over 100MB/s. Hope this gets looked at soon, honestly surprised there's not more people talking about this.
The fix helps me get better speeds, although Windows 10/11 is much faster still. 650mbps minimum with my local server.
Meanwhile I gotta switch to US Boston on any Linux distro and even then it goes between 150-500mbps after adding the steam_dev.cfg fix.
Not sure how long it's been happening for but Ubuntu, Arch, and Fedora based distros all have this problem.
Yup same fix helps, but I'm still missing about ~30MB/s even with the fix (110MB/s before or on windows down to ~80MB/s[measly 35MB/s without the fix])
On my Arch setup the second line actually slows download speeds. Only the HTTP2 one is needed.
This is on a 1Gbit connection in northern Europe.
Thank you so much. With just "@nClientDownloadEnableHTTP2PlatformLinux 0" in the .cfg my speeds went from 10MB/s to 48MB/s, which is still far off from the 74MB/s that I used to get way back when I used Windows, but it's a MASSIVE improvement. The second line: "@fDownloadRatelmprovement ToAddAnother Connection 1.0" trashed the speed again so I left it out.
I'm experiencing the exact same results as @laurirasanen 1.5gbps connection in Ontario, Canada, Arch.
My steam deck is also getting the same ~30mbps download speeds as my Arch desktop. I have not tested the fix on it.
@iamshadow2008 Your issues may also be DNS related. I was observing ~10mbps before I set up a caching server. Check the arch wiki's steam troubleshooting guide for slow download speeds here (if you're not on arch these instructions won't really help but checking the DNS resolution time of repetitive requests may help)
I can confirm that disabling HTTP2 fixed it on my NixOS desktop as well as my Steamdeck - I went from ~15Mbps on each to ~500Mbps on each.
I was also having slow download speeds, I'm only on linux (pop-os), can't tell about the Windows world if its faster or not. Adding these 2 settings fixed completely my issue. Went from 15-20 MB/sec to 46MB/sec, which is my max speed (360Mbps). I haven't tried if the second setting is needed,probably not but in my case I'm still maxing out.
It seems something recent, because I have been with the same ISP and internet package for the past 4-5 years and always did my max speed when downloading with steam.
is it possible for ISPs to have an effect on this issue? I had no problems on EndeavourOS for a couple of years until i had to move to a new neighborhood. With a new neighborhood usually comes a new ISP, which was when I started seeing this issue. The recommended fix in the OP remedied the issue. Sadly, I don't know anyone in my old neighborhood, i'd be interested to know if anyone had a similar experience to mine.
Before I did anything I was seeing exactly half of the speed I see in Windows 10. With adding dnsmasq I saw a speed increase for a time, but it dropped to half again. Turning off HTTP2, I've got around 98% of my windows speed. Happy with that - lets hope it sticks :-)
This only "improves" download speed on my end. but it still isn't able to reach the full potential i get when using Windows. There is something wrong. And all the fixes out there only seem to "improve". Though if you have a somewhat fast connection you still might notice slower speeds than possible. For example i never get my 1Gbps i only get around 700Mbps.. if i disable Https2.. if i don't disable it i will be at around 300Mbps.. while in Windows i'm at pretty much 900+Mbps. I assume lots of people who claim this fixes the issue don't have such a fast connection therwfore it already maxes speed after that fixes.
All the workarounds that are around do not really fix the issue. Just in case someone mentions them again:
@YoinkerBoinker I also have a Gigabit connection and with HTTP2 disabled I max out at around 900 Mbit/s, which is approximately 930 Mbit/s on the wire. Can't compare to Windows but that is the maximum my connection allows.
With HTTP2 enabled I also end up somewhere at around 300 Mbit/s.
@YoinkerBoinker I also have a Gigabit connection and with HTTP2 disabled I max out at around 900 Mbit/s, which is approximately 930 Mbit/s on the wire. Can't compare to Windows but that is the maximum my connection allows.
With HTTP2 enabled I also end up somewhere at around 300 Mbit/s.
Interessting. Also interesting: I have a second system. And when i disable HTTP2 on that system nothing changes. The speed stays slow on that system. I can litterally do whatever i want. Even reinstalled Arch there twice and also tried Suse. No luck. My Mainsystem however will see speeds close to Max after disable HTTP2.. but still windows is faster. It seems like Hardware/Networkchip also has something to do with this. Because i have no clue why my other PC wouldn't be able to benefit from that workaround at all (on Windows that system also will get fullspeed).
Hello! Sorry if this isn't helpful, but I had the same issue across every distribution I tried, which was: Ubuntu, Arch, EndeaverOS, and Mint. Tonight I tried Bazzite which is based off Fedora 39. It looks like the issue is fixed specifically with this distribution but I'm not sure if it's something they've done, or if it's part of something in Fedora 39. If any of you have some time, could you try Bazzite or Fedora 39 and report back if this issue is fixed for you?
It might be helpful to check and see if it's fixed this for anyone else and then maybe work from there.
Bazzite has in their github page saying they applied that fix and the gui helper they have also has this fix that can be applied
Replying to https://github.com/ValveSoftware/steam-for-linux/issues/10248#issuecomment-1962293361
Where is that? I checked their github page but can't seem to find it getting mentioned (or i'm just too stupid).
On Windows I consistently get 90-95 Mbit/s, on Linux, before the fix 20Mbit/s and now after the fix 80 Mbit/s There's still room for improvement ;)
The fix:
@nClientDownloadEnableHTTP2PlatformLinux 0
Kubuntu 22.04
does using ipv4 instead of ipv6 have any impact for anyone else? I'm using OPNSense router, and had issues with ipv6 that resulted in a strange bug where some elements of steam were not loading properly. I resolved them by configuring ipv6 DNS to cloudflare's. I just recently found a setting to prefer ipv4 over ipv6 and the result is i get a small bump in download speed (in addition to disabling HTTP/2):
I found another setting that has made a difference to my download speeds, @cMaxInitialDownloadSources . Steam still isn't using the full 2.5Gbps of my connection, but now it's much closer. |
Config | Speed |
---|---|---|
Stock | 20MB/s | |
Http2 Disable, Rate Improvement | 65MB/s | |
Http2 Disable, Rate Improvement, Initial Sources | 170MB/s |
My steam_dev.cfg file:
@nClientDownloadEnableHTTP2PlatformLinux 0
@fDownloadRateImprovementToAddAnotherConnection 1
@cMaxInitialDownloadSources 15
I noticed that download_sources
in the steam console only ever showed me connected to 4 servers.
I found that setting @cMaxInitialDownloadSources 15
made it connect to 15 servers immediately. My download speed jumped to a max of 170MB/s after only a few seconds, rather than the previous max of 65MB/s it reached after 30 seconds.
its weird that these things havent been applied to the steam client with an update, its another thing that some windows user might notice and go "oh linux is worse at downloading my games on steam, im going back to windows" when that isnt the case, its just certain things need to be enabled to work better. hopefully valve enables these or figures out a better solution to solve this.
Hi, author of the original Reddit post chiming in.
If you decided to change the @fDownloadRateImprovementToAddAnotherConnection
, you should probably set it to 1.1
or just remove it altogether, since setting it to 1
just tells it to connect to any servers, without verifying that it actually downloads faster.
You could also try more than 1.2
, however it might connect to less servers with that value, effectively lowering download speed.
Also of note, for some setups streaming off a single server might be faster than connecting to multiple servers, but take that advice with a grain of salt.
Hello, I've tried
- and this combination's helped me go from sub100 KBPs to sub1MBPs (generally spiking to around 400 - 600KB/s, occasionally 1MB/s, and then steadily decreasing) but it's still very peculiar.
Interestingly, when I tried downloading something on Steam a couple months back, I don't recall any discrepancy in download speed of any sort. I'm not sure what I've changed in my setup since then - if anything, but none of the three fixes I tried above have helped in any significant way.
Usually, I get ~4 MB/s.
so i hade pretty much max for a while using the "fix". Now i'm at 500Mbps again on a connection that should be 1000Mbps. Frustrating.
Same problem and same fix on manjaro and ALT Regular Kde linux create ~/.steam/steam/steam_dev.cfg and added lines:
@nClientDownloadEnableHTTP2PlatformLinux 0
@fDownloadRatelmprovement ToAddAnother Connection 1.0
For me the fix didn't work... I can get around 90MB/s - 100MB/s on windows right at the start of the download process... With Linux i'm getting a max of 11MB/s, (ONLY 10%). I tried the steam_dev.cfg file with all tree suggested commands, also tried them individually, sadly no success. The only improvement it did to me is that the download gets to its top speed (11MB/s) much faster now...
Downloads are slower, CS2 almost unplayable when comparing to Windows... Idk, i'm almost quiting...
----EDIT---- I WAS STUPID
Guys, for some reason the steam installed on Windows defaulted to show the download speed in bits per second, while the Linux version is using bytes per second... so sorry...
For me the fix didn't work... I can get around 90MB/s - 100MB/s on windows right at the start of the download process... With Linux i'm getting a max of 11MB/s, (ONLY 10%). I tried the steam_dev.conf file with all tree suggested commands, also tried them individually, sadly no success. The only improvement it did to me is that the download gets to its top speed (11MB/s) much faster now...
Downloads are slower, CS2 almost unplayable when comparing to Windows... Idk, i'm almost quiting...
The file is supposed to be a .cfg not conf
Make sure its in
.steam/steam/steam_dev.cfg
Also make sure you're using system package steam and not flatpak as that would be a different location for the .cfg
Sorry, I misstyped, the file is a .cfg and it is in the correct place. I'm using the .deb package provided by my distro (POP OS 22.04)
On Windows I get constant speed 930-970Mbps. On Linux maximum 93Mbps. Neither one suggested command helped here. Difference using mentioned commands were about 2-3Mbps. Doesn't matter which location I choose.
Kubuntu 23.10
edit: my big fail. I made some cabling recently, and by mistake used only 100Mbps cable.
The second and third line don't seem to help in my small test case. But the first line helped me the first time and then didn't help me today. I input it via the steam console by going to steam://open/console. The first time I jumped from like 50 M bits ps, to like 300. Today no change. I'm stuck at like 60 Mbps.
Using Fedora 40 Workstation (Intel 12400 CPU, if that helps narrow it down I dunno). Steam flatpak from Flathub. The native RPM had other issues if I remember correctly.
I'm on ethernet Linux Kernel Version: " Linux 6.8.7-300.fc40.x86_64 " uuhh ... MSI motherboard: MSI PRO B660M-G DDR4 LGA 1700 Intel B660 Ethernet is: Realtek® RTL8125BG 2.5Gbps LAN controller
And similarly, speeds are faster when I boot into Windows and download Steam games. This is really frustrating, I hope Valve knows about this.
I'm also getting very slow download speeds on Linux. I'm running Nobara which is based on Fedora and getting around 5MBps, download speed is very stable when measured with Speedtest server based in Helsinki so same city where Steam's download server is. fast.com also gives stable results. Another computer on my network running Windows gets a stable 110MBps download speed on Steam.
Both these fixes are applied, but it looks like removing them makes no difference either.
roope@nobara-pc:~$ cat .local/share/Steam/steam_dev.cfg
@nClientDownloadEnableHTTP2PlatformLinux 0
@fDownloadRateImprovementToAddAnotherConnection 1.0
Disabling IPv6 also seems to not do anything. I'm also running dnsmasq on my local computer.
I can provide any logs if such are useful for debugging, just let me know which.
Replying to https://github.com/ValveSoftware/steam-for-linux/issues/10248#issuecomment-2088784167 I'm now without any apparent changes getting 110+MBps speeds again, weird.
Next morning edit:
Did a little bit of digging.
Adding the @cMaxInitialDownloadSources 15
improves speeds to around 60MBps.
Looks like when I start up Steam, I get connected to cache2-rix-retn.steamcontent.com
and this gets me the around 60MBps speeds. After a while I get a bunch of Created download interface of type 'SteamCache' (7) to host cacheN-sto1.steamcontent.com
messages and my download speeds spikes to 100MBps+.
Here's some snippets from my content.txt:
[2024-05-02 06:52:24] HTTPS (SteamCache,142) - cache2-rix-retn.steamcontent.com (139.45.206.19:443 / 139.45.206.19:443, host: cache2-rix-retn.steamcontent.com): Closing connection
[2024-05-02 06:52:24] stats: (SteamCache, 142) cache2-rix-retn.steamcontent.com: 3922978536 Bytes, 136 sec (231.44 Mbps). 3801 Hits / 573 Misses (87 %, 87 % bytes)
<snip>
[2024-05-02 06:52:24] Created download interface of type 'SteamCache' (7) to host cacheN-sto1.steamcontent.com (cacheN-sto1.steamcontent.com) # This times 13 for different Ns
<snip>
[2024-05-02 06:52:42] Increasing target number of download connections to 19 (rate was 548.084, now 809.220)
Looks like my issue is only partly this one but mostly a routing issue. I'll share my findings anyway.
I need to:
Disable IPv6 globally by adding ipv6.disable=1
to my kernel boot parameters.
Disable HTTP/2 from steam by adding @nClientDownloadEnableHTTP2PlatformLinux 0
to my steam_dev.cfg
.
Block cache1-rix-retn.steamcontent.com
and cache2-rix-retn.steamcontent.com
using my /etc/hosts
with these lines:
$ tail -2 /etc/hosts
127.0.0.1 cache1-rix-retn.steamcontent.com
127.0.0.1 cache2-rix-retn.steamcontent.com
And only now I am getting around the same speeds as the Windows machine is.
As this looks to be kind of a mess, could you @laurirasanen try if adding the lines to your /etc/hosts
help? If not, what ISP do you have? Mine is Lounea.
I too can confirm that I experience this problem. At both my house network and my university network, I never experience full speeds unless I set the following:
@nClientDownloadEnableHTTP2PlatformLinux 0
@cMaxInitialDownloadSources 15
I don't know what the issue can be, but what ever it is, it is happening on two vastly different networks. Also, as a side note, my university network did not work with ipv6 at all, and it doesn't make a difference to any of the settings I've changed; I always keep ipv6 enabled.
Having the same issue on endeavourOS, i was getting 500mbps on windows 10 but only 60mpbs on linux.
By just cleaning the download cache i started getting 130mbps, but still far from the optimal download speeds, so i started messing around with the steam_dev.cfg.
The TL;DR of what i found for me is that @nClientDownloadEnableHTTP2PlatformLinux 0
give double the speed but makes it unstable, adding @fDownloadRateImprovementToAddAnotherConnection 1
make it more stable but reduces the overall speed.
I tested the configs using a 20gb game, here the time it took:
After cleaning the cache: 20 minutes.
With only @nClientDownloadEnableHTTP2PlatformLinux 0
= 7 Minutes (300mbps-473mbps), but it was really unstable, the download would stop for 1-3 seconds some times.
@nClientDownloadEnableHTTP2PlatformLinux 0 + @fDownloadRateImprovementToAddAnotherConnection 1
= 17 minutes(100mbps-473mbps), it was stable but overall way slower, so i prefer keeping only the HTTP line.
I consider the "fix" more of a workaround. Windows Speed never really gets matched. I just want to mention it so Developers don't assume it's enough just to apply this workaround. Some Things i observed when comparing Downloadspeeds: There also seems to be a difference depending on what games are being downloaded. I suspect it to be related to games that have lots of smaller files. The Download Speed of such games is slower and this is somewhat expected and normal behaviour though the difference in download speed between Windows and Linux (workaround already applied) seems to be even bigger and sometimes just half the speed compared to windows. My guess also is that this is best observed on fast connections. Therefore this workaround might appear to "fix" the issue when used on a slow/average connection. But on faster connections it becomes more obvious that it doesn't really fix the root of the Problem. I have 3 different systems at home and all the systems only come "close" to Windows (in best case scenarios) but never match it.
@nClientDownloadEnableHTTP2PlatformLinux 0 @fDownloadRateImprovementToAddAnotherConnection 1 @cMaxInitialDownloadSources 15
It does nothing for me. I used to get up to ~71Mbps (the same max as on windows) but since I updated to Fedora 40 (kernel 6.8.5, since 6.8.9 breaks games) it's irregular (at least it's when I noticed), sometimes full speed, sometimes max 10Mbps. On my Steam Deck wired I still get up to ~71Mbps. Changing server locations does nothing for me too.
//Changing to Steam Beta Update made me go from ~8Mbps to ~12Mbps but the commends still did nothing (used open/console, not .cfg)
For me, it worked, my download was about ~70Mpbs and after applying those settings, it went up to ~400Mbps
Fix works for me. Download before: ~10 MB/s, after: 100 MB/s!
Same issue there, and I confirm workaround allowed to jump from 10MB/s to around 95MB/s.
Parameters set:
@nClientDownloadEnableHTTP2PlatformLinux 0
@cMaxInitialDownloadSources 15
This remains an alarming issue, these "fixes" do improve my initial top speed of about ~20Mbps and bumps it to about ~450Mbps, but only solves part of the problem. I can still only get half of my actual line speed, which is half of what I can get in Windows.
So to reiterate, in Linux I get around ~450Mbps. Very rarely it will do random bumps up to ~600Mbps, sometimes staying there for a short while before tanking again. I have never seen it go above this though. In Windows I get ~900Mbps+ consistently.
This clearly means both my hardware and my internet is more than capable of downloading at close to 1000Mbps, which means this has nothing to do with bottlenecked hardware. This also has nothing to do with slow Steam download servers or different regions. I put particular emphasis on this because while it can be a factor for some users, this particular issue transcends these cases.
There are too many external forums pointing directly to this issue that seems to blame the user's internet or hardware, and that needs to stop.
I don't have any other issues with any other game clients on Linux (Lutris + EA App goes the full 930Mbps on Linux and same in Windows).
I had the same issue here. I got linked to this issue from the ArchWiki steam troubleshooting page. I run the latest EndeavourOS.
I shut down Steam and created the file ~/.steam/steam/steam_dev.cfg
with the following contents:
@nClientDownloadEnableHTTP2PlatformLinux 0
@cMaxInitialDownloadSources 15
Started Steam and my download that was maxing out around 190mbit was now pulling around 931mbit on my gig connection!
Replying to https://github.com/ValveSoftware/steam-for-linux/issues/10248#issuecomment-2142712450
Do you get a consistent 900Mbps+? I am unable to reach that speed on Linux despite having these fixes applied, even though I have a gigabit connection and downloading from the same server I am downloading from on Windows where I easily reach 900Mbps.
Replying to https://github.com/ValveSoftware/steam-for-linux/issues/10248#issuecomment-2142712450
This config worked for me. Using Kubuntu 24.04 and the config fixed my download speed. What was initially a 5.8MB/s download, now got to the maximum ISP allowed Download speed. Thank you so much.
https://github.com/ValveSoftware/steam-for-linux/issues/10248#issuecomment-2143291950
The download speed seems to vary quite a lot. The slowest I have seen it go is usually around the 500-600mbit mark.
I tried running both the steam runtime and steam-native-runtime packages to see if the runtime version was at fault, but using native arch libraries seems to still have the slow downloads.
Hey guys, ive finally been able to get identical speed to windows doing the following:
i have the following ~/.local/share/Steam/steam_dev.cfg:
@nClientDownloadEnableHTTP2PlatformLinux 0 @fDownloadRateImprovementToAddAnotherConnection 1 @cMaxInitialDownloadSources 15
and ALSO had to blocklist my 'cache1' url, which for me is:
cache1-pit-pitx.steamcontent.com
yours is likely to be different, but you can find it by inspecting ~/.local/share/Steam/logs/content_log.txt go to the bottom of the file, you should see a line similar to the following (you may need to start a download before it will appear):
Created download interface of type 'SteamCache' (7) to host cache1-pit-pitx.steamcontent.com (cache1-pit-pitx.steamcontent.com)
You can block this either in your dns settings (this is left as an exercise to the reader) OR by adding the following line to /etc/hosts (substitute my url for yours):
127.0.0.1 cache1-pit-pitx.steamcontent.com
only after applying both of these changes i finally get speed identical to windows
Credits to @roope242 for figuring out the bit about cache1 being weirdly slow
Unfortunately, blocking has not made much of a difference with my setup. I assume it's meant to force a slow server to drop out so a fast one will replace it, however all my download servers contribute roughly equally. I've tried blocking more of the slowest servers but the replacements aren't noticeably different. I would need to see ~20MB/s on average from each server to saturate my connection but I only ever see ~7MB/s max.
I started diving into and carefully looking through all the steam logs and noticed that when downloading I get thousands of these lines per minute dumped out to ~/.steam/steam/logs/content_log.txt
[2024-06-07 13:57:02] 22633 flagged invalid platform (oslist: linux)
[2024-06-07 13:57:02] 22634 flagged invalid platform (oslist: linux)
[2024-06-07 13:57:02] 22636 flagged invalid platform (oslist: linux)
[2024-06-07 13:57:02] 33245 flagged invalid platform (oslist: windows)
[2024-06-07 13:57:02] 34440 flagged invalid platform (oslist: windows)
[2024-06-07 13:57:02] 34450 flagged invalid platform (oslist: windows)
[2024-06-07 13:57:02] 34460 flagged invalid platform (oslist: windows)
[2024-06-07 13:57:02] 34470 flagged invalid platform (oslist: windows)
[2024-06-07 13:57:02] 34490 flagged invalid platform (oslist: linux)
[2024-06-07 13:57:02] 34491 flagged invalid platform (oslist: linux)
[2024-06-07 13:57:02] 34492 flagged invalid platform (oslist: linux)
[2024-06-07 13:57:02] 34493 flagged invalid platform (oslist: linux)
[2024-06-07 13:57:02] 34494 flagged invalid platform (oslist: linux)
[2024-06-07 13:57:02] 34495 flagged invalid platform (oslist: linux)
[2024-06-07 13:57:02] 34496 flagged invalid platform (oslist: linux)
[2024-06-07 13:57:02] 34497 flagged invalid platform (oslist: linux)
[2024-06-07 13:57:02] 34498 flagged invalid platform (oslist: linux)
[2024-06-07 13:57:02] 35417 flagged invalid platform (oslist: linux)
[2024-06-07 13:57:02] 35419 flagged invalid platform (oslist: linux)
It constantly prints this before the downloading starts. I shutdown steam, deleted the log file before starting steam back up and more than 4k lines of this is dumped into the file right as steam starts downloading. They don't seem to reappear even if I pause and start new downloads after that.
These messages appear both with and without the steam_dev.cfg file created.
I'm using PoPOS and Steam Flatpack version.
This fixed my issue, thanks for this post! For people that may be new to linux;
With Steam flatpack version, since its running inside a container the path to edit is here:
~/.var/app/com.valvesoftware.Steam/.steam/steam
The file "steam_dev.cfg" won't exist at all. I had to created it and added the 3 lines specified, then restarted steam:
@nClientDownloadEnableHTTP2PlatformLinux 0 @fDownloadRateImprovementToAddAnotherConnection 1 @cMaxInitialDownloadSources 15
I went from 100mb/sec to 900mb/sec.
Thanks for this post. Works flawlessly.
On my Arch setup the second line actually slows download speeds. Only the HTTP2 one is needed.
* Without cfg: 30-40mbps * With both lines: 100mbps * With just the first: 600mbps
This is on a 1Gbit connection in northern Europe.
Same here. Only the first line does the job. The others seem to either hinder it or not do anything at all. Still not as fast as on Windows tho, easily got an extra 300mbps there.
EDIT: This issue has been solved, if your having this issue still it may be recommended to use a newer distro for newer packages
I had been having slow download speeds under steam on linux and was looking for a fix when i came across this reddit forum and my speeds got instantly improved
https://www.reddit.com/r/linux_gaming/s/4NCYHM9WvP
But what could be causing this?
Iv tried several linux distros this past week from nobara, fedora, debian, and now opensuse and they all have the same issue and disabling http2 using a .cfg in .steam/steam/steam_dev.cfg fixes the issue on all of them
@nClientDownloadEnableHTTP2PlatformLinux 0 @fDownloadRateImprovementToAddAnotherConnection 1 @cMaxInitialDownloadSources 15
Here is a video of someone explaining it aswell and showing the improvements it made
https://youtu.be/A_kRdad3eb4?si=5EgmSu4ZpW26aE2K