Help us understand the problem. What is going on with this article?

ThinkPad X13 Gen 1 (AMD) + Ubuntu 20.04 における不具合の解決

はじめに

購入したばかりの ThinkPad X13 Gen 1 (AMD) に Ubuntu 20.04 をインストールしたところ、基本的に多くの機能が問題なく動作するものの、一部クリティカルな問題が発生した。ここではその解決法について記す。

なお、マシンの構成はざっくり以下の通り:

  • AMD Ryzen 7 PRO 4750U (1.70GHz, 8MB)
  • Windows 10 Home 64bit - 英語版
  • 32GB DDR4 3200MHz (オンボード)
  • 512GB Solid State Drive, M.2 2280, PCIe Gen3x4, OPAL2.0, TLC
  • 13.3型FHD液晶 (1920x1080) IPS、光沢なし、300nit、マルチタッチ非対応、狭額縁ベゼル、72%NTSC、720p HDカメラ(ThinkShutter付)、WWAN非対応、FreeSync
  • 720p HDカメラ(マイクロフォン付)
  • 指紋センサーあり
  • 英語キーボード(バックライト付) ブラック

問題

マシンが届いてすぐに Windows の回復ドライブを作成し、Ubuntu 20.04 をインストールした。簡単に操作してみたところ、以下の問題点を見つけた:

  • 明るさ調整が機能していない
  • Suspend できない

特に前者の問題により、常にディスプレイの明るさが最大となってしまっており、充電が 3、4 時間程度しかもたない状態になっていた。流石にこれは厳しいため、解決方法を探すことにした。

明るさ調整ができない問題への対処

結論としては、カーネルを最新のものへと更新することで問題が解決した。具体的には、Ubuntu 20.04 の Linux カーネルのバージョンは 5.4 なのだが、これを 5.7.8 に変更したところ、明るさ調整が機能するようになった。また、バッテリーの残り時間もフル充電時にはディスプレイの明るさによっては 10 時間程度と表示されるようになった (かつ、実際に長い時間使用できている)。

カーネルバージョンの更新方法はググると複数出てくるのだが、今回は GUI から変更可能な mainline というインストーラを使用した。使い方は非常に簡単で、使用したいバージョンを選択して "Install" ボタンをクリックすると、自動的にインストールが始まる。あとは、インストールの完了後にマシンを再起動し、GRUB から新しいバージョンのカーネルを選択すればいい。なお、コマンドラインからカーネルのバージョンを確認するには uname -r とするのが簡便である。

上述した流れでカーネルを気軽に変更できるのだが、注意点として、BIOS にて Secure Boot オプションをオフにしておく必要がある (mainline からインストールしたカーネルが署名されていないことで Secure Boot に失敗するため)。正確に書くと、BIOS から Security > Secure Boot > Secure Boot を OFF とする。この設定により、新しいカーネルでも起動可能となる。

なお、必ずしもバージョンを 5.7.8 とする必要はないと思われる。詳しい内容は ここここなどに書いてあるが、AMD の Renoir APU のサポートがカーネルのバージョン 5.5 から experimental ではなく正式サポートとなることで、グラフィック関連の不具合が改善されるとのこと。このことから、バージョン 5.5 以上であれば改善されるのかもしれない (試していないので実際に動くかどうかは不明)。

(追記)
コメントより、Radeon™ Software for Linux® 20.20 Release Notes から Radeon™ Software for Linux® 20.20 をインストールすることでも問題が解消されたとのこと (@dooooooooinggggg さん、ありがとうございます)。

Suspend できない問題への対処

これに関しても BIOS の設定を変更することで対処した。具体的には、Config > Power > Sleep State を "Windows 10" から "Linux" へと変更した。もとの設定値は Modern Standby を表わし、変更後の値は Sleep States のうち S3 を表わしている (Arch Linux の Wiki などを参照のこと)。

なお、Sleep States の S3 は、プロセッサの状態をメモリへと保存する (これは Suspend の定義通り)。これに対し、たとえば S4 は Hibernate を表わし、プロセッサの状態をディスクへと保存する。(その他の設定値については上のリンクやここなどを参照のこと)

以上、現状で気付いた不具合について、その対処法を記した。また不具合が見つかれば追記していく予定。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした