I need to do ..., Does Linux have an app for it?

Below is a short list of common tasks and native Linux apps that can be used for it.

Warning: This is not and can never be a 100% complete list.
  • 3D Modeling
  • Animation
  • Drawing
  • Gaming
  • Music Production
  • Note Taking
  • Office Work
  • Photo Editing (Generic)
  • Photo Editing (Photography)
  • Programming
  • Video Editing
  • Software Compatibility

    A short section about software compatibility in Linux.

    Does web applications work? (Canva, Google Docs, Notion, etc.)

    These apps are the least concerning and if you use these apps, you'll do just fine.

    Does Adobe apps work?

    It is known to not work very well, however, you can try if you wish.

    Can I run Windows apps/games that aren't native on Linux?

    It is possible, however, not everything will work perfectly. See the Wine Application Database for regular applications and ProtonDB for Steam games.

    Buzzwords Explained

    Here are some words that you will encounter in the (Linux) software world. You don't have to remember all of this, but you can refer back to this site if you want a short definition.

    package
    Imagine a box which contains software files. You could install a package, Which would mean copying the files inside it onto your system.
    package manager
    A software that helps you manage packages. It is specific to each Linux distribution and thus each distribution may have different package formats.
    system package
    A package that is installed on your system. Also commonly referred to as one of the ways to distribute software on Linux, in that context, the word would mean creating a package for a system.
    package repository
    If a package is a box, then a package repository is a warehouse.
    binary
    A file that is already compiled and ready to run. Also known as an "executable".
    AppImage
    A software distribution format. It is a single file that you can download and run on any Linux distribution with minimal reliance on the system. Specifically, it only requires FUSE (Filesystem in Userspace) to be installed, and that's it. The file extension of this format is .AppImage
    Flatpak
    A software distribution format. When an application is packaged this way, the application will be ran inside a sandbox to ensure security, and it will also have minimal reliance on system packages. This is becoming the most popular way to distribute software as it is distro-neutral. The most popular Flatpak repository (and thus is recognized as the central repository) is Flathub.
    Wine
    Wine is originally an acronym for "Wine Is Not an Emulator", and it is a compatibility layer (not an emulator) capable of running Windows applications. A simple way of explaining what it does would be that it translates Windows language into Linux language on-the-fly, minimizing the performance overhead other methods such as virtual machines and emulators may introduce. (Just for correctness, Wine is not limited to Linux, it can also work on other Unix-like systems such as FreeBSD and macOS)
    Proton
    A compatibility layer built on Wine by Valve, made for running games.
    DXVK
    A software which translates DirectX into Vulkan.