How to Install Kodi on Fedora 44

Last updated Saturday, May 16, 2026 2:36 pm Joshua James 8 min read 1 comment

A local media library feels much better when the player understands posters, watched status, remotes, live TV backends, and TV-style navigation instead of only opening one file at a time. Because Fedora does not ship Kodi in its default repositories, the practical ways to install Kodi on Fedora are RPM Fusion Free for a native DNF package or Flathub for the Flatpak build.

Kodi’s Linux download page points users to Flathub and the upstream Linux install guide rather than a standalone Fedora RPM from kodi.tv. Use RPM Fusion when you want a host-integrated package that updates with DNF, or use Flatpak when you prefer Flathub packaging and app/runtime updates that stay separate from Fedora packages.

Install Kodi on Fedora

Choose a Kodi Installation Method on Fedora

Pick one install path unless you intentionally need to compare package behavior. The native RPM and Flatpak can coexist, but keeping one avoids duplicate launchers and separate configuration directories.

MethodSourceWhat You GetUpdatesBest Fit
RPM FusionRPM Fusion FreeNative RPM package with Fedora desktop integration and host librariesThrough normal DNF upgradesMost Fedora Workstation installs and systems that use RPM Fusion for multimedia packages
FlatpakFlathubFlatpak app with its own runtime and broad media-device permissionsThrough Flatpak app and runtime updatesUsers who prefer Flathub packaging or want the same app ID across Linux distributions

The RPM Fusion package is the better default on mutable Fedora Workstation installs because Kodi, its launcher, and its FirewallD service definitions stay in the RPM database. The Flatpak remains useful on systems where you already manage desktop apps through Flathub or want to avoid adding RPM Fusion.

Update Fedora Before Installing Kodi

Refresh Fedora packages before installing Kodi so DNF resolves the current dependency set:

sudo dnf upgrade --refresh

Commands that change system packages use sudo. If your account is not allowed to run sudo yet, add your user to the admin group with the guide to add a user to sudoers on Fedora.

Enable RPM Fusion Free for Kodi on Fedora

Kodi is packaged in RPM Fusion Free, so Fedora only needs the Free repository for this method. The Non-Free repository is useful for other packages, but it is not required for Kodi itself.

If RPM Fusion is already configured, skip to the package install step. Otherwise, install the RPM Fusion Free release package:

sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm

The $(rpm -E %fedora) expression expands to your Fedora release number, so the same command follows the active Fedora release on your system. The full RPM Fusion setup guide for Fedora covers Free, Non-Free, tainted repositories, and cleanup if you need broader RPM Fusion coverage later.

Confirm the Free repository and its Updates channel are enabled:

dnf repo list --enabled rpmfusion-free rpmfusion-free-updates

Expected output on Fedora 44:

repo id                repo name
rpmfusion-free         RPM Fusion for Fedora 44 - Free
rpmfusion-free-updates RPM Fusion for Fedora 44 - Free - Updates

Install Kodi with DNF on Fedora

Install the native Kodi package from RPM Fusion:

sudo dnf install kodi

On Fedora Workstation, DNF also pulls kodi-firewalld because FirewallD is installed. That companion package provides the ready-made FirewallD service definitions used later for remote access.

Verify the installed RPM package without freezing a version string into the article:

rpm -q --qf '%{NAME}\n' kodi

Expected output:

kodi

Install Kodi with Flatpak on Fedora

Fedora Workstation includes Flatpak, but Flathub is still opt-in on a fresh install. Add Flathub at system scope if the remote is not already present:

sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Verify that Flathub is available at the same system scope used by the install command:

flatpak remotes --columns=name,options | grep -E '^flathub[[:space:]]'

Expected output:

flathub system

Install the Kodi Flatpak from Flathub:

sudo flatpak install flathub tv.kodi.Kodi

Verify the application ID after installation:

flatpak list --system --app --columns=application | grep -Fx tv.kodi.Kodi

Expected output:

tv.kodi.Kodi

The Kodi Flatpak currently publishes stable x86_64 and aarch64 refs on Flathub. Its manifest grants broad media-player permissions such as network, audio, display sockets, all devices, removable-media paths, and common music, video, and picture directories, so treat Flatpak here as a packaging and update-scope choice rather than a strict isolation boundary.

Configure Kodi Remote Access on Fedora

Skip this section when Kodi only plays local media on the same Fedora desktop. Remote control ports are only needed for the Kodi web interface, JSON-RPC clients, or EventServer remote input from other devices on your network.

Kodi remote access has two sides: Kodi must allow the remote-control feature, and Fedora’s firewall must allow the matching traffic. In Kodi, open Settings, then Services, then Control. Enable HTTP remote control only when needed, keep authentication enabled, and set a username and password. The Kodi Services and Control settings page warns not to expose the web server or unauthenticated application-control interfaces to the internet.

Kodi FeatureDefault PortProtocolUse Case
Web interface8080TCPBrowser-based control through Kodi’s web server
JSON-RPC9090TCPThird-party remote apps and automation clients
EventServer9777UDPRemote input events from compatible clients

