Dell Note PC:Precision 5760 にFedora 34をインストール

先日、Dell のNote PC 「Precision 5760」(発売日:2021年6月25日 ニュース)を以下のデルのサイトから構成をカスタマイズして購入し、Fedora 34(リリース日:2021年4月)とUbuntu 20.04.2 LTS(リリース日:2021年2月)をインストールしました。(Ubuntuについては次回の記事で書きます。)
https://dell.to/3xXoP3F

約2年半前に、検証用にRHEL 7がプリインストールされたタワー型のDell PC「Precision 7820 Tower」を購入して、そのまま使っていたのですが、OpenStackやKubernetesの検証でVMを多数作るため、リソースが不足気味になってきたので、今回は持ち運びが便利なノートPCを新たに購入しました。

[Precision 7820 Tower]
・プロセッサ:Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz、コア数10、スレッド数20
・メモリ:64GB

なお、日常業務ではDell Note PC「Inspiron5491」にCentOS 8をインストールして使っています。⇒参考記事はこちら

● 現在、DellにはLinuxをプリインストールしたモデルはなさそうです。

約2年ほど前、DellにRHELやUbuntuをプリインストールしたモデルがあったのですが、購入を検討しているうちにRHELがなくなり、その後、Ubuntuもなくなってしまいました。。
現在、ネットを検索してもDellにLinuxをプリインストールしたモデルは見付かりません。
そこでやむなく、Windowsプリインストールモデルを購入しました。Windowsはほとんど使わないのですが。

● Precision 5760の主な仕様
今回購入した「Precision 5760」の仕様は以下のようになっています。

項目 仕様 備考
プロセッサ 11th Gen Intel(R) Core(TM) i9-11950H @ 2.60GHz コア数 8、スレッド数 16
11950Hは第11世代プロセッサ(Tiger Lake-H)
2021年5月11日のニュースリリースにて発表。
500 Series PCHのデータシートはこちら
メモリ 64GB
ディスク SSD 1TB
GPU NVIDIA RTX A3000 チップ名 GA104 Ampere
画面サイズ 17インチ
画面解像度 1920 x 1200
オーディオ HD(High Definition) Audio, MIPI SoundWire 参考URL:
https://www.intel.co.jp/content/www/jp/ja/products/docs/chipsets/high-de...
https://www.mipi.org/specifications/soundwire
※ Fedora 34の場合: こちらを参照
※ Ubuntu 20.04.2の場合: こちらを参照
WiFi Wi-Fi 6E 参考URL: Wi-Fi 6E
イーサネット 無し 別売の有線LANアダプターを使っています。以下、例です。
・Anker USB-C to イーサネットアダプタ(Type C)
・BUFFALO 有線LANアダプター LUA4-U3-AGTE-NBK Giga USB3.0対応(Type A:ハブが必要)
USBコネクタ Type-C コネクタが4個 右側と左側に、Type-C コネクタがそれぞれ2個づつ付いています。
私の場合は以下のように使用しています。
・電源接続
・有線LANアダプタ
・無線マウス(Cimetech : 自動スリープ機能あり)
・残りの1個は空き
付属品 USBハブ HDMIとUSB TypeAコネクタがそれぞれ1個づつ付いた小さなUSBハブが付属しています。

第11世代プロセッサ(Tiger Lake-H)PCH(Platform Controller Hub)チップの構成図

(Intelの資料「 11th-gen-product-brief.html」より)
参考URL: Tiger_Lakeマイクロアーキテクチャ

● ディスクパーティション
プリインストールされたWindows10にログインし、以下の手順でC:ドライブのパーティションを縮小して空き領域を作成し、作成した空き領域にLinuxをインストールします。

[スタートメニュー] ⇒ [Windows管理ツール] ⇒ [コンピューターの管理] ⇒
]⇒ [記憶域]⇒[ディスクの管理]
この画面で、以下の手順でCドライブのパーティションを約951GB (約120GBを使用)から約157GBに縮小して、Linux用に空領域を確保します。
[C:ドライブを選択 ] ⇒ [マウス右ボタン] ⇒ [ボリュームの縮小]

[購入時のパーティション]

確保した空領域に、FedoraのLiveCDで、以下のようにLinux用の複数のパーティションを設定します。
[変更後のパーティション]

● Fedora 34のインストール
理研のサイトからFedora 34のISOイメージ(Fedora-Workstation-Live-x86_64-34-1.2.iso)をダウンロードして、DVDメディアに焼き、このメディアをDVDドライブからをUSBハブを介してPrecision 5760に接続します。

