Raspberry Piのリモートデスクトップ接続は、自宅のどこからでもRaspberry Piを操作できる便利な機能です。
自分は、Windowsに標準で入っている「リモートデスクトップ接続」(以降「リモートデスクトップ接続」とします)を使用しての接続を行っていましたので、一般的な使い方と少し異なる方法を使っていました。
「リモートデスクトップ接続」を使う場合、Raspberry Pi OS側にxrdpというパッケージをインストールし、VNCを起動しておけば接続ができるようになります。
以前はxrdpをインストールするだけで設定が完了していたのですが、bullseyeベースのRaspberry Pi OSになってからは、接続はできてもウインドウマネージャーが表示されず
仕方なくVNCをPCにインストールして対応していました。
こんな状況で1年以上悩んでいましたが、ようやくその解決策を見つけることができましたので、本エントリーでは、その方法をメモしておきます。
検証環境
検証環境としては、bullseyeベースのRaspberry Pi OS(64bi版)となります。2023年8月時点では通常のOSインストールを行うだけでこの環境になっていると思います。
OSの状況を以下に表示します。
【コマンドにて確認】
$ uname -a Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye $ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 11 (bullseye)" NAME="Debian GNU/Linux" VERSION_ID="11" VERSION="11 (bullseye)" VERSION_CODENAME=bullseye ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/"
Debian GNU/Linux 11 (bullseye)と表示されているのがわかります。

xrdpのインストール
xrdpを使用するにはVNCが必要です。標準でVNCはインストールをされていると思うので、raspi-configを使用してVNCは有効にしておきます。
有効後、xrdpを以下のようにインストールします。
$ sudo apt update
$ sudo apt install -y xrdp
これでインストールを完了です。
【参考】
不具合の状況
以前はこのままで「リモートデスクトップ接続」ができたのですが、このまま接続を行うと認証のダイアログが表示されますが、

ログインが成功すると何も表示されません。

この状態でもVNCでの接続は可能なので、使用上は問題はないのですが…できれば「リモートデスクトップ接続」したい。
解決策
長年原因が特定できていなかったのですが、フォーラムを見ていたところ以下を見つけることができました。
策としては
/etc/X11/xrdp/xorg.confの設定を変更することで解消ができるようです。
以下のようにエディタを起動して/etc/X11/xrdp/xorg.confを編集し
$ sudo vi /etc/X11/xrdp/xorg.conf
以下のOption "DRMDevice" "/dev/dri/renderD128"部分を修正します。
【編集前】
Section "Device"
Identifier "Video Card (xrdpdev)"
Driver "xrdpdev"
Option "DRMDevice" "/dev/dri/renderD128"
Option "DRI3" "1"
EndSection
【編集後】
Section "Device"
Identifier "Video Card (xrdpdev)"
Driver "xrdpdev"
# Option "DRMDevice" "/dev/dri/renderD128"
Option "DRMDevice" ""
Option "DRI3" "1"
EndSection

これでOKです。念のためRaspberryPiの再起動後に「リモートデスクトップ接続」で接続すると初回の接続は遅いものの問題なく接続できました。

これで無事解決はしましたが少しパフォーマンスが悪いようです。これはX Window Systemsの画面描画のレンダラの設定を変更したことが原因だと思います。
おわりに
1年以上悩んでいた事象もようやく解決できました。大人しくVNCを使えばいいのではということもありますが、Windows側でアプリインストールができないことを解決する手段として、RaspberryPi側でのxrdpは結構いいのかなと思っています。使っている理由としてはRaspberryPi側の画面のキャプチャが簡単にできるので、そのメリットだけでもxrdpは使えるようにしたいのですよね。ということで、今回のメモはこれにて終了です。