High-latency links, remote shells, and large downloads tend to expose the limits of Linux Mint’s default cubic TCP congestion control. To enable BBR on Linux Mint, load the tcp_bbr module and switch the system to Google’s model-based congestion control with two sysctl settings.
Linux Mint 22.x and 21.x still default to cubic with the fq_codel qdisc, so BBR is not active until you change it. Add net.core.default_qdisc=fq and net.ipv4.tcp_congestion_control=bbr to /etc/sysctl.conf, then verify the result and keep a quick rollback path handy for networks that react poorly to more aggressive TCP behavior. BBR only affects TCP traffic, so it helps SSH, web traffic, streaming, and large transfers rather than UDP-heavy workloads.
Check the Current TCP Congestion Algorithm on Linux Mint
Before making changes, check which congestion control algorithm your system currently uses. Open a terminal from the applications menu or by pressing the keyboard shortcut configured on your system, then run:
sysctl net.ipv4.tcp_congestion_control
On a default Linux Mint installation, the output shows cubic as the active algorithm:
net.ipv4.tcp_congestion_control = cubic
If the output already shows bbr, BBR is already active and no further changes are needed. Otherwise, continue with the enable sequence here.
Enable BBR on Linux Mint
Load the BBR Kernel Module
Both supported Linux Mint releases ship BBR as a loadable kernel module. Load tcp_bbr with sudo modprobe tcp_bbr so Linux Mint can expose BBR as an available congestion control option:
sudo modprobe tcp_bbr
Commands that change kernel or
sysctlsettings needsudo. If your user is not in the sudoers file yet, follow add and manage sudo users on Linux Mint.
The command produces no output on success. If you see a FATAL: Module tcp_bbr not found error, your kernel was compiled without BBR support, which is uncommon on standard Linux Mint installations. Verify the module is loaded by checking available congestion control algorithms:
sysctl net.ipv4.tcp_available_congestion_control
The output should now include bbr alongside the default algorithms:
net.ipv4.tcp_available_congestion_control = reno cubic bbr
Configure BBR as the Default Algorithm in sysctl.conf
To enable BBR through /etc/sysctl.conf, add net.core.default_qdisc=fq and net.ipv4.tcp_congestion_control=bbr if they are not already present. The command below appends each line only once, which keeps repeated runs from filling the file with duplicate settings:
grep -qxF 'net.core.default_qdisc=fq' /etc/sysctl.conf || echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf
grep -qxF 'net.ipv4.tcp_congestion_control=bbr' /etc/sysctl.conf || echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf
The grep -qxF check searches for an exact line match. If the setting is missing, tee -a appends it with root privileges. A plain >> redirection would run in your current shell and can fail against a root-owned file.
Apply the BBR Sysctl Settings
Reload the sysctl configuration to apply both settings immediately without rebooting:
sudo sysctl -p
The command reads /etc/sysctl.conf and prints each applied setting:
net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr
Verify BBR Is Active on Linux Mint
Confirm that BBR is now the active congestion control algorithm:
sysctl net.ipv4.tcp_congestion_control
The output confirms BBR is handling TCP congestion control:
net.ipv4.tcp_congestion_control = bbr
You can also verify the queuing discipline is set correctly:
sysctl net.core.default_qdisc
net.core.default_qdisc = fq
Both settings persist across reboots because they are stored in /etc/sysctl.conf. That makes BBR useful for workloads such as SSH sessions if you install OpenSSH on Linux Mint, web traffic, and large transfers, but it will not change UDP-heavy workloads. After a reboot, run the verification commands again to confirm BBR reloads automatically.
Troubleshoot BBR on Linux Mint
Most Linux Mint systems switch to BBR cleanly, but boot-time module loading, custom kernels, or duplicate sysctl entries can keep the system on cubic.
Fix BBR Reverting to Cubic After Reboot
If the congestion control algorithm reverts to cubic after rebooting, the tcp_bbr kernel module may not be loading automatically. Add it to the modules list so it loads at boot time:
echo 'tcp_bbr' | sudo tee /etc/modules-load.d/bbr.conf
Reboot and verify with sysctl net.ipv4.tcp_congestion_control to confirm BBR persists.
Fix the BBR Module Not Found Error
If sudo modprobe tcp_bbr returns FATAL: Module tcp_bbr not found, your kernel may be too old or was built without BBR support. Check your kernel version:
uname -r
6.17.0-22-generic
BBR requires kernel 4.9 or later. Linux Mint 22.x currently uses a 6.17-based kernel, and Linux Mint 21.x stays on the 5.15 series, so both supported releases already clear that requirement. If you are running a custom kernel, verify that CONFIG_TCP_CONG_BBR is set to m or y in your kernel configuration. Installing the XanMod kernel on Linux Mint is another option because it includes BBR support.
Fix Duplicate BBR Entries in sysctl.conf
If you previously used echo ... >> /etc/sysctl.conf to add BBR settings, running the command multiple times may have added duplicate lines. The grep command in Linux makes it easy to spot both BBR settings at once:
grep -nE '^(net.core.default_qdisc=fq|net.ipv4.tcp_congestion_control=bbr)$' /etc/sysctl.conf
Each BBR setting should appear once. If either line shows up more than once, open the file and remove the duplicates:
sudo nano /etc/sysctl.conf
Keep only one instance of each setting, then reload with sudo sysctl -p.
Disable BBR on Linux Mint
To revert to Linux Mint’s default cubic congestion control and fq_codel qdisc, remove the BBR lines from /etc/sysctl.conf:
sudo sed -i '/^net.core.default_qdisc=fq$/d' /etc/sysctl.conf
sudo sed -i '/^net.ipv4.tcp_congestion_control=bbr$/d' /etc/sysctl.conf
These sed -i commands delete the exact BBR lines in place. If you want a closer look at the pattern before editing a system file, the sed command in Linux guide covers the same in-place editing style.
Apply the change immediately:
sudo sysctl -w net.core.default_qdisc=fq_codel
sudo sysctl -w net.ipv4.tcp_congestion_control=cubic
Verify the system is back on cubic:
sysctl net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = cubic
If you also want to confirm Linux Mint’s queue discipline has been restored, run sysctl net.core.default_qdisc. On stock Mint 22.x and 21.x, that value is fq_codel.
If you added a module-load file earlier, remove it as well:
sudo rm -f /etc/modules-load.d/bbr.conf
Conclusion
Linux Mint is now using BBR with the fq qdisc, so TCP traffic can recover bandwidth faster on high-latency or busy links. Try it against a real SSH session or a large transfer, and if you manage web servers, enable TCP Fast Open in Nginx to trim another round-trip from supported traffic.
Formatting tips for your comment
You can use basic HTML to format your comment. Useful tags currently allowed in published comments:
<code>command</code>command<strong>bold</strong><em>italic</em><blockquote>quote</blockquote>