マロングラッセ Mk.II

赤西真論のブログらしきもの

CHUWI MinibookにUbuntu 22.04を入れた

2022/07/21追記:光学式ポインタによるスクロールについて追記しました。

どうも、前回の記事から期間が空いてしまいました。

今回は以前記事にしたMinibookにUbuntu 22.04を入れたので、その備忘録として記事を書きます。

このPCはエロゲをプレイするために購入したのですが、その直後にGPD MicroPCを買ったため、ほぼ使わなくなりました。

marron-glaces.hatenablog.com

marron-glaces.hatenablog.com

原因は寝ながらプレイするには分厚くて重かったからです。あと、別にフルHD作品でもHD解像度でプレイしてよくね?ってなったのもあります。

ただ、寝かせておくにはもったいないので、Windows 10とUbuntu 22.04のデュアルブートにしてしまおうというのが今回のきっかけとなります。

Windowsの移動

さて、インストールしていくわけですが、今回はeMMC側にUbuntuを入れて、M.2スロットに増設したSSDWindowsを入れることにしました。

理由は容量の兼ね合いです。eMMCは128GBですが、M.2には240GBのSSDを入れているのでWindowsに容量を多く割り当てるために行いました。

M.2に増設したSSDTranscendの外付けSSDから取り出したものとなります。ちなみに取り出した後のガワには別途購入した120GBのSSDを取り付けて、外付けSSDとして利用できるようにしてあります。

eMMCからSSDへの移動はTranscendが提供しているSSD Scopeを利用しました。

jp.transcend-info.com

あんまり使い勝手はよくないですが、OSの移動だけであれば特に問題ありません。

左側のメニューにあるシステムクローンを使えば、簡単に移動出来ます。ただし、移動先の容量が移動元よりも小さいと移動出来ません。ですので、120GBのSSDだと多分移動出来ないです。

あと、移動する際に警告として「FAT16FAT32NTFSexFAT以外のパーティションは移動できません」的なメッセージが表示されます。OSとEFI領域をコピーする分には問題ないのですが、回復パーティションが移動できません。

ですので、先にWindows標準機能の「回復ドライブの作成」を行っておくことを推奨します。この作業をする際は別途16GB以上のUSBメモリが必要になります。僕は16GBのUSBメモリに作成しました。こういう特殊なマシンはドライバの提供が不十分だったりするので購入直後に作成しておくと良いです。ちなみに作成する際は「システムファイルを回復ドライブにバックアップします。」にチェックを入れることをお忘れなく。

2242サイズのSSDって有名メーカーだとTranscendぐらいしか作ってないので、他のメーカーが提供してるツールは使えないです。ただ、WDが提供してるAcronis True Image WD Editionであれば、WD製のドライブを繋いでおけば使えるはずなので、外付けHDDとして接続するなどすれば使えるかもしれません。

www.westerndigital.com

移動できたかの確認のためにeMMCを切り離して確認したい方もいるかと思われます。その場合はBIOS画面から切り離すことが出来ます。

このPCの場合は起動時にEscキーを連打するとBIOS画面に入れます。BIOS画面上の「Chipset」→「South Cluster Configuration」→「SCC Configuration」→「SCC eMMC Support」を「Disabled」にすれば切り離せます。

HDMIキャプチャを利用してスクショを撮ったら比率がおかしくなりました...)

切り離した状態でも起動できれば成功です。

Ubuntuのインストール

Windowsの移動が完了したら次にUbuntuのインストールドライブを作成して、そのドライブから起動します。このあたりは通常のUbuntuのインストールと全く同じです。

起動後の動作が若干遅いですが、普通にインストールが可能です。画面の向きも正しく横向きになります。Wifiの接続も問題なく行えますし、タッチパネルも動作します。

インストールが完了したら、再起動します。

初回起動

eMMCに普通にインストールするとGrubのブートメニューが表示されるようになります。この画面は縦向きとなってしまいます。ブートメニューの一番下の項目からWindowsが起動できます。

ただ、初回起動時のみ起動オプションを入れないと画面が表示されませんでした。有名な「nomodeset」オプションです。

