Package Details: rustdesk 1.4.6-1

Git Clone URL: https://aur.archlinux.org/rustdesk.git (read-only, click to copy)
Package Base: rustdesk
Description: Yet another remote desktop software, written in Rust. Works out of the box, no configuration required. Great alternative to TeamViewer and AnyDesk!
Upstream URL: https://rustdesk.com/
Keywords: AnyDesk desktop remote Rust TeamViewer
Licenses: AGPL-3.0-only
Submitter: taotieren
Maintainer: severach
Last Packager: severach
Votes: 59
Popularity: 2.17
First Submitted: 2021-06-27 07:29 (UTC)
Last Updated: 2026-04-15 17:03 (UTC)

Sources (17)

Latest Comments

1 2 3 4 5 6 .. 12 Next › Last »

kevinlpowell commented on 2026-04-15 04:01 (UTC) (edited on 2026-04-15 04:04 (UTC) by kevinlpowell)

The build errors from the scrap dependency are due to an old version of bindgen that is not compatible with Clang22. There's no need to install an outdated version of Clang as a workaround. Just update the requested version of bindgen to latest (0.72.1) like so: (and don't forget to "updpkgsums")

diff --git c/0004-bindgen@rustdesk.patch i/0004-bindgen@rustdesk.patch
new file mode 100644
index 0000000..ec1f410
--- /dev/null
+++ i/0004-bindgen@rustdesk.patch
@@ -0,0 +1,23 @@
+diff -ur a/Cargo.toml b/Cargo.toml
+--- a/Cargo.toml   2026-03-04 20:30:40.000000000 -0800
++++ b/Cargo.toml   2026-04-14 20:52:35.970758354 -0700
+@@ -211,6 +211,7 @@
+ # This allows building and running on systems without libxdo installed (e.g., Wayland-only)
+ [patch.crates-io]
+ libxdo-sys = { path = "libs/libxdo-sys-stub" }
++bindgen = { git = "https://github.com/rust-lang/rust-bindgen", tag = "v0.72.1" }
+ 
+ [package.metadata.winres]
+ LegalCopyright = "Copyright © 2025 Purslane Ltd. All rights reserved."
+diff -ur a/libs/scrap/Cargo.toml b/libs/scrap/Cargo.toml
+--- a/libs/scrap/Cargo.toml    2026-03-04 20:30:40.000000000 -0800
++++ b/libs/scrap/Cargo.toml    2026-04-14 20:52:35.969638453 -0700
+@@ -48,7 +48,7 @@
+ 
+ [build-dependencies]
+ target_build_utils = "0.3"
+-bindgen = "0.65"
++bindgen = "0.72.1"
+ pkg-config = { version = "0.3.27", optional = true }
+ 
+ [target.'cfg(target_os = "linux")'.dependencies]
diff --git c/PKGBUILD i/PKGBUILD
index a30beae..680fc55 100644
--- c/PKGBUILD
+++ i/PKGBUILD
@@ -167,6 +167,7 @@ _patches=(
   '0000-disable-update-check@rustdesk.patch'
   #'0001-extended_text-drop-version-for-flutter.3.22.3@rustdesk.patch' # https://github.com/rustdesk/rustdesk/blob/master/.github/workflows/bridge.yml#L77
   '0002-screen_retriever@rustdesk.patch'
+  '0004-bindgen@rustdesk.patch'
 )
 install="${pkgname}.install"
 _srcdir="${pkgname}-${_pkgver}"
            '7ddad2d992bd250a6c56053c26029f7e728bebf0f37f80cf3f8a0e6ec706431a'

es20490446e commented on 2026-04-14 20:55 (UTC)

You may get some improvement ideas at: https://gitlab.com/es20490446e/express/-/tree/master/recipes/rustdesk

es20490446e commented on 2026-04-14 20:48 (UTC) (edited on 2026-04-14 20:49 (UTC) by es20490446e)

You need to use the oldest version of clang in the repos:

ClangVersion="$(
    pacman --sync --search "^clang" |
    grep --invert-match "^ " |
    cut --delimiter=' ' --fields=2 |
    cut --delimiter=':' --fields=2- |
    sort --version-sort |
    cut --delimiter='.' --fields=1,2 |
    head -n1
)"


ClangMajorVersion="$(
    echo "${ClangVersion}" |
    cut --delimiter='.' --fields=1
)"