注) USBハブとDVDドライブの組み合わせによっては、電流容量の関係か、メディアの読み込み時にエラーが出ることがありました。私の手持ちのDVDドライブ(古い)と、PCに付属してきた小さなUSBハブの組み合わせではエラーとなりました。USBハブを別なものに取り替えたらOKとなりました。

理研のサイトからダウンロードする場合:
http://ftp.riken.jp/Linux/fedora/releases/34/Workstation/x86_64/iso/

1) PCの再起動、あるいは電源投入時にF2キーを押して、EFIの設定画面を開き、
Boot Configuration」画面で、DVDドライブを最上位(最優先)に設定します。
FedoraとUbuntuをインストール後のブートデバイスの選択肢には以下が含まれます。

-----------------------------------------------------------------------------------------------------
・「Fedora」 ←Fedoraを立ち上げる時はこれを最上位にする
・「Ubuntu」
・「Windows BootManager 」 ←Windowsを立ち上げる時はこれを最上位にする
・「DVDドライブ(接続した場合。デバイス名で表示される)」
-----------------------------------------------------------------------------------------------------

2) Fedora LiveDVDを立ち上げると、以下の画面が表示されます。

Fedora用に設定したパーティション(今回の例では約77GBのパーティション)だけを一旦削除して、そこを空領域にしてからインストールを開始すると、そこにFedoraがインストールされます。デフォルトのインストールでは以下のようになります。(ルートファイルシステムのデフォルトはBtrfsです。)

・/boot/efi :vfat(UEFIパーティション)。Windowsで作成されたパーティション1にブートローダgrub2がインストールされます。
・/boot:ext4
・/:btrfs subvolume
・/home:btrfs subvolume (インストールする空領域のサイズによっては、作成されない場合があるかも。)

● Fedora 34のインストール完了後、立ち上げてログインする
以下、ログイン後の画面です。

なお、以下のgrub2設定ファイルのoptions行に「noapic nomodeset」を追加しました。(エラーが出ている可能性があるので)

[root@fedora entries]# vi /boot/loader/entries/{マシンID}-5.11.12-300.fc34.x86_64.conf
options root=UUID=82730340-39f7-4cb5-8cae-0986154e04f4 ro rootflags=subvol=root rhgb quiet noapic nomodeset

以下、コマンドを実行して確認する例です。

[user01@fedora ~]$ cat /etc/fedora-release
Fedora release 34 (Thirty Four)
[user01@fedora ~]$ uname -r
5.11.12-300.fc34.x86_64
(kernel.orgの2021年8月24日時点のstableリリースの最新版は5.13.12です。)

[user01@fedora ~]$ lscpu
アーキテクチャ:                      x86_64
CPU 操作モード:                      32-bit, 64-bit
バイト順序:                          Little Endian
Address sizes:                       39 bits physical, 48 bits virtual
CPU:                                 16
オンラインになっている CPU のリスト: 0-15
コアあたりのスレッド数:              2
ソケットあたりのコア数:              8
...
モデル名:                            11th Gen Intel(R) Core(TM) i9-11950H @ 2.60GHz
ステッピング:                        1
CPU MHz:                             2600.000
CPU 最大 MHz:                        5000.0000
CPU 最小 MHz:                        800.0000
BogoMIPS:                            5222.40
仮想化:                              VT-x
...

[user01@fedora ~]$ free -h
               total        used        free      shared  buff/cache   available
Mem:            62Gi       1.1Gi        56Gi       203Mi       5.4Gi        59Gi
Swap:          8.0Gi          0B       8.0Gi

[root@fedora ~]# fdisk -l
ディスク /dev/nvme0n1: 953.87 GiB, 1024209543168 バイト, 2000409264 セクタ
ディスク型式: Micron 2300 NVMe 1024GB                 
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: 055CEA8E-B210-4209-8578-FCEB78393900

