196 views
# Fedora Workstation Documentation ### Introduction These pages are a general guide to Fedora Workstation. They provide a overview of Workstation, and is intended for Workstation users and Fedora contributors alike. It is intended to be useful for those who want to know how to use Workstation and how it is put together, from a technical perspective. The content in these pages is technical in nature. If you are completely new to Workstation, our [web page](https://getfedora.org/en/workstation/) provides an introduction to what you can expect as a user. General advice on how to use the workstation desktop can also be found in the built-in **Help** app, which can be launched from the desktop. This user help can also be [browsed online](https://help.gnome.org/users/gnome-help/stable/), and includes an overview of the desktop, as well as detailed help on using the apps and system settings. ### Overview Fedora Workstation is Fedora's official desktop edition. It provides a powerful, easy to use desktop experience. Workstation is intended to be a great general purpose desktop. It is also specifically targetted at software developers. Workstation is part of the Fedora project. As such, it shares components, tools and processes with other Fedora Editions and Spins. However, Workstation is also an independent project, which is able to make its own design decisions, and is a distinct product of its own. The [Workstation Working Group](https://docs.fedoraproject.org/en-US/workstation-working-group/) is the main team that has responsibility for Fedora Workstation. However, workstation wouldn't be possible without the hard work of teams and individuals across the entire Fedora community. ### System Requirements Fedora Workstation requires a minimum of 20GB disk and 2GB RAM to install and run successfully. For a good experience, double those amounts is recommended, as is installing to an SSD drive. Workstation images are available for x86_64 and aarch64 architectures, providing support for Intel, AMD and ARM processors. ### Getting Workstation Fedora Workstation comes preinstalled on a number of hardware options. It can also be manually installed using a USB flash drive. The [Fedora Workstation download page](https://getfedora.org/en/workstation/download/) provides information on how to do this. ### What's Included Workstation is built from open source components, many of which are shared with other Fedora Editions and Spins. Key components include the Linux kernel, systemd, DNF, the Wayland display server, the Pipewire multimedia server, NetworkManager, the GNOME Desktop, and the Firefox browser. Each of these components are carefully integrated and tested, to work together as part of a seamless experience. Workstation also includes a default set of preinstalled applications, to make it easy to get started, and to provide the range of standard utilities that are necessary for a desktop. In order to prevent Workstation systems from becoming unusable, certain key components are required to be installed, and cannot be removed. These non-removable components include `gnome-shell`, `gnome-control-center`, `grub`, and `NetworkManager`. ### Getting Involved There are lots of ways to participate in Fedora Workstation. Users can participate in [Discussions](https://discussion.fedoraproject.org/) and in chat in the [Fedora](https://matrix.to/#/#fedora:fedoraproject.org/) and [Fedora Workstation](https://matrix.to/#/#workstation:fedoraproject.org/) channels. Providing support to other users in [Ask Fedora](https://ask.fedoraproject.org/) is another fantastic way to start out. There are also lots of teams that you can join, including: * Fedora project teams: [Websites](https://docs.fedoraproject.org/en-US/websites/), [Design](), [QA](), [Packaging](https://docs.fedoraproject.org/en-US/package-maintainers/Joining_the_Package_Maintainers/) and [Documentation](https://docs.fedoraproject.org/en-US/fedora-docs/). * Upstream projects, which are responsible for much of the workstation experience. For Workstation, the [GNOME Project](https://www.gnome.org/get-involved/) is key and defines much of the user experience. * The [Workstation Working Group](https://docs.fedoraproject.org/en-US/workstation-working-group/) is open to anyone who wants to be involved in the day to day decisions around Workstation. ## Software Repositories, Formats & Tools This page includes information about the software formats, tools and repositories that are included in Fedora Workstation. ### Default Software Repositories Workstation comes with a set of software repositories enabled out of the box. These allow preinstalled software to be updated, as well as new packages and apps to be installed. Workstations default software respositories are: * Official Fedora RPM repositories. Workstation system components and applications are provided in RPM format, using the main Fedora repositories. * Fedora Flatpaks. Workstation comes with the Flatpak app distribution tool installed by default. It also includes a repository of Flatpak apps, which are built and hosted by the Fedora project, and which are available to be installed. * Linux Vendor Firmware Service (LVFS). Workstation uses fwupd to provide firmware updates from LVFS. This is enabled by default. ### Third-Party Repositories Fedora Workstation also includes a set of [third-party repositories](https://docs.fedoraproject.org/en-US/workstation-working-group/third-party-repos/). These software repositories are provided by projects and organizations other than Fedora, and provide access to a wider range of software than the default offering. They can be enabled with the click of a button during initial setup, or in the Software app. ### Installing & Updating Software Workstation includes the GNOME Software app, which provides an easy way to find and install apps, and to install software updates. Workstation also comes with a set of command line tools that can be used for software management. These are: * `dnf`: Fedora's default package manager. See [this guide](https://docs.fedoraproject.org/en-US/quick-docs/dnf/) for information on how to get started with DNF. * `flatpak`: the Flatpak tool can be used to install and update graphical applications that are provided as Flatpaks. See [this guide](https://docs.flatpak.org/en/latest/using-flatpak.html) to get started with the Flatpak CLI. * `fwupdmgr`: the command line utility for fwupd. This can be used to update firmware. ### Release Schedule, Updates & Upgrades Fedora Workstation follows the [standard Fedora release schedule](https://docs.fedoraproject.org/en-US/releases/): a new version is produced every six months, and each version receives updates for 13 months. Fedora's smooth upgrade process means that it's easy to stay up to date, and transitioning from one version to the next is easy and pain free (though we still recommend that you backup before upgrading). Upgrading can be done using the Software app, which shows a notification when a new version is available. It is also possible to [upgrade using the command line](https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/). ### Proprietary & Patent Encumbered Software In accordance with Fedora principles and policy, Fedora Workstation only includes open source software. Workstation is also prevented from including patent-encumbered software. This poses challenges in cases where such software is required by particular hardware or multimedia formats. Open source technologies are always the preferred option for Workstation. However, in important cases where no viable open source option exists, and where it is safe to do so, mechanisms are provided to gain access to particular proprietary and patent encumbered software. #### NVIDIA Graphics Fedora Workstation works to ensure that the open source Nouveau driver provides an excellent experience for NVIDIA hardware. However, when the features exclusive to the proprietary driver are required, it can be installed by enabling the Third Party Repositories. #### h264 Codecs Due to patent issues, Fedora cannot directly provide the h264 multimedia codec. However, it is automatically installed for users, from a non-Fedora source. ## Disk Configuration Fedora Workstation uses a different default disk configuration from other Fedora Editions and Spins. This page describes that configuration along with the motivations behind it. Other, non-default, disk configuration options are available to be used with Workstation, and can be selected during the disk partitioning step in the installer. ### Btrfs Btrfs is the default filesystem used by Fedora Workstation. Brfs has two key advantages for all users using the default filesystem configuration: 1. Transparent compression means that data stored on disk uses less space 2. System reinstallation while preserving user data can be supported, while avoiding the issue of volumes running out of space. This is due to the fact that Btrfs subvolumes are limited to a static predefined size. Btrfs also provides a range of other features, such as snapshotting and online shrinking, which can be useful for those who want to use them, and can potentially be the basis of future user-facing features. Fedora Magazine contains a number of [excellent articles about Btrfs](https://fedoramagazine.org/?s=btrfs). ### Default Disk Layout By default, a Workstation installation has the following disk layout: | Role | Filesystem | Mount Point | |----------------------|------------|-------------| | EFI System Partition | FAT 32 | `/boot/efi` | | Boot Partition | ext4 | `/boot` | | Root Subvolume | Btrfs | `/` | | Home Subvolume | Btrfs | `/home` | The first two partitions are common to all Fedora installations, and are required for booting the system. The root subvolume contains the system installation, and the home subvolume contains user data and settings. ### Swap on ZRAM Fedora Workstation does not use a dedicated swap partition. Instead, it uses zram: an emulated drive that uses RAM for its storage. RAM-based swap is faster than disk-based swap, which avoids the extreme system slowdown and thrashing that can happen with a traditional swap partition. The zram drive is compressed, to make efficient use of the available memory, and is assigned memory dynamically, meaning that it only uses the available RAM when it is needed. ## Problem Solving & Issue Reporting This page includes general information on how to investigate and report issues with Fedora Workstation. ### Diagnostic Tools Workstation includes a set of graphical and command line tools which can be used to investigate and diagnose issues, if they happen. Graphical tools include: * **System Monitor**: can be used to see if system resources are being exceeded, and which processes are using the most resources * **Logs**: a graphical viewer app for system and application logs * **Problem Reporting**: automatically detects crashes, and allows reporting of crash data. In some cases the Problem Reporting tool will link to existing issue reports for a crash. Command line diagnostic tools which are preinstalled in Fedora Workstation include: * `top`: command line system monitor. * `journalctl`: command line interface for viewing systemd logs. Learn [how to get started with journalctl](https://docs.fedoraproject.org/en-US/quick-docs/viewing-logs/) * `coredumpctl`: command line interface for analyzing software crashes. [Fedora Magazine has a good article on getting started with coredumpctl](https://fedoramagazine.org/file-better-bugs-coredumpctl/). ### Issue Reporting Issues that need to be tracked as part of the Fedora release process, such as potential release blockers, should be reported against the correct component in [Red Hat Bugzilla](https://bugzilla.redhat.com/). For other issues, it is recommended to create reports directly with the relevant upstream project. The GNOME Project is the upstream for much of the software that makes up Fedora Workstation. Issues with GNOME components can be reported using [GNOME's Gitlab instance](https://gitlab.gnome.org). ### Out Of Memory (OOM) Handling When the system is running out of memory, Fedora Workstation automatically forces processes to quit, in order to ensure that the system can continue to function. If applications or processes suddenly close, it could be due to memory pressure. Check the logs to see if a OOM event was recorded, and check system resources to see if your system is approaching its memory limits.