Ubuntuの起動項目を選択した状態で「e」キーを押下し、編集モードに入ります。その後、「quiet splash」と記載されている後ろに「nomodeset」と追記し、「Ctrl+x」で起動します。

起動後の設定

起動したらログインします。初期状態でもかなり使えるはずです。ちなみに初期状態ではWayland環境となっていますが、ログイン画面の右下からXorg環境に切り替えることも可能です。

Minibookの場合は両者で挙動が異なります。基本的にWayland環境で問題ないのですが、画面回転が出来ません。Xorg環境では可能です。ただ、Xorg環境では画面解像度の変更が怪しいです。Wayland環境でも解像度を変更すると表示が崩れやすくなりますが。

また、この後にアンダーバーを入力できるようにしますが、Xorg環境であればxmodmapを利用して変更できます。ですが、Wayland環境ではxmodmapが利用できないため、udevのhwdbを利用したカスタマイズが必要となり、少々面倒です。

あと、僕はWineでエロゲを動かしたがる変態なのですが、Xorg環境だとウィンドウの解像度がバグります。かなり小さく表示されて操作に支障が出るレベルなので、Wayland環境で動かしたほうがよいです。

アンダーバーが入力できるようにする

このMinibookには2つ致命的な問題があります。「スクロールするためのデバイスがない」と「アンダーバーが入力できない」です。

スクロールが出来ないのはタッチパネルでどうにかなりますし、キーボードでも操作ができます。ただ、アンダーバーが入力出来ないのは厳しすぎます。特にコマンド入力のときに困ります。(スクロールの対策に関しては、最後に追記しています 。)

ということで、入力できるようにします。Windowsの時はAutoHotKeyで対応しましたが、Ubuntuにはありません。

xmodmapを利用する方法があるのですが、こちらは先程書いた通りWayland環境で動作しません。ですので、今回はudevのhwdbをカスタマイズする方向で進めます。

参考にしたサイトがこちらになります。こちらのサイトの「udev での設定」が参考になります。

iranoan.my.coocan.jp

基本的に記載されている通りの流れで行っていきます。

1. ハードウェアを調べる

まずはキーボードのIDを調べます。参考サイトのコマンドを入力して「AT Translated Set 2 keyboard」を探します。

今回はBus=0011 Vendor=0001 Product=0001 Version=ab83となっていました。ただ、これを指定しても動かなかったので、今回は汎用的な方法で行います。(なら、この操作いらないね)

2. 対象のキーを探す

次に「evtest」を利用して、対象となるキーのIDを調べます。インストールされていないと思うので、まずはaptでインストールを行います。

その後、sudo evtestを実行してキーを調べます。今回は「Prt Sc」と「Fn+Prt Sc」のキーを調べました。Fnの有無で値が変わります。

結果としてはFn無しの時がb7、Fn有りの時が73となりました。

3. キーを割り当てる

対象となるキーが見つかったので、次は設定ファイルを記載します。今回は/etc/udev/hwdb.d/90-under-score.hwdbというパスでファイルを作成しました。

内容は以下のようにしました。

evdev:atkbd:dmi:bvn*:bvr*:bd*:svn*:pn*:pvr*
 KEYBOARD_KEY_b7=ro
 KEYBOARD_KEY_73=pause

このファイルを作成するときはまだアンダーバーが入力出来ないと思うので、外付けキーボードを接続するかどこからかコピペするなどして対応します。

ちなみにキーの一覧はここで確認できるのですが、underbarやunderscoreは存在しません。

かなり悩んだのですが、外付けキーボードで入力した内容をevtestで確認すると「KEY_RO」になっていました。「RO」ってなんやねんってなりますよね。キーを見てみると「ろ」と記載されてますね?そうです、「ろ」です。

Fn有りのキーをPauseにしていますが、これはPrt Scにアンダーバーの設定を行ってしまうとPrt Scとして動作しなくなるので、スクショのショートカットキーを割り当てられるように適当に設定しただけです。好きなキーにしていただいてもいいですし、設定しなければ「\」として動作します。

4. 設定の反映と確認

設定を記載出来たら、保存します。その後、参考サイトに記載されているコマンドを入力して、設定の反映と確認をして完了です。

ちなみにスクショを行いたい場合は設定の「キーボード」からショートカットを変更できます。

Firefoxで動画支援が効くようにする

Firefoxでようつべなどの動画を再生したときにGPUの動画支援機能が使えるように設定します。

設定はこちらのサイトに記載の内容です。

websetnet.net

intel_gpu_topGPUの状態を確認すると動画支援が効いていることが確認できます。

Wineのインストール

WineHQに載っている通りの作業を行います。

wiki.winehq.org

いつも忘れるので、winetricksの入れ方に関するページも。これが無いと日本語フォントを入れるのが大変です。

wiki.winehq.org

初回環境構築コマンドはこれ。WINEARCHを指定しないと64bit環境が出来て、32bitアプリケーションが動作しない。

WINEARCH=win32 winecfg

最近のWineはかなり優秀なのでそのままでも動作することが多いのですが、入れておいたほうがいいライブラリを記載しておきます。ちなみに64bit環境でも32bitのライブラリ(i386版)が必要になることに注意します。

sudo apt install gstreamer1.0-libav:i386 gstreamer1.0-plugins-bad:i386 gstreamer1.0-plugins-base:i386 gstreamer1.0-plugins-good:i386 gstreamer1.0-plugins-ugly:i386 libgl1-mesa-glx:i386 libmpg123-0:i386 mesa-vulkan-drivers:i386

gstreamer系は入れておけば動画再生が出来るかもしれません。Siglus Engineでは動作しました。ただ、ウィンドウ上に動画再生を行うウィンドウが生成されるような表示になります。また、Vulkanを利用したDXVKがありますが、これを入れると動画再生がバグります。

ちなみに最近はエロゲをFANZAで購入することも多いのですが、ソフト電池はWineでは動作しません。どうも動作に必要なocxファイルが登録できないみたいです。これは常駐するような動作をするらしく、Wineのようにソフト起動と同時に環境が立ち上がるようなものでは動作しないっぽいです。まあ、回避する方法は知っているのですが...

既知の不具合

画面回転についてはXorg環境でのみ動作します。ただし、タブレットモードにしてもキーボードが無効にならないので、たぶん実用的ではないです。

指紋認証は使えません。FocalTech製のセンサーが搭載されていますが、ドライバーが存在しないので無理です。ちなみにWindowsから確認した限りではSPI接続のようです。

他のデバイスは問題なく動いているようです。WifiやBT、スピーカー等も問題ないですね。スピーカーとイヤホンの切り替えも正しく動作しますし、カメラも動作しています。画面を閉じればスリープにもなります。

ただ、Wifiは5GHz帯の掴みが少し悪い気はします。


ここまでやればかなり使えると思います。あとはスクロールですね。どこかのキーにマウスの中ボタンを割り当てれたらもう少し使えるようになりそうなのですが、余ってるキーがないですね。

今後も使っていきながら更新していくかもしれません。

--- 2022/07/21追記 ---

スクロールについてですが、右クリックボタンを押しながらスクロールさせる方法を見つけましたので、メモ程度に書いておきます。メモ程度の理由は結構操作しにくいからですw

この作業にはコンパイルを伴いますので、先に必要なものをインストールしておきます。

sudo apt install build-essential git libinput-dev

次に以下のリポジトリをクローンします。

github.com

クローンできたら、Readmeに記載されているコマンドを実行し、コンパイルを行います。

その後、Readmeに記載されているように/etc/profile.d/libinput.shを作成し、LD_PRELOADに作成したsoファイルが登録されるようにします。

再起動後、右クリックボタンを押しながらポインタを操作するとスクロール出来るようになっています。スクロール方向に関しては、設定からナチュラルスクロールに変更が可能です。

この方法を利用すると右クリックメニューの表示が右クリックボタンを離した後に表示されるようになります。また、WineはLD_PRELOADからライブラリを読み込むようでエラーが表示されるようになりますが、動作に支障はありません。

--- 追記終わり ---