リモートのLinux版RustDeskの音が途切れ途切れになる問題の対処法

長年にわたって以下の条件を満たすリモートデスクトップソフトを探していて、ついにRustDeskを見つけた。

  • マルチプラットフォーム、最低でもWindows、Linux対応
  • H.264やVPx系のエンコーダー対応で、動画も耐えられる
  • オープンソース

使ってみたところ、すごく良かったのでXRDPからの移行を進めようかと。もっと早く知りたかったよこれ。

更に、

  • GPUによるハードウェアアクセラレーションにも対応。※ただしLinux版はバグがあり、記事作成時点で機能していない模様
  • 試験的機能ではあるがLinux版はWaylandにも対応

セッションブローカーのような役割をするサーバーも存在する。このサーバーソフトも「OSS版」は無料!

HPやソフト内のリンクからたどると有料のPro版に誘導されるけど、OSS版は無料。大事なことなので2回。いやー、いい時代になったよ。

テスト運用中に一つ問題があって、Linuxの仮想マシンをリモート先としてテストしていたんだけど、音がかなり聞き取りづらいほど途切れ途切れになってしまう現象を確認した。

今回はその対処法が見つかったので紹介する。Pipewireのチューニングを行うことで、完璧ではないものの、大きく改善する。Fedora 40、Ubuntu 24.04で動作確認済み。

対処法

  1. リモート先にログインする
  2. ~/.config/pipewire/pipewire-pulse.conf.d/10-rustdesk.confに下記の設定を入力して保存
    pulse.rules = [
        {
            matches = [ { application.name = "RustDesk" } ]
            actions = {
                update-props = {
                    pulse.min.frag = 2048/48000
                    pulse.default.frag = 2048/48000
                }
            }
        }
    ]
  3. 続いて、仮想マシン環境の場合は~/.config/pipewire/pipewire.conf.d/10-vm.confに下記の設定を入力して保存
    context.properties.rules = [
        {   matches = [ { cpu.vm.name = !null } ]
            actions = {
                update-props = {
                    # These overrides are only applied when running in a vm.
                    default.clock.min-quantum = 1024
                }
            }
        }
    }
  4. 端末を開き、下記を実行
    systemctl --user restart wireplumber pipewire pipewire-pulse
  5. RustDeskで接続中の場合は再接続する

初期状態では96000/48000と非常に大きなバッファが取られていた。

参考

コメントを残す

メールアドレスは公開されません


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。