コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2026年10月2日 >>> 2026年9月19日
link もっと後

2026年10月2日

ROCK 3C + Debian 12 + Xfce4にアップデート

目次: Arduino

以前作ってTarget-1で稼働中の的あてゲーム、Linux側システムにRadxa ROCK 3Cを使っていて、ずっとDebian 11(Bullseye)で稼働しています。お店のシステムはネットワークに繋げていないので、アップデートしていないこと自体は問題ありません。とはいえ故障して新しいボードに置き換えたときに新しいイメージで稼働しないとなると困ります。

実は去年あたりにアップデートしたらどうなるのかちょっと試したら、全然動かなくなってて、直すのも調べるのも面倒で挫折してました。再チャレンジです。

Debian 12へアップグレードしたら動かなくなった

Radxaの公式イメージ配布サイト(Images Download - Radxa Docs)で配布されているROCK 3C向けDebian系イメージは2種類あります。

  • Debian 11(Bullseye)+ Xfce4
  • Debian 12(Bookworm)+ KDE

現在のDebian 11 + Xfce4からDebian 12 + KDEにするには、デスクトップ環境入れ替えなきゃいけなくて面倒なので、とりあえずDebian 11 -> 12アップデート = Debian 12 + Xfce4環境にします。これくらいなら動くでしょ?と思ったら全然動きません。マジかよ、なんでだよ。正確に言うとゲームシステム自体は起動しますが、デスクトップ環境と描画周りがかなり怪しい動きです。目立っておかしいところは下記の3つです。

  • 自動ログインが失敗してログイン画面に戻る
  • デスクトップが暗転して画面が消える
  • ゲームシステムの描画が変な色になる

一番困る奴から見ていこうと思います。

自動ログインの失敗

お店で稼働しているROCK 3Cはキーボード未接続なので、自動ログインに失敗するとめちゃ困ります。しかしなぜこうなるのか全然わかりません。うまくいかないときの/var/log/Xorg.0.log.oldを見ると、

ログイン画面に戻された時のXorg.0.log.old
[ 10380.104] (II) modeset(0): Output HDMI-1 connected
[ 10380.104] (II) modeset(0): Using exact sizes for initial modes
[ 10380.104] (II) modeset(0): Output HDMI-1 using initial mode 1920x1080 +0+0    ★1920x1080で起動した
[ 10380.104] (==) modeset(0): Using gamma correction (1.0, 1.0, 1.0)
[ 10380.104] (==) modeset(0): DPI set to (96, 96)
(...略...)
[ 10387.451] (--) modeset(0): HDMI max TMDS frequency 225000KHz
[ 10387.499] (II) modeset(0): Allocate new frame buffer 1024x768 stride    ★1024x768に切り替えようとして、クラッシュ
[ 10387.527] (EE)
[ 10387.527] (EE) Backtrace:
[ 10387.529] (EE) 0: /usr/lib/xorg/Xorg (OsLookupColor+0x188) [0xaaaab37b08d8]
[ 10387.530] (EE) unw_get_proc_info failed: no unwind info found [-10]
[ 10387.530] (EE)
[ 10387.530] (EE) Segmentation fault at address 0x6af1a5a5ffbea626
[ 10387.530] (EE)
Fatal server error:
[ 10387.530] (EE) Caught signal 11 (Segmentation fault). Server aborting
[ 10387.530] (EE)
[ 10387.530] (EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
[ 10387.531] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 10387.531] (EE)
[ 10387.706] (EE) Server terminated with error (1). Closing log file.

ちなみに自動ログイン時にクラッシュ、X.orgが再起動しているため、Xorg.0.logではなくXorg.0.log.oldを見る必要があります。ややこしいな。ログには特に情報がなく、わかるのは解像度を切り替えようとしたときにクラッシュしたことくらいです。X.orgかXfce4かGPUドライバ(GPU HWはMali-G52)ですかね……。

