ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.21k stars 174 forks source link

Http2 makes downloading speed slow #10248

Open polluxau opened 10 months ago

polluxau commented 10 months ago

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

hasamsote commented 3 months ago

The change in the Reddit post fixes download speeds on my Fedora system. Before I was limited to just about 80 mbps, after I reach my ISP limit which fluctuates around 500 mbps or so.

Pretty sure this problem affects the Steam Deck as well, though I haven't tried applying the fix since it's a bit troublesome. But I did see download speeds drop simultaneously on all my Linux Steam devices to about 80 mbps and this might have been in November or so.

ghost commented 2 months ago

Same behaviour on Debian Gnome without the config file.

ghost commented 2 months ago

Something with the latest Steam Client update messed up the download speeds. With and without the config file, I am getting slower download speeds.

image

epicbattle1 commented 2 months ago

Replying to https://github.com/ValveSoftware/steam-for-linux/issues/10248#issuecomment-2143747235

if anyone's interested, you can add this to dnsmasq's configuration file (/etc/dnsmasq.conf or /etc/NetworkManager/dnsmasq.d/callitwhateveryouwant.conf depending on your setup), it should be universal: address=/cache[0-9]+[a-z0-9-]+\.steamcontent\.com/127.0.0.1

Skote2 commented 2 months ago

image

It looks like a recent change might have fixed this. I still have the work around so I'm not entirely certain but the best I could get before that was fixed was ~400mbps and now I'm maxing out my NIC.

polluxau commented 2 months ago

it seems they have updated it but instead of fixing the problem they instead add the cfg file when you open steam with these variables on the latest beta

@nClientDownloadEnableHTTP2PlatformLinux 0 @fDownloadRateImprovementToAddAnotherConnection 1.0

the same ones we recommend in this issue, ok valve lol

well atleast users wont be that confused anymore but as people have said its not as fast as on windows

image

ghost commented 2 months ago

Interesting, so its safe to remove the Config file?

polluxau commented 2 months ago

Interesting, so its safe to remove the Config file?

Well its just gonna recreate the same one so no point

ghost commented 2 months ago

Interesting, so its safe to remove the Config file?

Well its just gonna recreate the same one so no point

Gotcha

cchulo commented 2 months ago

Interesting, so its safe to remove the Config file?

Well its just gonna recreate the same one so no point

can someone else confirm? i have not been able to replicate this, i am skeptical that this is true

mtorromeo commented 2 months ago

Interesting, so its safe to remove the Config file?

Well its just gonna recreate the same one so no point

can someone else confirm? i have not been able to replicate this, i am skeptical that this is true

It's not

polluxau commented 2 months ago

Interesting, so its safe to remove the Config file?

Well its just gonna recreate the same one so no point

can someone else confirm? i have not been able to replicate this, i am skeptical that this is true

It's not

It could be because im using cachy os and they have modified the steam client, unsure gonna retest now and check if there are any variables being used in the .desktop or somethin

polluxau commented 2 months ago

https://github.com/user-attachments/assets/191fede2-82ac-48ff-adb3-a8a32033eb13

as you can see i delete the file then it gets recreated when i launch steam

spiffeeroo commented 2 months ago

@polluxau CachyOS has a patch that adds that steam_dev.cfg file. https://github.com/CachyOS/CachyOS-PKGBUILDS/blob/ce8434a4edb2ed9d1828c74577e73b56aa2fed16/handheld/steam/deckify.patch#L11

Arch Linux does not have that Steam patch.

polluxau commented 2 months ago

@polluxau CachyOS has a patch that adds that steam_dev.cfg file. https://github.com/CachyOS/CachyOS-PKGBUILDS/blob/ce8434a4edb2ed9d1828c74577e73b56aa2fed16/handheld/steam/deckify.patch#L11

Arch Linux does not have that Steam patch.

Thought so, thanks for the information

aidanharris commented 1 month ago

Is anyone from Valve aware of these issues in an official capacity? The tweaks here helped a bit but I'm still getting nowhere near the theoretical maximum for my gigabit connection. The download, although better with these tweaks is not stable at all either it's currently peaking at 48.2 Mbps and the current download speed is all over the place, it will go from 20-30 Mbps right back down to 5 Mbps or 1 or 2 Mbps, etc.

It doesn't matter whether I:

It really feels like this is some sort of client issue or the server throttling Linux somehow. All of my other applications have no issue, it's just Steam. I can run a speedtest any time of the day and I'll get roughly the same reported download speed.

epicbattle1 commented 1 month ago

Replying to https://github.com/ValveSoftware/steam-for-linux/issues/10248#issuecomment-2250243548

https://github.com/ValveSoftware/steam-for-linux/issues/10248#issuecomment-2227480079 see if that works for you

lemonase commented 1 month ago

None of the suggested fixes have changed my download speeds on Steam.

I have tried all variations of these settings in my ~/.steam/steam/steam_dev.cfg file.

@nClientDownloadEnableHTTP2PlatformLinux 0
@fDownloadRateImprovementToAddAnotherConnection 1
@cMaxInitialDownloadSources 15

Download speeds are significantly degraded (1Mbps-22Mbps) from speed on Windows (100Mbps+) on the same computer. Internet / download speed is not an issue for other applications, just steam.

Oddly enough, my steam deck connected on the same network via wifi does not have this issue.

Edit:

I have also tried:

Update (fix):

Turned out to be DNS. I double checked router and local machine settings.

On Arch, I had installed dnsmasq but was missing resolvconf package.

https://steamcommunity.com/app/221410/discussions/2/616189106498372437/?ctp=3#c527274088395070190

