How to Install and Set Up Microsoft Teams on Fedora

You cannot install Microsoft Teams directly from Fedora repositories because it is a proprietary Electron app not packaged by the Fedora Project, so you must use the official `.rpm` package from Microsoft's website or the community-maintained `teams-for-linux` alternative.

You are five minutes from a meeting and the app is missing

You switched to Fedora for your daily driver because you wanted a system that respects your time and security. Then your boss sends a Teams meeting link for the 9 AM standup. You search the application menu, find nothing, and the panic sets in. You try downloading the Windows installer by habit, realize it is an .exe, and remember you are on Linux now. The clock is ticking. You need a working client that handles audio, notifications, and video without breaking your system's security model.

This is a common moment for new Fedora users. Microsoft Teams is a proprietary Electron application. The Fedora Project does not package proprietary software in its official repositories. You have to bring the package yourself. The good news is that Fedora's package manager handles third-party RPMs cleanly, and the community has built a superior fork that integrates better with the desktop.

What is actually happening under the hood

Fedora repositories follow strict packaging guidelines. Software must be free and open source, or it must meet very specific criteria for inclusion. Microsoft Teams does not qualify. Microsoft distributes a standalone .rpm file on their website. This package installs as a standalone application. It works, but it operates somewhat outside the Fedora ecosystem.

The official RPM bundles its own dependencies. It does not integrate cleanly with system notifications. It may struggle with audio routing on Wayland. Updates require manual intervention because the package is not in a repository. Think of the official RPM like plugging a foreign appliance into a wall socket with an adapter. It works, but it does not match the decor, and you have to manually check if the cord is frayed.

The community-maintained teams-for-linux fork addresses these gaps. Developers patch the upstream code to improve Linux integration. The fork handles system tray icons, notification daemons, and audio routing more reliably. It also tracks updates through COPR, Fedora's Community Project Platform. This means you can update Teams alongside the rest of your system using standard dnf commands.

Electron apps consume significant resources because they bundle a full Chromium engine. This is the "Electron tax." Both versions pay this tax. The difference lies in integration and maintenance. The community fork reduces friction by aligning with Fedora conventions.

Installation paths

Choose the path that matches your update tolerance and integration needs. The community version is the recommended default for most users.

Installing the community fork via COPR

COPR allows developers to build RPMs for Fedora without going through the strict Fedora Package Maintenance process. The @swhitty COPR is the standard source for teams-for-linux. The repository is signed. dnf verifies the signature before installing. This is safer than downloading a binary from a random GitHub release page.

Enable the repository and install the package in one sequence.

sudo dnf copr enable @swhitty/teams-for-linux
# WHY: Adds the community COPR repository to your dnf configuration with GPG verification.
sudo dnf install teams-for-linux
# WHY: Installs the fork and resolves dependencies against the Fedora base.

The package installs to /usr/share/teams-for-linux. Configuration lives in ~/.config/teams-for-linux. This separation follows the Linux Filesystem Hierarchy Standard. Package files are owned by the system. User data is owned by you.

Installing the official Microsoft RPM

Use the official RPM only if your organization mandates the exact upstream binary or if you have a script to automate manual updates. Download the .rpm from the Microsoft website using your browser or curl.

Install the local file with dnf. Do not use rpm directly. dnf resolves dependencies and registers the package for removal.

sudo dnf install ./teams-*.rpm
# WHY: dnf processes the local file, resolves missing dependencies, and registers the package metadata.

The official package installs to /opt/microsoft/teams. This path is common for proprietary applications. It isolates the app from the system directories. Updates are not automatic. You must download the new RPM and reinstall it manually. This drifts from the Fedora update cycle.

Run dnf upgrade --refresh weekly to keep the rest of your system current. The official Teams package will not update during this process. You have to manage it separately.

SELinux and security context

Fedora enforces SELinux in enforcing mode by default. Electron applications sometimes trigger SELinux denials because of how they load native modules. You may see audio failures, notification drops, or the app refusing to start.

Do not disable SELinux. Disabling SELinux defeats the purpose of Fedora's security model. Fix the context instead.

Check for denials in the journal. The setroubleshoot service summarizes SELinux events in plain text.

journalctl -t setroubleshoot | grep teams
# WHY: Filters the journal for SELinux alerts related to Teams.

If you see avc: denied messages, the application is blocked by policy. Electron apps often require executable stacks. Fedora disables executable stacks by default for security. You can allow this specific behavior with a boolean.

sudo setsebool -P allow_execstack 1
# WHY: Sets the boolean persistently to allow executable stacks for applications that require them.

File contexts may also drift if you move files manually. Reset the contexts to the defaults expected by the package.

sudo restorecon -Rv /usr/share/teams-for-linux
# WHY: Recursively restores file security contexts to the defaults defined in the policy.

If you installed the official RPM, the path is /opt/microsoft/teams. Run restorecon on that path instead.

Run journalctl -xe if the app crashes. The x flag adds explanatory text and the e flag jumps to the end. Read the actual error before guessing. SELinux denials show up here with a one-line summary.

Updates and maintenance

The update experience differs significantly between the two versions.

The community fork updates automatically when you run dnf upgrade. The COPR repository tracks the upstream fork. You get new features and security patches for the bundled Chromium engine alongside the rest of your system. This is the standard Fedora workflow.

The official RPM requires manual updates. You must visit the Microsoft website, download the new .rpm, and reinstall it. This process is error-prone. You may miss a critical security patch in the Chromium engine. You may end up with a version that is incompatible with your system libraries.

If you use the official RPM, create a reminder to check for updates monthly. Better yet, switch to the community fork to eliminate the maintenance burden.

Fedora's release cadence is six months. The N-2 release goes end-of-life when N+1 ships. Plan your Fedora upgrades on that cycle. The teams-for-linux package supports the current and previous Fedora releases. The official RPM may lag behind on newer releases because Microsoft targets stable enterprise distributions.

Snapshot the system before the upgrade. Future-you will thank you.

Troubleshooting and cache

Teams can accumulate corrupted cache data. You may encounter UI freezes, login loops, or audio glitches that persist after a restart. Clearing the configuration directory resets the application state. This logs you out and removes local preferences.

rm -rf ~/.config/teams-for-linux
# WHY: Removes the configuration and cache directory to reset the application state.

If you use the official RPM, the path is ~/.config/Microsoft/Teams. Remove that directory instead.

Audio issues often stem from PulseAudio or PipeWire configuration. Verify that the audio server is running and that sinks are available.

pactl list sinks short
# WHY: Lists active audio sinks to verify PulseAudio or PipeWire is functioning.

If no sinks appear, restart the audio service.

systemctl --user restart pipewire.service pipewire-pulse.service
# WHY: Restarts the user-space audio services to recover from a hung state.

Wayland compositors handle screen sharing differently than X11. If screen sharing fails, ensure xdg-desktop-portal and the appropriate backend are installed. Fedora Workstation includes these by default. If you are on a minimal install, install xdg-desktop-portal-gtk.

Firewall considerations are rarely relevant for the client. Teams initiates outbound connections to Microsoft servers. You do not need to open ports in firewalld. Opening ports for a client exposes your system unnecessarily. Only open ports if you are running a local proxy or relay, which is not the standard use case. Trust the package manager. Manual firewall edits drift, snapshots stay.

Verify it worked

Launch the application from the application menu or via the terminal. Check the version to confirm the installation.

teams-for-linux --version
# WHY: Confirms the binary is accessible and prints the build version.

Join a test meeting. Verify audio input and output. Check that notifications appear in the system tray. If everything works, pin the app to the dock for quick access.

Launch the app before the meeting starts. Audio issues are easier to fix with five minutes to spare than thirty seconds before the call.

When to use this vs alternatives

Use the official Microsoft RPM when your organization mandates the exact upstream binary and you have a script to automate manual updates. Use teams-for-linux via COPR when you want automatic updates, better desktop integration, and reliable audio routing on Fedora Workstation. Use the web version in Firefox when you refuse to install Electron apps and only need occasional access to chat or meetings. Stay on the community fork if you value system consistency and want the client to behave like a native Fedora application.

Where to go next