Dell Note PC:Precision 5760 にUbuntu 20.04.2 LTSをインストール

前回に続き、今回はDell のNote PC 「Precision 5760」へのUbuntu 20.04.2 LTSのインストール手順を書きます。

● ディスクパーティション
前回の記事で書いた通りのディスクパーティション構成で、そのうち、Ubuntu用に用意した40GBのパーティションにインストールします。

● Ubuntu 20.04.2 LTSのインストール
UbuntuのダウンロードサイトからUbuntu 20.04.2のISOイメージ(ubuntu-20.04.2.0-desktop-amd64.iso)をダウンロードして、DVDメディアに焼き、このメディアをDVDドライブからをUSBハブを介してPrecision 5760に接続します。

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

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

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

2) Ubuntu LiveDVDを立ち上げると、以下のgrub2の起動メニュー画面が表示されます。

--------------------------------------------
Ubuntu
Ubuntu (safe graphics)
OEM install (for manufacturers)
Boot from next volume
UEFI Firmware Settings
--------------------------------------------

3) 普通はメニュー項目の一番上の「Ubuntu」を選択します。
「Ubuntu (safe graphics)」あるいは「OEM install (for manufacturers)」を選択した場合は、立ち上げるとUbuntu LiveDVDの画面となります。
いずれを選択した場合も、「e」キーを押し、linux行に「noapic nomodeset」を追加し、「Ctrl+X」を押して起動します。
このパラメータを追加しないと、起動時にエラーが表示されます。

4) 「Ubuntu」を選択し、「noapic nomodeset」を追加した後に起動すると、以下の画面が表示されます。


左側の言語選択のメニューで「日本語」を選びます。
「Ubuntuを試す」(Try Ubuntu)を選択すると、以下のUbuntu Liveの画面になります。
ここで、端末エミュレータを起動してfdiskコマンドを実行し、ディスクパーティションの追加/削除などができます。
インストールを開始するには「Ubuntu」アイコンをクリックします。

すぐにインストールを開始するには「Ubuntuをインストール」(Install Ubuntu)を選択します。

[Ubuntu Live の画面]

5) インストールを開始したら、以下の「インストールの種類」画面で「それ以外」を選択します。

「それ以外」を選択すると、次の以下の画面でインストールするパーティションの選択や、ファイルシステムの選択ができます。
grub2はデフォルトでWindowsが作成したEFIパーティション(パーティション1)にインストールされます。

6) 以下は、インストール完了後、Ubuntuを起動してログインした後の画面です。
(起動時のgrub2メニュー画面で、インストール時と同じく、linux行に「noapic nomodeset」を追加します。
ログイン後に「/boot/grub/grub.cfg」を編集して、「noapic nomodeset」を追加しておきます。)

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

user01@Ubuntu-20-04:~$ cat /etc/issue
Ubuntu 20.04.2 LTS \n \l

user01@Ubuntu-20-04:~$ uname -r
5.11.0-27-generic

user01@Ubuntu-20-04:~$ cat /proc/cpuinfo 
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 141
model name	: 11th Gen Intel(R) Core(TM) i9-11950H @ 2.60GHz
...(以下省略)...
user01@Ubuntu-20-04:~$ cat /proc/cpuinfo | grep ^proc | wc -l
16

user01@Ubuntu-20-04:~$ free -h
              total        used        free      shared  buff/cache   available
Mem:           62Gi       1.3Gi        58Gi        52Mi       3.2Gi        60Gi
Swap:         1.9Gi          0B       1.9Gi

user01@Ubuntu-20-04:~$ df -Th | grep -v snap
Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs   32G     0   32G   0% /dev
tmpfs          tmpfs     6.3G  2.6M  6.3G   1% /run
/dev/nvme0n1p6 ext4       40G  9.7G   28G  26% /   ←ルートファイルシステム
tmpfs          tmpfs      32G     0   32G   0% /dev/shm
tmpfs          tmpfs     5.0M  4.0K  5.0M   1% /run/lock
tmpfs          tmpfs      32G     0   32G   0% /sys/fs/cgroup
/dev/nvme0n1p1 vfat      146M  109M   38M  75% /boot/efi ←EFIパーティション
/dev/nvme0n1p8 xfs       596G   25G  572G   5% /data
tmpfs          tmpfs     6.3G   24K  6.3G   1% /run/user/125
tmpfs          tmpfs     6.3G   36K  6.3G   1% /run/user/1000


user01@Ubuntu-20-04:~$ df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs   32G     0   32G   0% /dev
tmpfs          tmpfs     6.3G  2.6M  6.3G   1% /run
/dev/nvme0n1p6 ext4       40G  9.7G   28G  26% /
tmpfs          tmpfs      32G     0   32G   0% /dev/shm
tmpfs          tmpfs     5.0M  4.0K  5.0M   1% /run/lock
tmpfs          tmpfs      32G     0   32G   0% /sys/fs/cgroup
/dev/loop1     squashfs  219M  219M     0 100% /snap/gnome-3-34-1804/66
/dev/loop0     squashfs   56M   56M     0 100% /snap/core18/1988
/dev/nvme0n1p1 vfat      146M  109M   38M  75% /boot/efi 
/dev/loop3     squashfs   32M   32M     0 100% /snap/snapd/11036
/dev/loop2     squashfs   52M   52M     0 100% /snap/snap-store/518
/dev/nvme0n1p8 xfs       596G   25G  572G   5% /data
/dev/loop4     squashfs   65M   65M     0 100% /snap/gtk-common-themes/1514
tmpfs          tmpfs     6.3G   24K  6.3G   1% /run/user/125
tmpfs          tmpfs     6.3G   36K  6.3G   1% /run/user/1000
/dev/loop6     squashfs   56M   56M     0 100% /snap/core18/2128
/dev/loop7     squashfs   33M   33M     0 100% /snap/snapd/12704
/dev/loop8     squashfs   51M   51M     0 100% /snap/snap-store/547
/dev/loop9     squashfs   66M   66M     0 100% /snap/gtk-common-themes/1515
/dev/loop10    squashfs  219M  219M     0 100% /snap/gnome-3-34-1804/72