デバイス          開始位置   終了位置     セクタ サイズ タイプ
/dev/nvme0n1p1        2048     309247     307200   150M EFI システム     ←EFIパーティション
/dev/nvme0n1p2      309248     571391     262144   128M Microsoft 予約領域
/dev/nvme0n1p3      571392  330588159  330016768 157.4G Microsoft 基本データ      ←Windows Cドライブ
/dev/nvme0n1p4   330588160  332685311    2097152     1G Linux ファイルシステム    ←Fedora /boot
/dev/nvme0n1p5   332685312  494428159  161742848  77.1G Linux ファイルシステム   ←Fedora /
/dev/nvme0n1p6   494428160  578314239   83886080    40G Linux ファイルシステム    ←Ubuntu /
/dev/nvme0n1p7   578314240  662200319   83886080    40G Linux ファイルシステム    ←予備
/dev/nvme0n1p8   746086400 1995421695 1249335296 595.7G Linux ファイルシステム  ←データの保存用
/dev/nvme0n1p9  1995421696 1997449215    2027520   990M Windows リカバリ環境
/dev/nvme0n1p10 1997451264 2000377855    2926592   1.4G Windows リカバリ環境
/dev/nvme0n1p11  662200320  746086399   83886080    40G Linux ファイルシステム   ←予備

パーティション情報の項目がディスクの順序と一致しません。
ディスク /dev/zram0: 8 GiB, 8589934592 バイト, 2097152 セクタ
単位: セクタ (1 * 4096 = 4096 バイト)
セクタサイズ (論理 / 物理): 4096 バイト / 4096 バイト
I/O サイズ (最小 / 推奨): 4096 バイト / 4096 バイト

[user01@fedora ~]$ df -Th
ファイルシス   タイプ   サイズ  使用  残り 使用% マウント位置
devtmpfs       devtmpfs    32G     0   32G    0% /dev
tmpfs          tmpfs       32G     0   32G    0% /dev/shm
tmpfs          tmpfs       13G  2.3M   13G    1% /run
/dev/nvme0n1p5 btrfs       78G   11G   67G   14% /
/dev/nvme0n1p5 btrfs       78G   11G   67G   14% /home
/dev/nvme0n1p4 ext4       976M  143M  766M   16% /boot
/dev/nvme0n1p1 vfat       146M  109M   38M   75% /boot/efi
tmpfs          tmpfs       32G   16K   32G    1% /tmp
/dev/nvme0n1p8 xfs        596G   12G  585G    2% /data
tmpfs          tmpfs      6.3G  116K  6.3G    1% /run/user/1000

● Fedora 34のオーディオでは、従来のPulseAudioに代わり、PipeWireを採用
Fedora 34では新しいマルチメディアフレームワークであるPipeWireが採用されています。
Fedora-Workstation-Live-x86_64-34-1.2.isoからインストールした時点では音が出なかったのですが、その後、「dnf update」コマンドでOSをアップデートし、PipeWireの管理コマンド pw-*(pw-mon, pw-cat, pw-cli)を実行したら、以下のように音が出るようになりました。

[設定]⇒[サウンド]の画面:

※ 「音量レベル」の領域には、実行中のクライアントアプリケーション名が表示されています。
ノートPCとは思えない程、ステレオの音質が素晴らしく良いです。

以下、コマンドの実行例です。

[root@fedora ~]# dnf update
...カーネル(5.11.12-300 →5.13.12-200)やfirmwareなど、1580個のパッケージが更新されました。...

(PC再起動)

[rotake@fedora ~]$ lspci | grep -i audio
0000:00:1f.3 Multimedia audio controller: Intel Corporation Tiger Lake-H HD Audio Controller (rev 11)
0000:01:00.1 Audio device: NVIDIA Corporation GA104 High Definition Audio Controller (rev a1)

[rotake@fedora ~]$ cat /proc/asound/cards
 0 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xac000000 irq 10
 1 [sofsoundwire   ]: sof-soundwire - sof-soundwire
                      Intel Soundwire SOF

[rotake@fedora ~]$ hwinfo --sound
21: PCI 1f.3: 0401 Multimedia audio controller                  
  [Created at pci.386]
  Unique ID: nS1_.JUDiv2mZ_K1
  SysFS ID: /devices/pci0000:00/0000:00:1f.3
  SysFS BusID: 0000:00:1f.3
  Hardware Class: sound
  Model: "Intel Multimedia audio controller"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x43c8 
  SubVendor: pci 0x1028 "Dell"
  SubDevice: pci 0x0a5e 
  Revision: 0x11
  Driver: "sof-audio-pci-intel-tgl"
  Driver Modules: "snd_sof_pci_intel_tgl"
  Memory Range: 0x628f2d8000-0x628f2dbfff (rw,non-prefetchable)
  Memory Range: 0x628f000000-0x628f0fffff (rw,non-prefetchable)
  IRQ: 117 (1918 events)
  Module Alias: "pci:v00008086d000043C8sv00001028sd00000A5Ebc04sc01i00"
  Driver Info #0:
    Driver Status: snd_hda_intel is active
    Driver Activation Cmd: "modprobe snd_hda_intel"
  Driver Info #1:
    Driver Status: snd_sof_pci_intel_tgl is active
    Driver Activation Cmd: "modprobe snd_sof_pci_intel_tgl"
  Config Status: cfg=new, avail=yes, need=no, active=unknown

28: PCI 100.1: 0403 Audio device
  [Created at pci.386]
  Unique ID: NXNs.d_26YK_jxo6
  Parent ID: vSkL.qH430_g9GXB
  SysFS ID: /devices/pci0000:00/0000:00:01.0/0000:01:00.1
  SysFS BusID: 0000:01:00.1
  Hardware Class: sound
  Model: "nVidia Audio device"
  Vendor: pci 0x10de "nVidia Corporation"
  Device: pci 0x228b 
  SubVendor: pci 0x1028 "Dell"
  SubDevice: pci 0x0a5e 
  Revision: 0xa1
  Driver: "snd_hda_intel"
  Driver Modules: "snd_hda_intel"
  Memory Range: 0xac000000-0xac003fff (rw,non-prefetchable)
  IRQ: 10 (no events)
  Module Alias: "pci:v000010DEd0000228Bsv00001028sd00000A5Ebc04sc03i00"
  Driver Info #0:
    Driver Status: snd_hda_intel is active
    Driver Activation Cmd: "modprobe snd_hda_intel"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #11 (PCI bridge)

[rotake@fedora ~]$ ps -ef | grep pipe
rotake      4069    3635  0 11:58 ?        00:01:19 /usr/bin/pipewire
rotake      4070    3635  0 11:58 ?        00:01:18 /usr/bin/pipewire-pulse
rotake      4085    4069  0 11:58 ?        00:00:00 /usr/bin/pipewire-media-session

[root@fedora ~]# fuser -v /dev/snd/*
                     USER        PID ACCESS COMMAND
/dev/snd/controlC0:  root       2653 f.... alsactl
                     rotake     4085 F.... pipewire-media-
/dev/snd/controlC1:  root       2653 f.... alsactl
                     rotake     4069 F.... pipewire
                     rotake     4085 F.... pipewire-media-
/dev/snd/pcmC1D2p:   rotake     4069 F...m pipewire
/dev/snd/seq:        rotake     4069 F.... pipewire

[rotake@fedora ~]$ systemctl --user status pipewire.service
● pipewire.service - Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; disabled; vendor preset: disabled)
    Drop-In: /usr/lib/systemd/user/pipewire.service.d
             └─00-uresourced.conf
     Active: active (running) since Wed 2021-08-25 11:58:39 JST; 2h 28min ago
TriggeredBy: ● pipewire.socket
   Main PID: 4069 (pipewire)
      Tasks: 4 (limit: 76784)
     Memory: 8.1M
        CPU: 1min 22.136s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             ├─4069 /usr/bin/pipewire
             └─4085 /usr/bin/pipewire-media-session

 8月 25 11:58:39 fedora systemd[3635]: Started Multimedia Service.

[rotake@fedora ~]$ systemctl --user status pipewire-pulse.service
● pipewire-pulse.service - PipeWire PulseAudio
     Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; disabled; vendor preset: disabled)
     Active: active (running) since Wed 2021-08-25 11:58:39 JST; 2h 28min ago
TriggeredBy: ● pipewire-pulse.socket
   Main PID: 4070 (pipewire-pulse)
      Tasks: 2 (limit: 76784)
     Memory: 6.0M
        CPU: 1min 21.210s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service
             └─4070 /usr/bin/pipewire-pulse

 8月 25 11:58:39 fedora systemd[3635]: Started PipeWire PulseAudio.

[rotake@fedora ~]$ pw-mon   ←「man pw-mon」参照
...
 	properties:
 		device.enum.api = "udev"
 		device.api = "alsa"
 		media.class = "Audio/Device"
 		api.alsa.path = "hw:1"
 		api.alsa.card = "1"
 		api.alsa.card.name = "sof-soundwire"
 		api.alsa.card.longname = "Intel Soundwire SOF"
 		device.plugged.usec = "68028857"
 		device.bus-path = "pci-0000:00:1f.3-platform-sof_sdw"
 		device.sysfs.path = "/sys/devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card1"
 		device.bus = "pci"
 		device.subsystem = "sound"
 		device.vendor.id = "32902"
 		device.vendor.name = "Intel Corporation"
 		device.product.id = "17352"
 		device.product.name = "Tiger Lake-H HD Audio Controller"
 		device.name = "alsa_card.pci-0000_00_1f.3-platform-sof_sdw"
 		device.description = "Tiger Lake-H HD Audio Controller"
 		device.nick = "sof-soundwire"
 		device.icon-name = "audio-card-pci"
 		api.alsa.use-acp = "true"
 		api.acp.auto-profile = "false"
 		api.acp.auto-port = "false"
 		api.dbus.ReserveDevice1 = "Audio1"
 		factory.id = "14"
 		client.id = "31"
 		object.id = "50"
 		object.path = "alsa:pcm:1"
 		alsa.card = "1"
 		alsa.card_name = "sof-soundwire"
 		alsa.long_card_name = "Intel Soundwire SOF"
 		alsa.driver_name = "snd_soc_sof_sdw"
 		device.string = "1"