Check Kodi FirewallD Service Files on Fedora

RPM Fusion’s kodi-firewalld package ships service files that map those ports to readable FirewallD service names. Confirm the package is installed:

rpm -q --qf '%{NAME}\n' kodi-firewalld

Expected output:

kodi-firewalld

If the package is missing, install it from RPM Fusion Free:

sudo dnf install kodi-firewalld

List the installed Kodi service definitions:

rpm -ql kodi-firewalld | grep '/firewalld/services/kodi-'

Expected output:

/usr/lib/firewalld/services/kodi-eventserver.xml
/usr/lib/firewalld/services/kodi-http.xml
/usr/lib/firewalld/services/kodi-jsonrpc.xml

Open Kodi Services with FirewallD on Fedora

Check the default and active FirewallD zones before adding rules. Fedora Workstation normally attaches the active interface to the default zone, but customized systems can differ:

firewall-cmd --get-default-zone
firewall-cmd --get-active-zones

The examples set zone to the default zone. If the active interface uses a different zone, replace the assignment with that active zone name before adding, checking, or removing Kodi rules.

For web-interface access only, add the HTTP service to the selected FirewallD zone, then reload FirewallD:

zone=$(firewall-cmd --get-default-zone)
sudo firewall-cmd --zone="$zone" --add-service=kodi-http --permanent
sudo firewall-cmd --reload

Verify the service was added:

zone=$(firewall-cmd --get-default-zone)
firewall-cmd --zone="$zone" --query-service=kodi-http

Expected output:

yes

Use this instead of the HTTP-only command when you want the web interface, JSON-RPC over TCP, and EventServer input together:

zone=$(firewall-cmd --get-default-zone)
sudo firewall-cmd --zone="$zone" --add-service=kodi-http --add-service=kodi-jsonrpc --add-service=kodi-eventserver --permanent
sudo firewall-cmd --reload

Check each service:

zone=$(firewall-cmd --get-default-zone)
for service in kodi-http kodi-jsonrpc kodi-eventserver; do
  firewall-cmd --zone="$zone" --query-service="$service"
done

Expected output:

yes
yes
yes

These rules allow devices that can reach the selected FirewallD zone to contact Kodi’s control ports. Use them only on trusted private networks, and remove the rules again if you stop using remote control.

Open Manual Ports for Kodi Flatpak Installs

If you installed Kodi only through Flatpak and do not have RPM Fusion’s service files, open the required ports directly instead. Use the smallest set that matches the features you enabled in Kodi:

zone=$(firewall-cmd --get-default-zone)
sudo firewall-cmd --zone="$zone" --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

For all three remote-control paths, add the HTTP, JSON-RPC, and EventServer ports:

zone=$(firewall-cmd --get-default-zone)
sudo firewall-cmd --zone="$zone" --add-port=8080/tcp --add-port=9090/tcp --add-port=9777/udp --permanent
sudo firewall-cmd --reload

Launch Kodi on Fedora

Launch the RPM Fusion Kodi Package

Start the native RPM package from a terminal with:

kodi

Launch the Kodi Flatpak

Start the Flatpak build with its application ID:

flatpak run tv.kodi.Kodi

Launch Kodi from Fedora Activities

From GNOME, open Activities, search for Kodi, and select the Kodi icon. After the first launch, add media sources from Kodi’s file browser and configure add-ons from inside the application.

Troubleshoot Kodi on Fedora

Kodi Does Not Appear in Fedora Activities

If the terminal launch works but the desktop icon is missing, sign out and back in so GNOME reloads desktop application entries. For Flatpak installs, confirm the app can start from the terminal:

flatpak run tv.kodi.Kodi

Kodi Opens with llvmpipe or Graphics Errors

OpenGL errors often mean Fedora is using a software renderer instead of your GPU. Install glx-utils if glxinfo is missing:

sudo dnf install glx-utils

Check the active renderer:

glxinfo -B | grep -E 'Device|OpenGL renderer'

If the renderer shows llvmpipe, refresh Fedora packages first. AMD and Intel systems normally receive Mesa fixes through Fedora updates, while NVIDIA systems may need the proprietary RPM Fusion driver stack from the guide to install NVIDIA drivers on Fedora.

sudo dnf upgrade --refresh

Kodi Has No Audio on Fedora

Kodi uses Fedora’s normal PipeWire audio stack. Check the user-level sockets and session manager:

systemctl --user is-enabled pipewire.socket pipewire-pulse.socket wireplumber.service

Expected output on a normal Fedora Workstation session:

enabled
enabled
enabled

If one of those units is disabled, enable it for your user session:

systemctl --user enable --now pipewire.socket pipewire-pulse.socket wireplumber.service

Then open Kodi Settings, go to System, then Audio, and select the correct output device.

Kodi Remote Access Still Fails on Fedora

Start with the Kodi setting that matches the feature you enabled. For the web interface, Settings, Services, Control must have HTTP remote control enabled, authentication configured, and the same port number you opened in FirewallD.

