壹号本 One-Netbook One Mix 2s

前回の記事の通りこの度二代目サブマシンと相成ったガジェットを紹介する

One Mix とは

GPD Pocket の二匹目の泥鰌を狙うかの如く現われた,GPD 社同様中国は深圳の深圳市壹号本科技有限公司(One-Netbook 社)の製品である。

Microsoft Surface に似たタブレット製品 Vbook や Android スマートフォンを手がける Voyo の子会社か何かのようだ。ところで Voyo のほうはモバイルサイトじゃないページが表示できなくて大変不安である(追記・Vivaldi ではなく Firefox だと表示された)。互動百科に詳しい情報がある

GPD で検索しても日本語窓口などが見つかる GPD 社こと深圳市中软赢科技术有限公司と違って,One-Netbook などと検索してもセール情報やクーポン情報を掲載する日本のガジェット系アフィリエイトブログしかひっかからない。壹号本と検索して初めて公式サイトに行き当たる。(2019 年春に正式に日本市場参入が決定し,株式会社テックワンが日本の公式代理店・窓口になったため,現在では OneMix や One-Netbook と検索すると日本版公式サイトが出るようになりました)

One Mix は GPD Pocket と比較して 360 度画面が回転するため同じ 7-inch で似たような筐体,キーボード,タッチパネルといった構成ながらも 2-in-1 マシンとして使えるのが強みであったが,CPU 性能やストレージ性能は初代 GPD Pocket より心許無かった。

しかし二代目 One Mix はストレージとして FORESEE ブランドの NVMe SSD を積んでいるほか,CPU が Core m3-7Y30+Intel UHD Graphics 615 となりかなり進化し,初代で計画されていた指紋認証まで付いている。

さらにその直後出てきた One Mix 2s は CPU が Core m3-8100Y にアップグレードされている。

GPD Pocket で WSL を使ったり論文を読んだりするのに使っていた関係上 2-in-1 で使えるのと SSD で使えるのは嬉しい。しかも Geekbuying でセールをずっとやっておりおおむね $669 で購入可能だった(場合によってはもっと安く)ことが決め手になって今月に入っておもわずポチってしまった。

One Mix 2s を実際に触ってみて

とくに注文したわけではないのだが画面保護シートは最初から附属していた。

品薄のため,DHL 配送にしてもそもそも発送がされず,発送まで二週間待たされた関係上届いた喜びのあまり気持ちが逸って写真がすごいブレてしまっている。今気がついた。

GPD Pocket(初代)は電源プラグを繋げていようがいまいが常にバッテリーを使用しており,電源周りでかなり不安があった。しかし,

この通り One Mix 2/2s はちゃんと電源を接続していれば AC 駆動となるようだ。これは期待していなかったぶん大変うれしい

反面,これはすでに多くの人が指摘しているため私が殊更書くことでもないのだが,USB-PD 以外の充電が不可能(GPD Pocket 2 はそんなことはない),USB-PD が 12V/2.5 A のバッテリーやプラグにしか対応しない(これはどうやら規格違反のようだ)といった弱点がある

また,別売で販売している専用スタイラスペンを使用するためには単 6 乾電池が必要でちょっと困ってしまった。

諸元,ベンチマーク

あんまり OS から見えるハードウェア構成がどこにも掲載されていないっぽいのでざっくりと掲載してみる。お待ちかねのストレージのベンチマークもついでに掲載

また,デバイスマネージャーの様子はざっくりこんなかんじ

画像では表示されていないためわからないが,チップセット(というか PCH,Platform Controller Hub)は Amber Lake についての前情報のとおり Whiskey Lake などに使われている USB 3.1 Gen2 対応のものではないようだった。Intel Mobile 7th Generation (R) Processor Family I/O LPC Controller (Y with iHDCP2.2 Premium) - 9D4B とデバイスマネージャーに表示されており,おそらくデータシートはこれ。 https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/7th-gen-core-family-mobile-u-y-processor-lines-i-o-datasheet-vol-1.pdf

ところで CPU-Z の結果などを見ればわかるのだが Mainboard の名前が Default string になっている。本来ここはマザーボードやラップトップの製品名などを入れる場所のはずである。Linux の dmidecode を使っても Default string や To Be Fillled By O.E.M. などの文字が乱れ飛ぶ。ひどい。

Linux の話をした序でに lspcilsusb の結果も掲載しておく。まずは lspci

00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 02)
00:02.0 VGA compatible controller: Intel Corporation Device 591c (rev 02)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 02)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 (rev 21)
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #1 (rev 21)
00:15.2 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #2 (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #7 (rev f1)
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #9 (rev f1)
00:1e.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO UART Controller #0 (rev 21)
00:1e.4 SD Host controller: Intel Corporation Device 9d2b (rev 21)
00:1e.6 SD Host controller: Intel Corporation Sunrise Point-LP Secure Digital IO Controller (rev 21)
00:1f.0 ISA bridge: Intel Corporation Device 9d4b (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
01:00.0 Non-Volatile memory controller: Device 1d97:1160 (rev b0)
02:00.0 Network controller: Intel Corporation Wireless 3165 (rev 81)

お次は lsusb

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 2808:9338  
Bus 001 Device 003: ID 8087:0a2a Intel Corp. 
Bus 001 Device 002: ID 258a:0021  
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

USB の VID 2808,PID 9338 になっているところは FocalTech の指紋リーダーだが Linux に driver がない。

また,dmesg は長すぎるので Gist に貼っておく。https://gist.github.com/orumin/d10bac04bc6203901664d2e01ba47b1e

それと Windows 上でのベンチマークの結果も掲載しておく。PCMark 8 での Home Accelerated のスコアは 3190 https://www.3dmark.com/pcm8/31564462。どうやら turbo clock でも 2.70 GHz しか出てないようだ。Core m3-8100Y は 3.40GHz まで出るはずなのでファームウェアの設定か OS の設定かあるいはその両方をすればもう少し性能が出るかもしれないが,CPU 温度が 72 度とかになっていたし普段使うのにそこまで困るスペックでもないのでこれで十分な気がする。

追記。Core m3-8100Y は 1 core だと 3.40GHz だが 2 core だと 2.70GHz までになるらしい。

情報ありがとうございました。

また,FINAL FANTASY XIV のベンチマークの結果は https://gist.github.com/orumin/911fa88cf8b36621371dd6119c60d688 のとおりである。1280×780 で高品質(ノート PC)という設定にしてスコア 2046(普通)となった。このサイズこの値段のマシンでこのスコアならまずまずではないだろうか。 ちなみに FINAL FANTASY XV のベンチマークを起動してみたら軽量設定でもかなり重かったため最後までベンチマークを走らせる気になれずに止めてしまった。流石に厳しいようだ。

Linux で使う

One Mix 2s は初期状態で Windows 10 Home がインストールしてあり,何のてらいも無く動く。そこで,GPD Pocket より倍の容量のストレージかつ SSD であることもあるし,折角なので Linux を内蔵ストレージにデュアルブートしてみる。

とはいってもこれもまた Out-of-Box でほとんどちゃんと認識して素で動いてしまうし,インストールもとくに難しいことはない。私は Arch Linux をインストールしたが,いつもどおりの手順で UEFI 向けにインストールするだけである。

ただし,起動時のカーネルコマンドラインに

fbcon=rotate:1
を追加しないとフレームバッファコンソールが逆時計回りに 90 度ほど回転してしまうことになる。だがこれを設定していると今度は外部ディスプレイに接続したときそちらの表示が時計回りに 90 度回転してしまうため,痛し痒しである。外部ディスプレイにつなげる場合はブートローダーの画面でエントリを手動で修正するしかない。

ちょっと移動中にインストールなどしてみたため fbcon の設定を調べるのが面倒で,私は回転したままインストールを進めてしまった。

せっかく 2-in-1 で使用できるため DE としてタッチに向く GNOME 3 を選択した。

しかしここで問題発生。

たとえフレームバッファコンソールが回転したままでも,GNOME でログインしてその後設定で画面回転させれば良いのだ,と思っていたのだが「This could be due to hardware limitation」の表示と共に画面の回転方向を指定できない。もちろん,Linux の driver としてはこの iGPU に対応しているため画面回転が出来ないはずがない。

そこで,どうせ後々インストールするであろうセンサによる自動回転をここで設定してしまうことにした。

現在の GNOME では iio-sensor-proxy(https://developer.gnome.org/iio-sensor-proxy/)を追加インストールしてしまえば勝手に自動回転に対応してくれるし右上の音量バーやシャットダウンを出すウィンドウを開くと画面回転のロック/ロック解除のボタンも勝手に増えるように実装されてある。実に便利なことだ。

Arch Linux の場合は pacman -Syu iio-sensor-proxy だけで済む。そして,実際に自動回転に対応した……のだが……, マシンを右方向に傾けないと,素でラップトップモードで利用しようとした場合には反時計回りに 90 度回転したままである。

傾ける→画面回転をロック→傾きを戻す,で対処は可能だが,ログイン画面である Display Manager の gdm はやっぱり回転したままなので,どうにも気持ちが悪い。

これは次のファイルを

/etc/udev/hwdb.d/61-sensor-local.hwdb
として設置し,

sensor:modalias:acpi:BOSC0200*:dmi:*:svnDefaultstring:pnDefaultstring:*
 ACCEL_MOUNT_MATRIX=0, -1 0; 1, 0, 0; 0, 0, 1

その後,

# systemd-hwdb update
# udevadm trigger
などとし hwdb を更新すれば良いようだ。ちなみに systemd-hwdb updateudevadm hwdb --update でもいい。

この設定ファイルは,

# udevadm info -n "/dev/iio:device0"
の結果と
# dmidecode
の結果を元に作成可能である。hwdb を更新した後に,
# udevadm info --export-db | grep ACCEL_MOUNT_MATRIX
などとし, /dev/iio:device0 の設定に自分が記述した ACCEL_MOUNT_MATRIX の値が反映されていれば成功である。

(参考:https://unix.stackexchange.com/questions/410826/change-iio-sensors-data-via-custom-accel-mount-matrix

ちなみにこの値は名前と中身から行列であることは察せるが,列ヴェクトル優先の形式(OpenGL などと同じ)の回転行列を示しているようだ。

ACCEL_MOUNT_MATRIX をいろいろ変更してみると傾きによる画面の向きが色々変化するのでちょっと遊んでみると楽しい。

タッチもペンも使えるし,光学式のポインティングデヴァイスもちゃんと PS/2 マウスとして見えているようで,困ることと言えば画面回転ぐらいなので,上記の設定さえしておけばとくに何も困らない。

しかしやはり指紋認証が使えないのはちょっと惜しい。wireshark か何かを使ってちょっと解析・ドライヴァの作成に励むべきかもしれない。

Windows での利用

ついでに私の最近の Windows 10 での環境構築を紹介する。

PS > Set-ExecutionPolicy RemoteSigned
PS > Get-PackageProvider Chocolatey

(追記)現在は Chocolatey ではなくChocolateyGet を使うのが良いらしい。後述するが私は ChocolateyGet が広まる前にそれを知らず scoop に主軸を移してしまった。

実は Windows 10,PackageManagement(旧称・OneGet) というパッケージマネージャー機能がデフォルトで追加されている。どうやらこれはパッケージマネージャーというより複数のパッケージマネージャーをひとつの UI で使えるメタパッケージマネージャーといった風で,たとえば .NET の開発ライブラリを管理できる NuGet なんかをこれを通して使える。ただし,これだけだとアプリケーションなどのパッケージがとくにあんまりないのでパッケージプロヴァイダを追加しておく。 5,6 年ぐらい前から出てきて今もそこそこ充実している Chocolatey という PowerShell 上で利用できるパッケージマネージャのようなものがあるので,このリポジトリとパッケージマネージメントの仕組みを利用させてもらう。

上記コマンドを管理者権限の PowerShell 上で実行しておくことで,PackageManagement の利用の準備とパッケージプロヴァイダの追加を行うというわけだ。

しかし,Chocolatey はアンインストールが上手く行かないことがある,インストールがインストーラーのデフォルトで「はい」を連打しているようなものなので柔軟性に乏しいなどの欠点があり, これは PackageManagement で利用してもそのまま引き継ぐことになる。また,Chocolatey 単体だと上手くインストールできるのに PackageManagement から利用するとなぜかコケる,といったこともあり,どうもイマイチ上手くない仕組みだが, まあ無いよりマシ,出来れば Windows Store からインストールし,どうしても Desktop app を使いたいときはこれを使い,それも上手く行かないときは諦めて手動でインストーラーを持ってくる,といった風に利用することにしている。

また,cmd.exe や PowerShell,WSL のデフォルトのターミナルエミュレーター(conhost.exe?)もどうもあんまりよくないので,別のものを利用する。私は最近 Cmder を入れて Quake スタイルで利用するのが気に入っている。 Linux でも tilda や guake,yakuake を利用していたためである(DE を Xfce4,GNOME3,KDE5 あたりを使うためそれぞれに合わせて Quake-like な hot-key ひとつで drop-down するターミナルエミュレーターを使うことにしている。

ほかに,Linux と Windows どちらでも行うセットアップとして,bitwardenAuthyKeybaseあたりをインストール・利用するのがだいたい私の“お決まりパターン”となりつつある。

(追記)

ChocolateyGet ではなく Chocolatey を Provider にしていると素の Chocolatey だと使えるのに PackageManagement だとコケるパッケージが多かったのと,管理者権限で入れるのも面倒だったので,より管理がラクで個人的にコマンド体系も覚えやすいと思っている scoop(https://scoop.sh)に移行してしまった。これはインストーラを使わずに利用できるアプリ(たとえばポータブル版の Web ブラウザとか)はユーザーのホームディレクトリに %USERPROFILE%\scoop\apps\<ソフト名> の形で展開するようになっている。基本的にはホームディレクトリに展開されるので,OS の再インストールのときにユーザー設定を残すようにしておけば環境がそのまま残せて良い。また,apt の PPA のように third-party のレポジトリも追加できるが,https://github.com/rasa/scoop-directory に複数のレポジトリを横断してパッケージを検索できるディレクトリが公開されており,とってもべんり。

おわりに

One Mix 2/2s についてざっくりとした紹介をし,諸元を示した。また,Linux を利用する際の注意点や私が Windows や Linux で最近用いる環境も紹介した。 すでに使い心地やざっくりとした構成は紹介されているようだが,こういった部分の紹介記事はまだあんまりなかったと思うので,何かの参考になれば幸いです。