思ってることってこんなもんだよ
結局Dell XPS 13 2-in-1にはArch Linuxを入れました

前のエントリ では、購入した Dell XPS 13 2-in-1 7390 に Ubuntu 18.04 を入れた話をしました。「大満足です!」と書きましたが、結論から言うと、それは嘘となりました。大変申し訳ございません。

Ubuntu 18.04はとても不安定だった

実は、その後 Ubuntu 18.04 を使っていましたが、液晶のバックライトの明暗が頻繁に変わってしまってる状態が続き、どう考えても目がやられてしまう寸前でした。そして、頻繁に訪れるフリーズ。怖くてGUIを操作できない感じでした。何度か入れ直し、i915 ドライバのオプションをいろいろ試してみたりはしましたが、最終的には改善に至りませんでした。

本当に Developer Edition で Ubuntu 18.04 が動いているのか、疑わしく感じてしまいます。。。

Arch Linuxがブートしなかった原因が判明した

Ubuntu 18.04 のインストールをする前に、Arch Linuxのインストールにチャレンジしていました。しかし、なぜかブートローダーに Arch Linux が出てこない、という状況で諦めていましたが、その原因がわかりました。

単にLinuxカーネルをインストールしていないだけでした。。。そりゃ起動するわけない。

いくつかのブログエントリで、以下のようにベースとなるパッケージのインストールコマンドが紹介されていました。

# pacstrap /mnt base base-devel

これではLinuxカーネルはインストールされません。以下のようにすることが必要です。

# pacstrap /mnt base base-devel linux

これで無事Arch Linuxのインストールが進むことになり、今は僕の XPS 13 2-in-1 7390 では、Arch Linux が動作しています。しかも、Ubuntu 18.04 の時のような不安定さは、ありません。しかも、起動がめっちゃ速い!ChromeOS なんて目じゃありません。たぶん勝ってます。もちろん、起動時に動かしてるものが GNOME3 くらいしかないからですが。

Arch Linuxを入れるために参考にした情報

自分の XPS 13 2-in-1 7390 にArch Linuxを入れた際には、以下のブログエントリを参考にしました。

メモ:Dell XPS 13 (7390)にArch Linuxをインストールしたときのメモ - Technically, technophobic.

というか、基本的に気にしなくちゃいけない点は、 前のエントリ で記載したとおりです。Arch Linuxのインストール手順としては、通常通りと考えて良いです。有線LANを準備しておいた方が良い点も、同じと考えて良いでしょう。最初に GRUB を使ったのですが、Windows のパーティションを自動的に認識してはくれませんでしたので、systemd-boot を使いました。これであれば、Windows のパーティションも自動的に認識してくれました。

GDMとGNOME3を入れた後、不安だったんですけど、何の問題もなくGUI環境が起動します。ディスプレイの明暗が変になっていることもありません。普通、です。

Linuxカーネルの再構築なんかも、前のエントリ通りやれば良いです。今は 5.3.9 に各種パッチをあてたものを使っています。パッチは以下から入手しました。

endeavour/DellXps7390-2in1-Manjaro-Linux-Fixes: Kernel patches and tweaks to get the Dell XPS 7390 2-in-1 with 10th Gen Intel CPUs functioning on Manjaro Linux

ここにある以下のパッチをあてています。

  • dellxps-fixlpss.patch
  • dellxps-icelake-screencorruptionfix.patch
  • dekkxps-suspend.patch

気になる点

Arch Linuxにしてからは、ほぼ普通に使えるようになったのですが、YouTubeで動画を見てる時や見た後に何故かフリーズするときがある、という現象があります。YouTubeさえ見なければかなり安定しているのですが、原因はよくわかりません。OS ごとフリーズしているのではなく、カーネルは生きていて、CUI 環境でログインできたりするので、i195 ドライバのどこかでまだ何か不安定なところがあって踏んでるのかなぁ、と想像してます。

あと、まだ使えていないものとしては、以下があります。

  • Bluetooth が使えていません。
  • 外部ディスプレイは1枚までしか使えていません。
  • Webカメラが使えていません。
  • 指紋認識も使えていません。

これらも使えるようになったら最強なんですけどね。。。

まとめ

XPS 13 2-in-1 7390 は、メモリを 32GB まで積むことが可能な、ハイスペックマシンです。それでいて13インチで約1.3kgという手軽さがあります。このマシンで開発作業を効率よく行うためには、ベースは軽く、そして開発に必要な環境に対して潤沢にリソースを配分できるようになっていることが理想です。OS や GUI 環境自体に余計なリソースを食われないようにするために、やはり Linux デスクトップ環境が僕にとっては最適であり、Arch Linux はそれを見事に提供してくれるディストリビューションだな、と痛感しています。

もちろん、WSL1 + Docker でも開発環境を作ったのですが、Docker でのマウントはとても遅く、ファイル変更監視のシステムコールがサポートされていないために、例えばファイル変更に伴ってホットリロードさせるような機能が軒並み動作しません。そういう事態のために大抵はポーリングによる変更監視のオプションがあるのですが、もちろんそれを使うと余計な CPU リソース消費やファイルI/Oが発生してしまい、ストレスになります。

WSL2 が来ればこういった問題はなくなると期待しているのですが・・・、それまでは Arch Linux と Windows とを行ったり来たりすることになりそうです。