mirror of
https://github.com/rustdesk/doc.rustdesk.com.git
synced 2024-12-27 17:39:24 +01:00
86 lines
2.4 KiB
Markdown
86 lines
2.4 KiB
Markdown
|
---
|
||
|
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
|
||
|
- Linux/MacOS: vcpkg install libvpx libyuv opus
|
||
|
|
||
|
- 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 (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 2021.12.01
|
||
|
cd ..
|
||
|
vcpkg/bootstrap-vcpkg.sh
|
||
|
export VCPKG_ROOT=$HOME/vcpkg
|
||
|
vcpkg/vcpkg install libvpx libyuv opus
|
||
|
```
|
||
|
|
||
|
### 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](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) to configuring Xorg as the default GNOME session.
|