Download speeds improved and are on par with other machines now. Worth noting too that I reverted configuration changes for dnsmasq and Steam and download speeds are still good.

sleepymincy commented 4 weeks ago

So, there might be something more to this. I wanna people try doing what I did and see if it shows any difference.

I've tried everything: messing around with dnsmasq, adding all three lines to config files, reinstalling my Wi-Fi dongle drivers, reinstalling Steam (both AUR package and Flatpak had this issue).

I am on Arch (btw) kernel version 6.10.5-arch1-1, I use these drivers for my Wi-Fi dongle, KDE Plasma 6.1.4. Hardware:

What helped (bootleg really, not actual solution) me is doing USB tether through my phone. Yeah... And before someone will reply to me with "that must be your driver issue", when I do speedtests (using this tool: speedtest-cli), it shows similar results both on Wi-Fi and when I tether from phone:

Phone:

❯ speedtest-cli 
Retrieving speedtest.net configuration...
Testing from $MYISP (XXX.XXX.XXX.XXX)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by example.com ($MYCITY) [6.13 km]: 8.034 ms
Testing download speed................................................................................
Download: 63.43 Mbit/s
Testing upload speed.....................................................................................
Upload: 63.37 Mbit/s

Wi-Fi:

❯ speedtest-cli 
Retrieving speedtest.net configuration...
Testing from $MYISP (XXX.XXX.XXX.XXX)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by example.com ($MYCITY) [6.13 km]: 2.661 ms
Testing download speed................................................................................
Download: 61.09 Mbit/s
Testing upload speed.....................................................................................
Upload: 48.75 Mbit/s

It's not an ISP issue either. Phone is connected to the same router as the PC, it's just Steam doesn't like being connected through my dongle I guess.

Anyways, Steam results.

Before connecting to Wi-Fi (using USB tethering):

Screenshot_20240822_054424

After connecting to Wi-Fi (no USB tethering):

Screenshot_20240822_061050

Not sure why this works, but maybe someone smarter than me will explain this.

InferiusFurious commented 2 weeks ago

For what it's worth, I ended up switching to Nobara Linux and the issue seems to be mostly solved there. I can saturate my 1000Mbps connection.

polluxau commented 2 weeks ago

For what it's worth, I ended up switching to Nobara Linux and the issue seems to be mostly solved there. I can saturate my 1000Mbps connection.

Doesnt nobara have it enabled by default also?

Thats great tho :)

InferiusFurious commented 2 weeks ago

For what it's worth, I ended up switching to Nobara Linux and the issue seems to be mostly solved there. I can saturate my 1000Mbps connection.

Doesnt nobara have it enabled by default also?

Thats great tho :)

Not sure what Nobara Linux does by default, all I know is I get these speeds on my gigabit fibre connection, as expected:

steam-fast-nobara

EDIT: Seems like this is present in the steam_dev.cfg:

@nClientDownloadEnableHTTP2PlatformLinux 0
@fDownloadRateImprovementToAddAnotherConnection 1.0
Rosentti commented 2 weeks ago

Reminder: Steam doesn't download first, install later. Steam uses your CPU and disk while downloading, as the download process is effectively: Download -> Decompress -> Write. Depending on your disk and CPU, the downloads may be faster or slower. Your CPU and disk scheduler will also cause differences in download speed compared to something that purely downloads, like Speedtest(s). Also, when testing on Windows, make sure to use the same drive for accurate results.

Also, I feel like other download issues should probably be put into another issue, since this one focuses primarily on HTTP2.

InferiusFurious commented 1 week ago

Also, when testing on Windows, make sure to use the same drive for accurate results.

That is already what a lot of people in this thread are doing. Plenty here are well aware of the CPU requirements to address the overhead required by the decompression algorithm and the write speed of SSDs.

For those of us that have powerful enough gaming computers with high end CPUs and SSDs, it is quite odd that in some Linux distros specifically the Steam download speed drops to half or less than half of our ISP advertised download speed (other apps don't have this issue), whereas on Windows, Steam quite easily saturates the connection using the exact same hardware and decompression algorithms/write speeds.

I personally fixed my slow download speeds by just using Nobara Linux instead (perhaps they mitigate additional HTTP2 issues outside of the steam_dev.cfg file), but your mileage may vary.

ryzendew commented 1 week ago

has anyone tested without the config? i have and the issue is gone and has been gone for months now but since everyone is running the fix or a slow cpu they think they still have the issue.

i think a retest without the fix is needed now.

polluxau commented 1 week ago

has anyone tested without the config? i have and the issue is gone and has been gone for months now but since everyone is running the fix or a slow cpu they think they still have the issue.

i think a retest without the fix is needed now.

Oh damn, im running endeavour os and dont have the config applied, i can hit my max download now yay :)

I have a ryzen 7600 also and im running the latest steam beta update

Can anyone else check also if we all get the same so we can finally close this?

roope242 commented 1 week ago

has anyone tested without the config? i have and the issue is gone and has been gone for months now but since everyone is running the fix or a slow cpu they think they still have the issue.

i think a retest without the fix is needed now.

Just tested with and without the config, hasn't been fixed. \ The speeds without the fix applied fluctuate alot, with the fix it's very stable.

Running a Ryzen 5800X3D and writing to a WD SN850X. Steam version 1725654351.

cchulo commented 1 week ago

Running a Ryzen 5800X3D and writing to a WD SN850X. Steam version 1725654351.

you have the right idea, most replies on here are just complaints about this issue. We need to provide additional info to see if there's a pattern.

What is your kernel? 'uname -r' what network card are you using? what motherboard? what OS? what version? and like you posted, what CPU? what storage device? at what speed is the storage device?