あら?解像度切り替えで死んでしまうなら、解像度を切り替えなければ良いじゃないこと?(by Claude先生)だそうで。暫定対策としてX.orgの設定を変更して、解像度を最初から1024x768にします。ROCK 3Cの環境はちょうど良いことに、/etc/X11/xorg.conf.d/20-modesetting.confが置いてあるので、こいつを書き換えましょう。

X.orgの設定追加で1024x768で起動する
### Valid values for rotation are "normal", "left", "right"
Section "Monitor"
    Identifier  "Default Monitor"
    Option          "Rotate" "normal"
    Option          "PreferredMode" "1024x768"    ★この行を追加する★
EndSection

変更後は解像度変更が発生しなくなり、自動ログインに失敗しなくなりました。とりあえずこれで良いでしょう。

デスクトップが暗転して画面が消える

しばらく放置すると画面が消えるので、運用上かなり困ります。調べてみると画面が消えるわけではなく、スクリーンセーバーを無効にしているのにスクリーンセーバーが1分で起動しているようです。


スクリーンセーバーの設定

設定は上記の画面の通りで、関係する設定項目を書き起こすとこんな感じです。

  • 上: Enable Screensaver = False
  • 下: Activate screensaver when computer idle = True

普通は上位のEnable Screensaver = Falseだから、従属のActivateなんちゃらはTrue/False関係なくスクリーンセーバーが起動しないと思いますよね。普通はそうですが、Xfce4は両方きっちりFalseにしないとスクリーンセーバーが起動します。

Xfce4の謎

挙動が謎すぎてClaude先生にこれバグなの?コード診てくんね?って愚痴ってたら「Xfce4のバグで4.18.3で直ってます、Debian 12は4.16.0なのでバグがまだ直ってないです」とのこと。ええー?こんな超基本的な設定がバグってる……?

興味がわいたので、次回はXfce4を調べてみようかと思います。

編集者:すずき(2026/10/11 01:28)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2026年9月27日

ジャガーさんのエンジンオイル交換2

目次: 車

前回交換からちょうど半年&5000km走行が同時に訪れたのでエンジンオイル交換に行ってきました。走行距離は71,000kmくらい。オイルにこだわりはないので今回もメーカー指定(Castrol EDGE 0W-20)、量も同じ(7L)です。フィルターは前回変えたので今回はオイル交換のみ、お値段は15,000円くらいでした。オートバックスでこの値段だもの、ディーラーはいくらでやってるんだろうなあ。

前回の交換ではメーターのオイルゲージ表示機能が荒ぶって全くオイルレベルが表示されずに困りましたが、寒くなってきたから?か今回はあっさりオイルレベルが表示されました。XEってもしかして日本の暑さに向いていないのかな、エアコンも効かないし……。

オートバックスでオイル交換すると次回交換時期を書いたカードをくれますが、車から降りるときに座席とセンターコンソールの隙間に落として取れなくなりました。ライトで座席とセンターコンソールの隙間を照らしてみたら、

  • 謎テープの破片
  • ペットボトルのキャップ
  • (私が落とした)カード

などが落ちていて取り除きたい気持ちが襲ってきたものの、手が全く入らず取りようがありませんでした。狭すぎる、何だこの隙間は。

編集者:すずき(2026/09/28 23:02)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2026年9月23日

Arduino CLIでM5Stamp C3に書き込む - ROCK 5Bでのコンパイル失敗

目次: Arduino

前回(2026年9月20日の日記参照)Arduino CLIをセットアップしました。今回はROCK 5Bでコンパイルしましたが、タイトルでネタバレしている通りうまくいきませんでした。無念です。

コンパイルのテストのため何もしないスケッチhello.inoを用意します。Arduinoはディレクトリ名と一致するソースコード名が必要で、例えばhelloディレクトリならhello/hello.inoが存在しないとエラーになります。スケッチには最低でもloop()関数とsetup()関数が必要ですから、とりあえず空の関数を書いておきます。

hello/hello.ino

void loop(void) {
}

void setup(void) {
}

Arduino CLIのcompileコマンドはボードのFQBN(Fully Qualified Board Name)を指定する必要があります。board listallで検索すると、M5Stamp C3用のFQBNは"m5stack:esp32:m5stack_stamp_c3"だそうです。