Check the FirewallD service rule when you used RPM Fusion’s service files:

zone=$(firewall-cmd --get-default-zone)
firewall-cmd --zone="$zone" --query-service=kodi-http

Expected output when the HTTP service is open:

yes

For a Flatpak-only setup that opened raw ports, query the port instead:

zone=$(firewall-cmd --get-default-zone)
firewall-cmd --zone="$zone" --query-port=8080/tcp

If FirewallD says yes but the browser still cannot connect, keep Kodi open and check whether the service is listening:

ss -ltnup | grep -E ':(8080|9090|9777)'

No matching listener usually means the matching Kodi control feature is still disabled, Kodi is not running, or you changed the default port inside Kodi without updating FirewallD.

Update or Remove Kodi on Fedora

Update Kodi on Fedora

The RPM Fusion package updates with normal Fedora package upgrades:

sudo dnf upgrade --refresh

The Flatpak build updates through Flatpak instead:

sudo flatpak update tv.kodi.Kodi

Remove Kodi RPM Packages from Fedora

If you opened Kodi FirewallD services, remove those rules before removing kodi-firewalld. Use the same zone that you used when opening the services. Keeping the service files available during rollback lets FirewallD resolve the service names cleanly:

zone=$(firewall-cmd --get-default-zone)
for service in kodi-http kodi-jsonrpc kodi-eventserver; do
  if firewall-cmd --quiet --zone="$zone" --query-service="$service"; then
    sudo firewall-cmd --zone="$zone" --remove-service="$service" --permanent
  fi
done
sudo firewall-cmd --reload

Remove the native Kodi packages:

sudo dnf remove kodi kodi-firewalld

Verify that the main Kodi package is gone:

rpm -q kodi

Expected output:

package kodi is not installed

Remove RPM Fusion Free from Fedora

Leave RPM Fusion enabled if FFmpeg, NVIDIA drivers, codecs, or other multimedia packages still use it. If you added RPM Fusion Free only for Kodi and no longer need that package source, remove the Free release package:

sudo dnf remove rpmfusion-free-release

Verify the repository release package is gone:

rpm -q rpmfusion-free-release

Expected output:

package rpmfusion-free-release is not installed

Check for leftover RPM Fusion Free repository files. No output means the package-owned repo files are gone:

find /etc/yum.repos.d -maxdepth 1 -name 'rpmfusion-free*.repo' -print

This stops DNF from using RPM Fusion Free. Imported RPM signing-key cleanup is a separate full-trust cleanup task, and you should only do it when no remaining RPM Fusion packages or repositories depend on that key.

Remove Kodi Flatpak from Fedora

Remove the system-scope Kodi Flatpak:

sudo flatpak uninstall tv.kodi.Kodi

Verify that the application ID no longer appears in the system Flatpak app list:

flatpak list --system --app --columns=application | grep -Fx tv.kodi.Kodi || echo "NOT_INSTALLED"

Expected output:

NOT_INSTALLED

After removing the app, you can review unused Flatpak runtimes and extensions interactively:

sudo flatpak uninstall --unused

If you opened raw FirewallD ports for a Flatpak-only install, remove them only when no other service relies on the same ports. Use the same zone that you used when opening the ports:

zone=$(firewall-cmd --get-default-zone)
for port in 8080/tcp 9090/tcp 9777/udp; do
  if firewall-cmd --quiet --zone="$zone" --query-port="$port"; then
    sudo firewall-cmd --zone="$zone" --remove-port="$port" --permanent
  fi
done
sudo firewall-cmd --reload

Remove Kodi User Data from Fedora

Deleting Kodi user data permanently removes library databases, add-ons, watched status, remote-control settings, skins, and custom configuration. Back up anything you want to keep before running these commands.

Native RPM installations store user data in ~/.kodi/. Check for the directory first:

test -d ~/.kodi && echo "~/.kodi exists"

No output means that native profile path is already absent for this user. Remove it only when you are ready to delete it:

rm -rf -- ~/.kodi

Flatpak installations store sandboxed user data under ~/.var/app/tv.kodi.Kodi/. Check that exact path first:

test -d ~/.var/app/tv.kodi.Kodi && echo "~/.var/app/tv.kodi.Kodi exists"

No output means that Flatpak profile path is already absent for this user. Remove it only when you are ready to delete it:

rm -rf -- ~/.var/app/tv.kodi.Kodi

Conclusion

Kodi is ready on Fedora through either RPM Fusion’s native package or the Flathub build, with update and cleanup paths matched to the method you chose. For better codec coverage, use the companion guide to install FFmpeg on Fedora; for server-style media streaming, the guide to install Plex Media Server on Fedora is the stronger next step.

Follow LinuxCapable

Want more LinuxCapable guides in Google?

Add LinuxCapable as a preferred source so Google can show more of our fresh Linux tutorials in Top Stories and From your sources when relevant.

Add LinuxCapable as a preferred source on Google
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 coffeeBuy me a coffee

1 thought on “How to Install Kodi on Fedora 44”

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: