
Fedora Workstation is often shipped without a full office suite, or with only a minimal one. That surprises people. Fedora 44 came out on April 28, 2026 with GNOME 50. Someone opens a .docx from a client, and the fresh install has nothing that can read it properly. The obvious answer is LibreOffice. On Fedora you have three ways to get it, and they behave differently.
Most guides stop at sudo dnf install libreoffice and call it done. That works, but it skips the questions that come up later. Which build should you run, the distro RPM or the Flatpak? How do you get Indonesian, German, or Swahili language packs and spellcheck? How do you avoid pulling in Base and its Java dependencies on a server that only converts documents? What happens when an upgrade breaks your profile?
This guide covers the full path. You will get the fast install, the alternatives, language and font setup, and headless conversion for servers. It also covers the errors that show up in real deployments, plus the habits that keep the suite stable on a workstation or a production box. The commands were written for Fedora 44 with DNF5, and the notes on other distributions are marked where they differ.
What You Get With LibreOffice on Fedora 44
LibreOffice is a bundle of separate programs sharing one core. Writer handles documents, Calc handles spreadsheets, Impress handles presentations, Draw handles diagrams and PDF editing, Math handles formulas, and Base handles databases. Fedora splits these into individual RPMs, which is why you can install a lean subset.
Version matters here. The Fedora package page lists LibreOffice 26.2.6.3-1.fc44 for Fedora 44, with 26.8.1.1 already landing in Fedora 45 and Rawhide. Upstream, LibreOffice 26.8 is now the latest stable release. So the Fedora 44 repository intentionally sits one feature branch behind the newest upstream. That is normal. Fedora packagers have historically kept a stable release on the older Fedora branch and moved to the new series with the next Fedora release.
The practical takeaway is simple. If you want a supported, tested build that integrates with your desktop, use the repository package. If you need a feature from 26.8 today, the Flatpak is the low-friction option. Flathub was already publishing 26.8.1.1 at the time of writing.
Quick comparison of the three install methods
| Method | Version cadence | Updates via | Best for | Main downside |
|---|---|---|---|---|
| Fedora RPM (DNF) | Follows Fedora’s chosen branch (26.2.x on F44) | dnf upgrade |
Workstations, servers, headless use | Not the newest feature branch |
| Flatpak (Flathub) | Newest releases quickly | flatpak update |
Users who want 26.8 now | Sandbox limits, larger download |
| Upstream RPM tarball | Whatever you download | Manual | Testing specific builds | Manual upgrades, path differences |
Before You Start: Check the System
Do a few checks first. They take a minute and save awkward debugging later.
Confirm the release and architecture:
cat /etc/fedora-release
uname -m
Refresh metadata and apply pending updates. Installing a large package set on a stale system is a good way to hit dependency conflicts, especially right after a release upgrade.
sudo dnf upgrade --refresh
Check whether something is already installed. Fedora Workstation spins occasionally ship parts of the suite, and mixing Flatpak and RPM copies leads to confusing duplicate launchers.
rpm -qa 'libreoffice*' | sort
flatpak list --app | grep -i libreoffice
Disk space is worth a look too. The full metapackage plus dependencies lands in the low gigabytes depending on what is already present, so verify free space on the root filesystem:
df -h /
Method 1: Install LibreOffice With DNF (Recommended)
This is the path most administrators should take. It uses Fedora’s signed packages, gets security updates through the same channel as the rest of the OS, and integrates with the system’s fonts, themes, and file associations.
Check what the repo offers
dnf info libreoffice
Look at the Version and Repository fields. On Fedora 44 you should see the 26.2 series.
Install the full suite
sudo dnf install libreoffice
The metapackage pulls in the main modules and required dependencies such as fonts and Java-related components for Base. Review the transaction summary before answering yes. DNF5 prints the total download and install size, and that number tells you whether you are pulling something you did not expect.
Verify:
libreoffice --version
You should see a version string starting with the 26.2 series. The exact build number changes as Fedora ships point releases.
Install only the modules you need
A full install is wasteful in some cases. Consider a VM used only for spreadsheet macros, or a laptop with a small SSD. Install selectively:
sudo dnf install libreoffice-writer libreoffice-calc libreoffice-impress
Add Draw and Math later if needed:
sudo dnf install libreoffice-draw libreoffice-math
Skipping Base is a real saving. Base drags in database drivers and Java pieces, and most people never open it. If you want to see what a package would pull in before committing, run:
dnf repoquery --requires libreoffice-writer
Launch it
From a desktop session, search for Writer in the GNOME Activities overview. From a terminal:
libreoffice --writer
libreoffice --calc
libreoffice --impress
The first launch is slow. LibreOffice builds its user profile and font cache, and on a spinning disk or a busy VM that can take ten seconds or more. Later launches are much faster.
Method 2: Install LibreOffice as a Flatpak
Flatpak makes sense in one situation above all others: you want the newest release now. Fedora also maintains its own Flatpak remote, so you may see two sources listed. Flathub is the one that carries the upstream-oriented LibreOffice build.
Fedora Workstation already ships Flatpak. On a minimal or server install, add it first:
sudo dnf install flatpak
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Confirm the remote is registered:
flatpak remotes --columns=name,options
Install:
flatpak install flathub org.libreoffice.LibreOffice
Run:
flatpak run org.libreoffice.LibreOffice
Update:
flatpak update org.libreoffice.LibreOffice
Flatpak trade-offs worth knowing
The sandbox is not the same as the system environment. Flatpak LibreOffice can only see the folders you allow it to see. The portal file chooser handles most desktop use, but scripts and macros that reference paths outside the home directory can fail. Grant access deliberately:
flatpak override --user --filesystem=/srv/documents:ro org.libreoffice.LibreOffice
Its profile also lives elsewhere. The Flatpak profile sits under ~/.var/app/org.libreoffice.LibreOffice/config/libreoffice, while the RPM version uses ~/.config/libreoffice. That matters when you copy settings, dictionaries, or extensions between machines.
Do not treat Flatpak as a stronger security boundary by default. The confinement helps, but permissions granted to the app determine what it can touch. Review them with:
flatpak info --show-permissions org.libreoffice.LibreOffice
Choose Flatpak for the packaging and update cadence, not because you assume it is locked down.
Method 3: Upstream RPM Tarball From The Document Foundation
Some teams need an exact upstream build, for instance to reproduce a bug report or test a release candidate. The Document Foundation publishes RPM tarballs for x86_64. The general procedure is to download the archive, extract it, and install the RPMs it contains with DNF so that dependencies are resolved.
sudo dnf install curl tar gzip
cd ~/Downloads
tar -xzf LibreOffice_<version>_Linux_x86-64_rpm.tar.gz
cd LibreOffice_*_Linux_x86-64_rpm/RPMS
sudo dnf install ./*.rpm
Replace <version> with the file you downloaded from the official download page. Always download from libreoffice.org or the Document Foundation mirrors, and verify the checksum published next to the archive:
sha256sum LibreOffice_*_Linux_x86-64_rpm.tar.gz
Compare the output against the .sha256 file from the same download directory.
There are real downsides. Upstream packages install under /opt and use different launcher names. They do not update themselves. And installing them on top of Fedora’s own libreoffice packages invites file conflicts. If you go this route, remove the distro packages first:
sudo dnf remove 'libreoffice*'
For most production systems, this method is more trouble than it is worth. It has its place in test labs.
Language Packs, Spellcheck, and Help
A common complaint after install: the interface is in English when the system language is not, or spellcheck underlines every word. Both are packaging issues, not bugs.
Fedora splits localization into libreoffice-langpack-* packages. Check availability, then install the language you want:
dnf search libreoffice-langpack-id
sudo dnf install libreoffice-langpack-id
Community advice on Ask LibreOffice recommends using the distribution’s own langpacks instead of manually installing upstream language archives, because mixing them tends to fail. That matches field experience.
Spellcheck comes from Hunspell dictionaries, which are separate from the UI translation. For Indonesian:
sudo dnf install hunspell-id
For French, the same pattern applies with hunspell-fr for the dictionary and libreoffice-langpack-fr for the interface. Restart LibreOffice afterward so it re-scans installed dictionaries.
If the offline help is missing, install the matching help package when available for your language:
dnf search libreoffice-help
Then choose Tools, Options, Language Settings, Languages to set the UI, locale, and default document languages. Setting the document language matters more than people expect. If it is wrong, autocorrect and hyphenation quietly misbehave.
Fonts: The Part That Ruins Document Layout
Layout drift between Word and LibreOffice is almost always a font problem. Documents built in Microsoft Office use Calibri, Cambria, Arial, and Times New Roman. If those are missing, LibreOffice substitutes something with different metrics, and page breaks shift.
Fedora ships metric-compatible substitutes. Make sure they are installed:
sudo dnf install liberation-fonts google-carlito-fonts google-crosextra-caladea-fonts
fc-cache -rv
Liberation replaces Arial, Times New Roman, and Courier New. Carlito replaces Calibri. Caladea replaces Cambria. The Liberation set is pulled in with the suite, but Carlito and Caladea are worth checking explicitly.
Verify what fontconfig resolves for a name:
fc-match Calibri
fc-match "Times New Roman"
Microsoft’s own fonts are licensed and are not packaged by Fedora. If your organization owns licenses, copy them into ~/.local/share/fonts/ or /usr/local/share/fonts/, then run fc-cache -f. On a shared server, the system path is cleaner.
Headless LibreOffice on a Server
This is where sysadmin and SEO work overlap. Many WordPress and document-heavy pipelines convert uploads to PDF, generate thumbnails, or turn spreadsheets into CSV. LibreOffice does this without a GUI.
Install a minimal set:
sudo dnf install libreoffice-writer libreoffice-calc libreoffice-headless
Convert a document:
soffice --headless --convert-to pdf --outdir /tmp/out /path/to/report.docx
Convert a spreadsheet to CSV:
soffice --headless --convert-to csv --outdir /tmp/out /path/to/data.xlsx
The ComputingForGeeks walkthrough also covers headless conversion and modular installs for servers running a single tool.
Concurrency, the classic trap
LibreOffice uses one user profile by default, and it locks it. Run two conversions at once and one fails or silently returns nothing. Give every job its own profile directory:
soffice -env:UserInstallation=file:///tmp/lo_profile_$$ \
--headless --convert-to pdf --outdir /tmp/out /path/to/file.docx
rm -rf /tmp/lo_profile_$$
For queue-based workers, this one change removes most “random failures under load.” It costs a little startup time per job, so at higher volume run a small pool of long-lived listeners instead of spawning a process per file.
Resource limits
Conversions of large spreadsheets can eat several gigabytes of RAM. Wrap jobs with a timeout and memory ceiling using systemd:
systemd-run --user --scope -p MemoryMax=2G -p CPUQuota=150% \
timeout 120 soffice --headless --convert-to pdf --outdir /tmp/out /path/to/file.docx
Without limits, one malformed file can starve a web server on a shared host. It happens more often than anyone expects, usually during a traffic spike when uploads pile up.
Making It Default: File Associations
If double-clicking a .docx opens the wrong program, set the association:
xdg-mime default libreoffice-writer.desktop application/vnd.openxmlformats-officedocument.wordprocessingml.document
xdg-mime default libreoffice-calc.desktop application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
xdg-mime default libreoffice-impress.desktop application/vnd.openxmlformats-officedocument.presentationml.presentation
Check the result:
xdg-mime query default application/vnd.openxmlformats-officedocument.wordprocessingml.document
With Flatpak, the desktop file name is org.libreoffice.LibreOffice.writer.desktop and similar variants, so adjust accordingly.
Performance Tuning
LibreOffice is not a lightweight program, but a few settings make a noticeable difference on modest hardware.
CPU and rendering
Under Tools, Options, LibreOffice, View, review graphics output settings. Hardware acceleration and Skia rendering help on desktops with working GPU drivers. In VMs or over remote desktop, a software renderer is often more stable. If you see flicker or blank windows, turn acceleration off before touching anything else.
Memory
Open Tools, Options, LibreOffice, Advanced, Expert Configuration to inspect cache settings. Most users should not need to change them. Big Calc files behave better when unused add-ons are disabled and undo steps are capped. On an 8 GB laptop with many browser tabs open, reducing undo steps from the default is a small change that helps.
Disk I/O
Autosave and backup copies create constant small writes. On a slow disk or a network home directory, lengthen the autosave interval under Tools, Options, Load/Save, General. Keep autosave on. Losing an hour of work costs more than a few extra writes.
Placing the profile on local storage matters when home directories are mounted over NFS. Locking behavior on network filesystems is a well-known source of hangs and “document is locked” messages.
Startup
Disable the Start Center thumbnails if they are slow, and remove extensions you do not use. The Java runtime loads lazily, but leaving Java enabled without needing Base or certain wizards adds little. If nothing you use requires it, turn it off in Tools, Options, Advanced.
Security Considerations
Office suites parse hostile file formats. Treat them like a browser.
Keep it patched. For the RPM install, update the whole family so components stay in step:
sudo dnf upgrade 'libreoffice*'
For Flatpak:
flatpak update org.libreoffice.LibreOffice
Set the macro security level to High or Very High under Tools, Options, LibreOffice, Security, Macro Security. Never enable macros from documents that arrived by email, even from a known sender, until you verify them out of band.
On servers that convert user uploads, do not run conversions as your web user with broad filesystem access. Create a dedicated unprivileged account, give it a private temp directory, and restrict its network access. A systemd unit with sandboxing options makes this repeatable:
[Service]
User=lo-convert
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
NoNewPrivileges=true
ReadWritePaths=/var/lib/lo-convert
SELinux is enforcing on Fedora by default. Leave it that way. If a conversion job is denied, inspect the actual denial instead of disabling the policy:
sudo ausearch -m avc -ts recent
sudo journalctl -t setroubleshoot --since "1 hour ago"
You do not need to open any firewall ports for LibreOffice itself. If you run a listener mode such as --accept=socket,host=127.0.0.1,port=2002;urp;, bind to localhost only. Exposing that socket to a network is effectively remote code execution for anyone who can reach it. The default firewalld zone on Fedora Workstation already blocks most inbound traffic, but do not rely on that alone.
Troubleshooting Common Problems
“No match for argument: libreoffice”
The repositories may be disabled or metadata may be stale.
sudo dnf clean all
sudo dnf makecache
dnf repolist
Confirm the fedora and updates repositories are enabled. Behind a proxy, check /etc/dnf/dnf.conf for proxy settings.
Dependency or file conflicts during install
Usually this means an upstream RPM install is fighting Fedora’s packages. Look at what is installed:
rpm -qa | grep -i libreoffice
Remove the conflicting set and start over with one method. Mixing sources is the number one cause of broken office installs.
LibreOffice does not start, or crashes at launch
A corrupt profile is the usual cause. Test with safe mode first:
libreoffice --safe-mode
If that works, rename the profile and let LibreOffice rebuild it:
mv ~/.config/libreoffice ~/.config/libreoffice.bak
Restore your dictionaries and templates from the backup afterward. This fixes more issues than any other single step, especially after a major Fedora upgrade or a jump between LibreOffice branches.
Headless conversion produces no output
Check three things. First, whether another instance is holding the profile lock; use the separate UserInstallation trick shown earlier. Second, whether the target directory exists and is writable. Third, whether the input path is readable by the user running the job. Run the command in a terminal and read the output before assuming the file is bad.
Blank or garbled window on Wayland or in a VM
Force a different rendering backend for a test:
SAL_USE_VCLPLUGIN=gtk3 libreoffice --writer
Then try disabling hardware acceleration in the options. Remote desktop sessions and older virtual GPUs are the typical culprits.
Fonts look wrong, layout differs from Word
Run fc-match on the font name from the document and install the metric-compatible substitute. Rebuild the cache with fc-cache -rv, then restart LibreOffice.
Flatpak cannot open a file or folder
This is a sandbox permission issue. Use the file chooser, or grant access with flatpak override. To reset overrides:
flatpak override --user --reset org.libreoffice.LibreOffice
Spellcheck not working
Install the Hunspell package for your language and set the document language explicitly. Restart the app. If the language is missing from the list, the dictionary package was not found.