🧐

Raspberry Pi 4のVisual Studio CodeをX11で起動したら遅すぎた件

2 min read

はじめに

こんにちは、ヤッチです😀
簡単に自己紹介します👨
本業は外資系勤務で組み込みエンジニアをやっています。
数ヶ月前にRaspberry Pi 4 2GBモデルを買いました。
 8GBが欲しい…

概要

Raspberry Pi 4にVisual Studio Code(以降vscode)を入れて、ChromebookからSSH/X11経由で動かしてみたら、描画速度が紙芝居レベルで使えそうになかったので、同じこと考えている方は思いとどまってもらうためにこの記事を書きました。

Raspberry Piのセットアップ

手前味噌になりますが、こちらで紹介しています。

https://linuxfun.org/2020/11/08/raspberrypi4-setup/

↑の内容に加えて以下を実行し、vscodeのInsider版を入れます。
 からあげさんの記事を参考に…

curl -L --output code.deb 'https://update.code.visualstudio.com/latest/linux-deb-armhf/insider'
sudo dpkg -i code.deb
rm code.deb

↑のdpkgコマンド部分で依存関係のエラーによりインストールできなかった場合は以下。

sudo apt --fix-broken install

※この記事を書いている2021/01/26の時点では、Stable版を入れて動かしてみても白い画面が出るだけで操作が全くできませんでしたので、Insider版を使っています。

Chromebook側のセットアップ

Chromebook側は特にやることないです。
Linux仮想マシンを有効にしておくくらいですかね。

Chromebookから接続する

sshコマンドで-Xオプションを付けて、X11転送を有効にします。

ssh -X pi@<Raspberry Pi のIPアドレス>

Visual Studio Codeを動かしてみる

操作しているときの様子をYoutubeにアップしてみました。
動画を見るとわかりますが、超遅いです…

なぜ遅いか?

今の時点では原因がわかっていません。
考えつくところとそれを検証した結果は以下です。

  • Raspberry Pi側
    • X11の処理でCPUを食いつぶしている?
       → htopで見たが、問題なし。
    • メモリが足りない?
       → 不足してはなさそう。
  • Chromebook側
    • X11の処理でCPUを食いつぶしている?
       → htopで見たが、問題なし。
    • メモリが足りない?
       → 不足してはなさそう。
  • ネットワーク
    • ネットワーク負荷がかかりすぎているのか?
       → Raspberry Pi側でdstatして見てみたが、問題ないように見えた。

今後検証していくとなると、自分の知識では以下のような点が思い浮かびます。
暇があればやっていきます。

  • X11で使う圧縮アルゴリズムを負荷の軽いものにすることで、改善するか?
     CPU/ネットワークともに限界には来ていないので、望み薄だが…
  • dstatでint/cswの列が割と数値高そうだが、関係あるか?
     割込とコンテキストスイッチなので、高い → 動作が遅い のも頷ける。
    改善できるものなのかわからないが、調べて見る価値はありそう。

終わりに

ということで、現時点ではラズパイにvscode入れてX11で使うのは無理がありそうです。
素直にRemote Developmentを使うのがいいでしょうね。

Remote Developmentは以下で紹介しています!
Raspberry Pi 4にChromebookからVisual Studio Codeでリモート開発してみました🖥