How to Enable BBR on Linux Mint 22 and 21

Last updated Wednesday, April 22, 2026 11:58 am Joshua James 4 min read

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 sysctl settings need sudo. 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.

Search LinuxCapable

Need another guide?

Search LinuxCapable for package installs, commands, troubleshooting, and follow-up guides related to what you just read.

Found this guide useful?

Support LinuxCapable to keep tutorials free and up to date.

Buy me a coffee Buy me a coffee

Before commenting, please review our Comments Policy.
Formatting tips for your comment

You can use basic HTML to format your comment. Useful tags currently allowed in published comments:

You type Result
<code>command</code> command
<strong>bold</strong> bold
<em>italic</em> italic
<blockquote>quote</blockquote> quote block

Got a Question or Feedback?

We read and reply to every comment - let us know how we can help or improve this guide.

Let us know you are human: