--- title: Linux weight: 10 --- ### Dependencies Desktop versions use [Sciter](https://sciter.com/) for GUI, please download Sciter dynamic library yourself. [Windows](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll) | [Linux](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so) | [macOS](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.osx/libsciter.dylib) ### Raw steps to build - Prepare your Rust development env and C++ build env - Install [vcpkg](https://github.com/microsoft/vcpkg) and set `VCPKG_ROOT` env variable correctly - Windows: `vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static` - Linux/macOS: `vcpkg install libvpx libyuv opus aom` - Run `cargo run` ### How to build on Linux #### Ubuntu 18 (Debian 10) ```sh sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake ``` #### Fedora 28 (CentOS 8) ```sh sudo yum -y install gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-devel libxdo-devel libXfixes-devel pulseaudio-libs-devel cmake alsa-lib-devel ``` #### Arch Linux (Manjaro) ```sh sudo pacman -Syu --needed unzip git cmake gcc curl wget yasm nasm zip make pkg-config clang gtk3 xdotool libxcb libxfixes alsa-lib pulseaudio ``` #### Install vcpkg ```sh git clone https://github.com/microsoft/vcpkg cd vcpkg git checkout 2023.04.15 cd .. vcpkg/bootstrap-vcpkg.sh export VCPKG_ROOT=$HOME/vcpkg vcpkg/vcpkg install libvpx libyuv opus aom ``` #### Fix libvpx (for Fedora) ```sh cd vcpkg/buildtrees/libvpx/src cd * ./configure sed -i 's/CFLAGS+=-I/CFLAGS+=-fPIC -I/g' Makefile sed -i 's/CXXFLAGS+=-I/CXXFLAGS+=-fPIC -I/g' Makefile make cp libvpx.a $HOME/vcpkg/installed/x64-linux/lib/ cd ``` #### Build ```sh curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source $HOME/.cargo/env git clone https://github.com/rustdesk/rustdesk cd rustdesk mkdir -p target/debug wget https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so mv libsciter-gtk.so target/debug VCPKG_ROOT=$HOME/vcpkg cargo run ``` #### Change Wayland to X11 (Xorg) ~~RustDesk does not support Wayland.~~ Check this [guide](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) to configuring Xorg as the default GNOME session. RustDesk now has experimental Wayland support. You may need to download the [nightly version](https://github.com/rustdesk/rustdesk/releases/tag/nightly) to enable this feature.