Start building Flutter native desktop apps on Linux

Verify system requirements

#

To install and run Flutter, your Linux environment must meet the following hardware and software requirements.

Hardware requirements

#

Your Linux Flutter development environment must meet the following minimal hardware requirements.

RequirementMinimumRecommended
CPU Cores48
Memory in GB816
Display resolution in pixelsWXGA (1366 x 768)FHD (1920 x 1080)
Free disk space in GB4.052.0

Software requirements

#

To write and compile Flutter code for desktop, you must have the following version of Linux and the listed software packages.

Operating system

#

Flutter supports Debian Linux 11 or later and Ubuntu Linux 20.04 LTS or later .

Development tools

#

To develop Flutter on Linux:

  1. Verify that you have the following tools installed: bash, file, mkdir, rm, which

    $ which bash file mkdir rm which
    /bin/bash
    /usr/bin/file
    /bin/mkdir
    /bin/rm
    which: shell built-in command
  2. Install the following packages: curl, git, unzip, xz-utils, zip, libglu1-mesa

    $ sudo apt-get update -y && sudo apt-get upgrade -y;
    $ sudo apt-get install -y curl git unzip xz-utils zip libglu1-mesa
  3. To develop Linux apps, use the following command to install these packages:
    clang, cmake, ninja-build, pkg-config, libgtk-3-dev, libstdc++-12-dev

    $ sudo apt-get install \
          clang cmake git \
          ninja-build pkg-config \
          libgtk-3-dev liblzma-dev \
          libstdc++-12-dev

When you run the current version of flutter doctor, it might list a different version of one of these packages. If it does, install the version it recommends.

The developers of the preceding software provide support for those products. To troubleshoot installation issues, consult that product's documentation.

Configure a text editor or IDE

#

You can build apps with Flutter using any text editor or integrated development environment (IDE) combined with Flutter's command-line tools.

Using an IDE with a Flutter extension or plugin provides code completion, syntax highlighting, widget editing assists, debugging, and other features.

Popular options include:

Install the Flutter SDK

#

To install the Flutter SDK, you can use the VS Code Flutter extension or download and install the Flutter bundle yourself.

Use VS Code to install Flutter

#

To install Flutter using these instructions, verify that you have installed Visual Studio Code 1.77 or later and the Flutter extension for VS Code.

Prompt VS Code to install Flutter

#
  1. Launch VS Code.

  2. To open the Command Palette, press Control + Shift + P.

  3. In the Command Palette, type flutter.

  4. Select Flutter: New Project.

  5. VS Code prompts you to locate the Flutter SDK on your computer.

    1. If you have the Flutter SDK installed, click Locate SDK.

    2. If you do not have the Flutter SDK installed, click Download SDK.

      This option sends you the Flutter install page if you have not installed Git as directed in the development tools prerequisites.

  6. When prompted Which Flutter template?, ignore it. Press Esc. You can create a test project after checking your development setup.

Download the Flutter SDK

#
  1. When the Select Folder for Flutter SDK dialog displays, choose where you want to install Flutter.

    VS Code places you in your user profile to start. Choose a different location.

    Consider ~/development/

  2. Click Clone Flutter.

    While downloading Flutter, VS Code displays this pop-up notification:

    Downloading the Flutter SDK. This may take a few minutes.

    This download takes a few minutes. If you suspect that the download has hung, click Cancel then start the installation again.

  3. Once it finishes downloading Flutter, the Output panel displays.

    Checking Dart SDK version...
    Downloading Dart SDK from the Flutter engine ...
    Expanding downloaded archive...

    When successful, VS Code displays this pop-up notification:

    Initializing the Flutter SDK. This may take a few minutes.

    While initializing, the Output panel displays the following:

    Building flutter tool...
    Running pub upgrade...
    Resolving dependencies...
    Got dependencies.
    Downloading Material fonts...
    Downloading Gradle Wrapper...
    Downloading package sky_engine...
    Downloading flutter_patched_sdk tools...
    Downloading flutter_patched_sdk_product tools...
    Downloading windows-x64 tools...
    Downloading windows-x64/font-subset tools...

    This process also runs flutter doctor -v. At this point in the procedure, ignore this output. Flutter Doctor might show errors that don't apply to this quick start.

    When the Flutter install succeeds, VS Code displays this pop-up notification:

    Do you want to add the Flutter SDK to PATH so it's accessible
    in external terminals?
  4. VS Code may display a Google Analytics notice.

    If you agree, click OK.

  5. To enable flutter in all a shell windows:

    1. Close, then reopen all a shell windows.
    2. Restart VS Code.