...
 	properties:
 		device.enum.api = "udev"
 		device.api = "alsa"
 		media.class = "Audio/Device"
 		api.alsa.path = "hw:0"
 		api.alsa.card = "0"
 		api.alsa.card.name = "HDA NVidia"
 		api.alsa.card.longname = "HDA NVidia at 0xac000000 irq 10"
 		device.plugged.usec = "5948083"
 		device.bus-path = "pci-0000:01:00.1"
 		device.sysfs.path = "/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0"
 		device.bus = "pci"
 		device.subsystem = "sound"
 		device.vendor.id = "4318"
 		device.vendor.name = "NVIDIA Corporation"
 		device.product.id = "8843"
 		device.product.name = "GA104 High Definition Audio Controller"
 		device.name = "alsa_card.pci-0000_01_00.1"
 		device.description = "GA104 High Definition Audio Controller"
 		device.nick = "HDA NVidia"
 		device.icon-name = "audio-card-pci"
 		api.alsa.use-acp = "true"
 		api.acp.auto-profile = "false"
 		api.acp.auto-port = "false"
 		api.dbus.ReserveDevice1 = "Audio0"
 		factory.id = "14"
 		client.id = "31"
 		object.id = "45"
 		object.path = "alsa:pcm:0"
 		alsa.card = "0"
 		alsa.card_name = "HDA NVidia"
 		alsa.long_card_name = "HDA NVidia at 0xac000000 irq 10"
 		alsa.driver_name = "snd_hda_intel"
 		device.string = "0"
...
^C
[rotake@fedora ~]$ pw-cli info all  ←「man pw-cli」参照
...
	id: 68
	permissions: rwxm
	type: PipeWire:Interface:Node/3
*	input ports: 2/64
*	output ports: 2/0
*	state: "running"
*	properties:
*		client.api = "pipewire-pulse"
*		pulse.server.type = "unix"
*		application.name = "GNOME Settings"
*		application.id = "org.gnome.VolumeControl"
*		application.icon-name = "multimedia-volume-control"
*		application.version = "40.0"
*		application.process.id = "4910"
*		application.process.user = "rotake"
*		application.process.host = "fedora"
*		application.process.binary = "gnome-control-center"
*		application.language = "ja_JP.UTF-8"
*		window.x11.display = ":1"
*		application.process.machine-id = "60ff873391e64b168a30513953ff3ff4"
*		media.name = "Peak detect"
*		stream.monitor = "true"
*		node.target = "52"
*		stream.is-live = "true"
*		node.name = "GNOME Settings"
*		node.autoconnect = "true"
*		node.dont-reconnect = "true"
*		media.class = "Stream/Input/Audio"
*		resample.peaks = "true"
*		channelmix.normalize = "true"
*		adapt.follower.node = ""
*		object.register = "false"
*		factory.id = "6"
*		audio.adapt.follower = ""
*		factory.mode = "merge"
*		library.name = "audioconvert/libspa-audioconvert"
*		client.id = "67"
*		object.id = "68"
*		node.latency = "1/25"
*		pulse.attr.maxlength = "4194304"
*		pulse.attr.fragsize = "4"
...

※ 以下、pw-cat コマンドでwavファイル「BabyElephantWalk60.wav」を再生する例です。

[rotake@fedora ~]$ pw-cat --playback BabyElephantWalk60.wav  ←「man pw-cat」参照

参考URL:
https://wiki.archlinux.jp/index.php/PipeWire
https://en.wikipedia.org/wiki/PipeWire
https://lwn.net/Articles/847412/
https://wiki.automotivelinux.org/_media/pipewire_agl_20181206.pdf

次回はUbuntu 20.04.2 LTSのインストールについて書きます。