You are not logged in.
Hey guys, I am new to arch. I was planning to play games on this machine, been trying to find out a fix for the unusually low steam download speed. I have tried all the potential fixes that are mentioned in the wiki (dnsmasq configuration, and adding server connections and disabling HTTP2). But, nothing worked. I have TRIM support enabled for my ssd aswell. I have a 40mbps (up and down) connection, but when downloading games it doesn't go above 20mbps and starts out with 2mbps (sometimes I get speeds in kbps). The arch wiki mentions that my wifi card driver has latency issues (mt7921e), but I've fixed it as per the suggestion of the wiki. Also, the download switches between getting queued and running normally (though this happens less often after I have shifted to dnsmasq, it still happens).
I have also noticed that steam takes unusually long to load (logging in, loading the interface once logged in etc...).
lscpi -k:
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne Root Complex
Subsystem: Lenovo Device 3820
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne IOMMU
Subsystem: Lenovo Device 381d
00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge
00:01.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge
Subsystem: Advanced Micro Devices, Inc. [AMD] Device 1453
Kernel driver in use: pcieport
00:01.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge
Subsystem: Advanced Micro Devices, Inc. [AMD] Device 1453
Kernel driver in use: pcieport
00:01.3 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge
Subsystem: Advanced Micro Devices, Inc. [AMD] Device 1453
Kernel driver in use: pcieport
00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge
00:02.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge
Subsystem: Advanced Micro Devices, Inc. [AMD] Device 1453
Kernel driver in use: pcieport
00:02.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge
Subsystem: Advanced Micro Devices, Inc. [AMD] Device 1453
Kernel driver in use: pcieport
00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge
00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe GPP Bridge to Bus
Subsystem: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe GPP Bridge to Bus
Kernel driver in use: pcieport
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 51)
Subsystem: Lenovo Device 384c
Kernel driver in use: piix4_smbus
Kernel modules: i2c_piix4, sp5100_tco
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 51)
Subsystem: Lenovo Device 3845
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 0
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 1
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 2
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 3
Kernel driver in use: k10temp
Kernel modules: k10temp
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 4
00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 5
00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 6
00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 7
01:00.0 3D controller: NVIDIA Corporation TU117M [GeForce GTX 1650 Mobile / Max-Q] (rev a1)
Subsystem: Lenovo Device 3a5d
Kernel driver in use: nvidia
Kernel modules: nouveau, nvidia_drm, nvidia
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller (rev 15)
Subsystem: Lenovo Device 3909
Kernel driver in use: r8169
Kernel modules: r8169
03:00.0 Network controller: MEDIATEK Corp. MT7921 802.11ax PCI Express Wireless Network Adapter
DeviceName: Realtek RTL8111E Ethernet LOM
Subsystem: Lenovo Device e0bc
Kernel driver in use: mt7921e
Kernel modules: mt7921e
04:00.0 Non-Volatile memory controller: Micron Technology Inc 2550 NVMe SSD (DRAM-less) (rev 01)
Subsystem: Micron Technology Inc Device 1100
Kernel driver in use: nvme
Kernel modules: nvme
05:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller 980 (DRAM-less)
Subsystem: Samsung Electronics Co Ltd Device a801
Kernel driver in use: nvme
Kernel modules: nvme
06:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] (rev c6)
Subsystem: Lenovo Device 3a5d
Kernel driver in use: amdgpu
Kernel modules: amdgpu
06:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Renoir Radeon High Definition Audio Controller
Subsystem: Lenovo Device 3819
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
06:00.2 Encryption controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) Platform Security Processor
Subsystem: Lenovo Device 3836
Kernel driver in use: ccp
Kernel modules: ccp
06:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne USB 3.1
Subsystem: Lenovo Device 383e
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
06:00.4 USB controller: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne USB 3.1
Subsystem: Lenovo Device 383f
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
06:00.5 Multimedia controller: Advanced Micro Devices, Inc. [AMD] ACP/ACP3X/ACP6x Audio Coprocessor (rev 01)
Subsystem: Lenovo Device 3838
Kernel modules: snd_pci_acp3x, snd_rn_pci_acp3x, snd_pci_acp5x, snd_pci_acp6x, snd_acp_pci, snd_rpl_pci_acp6x, snd_pci_ps, snd_sof_amd_renoir, snd_sof_amd_rembrandt, snd_sof_amd_vangogh, snd_sof_amd_acp63
06:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h/19h HD Audio Controller
Subsystem: Lenovo Device 3839
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
ip link:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
link/ether 08:8f:c3:ce:34:0a brd ff:ff:ff:ff:ff:ff
3: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
link/ether f0:a6:54:89:79:69 brd ff:ff:ff:ff:ff:ff
altname wlp3s0
I am currently using NetworkManager, with wpa-supplicant for authentication, dhcpcd as dhcp backend, and dnsmasq for handling DNS.
Last edited by chared (2024-09-20 10:11:53)
Offline
I suffered that rubbish for some time. What it turned out to be was the "Throttle downloads while streaming" setting in Download options.
You would think that setting would do nothing if you're not streaming, right? Well, simply filtering through that mechanism induces latency on every packet (it seems).
It also was happening my my nephew's computer, and I thought it was one of the other tweaks I tried (disabling http2 and if I recall some parameter related to downloading from multiple sources), but when I got home these did nothing for my problem. It was then that I realized it was the Throttle downloads while streaming setting.
Give that a try, hopefully that's your issue too. Note that this won't have anything to do with that delay on Steam loading its UI, I think that's simply bad network programming where if a network request doesn't respond, the whole program stalls.
Offline
Give that a try, hopefully that's your issue too.
I tried it, though nothing changed. I gotta dig deeper to find out what is happening. I knew this post won't get much traction as I think I have arrived at a dead end. But if I find a fix in the future I will certainly update it here.
Offline
There's also https://bbs.archlinux.org/viewtopic.php?id=299334 - just to make sure you're actually using dnsmasq, post the result of a dig.
Offline
just to make sure you're actually using dnsmasq, post the result of a dig.
First of all thanks a lot, I was so sure I configured dnsmasq correctly that I never thought dhcpcd could overwrite DNS servers into /etc/resolv.conf everytime you switch to a different connection. So the first thing I did was to stop dhcpcd from writing the resolv.conf file.
I added:
nohook resolv.conf
at the end of "/etc/dhcpcd.conf". For more info https://wiki.archlinux.org/title/Dhcpcd , https://wiki.archlinux.org/title/Domain_name_resolution.
Next thing I did was to reload my NetworkManager configuration, as I had already configured dnsmasq with NetworkManager. (by following this - DNS caching and conditional forwarding ).
# nmcli general reload
Checked if dnsmasq was working or not (it was working)-
[chared@rum ~]$ drill instagram.com | grep "Query time"
;; Query time: 52 msec
[chared@rum~]$ drill instagram.com | grep "Query time"
;; Query time: 0 msec
[chared@rum ~]$ drill instagram.com | grep "Query time"
;; Query time: 0 msec
Here is the result-
Offline
You should not run or explicitly distinctly configure dhcpcd while using networkmanager for your actual connection (if configured as the backend for NM, it should still be NMs job to handle the resolv.conf without expicit dhcpcd config). Do you have conflicting services? What output do you get from
find /etc/systemd -type l -exec test -f {} \; -print | awk -F'/' '{ printf ("%-40s | %s\n", $(NF-0), $(NF-1)) }' | sort -f
Last edited by V1del (2024-09-20 10:50:44)
Offline
What output do you get from find /etc/systemd -type l -exec test -f {} \; -print | awk -F'/' '{ printf ("%-40s | %s\n", $(NF-0), $(NF-1)) }' | sort -f
I get this:
dbus-org.freedesktop.nm-dispatcher.service | system
dbus-org.freedesktop.timesync1.service | system
dhcpcd.service | multi-user.target.wants
display-manager.service | system
fstrim.timer | timers.target.wants
getty@tty1.service | getty.target.wants
NetworkManager.service | multi-user.target.wants
NetworkManager-wait-online.service | network-online.target.wants
p11-kit-server.socket | sockets.target.wants
pipewire-pulse.socket | sockets.target.wants
pipewire-session-manager.service | user
pipewire.socket | sockets.target.wants
remote-fs.target | multi-user.target.wants
systemd-timesyncd.service | sysinit.target.wants
systemd-userdbd.socket | sockets.target.wants
wireplumber.service | pipewire.service.wants
xdg-user-dirs-update.service | default.target.wants
Now, I think "NetworkManager.service" and "dhcpcd.service" can conflict, though when I enable dhcpcd specifically for NetworkManager (with systemctl enable dhcpcd@networkmanager.service), my device takes 90 seconds to boot as it tries to invoke a start job for "/sys/subsystem/net/devices/...", so I ended up enabling dhcpcd for all network interfaces as mentioned here https://wiki.archlinux.org/title/Dhcpcd. Though, I can be wrong and these services may not be conflicting (need to gain a bit more info on that).
Offline
These services are and will be conflicting, disable dhcpcd. If you want to use it as a backend for NetworkManager you'd configure that in NetworkManager: https://wiki.archlinux.org/title/Networ … HCP_client -- though as noted it's an option that's not strictly necessary per se
Last edited by V1del (2024-09-20 12:30:00)
Offline