M4 MacBook Pro 入手

イメージ
 少し前から出る出ると言われていたM4のMacBook Proの噂を、気にしていましたが…。 発表→即発注! 10月30日に発注しましたが、発売日が11月8日で、自宅への配送が11月12日というスケジュールでした。 仕様は、 ・CPU:M4 ・メモリ:32GB ・SSD:1TB ・96W UCB-C電源アダプタ これに、ソフトウエアを追加(学生・教職員向けPro Appバンドル) ・Final Cut Pro ・Motion ・Compressor ・Logic Pro ・MainStage 少々盛ったおかげで、結構な金額になりました。 ただ、これまで使用していたM1 MacBook Proが6万円強で下取り可能ということでしたので、かなり嬉しい状況です。  4年間使用して、20万→6万なので、十分元が取れた気がしますね…。 移行アシスタント稼働 着弾したので、早速起動しました。 移行アシスタントを使えば、Thunderbolt経由なので結構速そう。 ということで、設定し開始! およそ、1時間ほどの予想時間でした。(300GB程度かな…。) 移行後の調整  今の移行アシスタントは、非常にしっかり動作してくれて、これまでの環境をすっかり持っていってくれました。  ただ、一部のWeb系のソフト(slackやsteamなど)で、再認証を行わないといけないものだけ手間がかかりました。 まぁ、全く問題ないレベルの作業です。 開発系の環境は、再設定しようと思い、homebrewを一旦すべて削除した上で、入れ直しを行いました。  バージョンはすべて新しめのものに差し替えて…。  ここまでで、約1日かかってますが、ほぼ運用開始可能な状況に。 とりあえず使った感想  速度は非常に満足なレベルです。  バッテリーの持ちが尋常じゃないです。  昨日、講義でプロジェクタ・外部ディスプレイ・内蔵ディスプレイで表示させながら、午前3時間、午後3時間フルに使用しましたが、帰るときには50%くらい残っていました。  90%以上充電されていれば、通常の使い方であれば丸2日は十分に使えそうです。 ACアダプタを念の為持っていきますが、出番はないです…。 (96Wのアダプタにする必要はなかった気がする) もう少し、色々と試して見ようかと思っています。 ちなみに、単純なBenchmarkの結果は以下の通り

M1 Macの仮想マシンでUbuntu

 M1 Mac速いけどまだ足りない…

M1 Chip搭載のMacbookProを入手して、いろいろとテストしている。

確かに速い!メモリ8GBで苦しいんじゃ?と思ったけど全然そんなことないし、Intelの16GB相当と言えるような感じ。

バッテリーの持ちも本当に良いし、ZoomやSkypeを使うときはメインマシンとなっている。

さて、今回はこれまでx86対応が遅れている箇所を検証してみた。


目的はM1 Mac上に仮想環境を構築し、その中でLinuxを動作させること。

VirtualBoxが動作しないので、他に方法はないのかと探してみると、OpenSource Base(QEMUを使用したもの)で、UTMというのが存在することがわかった。



しばらく、OSXから離れていたので、情報不足でした。
そこで、こいつを使用して構築を試みる。

intel系のコードの場合、rosset2が変換して動かすものの、初期変換に時間がかかることと、ドライバ等は正常動作しないことが多い。

仮想マシンは、M1のnativeで動作させたいので、以下の方針で進める。

  • 仮想マシンはArm64 CPUとする
  • OSは、Arm64に対応したもの
  • できれば、使い慣れているUbuntuもしくは他のLinux
色々と探してみると、すでに同じ構成でのレポートがあった。
参考にしたのは、「第672回 UTMを使ってM1 Mac上でUbuntuを動かす」だ。


UTMのインストール

これは、どのインストール方法を選択するかで、変わってくる。自分のマシンはHomebrewを導入済みなので、当然brewでインストールする。
(https://github.com/utmapp/UTM/releases/tag/v2.1.2)

$ brew update
$ arch -arm64 brew upgrade
$ arch -arm64 brew install --cask utm

何の問題もなく進む。
brewを使用していない人は、dmgを落とすか、AppleStoreで有料購入できるらしい。

仮想マシンの構築

さて、UTMを起動して、仮想マシンを作成する。
メモリは8GBしかないので、とりあえず3GB割り当てることにした。
Ubuntu程度なら、2GBでも充分動くけど、快適に動かせるように少し余分に…。

UbuntuのISOイメージはArm64のサーバ版を落とす。
(ubuntu-20.04.2-live-server-arm64.iso2)

Arm64のDesktop版は存在していないようなので、あとから日本語関係、デスクトップ関係を入れることにする。

光学ドライブの設定だけ、最初戸惑ったが、Removable Driveを選択さえすれば大丈夫。
電源を入れると、見慣れたBoot画面が続きCUIでのインストールができる。

設定項目は、GUIとそれほど変わらないし、Server版を入れたことがあれば、戸惑うところはない。
インストールが完了して、ログインできれば最初のステップは完了。

デスクトップ環境の構築

ログイン後、そのまま以下を実行。

$ sudo apt install tasksel
$ sudo tasksel install ubuntu-desktop

これで、作業完了。
先のサイトでは途中で止まったりすることがあるとのことだが、何の問題もなく完了した。

このまま再起動する。


しばらくすれば(ほんの数秒だけど…)いつもの見慣れたログイン画面が表示される。
ここまで来れば、もうしめたもの。楽勝です。


あとは、細かな設定を行えば完了。(図はすでに日本語環境導入済み)
  • タイムゾーンの設定
  • 日本語環境の導入
  • 必要なアプリケーションのインストール

問題点

  • GPUが機能しない
    • まぁ、開発に使うのであれば全く問題ない速度で描画できている。
    • ゴリゴリにゲームを行いたい人には、厳しいかも…。
  • ネットワークがNATしかない
    • bridgeが使用できれば楽なんだけど、仕方ない。
    • サーバとして使用するならポートフォワードを設定してやることで、一応利用できる。
    • クライアントとして使うだけならNATで問題なし。
  • 一部のキーが効かない
    • これは、本当に困った(後述)

と、いくつか問題点はあるが、大きく問題になるのは最後のキーバインドがおかしいことだ。
それ以外は、使い方の問題でなんとかできる部分なので、注意すれば良いだけだ。

キーバインドを変更する

まず、一番の問題は、パイプ[|]が効かないこと。
コマンド操作するのに、これがなければ意味がない。
もちろん、毎度temporarily fileに落として、それを喰わせることで、なんとか回避はできる場合もあるが…。

2つ目は、[_]が効かないこと。
これは、ファイル名や変数名に多用するので、使えないのは厳しい。
とりあえず、ホスト側とゲスト側のクリップボードは共有されるので、一旦Mac側でコピーして、貼り付ければ入力できなくはないが、不便すぎる。

まずは、調査から…。

$ xev

で反応を見る。
すると、[¥]キーは、[⌘command]キーと同一の扱いになっているようだ。
[ろ]キーは完全に無視されている。

一応、キー設定の問題かもと思い、対応しそうなキーボードを全て試したがダメだった。

$ sudo dpkg-reconfigure keyboard-configuration

続いて、X環境で切り替えられないかと思い、キーボードのレイアウトを変更してみる。
もう、手当たり次第設定し確認し、試してみたが…。
$ setxkbmap -print -verbose 10
$ setxkbmap -layout jp
$ setxkbmap -print -verbose 10
$ setxkbmap -model macbook78
$ setxkbmap -print -verbose 10
$ setxkbmap -model macbook79
$ setxkbmap -model apple_laptop
$ setxkbmap -model apple
$ setxkbmap -print -verbose 10
$ setxkbmap -model macbook79
$ setxkbmap -print -verbose 10
$ setxkbmap -layout jp
$ setxkbmap -print -verbose 10

まったくだめだ…。

で、あちこち探してみるが、もっとも関係ありそうなのがQemuのバージョンによる不具合らしい。UTMが使用しているQemuのバージョンが上がれば自然に解消しそうだ。
とはいえ、キーが使えないのは不便なので、どこかに割り当てることにする。

キーバインドの変更

xevで調べているときに、shift+[0]に「~」が割り当てられていた。
キートップ上は何も割り当てがないはずなのに…。
しかも、shift+[^]にも「~」の割り当てがあるので、ダブっている。

そこで、shift+[^]を押したときに、[|]を出力するように変更する。
もう一つの、[_]は、空いているキーがないので、shift+spaceに割り当てることにした。

$ xmodmap -pke > .XmodmapNow

と、現在の設定を一旦ファイルに吐き出す。
これを、参考にエディタで編集して読み込ませれば、完了。

$ nano .Xmodmap
と親近ファイルを作成し、先のファイルを参考に関連する項目を作成する。

keycode  21 = asciicircum bar equal plus
keycode  65 = space underscore space

最終的には、上記の2項目のみで完了。

$ xmodmap .Xmodmap

と実行することで、設定が反映される。
これを、手入力するのはだるいので、key.shに書き込んで実行させることにした。

本当は起動時に実行させても良いのだけど、今後バージョンが変わることを期待して、必要に応じて実行することに…。
まあ、1度実行するだけなので、手間ではない。

これで、仮想マシンないのCUIでも気持ちよくコマンド入力ができるし、エディタでも入力ができるようになった。

使用感

ちなみに、仮想マシンの操作感は、びっくりするぐらい快適。
メインマシンのUbuntu(仮想ではなく直インストール)で使用しているマシンより、早く感じる部分もあって少々驚いている。

MacOSを入れなくても、Arm版をそのまま入れれば、驚くほど快適になりそうで、その誘惑にいつまで我慢できるか…。



コメント

このブログの人気の投稿

WPS Officeで日本語入力ができない

VirtualBoxでUSBから起動

Virtualboxとnvidiaドライバ