M5Stamp C3用のFQBN

$ ./bin/arduino-cli board listall | grep C3

M5StampC3      m5stack:esp32:m5stack_stamp_c3

これで必要な情報が揃いました。

コンパイル

さっき調べたFQBNとhello.inoを指定してcompileコマンドを実行すると……segmentation faultでクラッシュしました。えー、そんな。

ROCK 5Bでコンパイル、ダメそう
$ ./bin/arduino-cli compile -b m5stack:esp32:m5stack_stamp_c3 hello

Used platform Version Path
m5stack:esp32 3.3.9   /home/katsuhiro/.arduino15/packages/m5stack/hardware/esp32/3.3.9
Error during build: signal: segmentation fault

PCにインストールしたArduino CLIだとコンパイル成功するので、スケッチは無罪です。コンパイラ自体に何か問題が起きていそうです。

PC Linuxでコンパイル
$ ./bin/arduino-cli compile -b m5stack:esp32:m5stack_stamp_c3 hello

最大1310720バイトのフラッシュメモリのうち、スケッチが272094バイト(20%)を使っています。
最大327680バイトのRAMのうち、グローバル変数が13340バイト(4%)を使っていて、ローカル変数で314340バイト使うことができます。

ROCK 5Bはコンパイルが遅いかもなあ?くらいは想定していましたが、まさかコンパイラがクラッシュするとは思いませんでした。どうしようこれ。

編集者:すずき(2026/10/09 03:04)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2026年9月20日

Arduino CLIでM5Stamp C3に書き込む - Arduino CLIセットアップ

目次: Arduino

今まで家にあるM5Stack系ボード(M5Stack Core2やM5Stamp C3)にバイナリを書き込む際、WindowsからArduino IDEを使ってスケッチをコンパイルして書き込んでいました。しかしいつのタイミングかよくわかりませんが、コンパイルが死ぬほど遅くなってやってられなくなったためArduino CLIを試すことにしました。

環境はROCK 5BのDebian 13 Trixieにインストールしてみます。やる前から若干無謀な気がしていますが……これもコンパイルが遅すぎてやってられないようならバイナリだけLinux PCでコンパイルし、書き込みだけROCK 5Bで行う方法を探そうと思います。

セットアップ

初めにarduino-cliをインストール(Installation | Arduino Documentation)します。ディレクトリ名は適当で良く、カレントディレクトリのbinにインストールされます。

Arduino CLIインストール
$ mkdir arduino
$ cd arduino

$ curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh

Installing in /home/katsuhiro/share/projects/arduino/bin
ARCH=ARM64
OS=Linux
Using curl as download tool
Downloading https://downloads.arduino.cc/arduino-cli/arduino-cli_1.5.1_Linux_ARM64.tar.gz
install.sh: arduino-cli not found. You might want to add "/home/katsuhiro/share/projects/arduino/bin" to your $PATH
arduino-cli  Version: 1.5.1 Commit: 01f3d4f2b Date: 2026-06-05T10:22:11Z installed successfully in /home/katsuhiro/share/projects/arduino/bin

次にM5Stackのボードコンフィグを追加します。configの追加の仕方は色々あるみたいです(Configuration | Arduino Documentation)が、YAMLに設定を書き込むconfig init, config addが簡単そうです。デフォルトのコンフィグを変えてしまってよければ、config initを飛ばして最初からconfig addすれば良いようです。

現在の設定を確認するにはYAMLを直接見てもいいし、config dumpコマンドでも表示することができます。コンフィグYAMLファイルは~/.arduino15/arduino-cli.yamlにあり、M5Stackの設定ファイルはpackage_m5stack_index.jsonという名前ですね。

Arduino CLIにM5Stack用ボードコンフィグを追加
$ ./bin/arduino-cli config add board_manager.additional_urls https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json


$ ls ~/.arduino15/

arduino-cli.yaml  library_index.json      package_index.json      package_m5stack_index.json  staging
inventory.yaml    library_index.json.sig  package_index.json.sig  packages                    tmp