● オーディオの音が出ない不具合について
Fedora 34では新しいマルチメディアフレームワークであるPipeWireが採用されていますが、Ubuntu 20.04.2は従来のPulseAudioです。
搭載されている2種類のデバイスをカーネルは認識していますが、PulseAudioが出力先のデバイスを選定するプラグインモジュールmodule-alsa-sink(/usr/lib/pulse-13.99.1/modules/module-alsa-sink.so)をロードできません。まだ原因を特定できていないのですが、ファームウェアがデバイスに対応していない感じです。
Ubuntu 20.04.2のリリースの後に発売された製品だからかも知れません。
Ubuntuの次のリリースか、誰かがworkaroundを見つけてくれるのを待つしかなさそうです。
以下、動作確認の例です。

root@Ubuntu-20-04:~# lspci | grep -i audio
0000:00:1f.3 Multimedia audio controller: Intel Corporation Device 43c8 (rev 11)
0000:01:00.1 Audio device: NVIDIA Corporation Device 228b (rev a1)

rotake@Ubuntu-20-04:~$ 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"
  Driver Modules: "snd_sof_pci"
  Memory Range: 0x628f2d8000-0x628f2dbfff (rw,non-prefetchable)
  Memory Range: 0x628f000000-0x628f0fffff (rw,non-prefetchable)
  IRQ: 11 (no 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 is active
    Driver Activation Cmd: "modprobe snd_sof_pci"
  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)

root@Ubuntu-20-04:~# dmesg
...
[    5.557314] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    5.557447] snd_hda_intel 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
[    5.557486] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)
[    5.557621] snd_hda_intel 0000:01:00.1: Disabling MSI
[    5.557625] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[    5.571835] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    5.571889] sof-audio-pci 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
[    5.571958] sof-audio-pci 0000:00:1f.3: enabling device (0000 -> 0002)
[    5.572188] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
...
[    9.106213] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0/input11
[    9.106326] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0/input12
[    9.106405] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0/input13
[    9.106482] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0/input14
[    9.106560] input: HDA NVidia HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0/input15
[    9.106641] input: HDA NVidia HDMI/DP,pcm=11 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0/input16
[    9.106729] input: HDA NVidia HDMI/DP,pcm=12 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0/input17
...
root@Ubuntu-20-04:~# ls -F /proc/asound/
NVidia@  card0/  cards  devices  hwdep  modules  oss/  pcm  seq/  timers  version

rotake@Ubuntu-20-04:~$ ps -ef | grep pulse
gdm         1339    1333  0 05:57 ?        00:00:00 /usr/bin/pulseaudio --daemonize=no --log-target=journal
rotake      1870    1864  0 05:57 ?        00:00:00 /usr/bin/pulseaudio --daemonize=no --log-target=journal

rotake@Ubuntu-20-04:~$ systemctl status --user pulseaudio
● pulseaudio.service - Sound Service
     Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2021-08-25 14:57:55 JST; 8h left
TriggeredBy: ● pulseaudio.socket
   Main PID: 1870 (pulseaudio)
     CGroup: /user.slice/user-1000.slice/user@1000.service/pulseaudio.service
             └─1870 /usr/bin/pulseaudio --daemonize=no --log-target=journal

 8月 25 14:57:55 Ubuntu-20-04 systemd[1864]: Starting Sound Service...
 8月 25 14:57:55 Ubuntu-20-04 systemd[1864]: Started Sound Service.

※/etc/pulse/default.paに記述されている「load-module module-udev-detect」ではmodule-null-sinkしかロードされません。

rotake@Ubuntu-20-04:~$ pacmd list-sinks
1 sink(s) available.
  * index: 0
	name: <auto_null>
	driver: <module-null-sink.c>   ←@@@
	flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: SUSPENDED
	suspend cause: IDLE
	priority: 1000
	volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
	        balance 0.00
	base volume: 65536 / 100% / 0.00 dB
	volume steps: 65537
	muted: no
	current latency: 0.00 ms
	max request: 344 KiB
	max rewind: 344 KiB
	monitor source: 0
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             ステレオ
	used by: 0
	linked by: 0
	configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
	module: 13
	properties:
		device.description = "ダミー出力"  ←@@@
		device.class = "abstract"
		device.icon_name = "audio-card"

※/etc/pulse/default.paで「load-module module-alsa-sink」を有効にすると、
以下のようにロード時にエラーとなってしまいます。

root@Ubuntu-20-04:~# journalctl | grep alsa
 8月 24 21:04:34 Ubuntu-20-04 pulseaudio[1337]: 
Failed to load module "module-alsa-sink" (argument: ""): initialization failed.

※以下、インストールされているファームウェアを確認。

rotake@Ubuntu-20-04:~$ dpkg -L linux-firmware
...
/lib/firmware/intel/dsp_fw_bxtn.bin
...
/lib/firmware/intel/sof/sof-apl.ri
...

以上