CompileRustdesk () {
    cd "${srcdir}/${pkgname}"

    CLANG_RESOURCE_DIR="/usr/lib/clang/${ClangMajorVersion}" \
    LIBCLANG_PATH="/usr/lib/libclang.so.${ClangVersion}" \
    so ./build.py --flutter --hwcodec
}

fooxl commented on 2026-03-21 16:31 (UTC) (edited on 2026-03-21 16:39 (UTC) by fooxl)

Here rustdesk also doesn't build. I tried local makepkg but also in chroot with aur build -c.

The first error is:

error[E0609]: no field `g_w` on type `vpx_codec_enc_cfg`                                                              
  --> libs/scrap/src/common/vpxcodec.rs:66:19                                                                         
   |                                                                                                                  
66 |                 c.g_w = config.width;                 
   |                   ^^^ unknown field
   |
   = note: available field is: `_address`

followed by several others in vpxcodec.rs and aom.rs.

tpaniaki commented on 2026-03-21 13:44 (UTC)

Build fails in 1.4.6 (scrap):

   Compiling tray-icon v0.14.3 (https://github.com/tauri-apps/tray-icon#d4078696)
Some errors have detailed explanations: E0560, E0609.
For more information about an error, try `rustc --explain E0560`.
warning: `scrap` (lib) generated 1 warning
error: could not compile `scrap` (lib) due to 64 previous errors; 1 warning emitted
warning: build failed, waiting for other jobs to finish...
warning: `hbb_common` (lib) generated 1 warning (1 duplicate)
Error occurred when executing: `cargo build --features hwcodec,flutter --lib --release`. Exiting.
++ error_function build
++ ((  ! BASH_SUBSHELL  ))
+++ gettext 'A failure occurred in %s().'
++ error 'Une erreur s’est produite dans %s().' build
++ local 'mesg=Une erreur s’est produite dans %s().'
++ shift
+++ gettext ERROR:
++ printf $'\E[1m\E[31m==> ERREUR :\E(B\E[m\E[1m Une erreur s’est produite dans %s().\E(B\E[m\\n' build
==> ERREUR : Une erreur s’est produite dans build().
+++ gettext Aborting...
++ plainerr Abandon…
++ plain Abandon…
++ ((  QUIET  ))
++ local mesg=Abandon…
++ shift
++ printf $'\E[1m    Abandon…\E(B\E[m\\n'
    Abandon…
++ exit 4
+ clean_up
+ local EXIT_CODE=4
+ ((  INFAKEROOT  ))
+ [[ -p '' ]]
+ ((  (EXIT_CODE == E_OK || EXIT_CODE == E_INSTALL_FAILED) && BUILDPKG && CLEANUP  ))
+ remove_deps
+ ((  ! RMDEPS  ))
+ return 0
+ exit 4
 -> error making: rustdesk-exit status 4

Durasta commented on 2026-03-04 06:21 (UTC)

If anyone has this error $ rustdesk Failed to load "librustdesk.so" libxdo.so.3: cannot open shared object file: No such file or directory Not a big crutch with the library: sudo ln -s /usr/lib/libxdo.so.4 /usr/lib/libxdo.so.3

severach commented on 2026-02-25 19:50 (UTC)

A recompile will fix it. Rustdesk has a bad habit of restarting when system libraries are changed. I know remote control is lost after a reboot. I don't know if remote control is lost before a reboot giving a chance to recompile before reboot. Most of my Linux remotes have SSH access so I just get in and recompile there.

horaciohs commented on 2026-02-23 21:21 (UTC) (edited on 2026-02-24 01:08 (UTC) by horaciohs)

It seems rustdesk depends on xdotool-3 and system upgrade to xdotool-4 broken it:

$ rustdesk

Failed to load "librustdesk.so"

libxdo.so.3: cannot open shared object file: No such file or directory

severach commented on 2026-01-10 22:00 (UTC)

For a long time screen_retriever was sometimes downloaded and sometimes not. Repeating the crashed build would make it download. The rustdesk build is way too long to sometimes not build. I patched in screen_retriever so it always downloads. If you find another unreliable rust package download before I do, let me know.

makedepends=('python-yaml') makes the yaml code work. Why would that package not provide yaml support in CachyOS?

At the top of the PKGBUILD you'll see a rm line that clears the caches. Try that unless you use those caches for other purposes.

mihalycsaba commented on 2026-01-10 15:44 (UTC)

@Corradon I had a build failure too, running it a second time without clearing the build cache was successful, maybe something fails to download at first run.