$ cat ~/.arduino15/arduino-cli.yaml

board_manager:
    additional_urls:
        - https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json

次はインデックス更新(Getting Started | Arduino Documentation)です。core update-indexコマンドを実行するだけです。インデックスがダウンロードされてズラズラ〜とパッケージの一覧が表示されます。

Arduino CLIインデックス更新
$ ./bin/arduino-cli core update-index

Downloading index: library_index.tar.bz2 downloaded
Downloading index: package_index.tar.bz2 downloaded
Downloading index: package_m5stack_index.json downloaded
Downloading missing tool builtin:mdns-discovery@1.1.0...
builtin:mdns-discovery@1.1.0 downloaded
Installing builtin:mdns-discovery@1.1.0...  
Skipping tool configuration....
...(略)...
builtin:dfu-discovery@0.1.2 installed
Downloading index: package_index.tar.bz2 downloaded
Downloading index: package_m5stack_index.json downloaded

次はM5Stack用のコア(という名前なのか?)をインストールします。今回用事があるのはM5Stack用のコアなので、m5stack:esp32をインストールします。もしその他のボードも持っているのであれば、core searchで探しましょう。core upgradeで古いコアをアップデートできます。

Arduinoは「ボードのブランド:マイコンのブランド or RTOS名」がコアの命名規則だと思われますが、あまり統一感がないですね。core searchの引数を指定しなければ全コアが表示されますので、名前を眺めてみると面白いかも。

M5Stack用のコアをインストール
$ ./bin/arduino-cli core search m5

ID            Version Name
m5stack:esp32 3.3.9   M5Stack


$ ./bin/arduino-cli core install m5stack:esp32

Downloading packages...
m5stack:esp-x32@2601 downloaded
m5stack:xtensa-esp-elf-gdb@16.3_20250913 downloaded
...(略)...
Installing arduino:dfu-util@0.11.0-arduino5...
arduino:dfu-util@0.11.0-arduino5 installed
Installing platform m5stack:esp32@3.3.9...
Platform m5stack:esp32@3.3.9 installed


$ ./bin/arduino-cli core upgrade

All the cores are already at the latest version


$ ./bin/arduino-cli board listall | grep C3

M5StampC3      m5stack:esp32:m5stack_stamp_c3

最後にboard listallコマンド(変な名前……)でM5Stamp C3がリストにあるか確かめます。左がボード名、右がFQBN(Fully Qualified Board Name)でcompileコマンドの-bオプションに指定する文字列です。ちなみにboard listコマンドは接続中のボードを表示する全く別のコマンドなので混同しないようにしましょう。M5Stamp C3が一覧に出ていれば、C3向けにコンパイルできるはずです。

次はコンパイルに挑みます。

編集者:すずき(2026/10/09 03:07)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2026年10月2日 >>> 2026年9月19日
link もっと後

管理用メニュー

link 記事を新規作成

<2026>
<<<10>>>
日月火水木金土
----123
45678910
11121314151617
18192021222324
25262728293031

最近のコメント5件

  • link 26年7月26日
    すずきさん (08/06 12:27)
    「ダイバート便以外もバスなんですよねえ。私...」
  • link 26年7月26日
    hdkさん (08/06 08:41)
    「あの規模の空港だとダイバート便にまでボー...」
  • link 26年7月14日
    すずきさん (07/31 11:48)
    「補充して乗れるのはまあそうなんですけど、...」
  • link 26年7月14日
    hdkさん (07/22 08:37)
    「冷却水漏れなんて、修理するまでは補充して...」
  • link 26年1月23日
    すずきさん (01/29 09:48)
    「おおー、そんな昔からなんですね。歴史感じ...」