Download then install Flutter

#

To install Flutter, download the Flutter SDK bundle from its archive, move the bundle to where you want it stored, then extract the SDK.

  1. Download the following installation bundle to get the latest stable release of the Flutter SDK.

    (loading...)

    For other release channels, and older builds, check out the SDK archive.

    The Flutter SDK should download to the Linux default download directory: ~/Downloads/.

  2. Create a folder where you can install Flutter.

    Consider creating a directory at /usr/bin/.

  3. Extract the zip file into the directory you want to store the Flutter SDK.

    $ ~/Downloads/flutter_sdk_v1.0.0.zip /usr/bin/

    When finished, the Flutter SDK should be in the /usr/bin/flutter directory.

Add Flutter to your PATH

#

To run Flutter commands in a shell, add Flutter to the PATH environment variable.

  1. Check which shell starts when you open a new console window. This would be your default shell.

    $ echo $SHELL

    This differs from another command that tells you which shell runs in your current console.

    $ echo $0
  2. To add Flutter to your PATH, expand the entry for your default shell, then choose the command.

    Show bash command
    $ echo 'export PATH="$HOME/development/flutter/bin:$PATH"' >> ~/.bash_profile
    Show zsh command
    $ echo 'export PATH="$HOME/development/flutter/bin:$PATH"' >> ~/.zshenv
    Show fish command
    $ fish_add_path -g -p $HOME/development/flutter/bin
    Show csh command
    $ echo 'setenv PATH "$HOME/development/flutter/bin:$PATH"' >> ~/.cshrc
    Show tcsh command
    $ echo 'setenv PATH "$HOME/development/flutter/bin:$PATH"' >> ~/.tcshrc
    Show ksh command
    $ echo 'export PATH="$HOME/development/flutter/bin:$PATH"' >> ~/.profile
    Show sh command
    $ echo 'export PATH="$HOME/development/flutter/bin:$PATH"' >> ~/.profile
  3. To apply this change, restart all open terminal sessions.

Check your development setup

#

help Help

Run Flutter doctor

#

The flutter doctor command validates that all components of a complete Flutter development environment for Linux.

  1. Open a shell.

  2. To verify your installation of all the components, run the following command.

    $ flutter doctor

As you chose to develop for , you do not need all components. If you followed this guide, the result of your command should resemble:

Running flutter doctor...
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.19.3, on Ubuntu 20.04 (LTS), locale en)
[!] Android toolchain - develop for Android devices
[!] Chrome - develop for the web
[!] Android Studio (not installed)
[✓] Linux toolchain - develop for Linux desktop
[✓] VS Code (version 1.86)
[✓] Connected device (1 available)
[✓] Network resources


! Doctor found issues in 3 categories.

Troubleshoot Flutter doctor issues

#

When the flutter doctor command returns an error, it could be for Flutter, VS Code, , the connected device, or network resources.

If the flutter doctor command returns an error for any of these components, run it again with the verbose flag.

$ flutter doctor -v

Check the output for other software you might need to install or further tasks to perform.

If you change the configuration of your Flutter SDK or its related components, run flutter doctor again to verify the installation.

Start developing on Linux apps with Flutter

#

Congratulations! Now that you have installed all prerequisites and the Flutter SDK, you should be able to start developing Flutter apps for on Linux.

Manage your Flutter SDK

#

To learn more about managing your Flutter SDK install, consult the following resources.