本当はLinuxで動かしたいのに、ペンタブのドライバがWin/Macしかなくて泣く泣くWindowsを使っている話
メイン開発環境はMac。「本番機もLinuxにすればシェルスクリプトもSSHもそのまま動いて最高なのに…!」と意気込んだものの、液晶ペンタブレットのドライバという物理的な壁に阻まれてWindowsに屈した記録。
プリダンのメイン開発者である私の作業マシンは macOS です。
ターミナルを開けば zsh が動き、curl や grep や systemd(に相当するUNIX系コマンド)、SSHが手足のように動きます。Rustのビルドも、Bunの実行も、Python環境も、Mac上では極めて快適です。
だからこそ、キオスク本番機のOS選定会議で私は熱弁を振るいました。
「本番のキオスクPC、Linux(Ubuntu)にしませんか??」 「Macで書いた起動スクリプトやsystemdのサービス設定がそのまま動くし、OSの余計なバックグラウンド処理も少なくて最高ですよ!!」
しかし、その野望はたった1つの物理ハードウェアによって無残に打ち砕かれました。
阻んだ壁:液晶ペンタブレットのドライバ問題
プリントシール機において、ユーザーが落書きをするための最重要パーツが 「液晶ペンタブレット(液タブ)」 です。
画面に直接ペンを当てて描くため、以下の機能が必須となります。
- 正確な座標キャリブレーション(位置合わせ): ペン先と画面の描画位置が1ミリでもズレると、落書き体験が著しく損なわれる。
- 筆圧検知(Pressure Sensitivity): 線の太さや入り抜きのニュアンスを拾う。
- パームリジェクション: 手のひらを画面に乗せても誤作動しない機能。
そして、安価で入手性の良い市販のペンタブレットメーカーの公式サイトを開いてダウンロードページを見たとき、私たちは絶望しました。
対応OS:
- Windows 11 / 10 (64bit)
- macOS 12 以降
(※ Linux は非対応、または有志作成の限定的なオープンソースドライバのみ)
Linuxで動かそうと足掻いた痕跡
もちろん、簡単には諦めませんでした。
Linux向けのオープンソースデジタイザドライバ(OpenTabletDriver や digimend-kernel-drivers)を導入し、Ubuntu上でペンタブを認識させようと夜通し格闘しました。
- カーネルモジュールをビルドしてロード → 認識はした!
- ペンを動かしてみる → 動いた!!
- しかし…… 2画面(タブレット+別体モニター)を接続した瞬間、ペンの座標系が2画面分に引き伸ばされて狂う!
- 画面回転(縦向き配置)にすると、X軸とY軸が反転してキャリブレーションツールがセグフォで落ちる!
「イベント本番で現場設営するときに、ディスプレイの接続順が変わっただけでペン座標が狂うリスク」を抱えるのは、あまりにも危険すぎました。
屈辱のWindows運用、そして気づいた現実
結果として、私たちは涙を呑んでWindows 11を採用しました。
メーカー公式のWindows用ドライバを入れた瞬間、専用ユーティリティソフトが立ち上がり、GUIでポチポチするだけで数秒で完璧なキャリブレーションと筆圧設定が完了しました。
「悔しい……! でもWindows、めちゃくちゃ安定してペンが動く……!!」
Windows運用のための泥臭い工夫
Mac使いの私がWindows機を運用するために、以下のような環境を整備して妥協点を見出しています。
- PowerShellスクリプトの整備: Macのシェルスクリプトと同等の起動・監視処理を
start.batやkiosk.ps1で実装。 - Tailscaleによるリモート保守: 会場のWindows機にMacから直接SSHで入ってログを見たり再起動できるように設定。
- Windows Updateの無力化: 本番イベント中に「更新プログラムを構成しています」で再起動しないよう、グループポリシーで徹底的に締め上げ。
まとめ:ハードウェア開発はドライバを作ったやつが一番強い
「思想としてはLinuxがベスト」であっても、「現場で動かすハードウェアのドライバが揃っているOSが真の勝者」であるという、ハードウェアDIYの冷酷な現実を学びました。
いつか完璧なLinux対応ペンタブを見つけるか、自作ドライバを書くその日まで、Windows機と仲良くやっていこうと思います。