気の向くままに辿るIT/ICT/IoT
ハードウェア

Raspberry Pi OSで壊れたPIXELとWineの復旧

ホーム前へ次へ
Raspberry Piって?

Raspberry Pi OSで壊れたPIXELとWineの復旧

Raspberry Pi OSで壊れたPIXELとWineの復旧

2022/09/12

 Raspberry Pi 400でWindowsアプリ起動できたのですが、実は、その環境で検証を行っている中、ラズパイ400の環境が壊れ、デスクトップPIXELばかりでなく、なぜか、Wineもおかしくなり、USBメモリにイチから焼いてやったら問題ない、いろいろ入れてあるため、できれば焼き直したくはないラズパイ400のSSD環境を元に戻すべく奮闘した話。

 当初、ラズパイ400で環境を整えてBox86/Box64上のWine 7.0で1つ2つアプリをインストールしたりもして起動確認後、もうちょっと環境整えられるかな...と後の惨劇!?を知る由もなく安直安易に貪欲に作業を開始...。

 とwinetricksでフォントやdllやaptでarmhfやarm64のパッケージをインストールしたりしている内にRaspberry Pi OSのパッケージの依存関係が壊れてしまい、sudo dpkg -P --force-remove-reinstreqでなんとか復旧できたものの、Raspberry Pi Imagerで入れた当初のデスクトップPIXEL?が構成できなくなったようで勝手に普通のLXDEがちょっと劣化した感じになってしまいました。

2022/09/24

 Rpi3 + Navio2 - Cannot perform Image processing Tests without desktop utilityの通り、raspberrypi-ui-modsをインストール、ログアウトし、LXDE-Piを選択、再ログインしたら直りました。

 dpkg -l raspberrypi-ui-modsしたら、あることになってたんですけどね。

 それが壊れてるってことか。

 ちょっと時間が空いて、そう言えば、と思ってログイン画面でデスクトップ環境の選択肢を眺めたら、LXDE-Piがあって選択して起動してみようと思ったら/usr/bin/startlxde-pi not foundみたいな見つからないエラーで[okay]して表示されたのが、先日の壊れたっぽいLXDE。

 レアケースなのか、ワードを間違えたのか、検索してもヒットするのは10件程度、関係ありそうなのは、先のリンク先1件のみ、とは言え、そのリンク先にはRaspberry piフォーラムのリンクhow to install PIXEL desktop over Raspbian Jessie LITEもあったので探し方が悪かったようですが、何れにせよ、ドンピシャでした。

 尤も今となっては、Cinammon使いますが、解決してスッキリ。

 と思ったら、PIXELでログアウトしたら、ログインパネルしかなく、他のデスクトップ環境選べない...。

 同時にWine 7.0においてwinecfgやwine uninstallerなどとしても、wine notepadなどとしてもそれまで普通に開いていたGUI画面(ウィンドウ・パネル)類が一切表示されなくなってしまいました(Raspberry Pi OS側のGUIは起動できますがWine系が開かない)。

 えー!?ということでBox86/Box64もビルドで入れたり、Pi-Appsで入れたり、WineHQから、とりあえず、i386をとstableは7.0.0.0以外に6.0.2/5.0.2を、develから5.22/7.16を、stagingから7.7/7.13をと任意のバージョンを持ってきて/usr/local/binに反映させるも、どれもダメ。

 ということは、あれこれやっている間に必要なパッケージがなくなったとかRaspberry Pi OS(Debian)のパッケージの不足か?ということで確認の為、ImagerでUSBメモリに64ビット版を焼いてページ冒頭の環境を整え、やってみました。

 すると当初ラズパイ400でやった時と同様、Box86/64はビルドでもPi-Apps版でも、Wine 7.0でwinecfgもwine uninstallerも、もちろん必要都度、ウィンドウも表示され、アプリのインストール・起動も、あっさり、できることが判明。

 やっぱり、ラズパイ側のシステム環境か...とラズパイ400のSSDとUSBメモリに入れたRaspberry Pi OS間のインストール済みパッケージの違いを比較、不足分が結構あったのでラズパイ400のSSDにインストール。

 もちろん、1つずつ見比べたわけでも、一つ一つ端末に向かってapt installしまくったわけでもなく、apt/dpkg、comm/uniq/grep/sed/awk...等々やshellのワンライナーを駆使して。

 このインストールも順番も重要なのか、一度失敗したパッケージがあり、あれこれ悩んだ挙句、後ですんなりインストールできることが判明したりといろいろありました。

 が、それでもWine 7含め、任意に選んだ複数のバージョンのWineも変化はなく、GUIパネルが開かない...。

 足りなかったんじゃなくて余計なものが入ってたとか?

 さておき、ならばとラズパイ400にWineのフロントエンドを謳い、アプリとWineをまるごとまとめて個別環境にしてくれるというPlayOnLinuxを入れてみることに。

 これもBox86があるからこそなせることですね。

 自分で入れたもの、アプリインストールで入ったもの含め、~/.PlayOnLinux/wine/linux-x86/には、2.22、3.0.3、3.0.4、5.0.2、6.0.1、7.11などwineバージョンが複数あり、7.11から遡って試してみました。

 すると7.11と6.0.1はPlayOnLinuxを入れる前と変わらないものの、5.0.2だとwinecfgが開いた、インストールしたアプリ専用のwinecfgも開いた...。

 できるバージョンとできないバージョンがある...wineらしいと言えばwineらしいですが、ということは、PlayOnLinuxなしでもWineHQから5.0.2をダウンロード、反映させればいけるってことだよね?

 ということでやってみるとwine 5.0.2ならwinecfgやらwine uninstallerやらアプリやらウィンドウも開いて起動させることができました!

 とりあえず一安心です。

 が、5.0.2では6.xへのアップデートを促されますし、6.xにしても、stableでさえ7.0が最新な中、最新で使えるのが、と考えると古い...。

 それと気になるのは、当初は、wine 7.0でもできたことが、なぜ、wine 5.0.2でないとできなくなってしまったのか...。

 もっと言えば、i386 stableの7.0.0.0/6.0.2/5.0.2、develの5.22/7.16、stagingの7.7/7.13において同じ症状だった中、当然、そこからもwinecfgやuninstaller、regeditなどは開かないながらも、なぜか、唯一、7.0についてはwebtricksだけ起動できたんですが、これもなぜなのか...。

 あと期せずしてシステム上のwineが入ったり、削除したりしていたわけですが、きれいにしたはずが、最後にwineコマンドとして/usr/lib/wineが効いてて「それコマンドじゃねーじゃん」といった旨!?のエラーが出て、そりゃそうだと削除しました。

 って、えっ!?なにそれ...?

 ちなみにPlayOnLinuxは初めて使いましたが、メニューに沿えばよく、簡単でアプリをバージョンを加味しつつ、wineまるごと、都度インストーラが出てくるところからしてMonoやGeckoさえも含めて個別の環境として保持してくれるので共存させても干渉も起きず良いですね。

 反面、アプリが増えれば増えるほどwine分も増してディスク使用量も増えるので注意。

 と言ってもアプリによって対応するWineバージョンが異なるケースはあってPlayOnLinuxでなくても複数のアプリを使いたい場合、「アプリ+とあるWineバージョン」をセットで管理せざるを得ないケースもあるので同じですけどね。

 また、これもPlayOnLinuxに限ったことではなく、Wineが「Windowsゲームができるように」から始まったようなので当然でしょうが、数としてはゲームが圧倒的、そもそもWindowsアプリの必要性がない自身からすると尚更、他は、古いものを含めても少ない印象が否めず。

 しかも、結構あるアプリの赤いマーカー行は、期待通りに動かないかもなテスト中案件な模様、が、テスト中でないものも、以前はできたけど、今となってはということなのか、インストールさえできないものが結構ありそう。

 試してみたところ、7ZipとMicrosoft Paintはインストールできた一方、IrfanView、NotePad++は途中でフリーズ、これは当然かAmazon Kindleは2017年版の1.17?とかで鍵が合わずダウンロードできずでした。

 PlayOnLinuxには、収録されていないアプリを追加できる機能もありますが、これは、PlayOnLinuxを使わない場合同様の検証が必要になるでしょう。

 ただ、Wineを追求したい向きには、今回そうだったように、とあるWineバージョンで異変が起きた場合や、もし、PlayOnLinux内に現状、必要なWindowsアプリがない場合でも闇雲にWine環境を手探りするよりも、成功体験でもあるはずの収録済みアプリの環境を調べて真似ればいけるかも的に、参考にできるのは、かなり良いかも。

2022/09/21

 あ、タイミング的には、もしかしてとzram-toolsを入れてzramを有効にしてから、wine 5.0.2でやってみたら、64bitは、見慣れたWineのポップアップが表示され、一歩進んだ感はありつつ、相変わらずも、32ビットのIrfanView、NotePad++はインストールやアップグレードもできるようになりました。

 よってPlayOnLinuxでもwine 5.0.2ならいけるでしょう。

 zramは、データを圧縮することで限られたRAMを効率良く使えるようにできるものでDebianでは、Busterから使えるようになったようでRaspbian当時のRaspberry Pi OSもそうでしょう。

 まぁ、でも、wine 7では、そんなことしなくてもできたわけで...、5.0.2より7.0.0.0の方が断然効率がよくなったとかでもない限り、zramの影響じゃないかな...?

ホーム前へ次へ