最近の記事20件

  • link 23年6月2日
    すずき (10/11 02:50)
    「[Arduino - まとめリンク] 目次: ArduinoM5Stackとesp32とArduinoM5Stamp C3のA...」
  • link 26年10月4日
    すずき (10/11 02:50)
    「[Xfce4の設定をCUIから読み書きする方法] 目次: ArduinoもはやArduino全然関係ないですが、Arduino...」
  • link 26年10月2日
    すずき (10/11 01:28)
    「[ROCK 3C + Debian 12 + Xfce4にアップデート] 目次: Arduino以前作ってTarget-1で稼...」
  • link 26年9月20日
    すずき (10/09 03:07)
    「[Arduino CLIでM5Stamp C3に書き込む - Arduino CLIセットアップ] 目次: Arduino今ま...」
  • link 26年9月23日
    すずき (10/09 03:04)
    「[Arduino CLIでM5Stamp C3に書き込む - ROCK 5Bでのコンパイル失敗] 目次: Arduino前回(...」
  • link 23年5月15日
    すずき (09/28 23:03)
    「[車 - まとめリンク] 目次: 車三菱 FTO GPX '95の話。群馬県へのドライブ1群馬県へのドライブ2将来車を買い替え...」
  • link 26年9月27日
    すずき (09/28 23:02)
    「[ジャガーさんのエンジンオイル交換2] 目次: 車前回交換からちょうど半年&5000km走行が同時に訪れたのでエンジンオイル交...」
  • link 26年9月6日
    すずき (09/28 02:10)
    「[ZephyrのOut-of-treeアプリケーションその7 - STM32のシリアル出力は簡単] 目次: Zephyr前回(...」
  • link 20年2月22日
    すずき (09/28 02:08)
    「[Zephyr - まとめリンク] 目次: Zephyr導入、ブート周りHello! Zephyr OS!!Hello! Ze...」
  • link 26年6月18日
    すずき (09/28 02:07)
    「[ZephyrのOut-of-treeアプリケーションその6 - シリアル出力] 目次: Zephyr前回はシリアルに文字を出...」
  • link 23年6月1日
    すずき (09/03 00:20)
    「[自宅サーバー - まとめリンク] 目次: 自宅サーバーこの日記システム、Wikiの話。カウンターをPerlからPHPに移植日...」
  • link 26年8月24日
    すずき (09/03 00:20)
    「[ADS-Bを送る時刻に注意] 目次: 自宅サーバー以前、Flightradar24のcontributorになる方法(202...」
  • link 21年12月28日
    すずき (09/02 23:13)
    「[ゲーム - まとめリンク] 目次: ゲームNintendo DSを買ったパネルでポンDS最近の朝はパネポンDS聖剣伝説DSチ...」
  • link 26年4月11日
    すずき (09/02 23:12)
    「[デヴィエーション・ゲームでAIと勝負] 目次: ゲームお台場の日本科学未来館に行ってきました。どの展示も面白いんですけど、一...」
  • link 26年6月3日
    すずき (09/02 23:07)
    「[台風6号と大雨] 台風6号の影響でめちゃくちゃ雨が降っていました。Yahooの河川情報を見ると、氾濫寸前の川がチラホラしてお...」
  • link 26年9月1日
    すずき (09/02 01:42)
    「[誕生日のパラドックス] Twitter…じゃなくてXで「QuizKnockの誕生日のパラドックスの計算式が間違...」
  • link 26年8月8日
    すずき (08/10 03:22)
    「[NTPの時刻同期状況] 目次: 自宅サーバーNTPの動作状況を見るときに使うコマンドのメモです。よく使うのはntpq -pで...」
  • link 26年7月30日
    すずき (08/06 01:27)
    「[ジャガーさんのオイル漏れ] 目次: 車会社の同僚の方(整備士)から、ジャガーの下見たらオイル漏れしてたと教えてもらいました。...」
  • link 26年7月27日
    すずき (08/06 00:49)
    「[ジャガーさんの冷却水漏れ修理が終わった] 目次: 車正確には昨日ですけど、成田からの帰りに修理をお願いした整備工場(カスタム...」
  • link 26年7月26日
    すずき (08/06 00:05)
    「[北海道から東京へ] GWからだいぶずれちゃいましたが北海道に帰省していました。涼しくて最高だった北海道を出て、灼熱の東京へ戻...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 2025年
open/close 2026年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www2.katsuster.net
RDFファイル RSS 1.0

最終更新: 10/11 02:50