Ubuntu Studio 24.04 on Rapture, Gaming PC (and more)
The time has came to update my main PC, which I use for gaming, coding, media production and just about everything, to Ubuntu Studio 24.04.
Considering Timing
Ubuntu Studio 24.04 LTS Released on April 25th but, as they themselves put it since it’s just out, you may experience some issues, so you might want to wait a bit before upgrading.
There doesn't seem to be anything particular scarey in release notes:
And my plan is not to upgrade in place; I like to keep the previous version around, just in case I need a stable system to fall back to.
Preparation
In preparation to upgrade my main PC to Ubuntu Studio 24.04, I installed a new Kingston FURY Renegade 4000 GB M.2 SSD and prepared partitions as follows:
- 260 MB EFI System for the EFI boot.
- 75 GB Linux filesystem for the root (ext4).
- 75 GB Linux filesystem for the alternative root (ext4).
- 3.5T GB Linux filesystem for
/home(btrfs).
Note
75 GB has proven to be a reasonable size for the root partition
for the amount of software that tends to be installed in my PC,
including 20 GB in /usr and 13 GB in /snap.
Partitions
First,
create a GPT partition table
(label), then create the partitions
with optimal alignment
# parted /dev/nvme1n1 --script -- mklabel gpt
# parted -a optimal /dev/nvme1n1 mkpart primary fat32 0% 260MiB
# parted -a optimal /dev/nvme1n1 mkpart primary ext4 260MiB 75GiB
# parted -a optimal /dev/nvme1n1 mkpart primary ext4 75GiB 150GiB
# parted -a optimal /dev/nvme1n1 mkpart primary btrfs 150GiB 100%
# parted /dev/nvme1n1 print
Model: KINGSTON SFYRD4000G (nvme)
Disk /dev/nvme1n1: 4001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 273MB 272MB primary msftdata
2 273MB 80.5GB 80.3GB primary
3 80.5GB 161GB 80.5GB primary
4 161GB 4001GB 3840GB primary
# fdisk -l /dev/nvme1n1
Disk /dev/nvme1n1: 3.64 TiB, 4000787030016 bytes, 7814037168 sectors
Disk model: KINGSTON SFYRD4000G
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 3C935B5D-3EFC-4683-9483-BC110B2AEB17
Device Start End Sectors Size Type
/dev/nvme1n1p1 2048 532479 530432 259M Microsoft basic data
/dev/nvme1n1p2 532480 157286399 156753920 74.7G Linux filesystem
/dev/nvme1n1p3 157286400 314572799 157286400 75G Linux filesystem
/dev/nvme1n1p4 314572800 7814035455 7499462656 3.5T Linux filesystem
Note
In retrospect, it seems to be necessary to also apply the
boot flag to the EFI partition; otherwise the Ubuntu installer will
not offer the possibility of installing the boot loader in this disk:
# parted /dev/nvme1n1 toggle 1 boot
# parted /dev/nvme1n1 print
Model: KINGSTON SFYRD4000G (nvme)
Disk /dev/nvme1n1: 4001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 273MB 272MB primary boot, esp
2 273MB 80.5GB 80.3GB primary
3 80.5GB 161GB 80.5GB primary
4 161GB 4001GB 3840GB primary
Partitions can be created during the installation of the system, there is no need to create them before hand because the previous M.2 SSD is not going anywhere any time soon.
In the future, the previous (2 TB) M.2 SSD may be replaced with another 4 TB SSD, e.g.
- Kingston FURY Renegade with Heatsink ($320+)
- Samsung 990 Pro with Heatsink ($300+).
However, that replacement will likely not happen under 2026, once Ubuntu Studio 26.04 is installed and there is no longer a point to keep the old Ubuntu 22.04 around.
In the meantime, the new SSD can be converted into being the new
/home and, while the old one is still around, this could be a
good time to try bcachefs on the new one.
However, that requires either building a kernel
or waiting for Linux 6.7 or later.
Ubuntu 24.04 LTS Will Aim To Ship With The Linux 6.8 Kernel,
so the easier approach would be to wait for the installation of Ubuntu 24.04
to move /home to the new SSD.
Listen to Linux Matters #23: An Exodus of Bitcoin were Martin has excitedly installed it on everything! In particular, there seems to be options to configure large file systems across multiple devices with redundancy (details to be confirmed) and tiered storage to keep hot data on the faster storage (NVME) and rebalance unused data back to slower storage (SATA).
An update on bcachefs
The future of bcachefs in the kernel is uncertain, and lots of things aren't looking good. For more details, see Bcachefs Changes Rejected Reportedly Due To CoC, Kernel Future "Uncertain".
For the time being, there is no plan to use bcachefs here.
New BtrFS Home
Create a new btrfs file system to test the new SSD, while
we're waiting for the upcoming Ubuntu 24.04 release:
# mkfs.btrfs /dev/nvme1n1p4
btrfs-progs v5.16.2
See http://btrfs.wiki.kernel.org for more information.
Performing full device TRIM /dev/nvme1n1p4 (3.49TiB) ...
NOTE: several default settings have changed in version 5.15, please make sure
this does not affect your deployments:
- DUP for metadata (-m dup)
- enabled no-holes (-O no-holes)
- enabled free-space-tree (-R free-space-tree)
Label: (null)
UUID: 8edfc3ba-4981-4423-8730-7e229bfa63f3
Node size: 16384
Sector size: 4096
Filesystem size: 3.49TiB
Block group profiles:
Data: single 8.00MiB
Metadata: DUP 1.00GiB
System: DUP 8.00MiB
SSD detected: yes
Zoned device: no
Incompat features: extref, skinny-metadata, no-holes
Runtime features: free-space-tree
Checksum: crc32c
Number of devices: 1
Devices:
ID SIZE PATH
1 3.49TiB /dev/nvme1n1p4
# mkdir /home/new-m2
# tail -1 /etc/fstab
UUID=8edfc3ba-4981-4423-8730-7e229bfa63f3 /home/new-m2 btrfs defaults 0 0
Suddently there is a lot of space available!
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/nvme0n1p5 1.7T 1.2T 517G 70% /home
/dev/sdc 3.7T 2.7T 1.1T 72% /home/ssd
/dev/sda 5.5T 5.3T 254G 96% /home/raid
/dev/sdb 3.7T 3.0T 667G 83% /home/new-ssd
/dev/nvme1n1p4 3.5T 3.7M 3.5T 1% /home/new-m2
Transfer Speed Test
First, transfer 1.4 GB of media (family photos and videos)
from the SATA SSD. Theoretical maximum transfer speed is
around 550 MB/s, but in practice the transfer speed fluctuates
between 500 and 540 MB/s and the transfer took 48 minutes.
There was little difference between using rync -uva vs
cp -av.
Then, transfer 1.1 GB of personal files from the old NVME SSD. Theoretical maximum transfer speed is around 3000 MB/s, in practice the transfer speed fluctuates between 800 and 2500 MB/s and the transfer took 25 minutes, so just about twice as fast as the previous one.
With these 2 transfers, the new M.2 SSD is nearly at 70%:
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/nvme0n1p5 1.7T 1.2T 517G 70% /home
/dev/sdc 3.7T 2.7T 1.1T 72% /home/ssd
/dev/sda 5.5T 5.3T 254G 96% /home/raid
/dev/sdb 3.7T 3.0T 667G 83% /home/new-ssd
/dev/nvme1n1p4 3.5T 2.4T 1.2T 69% /home/new-m2
Installation
With the above partitions prepared well in advance, to Install Ubuntu Studio 24.04 the process should be as simple, easy and smooth as it was with other systems.
Alas, it wasn't. Even after setting up all the partition
correctly for the new install, the installer would not
allow selecting the correct device for to install the
boot loader in it: nvme1n1 is grayed out!
This problem is one I had seen recently, but didn't write down what the solution was.
While search (in vain) for others facing the same issue,
I took advantage of being in a live USB system and
cloned the current Ubuntu Studio 22.04 root partition
(nvme0n1p6) onto what would have been the new Ubuntu
Studio 24.04 root partition (nvme1n1p2), in case this
may come in handy later.
Important
After cloning a root file system, the /etc/fstab file in the
new clone must be updated with the correct UUID of that partition.
If the (new) EFI partition has not been formatted yet; format it as FAT32:
# mkfs.fat -F32 /dev/nvme1n1p1
mkfs.fat 4.2 (2021-01-31)
# lsblk -f
nvme1n1
│
├─nvme1n1p1
│ vfat FAT32 73CC-6E86
...
├─nvme1n1p2
│ ext4 1.0 409501ea-d63d-49b2-bd45-3b876404dc53
nvme0n1
│
...
└─nvme0n1p6
ext4 1.0 de317ca5-96dd-49a7-b72b-4bd050a8d15c 20.8G 67% /var/snap/firefox/common/host-hunspell
The mount the new root and edit /etc/fstab in it:
# mount /dev/nvme1n1p2 /media/cdrom/
# vi /media/cdrom/etc/fstab
...
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=73CC-6E86 /boot/efi vfat umask=0077 0 2
UUID=409501ea-d63d-49b2-bd45-3b876404dc53 / ext4 defaults,discard 0 1
...
One potential problem is that no partition in nvme1n1
has tbe boot flag. It appears all bootable partitions
that are working have flags boot, esp so the solution
may be simply to add those flags. At the very least, this
seems like it is necessary, if not sufficient:
# parted /dev/nvme1n1
GNU Parted 3.4
Using /dev/nvme1n1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: KINGSTON SFYRD4000G (nvme)
Disk /dev/nvme1n1: 4001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 273MB 272MB primary msftdata
2 273MB 80.5GB 80.3GB ext4 primary
4 161GB 4001GB 3840GB btrfs primary
(parted) toggle 1 boot
(parted) print
Model: KINGSTON SFYRD4000G (nvme)
Disk /dev/nvme1n1: 4001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 273MB 272MB primary boot, esp
2 273MB 80.5GB 80.3GB ext4 primary
4 161GB 4001GB 3840GB btrfs primary
Note
The boot and esp flags are the same; if you
toggle both, you end up with the initial state.
At this point, decided to follow askubuntu.com/a/1463655 to fully cloned the current system onto the new 4TB NVME and try to boot from it.
# mount /dev/nvme1n1p2 /media/cdrom/
# mount /dev/nvme1n1p1 /media/cdrom/boot/efi/
# grub-install \
--target x86_64-efi \
--efi-directory /media/cdrom/boot/efi \
--boot-directory /media/cdrom/boot
Installing for x86_64-efi platform.
Installation finished. No error reported.
# grub-mkconfig -o /media/cdrom/boot/grub/grub.cfg
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.15.0-124-lowlatency
Found initrd image: /boot/initrd.img-5.15.0-124-lowlatency
Found linux image: /boot/vmlinuz-5.15.0-124-lowlatency
Found initrd image: /boot/initrd.img-5.15.0-124-lowlatency
Found linux image: /boot/vmlinuz-5.15.0-122-lowlatency
Found initrd image: /boot/initrd.img-5.15.0-122-lowlatency
Found linux image: /boot/vmlinuz-5.15.0-60-lowlatency
Found initrd image: /boot/initrd.img-5.15.0-60-lowlatency
Memtest86+ needs a 16-bit boot, that is not available on EFI, exiting
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Found Ubuntu 22.04.1 LTS (22.04) on /dev/nvme0n1p2
Found Ubuntu 22.04.5 LTS (22.04) on /dev/nvme1n1p2
Adding boot menu entry for UEFI Firmware Settings ...
done
At this point there should be a boot loader, ready to
boot, on thew new NVME. If anything, it looks like it
would boot the old old 22.04.1 nvme0n1p2 instead of
the old (current) 22.04.5 nvme0n1p6.
Indeed upon reboot, the UEFI boot menu now shows both
NVME disks and selecting the 4TB disk the new bootloader
shows those entries. After this, the installation process
was, finally, smooth and successful, installing the new
boot loader in nvme1n1.
This new new bootloader in nvme1n1 now shows all 4
systems available to boot
- Ubuntu 22.04.1 in nvme0n1p2 (have not used in some time)
- Ubuntu 22.04.5 in nvme0n1p6 (current daily driver)
- Ubuntu 22.04.5 in nvme1n1p2 (future backup daily driver)
- Ubuntu 24.04.1 in nvme1n1p3 (future daily driver)
Adjusting all /etc/fstab files
To make sure all those root partitions are usable, their
/etc/fstab files need to be adjusted to point to the
correct /boot/efi partitions (the one in the same disk)
and the new one will has a new UUID after the last
installation:
# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
...
nvme0n1
│
├─nvme0n1p1
│
├─nvme0n1p2
│ ext4 1.0 833c6403-a771-46b2-bde8-704f2ab7e88b
├─nvme0n1p3
│ ext4 1.0 343f75fe-ec96-49fa-a4f8-0d32c69c1424
├─nvme0n1p4
│ vfat FAT32 NO_LABEL
│ C38B-C318 293.3M 2% /boot/efi
├─nvme0n1p5
│ btrfs 18238846-d411-4dcb-af87-a2d19a17fef3 654.9G 62% /home
└─nvme0n1p6
ext4 1.0 de317ca5-96dd-49a7-b72b-4bd050a8d15c
nvme1n1
│
├─nvme1n1p1
│ vfat FAT16 4485-0F5E
├─nvme1n1p2
│ ext4 1.0 409501ea-d63d-49b2-bd45-3b876404dc53 18.7G 69%
├─nvme1n1p3
│ ext4 1.0 1d30a16e-b4f6-4459-9b19-8c9093b0d047
└─nvme1n1p4
btrfs 8edfc3ba-4981-4423-8730-7e229bfa63f3 1T 71% /home/new-m2
Following the above order, make sure that each
/etc/fstab file points to the correct partition/s:
Ubuntu 22.04.1 in nvme0n1p2 (not used in some time) is
not even using an EFI partition at all; this one dates
back to a time when this disk was used in legacy BIOS
mode:
# df -h | grep nvme0n1p2
/dev/nvme0n1p2 50G 27G 21G 57% /jellyfish
# grep -E '/ |/bo' /jellyfish/etc/fstab
UUID=833c6403-a771-46b2-bde8-704f2ab7e88b / ext4 defaults 0 1
Ubuntu 22.04.5 in nvme0n1p6 (current daily driver) has
not changed, as expected:
# grep -E '/ |/bo' /etc/fstab
UUID=C38B-C318 /boot/efi vfat umask=0077 0 2
UUID=de317ca5-96dd-49a7-b72b-4bd050a8d15c / ext4 defaults,discard 0 1
Ubuntu 22.04.5 in nvme1n1p2 (the future backup daily driver)
is a clone of the one in nvme0n1p6 but it is also on the
newer NVME disk, so both partitions must be updated:
/boot/efimust point tonvme1n1p1/must point tonvme1n1p2
# mount /dev/nvme1n1p2 /media/cdrom/
# grep -E '/ |/bo' /media/cdrom/etc/fstab
UUID=4485-0F5E /boot/efi vfat umask=0077 0 2
UUID=409501ea-d63d-49b2-bd45-3b876404dc53 / ext4 defaults,discard 0 1
# umount /dev/nvme1n1p2
This being an updated copy of the current /etc/fstab
file, it already has all the partitions currently in use.
Ubuntu 24.04.1 in nvme1n1p3 (the future daily
driver) should be already good to go; since it was just
installed:
# mount /dev/nvme1n1p3 /noble
# grep -E '/ |/bo' /noble/etc/fstab
# / was on /dev/nvme1n1p3 during curtin installation
/dev/disk/by-uuid/1d30a16e-b4f6-4459-9b19-8c9093b0d047 / ext4 defaults 0 1
# /boot/efi was on /dev/nvme1n1p1 during curtin installation
/dev/disk/by-uuid/4485-0F5E /boot/efi vfat defaults 0 1
New mount points for all partitions
The /etc/fstab in Ubuntu 24.04.1 (nvme1n1p3) is
missing all the other partitions currently in use, and
includes a swap file that is unnecessary in a system with
32 GB of RAM:
Because this PC has been collecting hard drives over the years, there are many additional partitions in use:
# df -h | head -1; df -h | grep -E 'nvme|sd.'
Filesystem Size Used Avail Use% Mounted on
/dev/nvme0n1p6 74G 49G 21G 71% /
/dev/nvme0n1p4 300M 6.1M 294M 3% /boot/efi
/dev/nvme0n1p5 1.7T 1.1T 655G 62% /home
/dev/sdb 3.7T 2.1T 1.6T 57% /home/new-ssd
/dev/sdc 3.7T 2.9T 833G 78% /home/ssd
/dev/nvme1n1p4 3.5T 2.5T 1.1T 71% /home/new-m2
/dev/sda 5.5T 5.1T 370G 94% /home/raid
/dev/nvme1n1p3 74G 22G 49G 31% /noble
For just about the same reason, there are also several symlinks strategically pointing from where thigns used to be to where they are now:
# ls -l /home/
total 80
lrwxrwxrwx 1 root root 17 Sep 24 2022 depot -> /home/raid/depot/
lrwxrwxrwx 1 root root 16 May 12 19:37 k8s -> /home/new-m2/k8s
lrwxrwxrwx 1 root root 16 May 12 10:02 lib -> /home/new-m2/lib
# ls -l /home/raid/depot/[av]*
lrwxrwxrwx 1 coder coder 16 Aug 20 2023 /home/raid/depot/audio -> /home/raid/audio
lrwxrwxrwx 1 coder coder 16 Aug 20 2023 /home/raid/depot/video -> /home/raid/video
# ls -l /home/new-ssd/video
lrwxrwxrwx 1 root root 16 Aug 20 2023 /home/new-ssd/video -> /home/raid/video
In the future daily driver, the old 2TB NVME should not be used, so it can be replaced later by a newer 4TB disk.
To that effect, all data in /dev/nvme0n1p5 must be
copied over to /dev/nvme1n1p4 and in fact most of it
is already there. There are only a few users' home
directories and empty directories (mount points):
# du -sh /home/*
952G /home/coder
18G /home/ernest
134G /home/manuel
1.5G /home/minecraft
44K /home/sam
# du -sh /home/new-m2/*
952G /home/new-m2/coder
18G /home/new-m2/ernest
1.5T /home/new-m2/Fotos
26G /home/new-m2/k8s
35G /home/new-m2/lib
134G /home/new-m2/manuel
1.5G /home/new-m2/minecraft
44K /home/new-m2/sam
# cd /home/new-m2/
root@rapture:/home/new-m2# mkdir new-ssd raid ssd
Boot cloned Ubuntu Studio 22.04 without old NVME
As an intermediate step to booting the new Ubuntu Studio
24.04 later, boot the newly cloned Ubuntu Studio 22.04
in nvme1n1p3 without mounting the old NVME.
With the above preparetions done in the new NVME, this
should be as simple as mounting the new NVME on
/home and simply not mounting the old NVME:
# Previous-new (June 2022) 2TB NVME SSD (/home)
#UUID=18238846-d411-4dcb-af87-a2d19a17fef3 /home btrfs defaults,noatime,autodefrag,discard,compress=lzo 0 0
# New-new 4TB M.2 SSD (newer /home; previously /home/new-m2)
UUID=8edfc3ba-4981-4423-8730-7e229bfa63f3 /home btrfs defaults 0 0
Reboot into the newly cloned Ubuntu Studio 22.04 and check that everything works as usual. This would be the first green light to removing the old 2TB NVME disk from the system.
Despite booting from the new bootloader in the 4TB NVME the Ubuntu Studio 22.04.5 on /dev/nvme1n1p2 option, somehow the system boots the old old root:
$ df-h
Filesystem Size Used Avail Use% Mounted on
/dev/nvme0n1p6 74G 49G 22G 70% /
/dev/nvme0n1p2 50G 27G 21G 57% /jellyfish
/dev/nvme0n1p4 300M 6.1M 294M 3% /boot/efi
/dev/nvme0n1p5 1.7T 1.1T 655G 62% /home
/dev/sdc 3.7T 2.9T 833G 78% /home/ssd
/dev/sdb 3.7T 2.1T 1.6T 57% /home/new-ssd
/dev/nvme1n1p4 3.5T 2.7T 887G 76% /home/new-m2
/dev/sda 5.5T 5.1T 370G 94% /home/raid
The bootloader entry specifies the root file system as
409501ea-d63d-49b2-bd45-3b876404dc53 but it boots on
de317ca5-96dd-49a7-b72b-4bd050a8d15c; despite the
correct UUID in the new /etc/fstab.
The problem is in precisely this entry in the boot
loader, as is the only one that boots the kernel with
the wrong root= parameter. This can be confirmed in the
bootloader by pressing e after selecting the entry to
boot the newly cloned Ubuntu 22.04:
setparams 'Ubuntu 22.04.5 LTS (22.04) (on /dev/nvme1n1p2)'
insmod part_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root 409501ea-d63d-49b2-bd45-3b876404dc53
linux /boot/vmlinuz-5.15.0-124-lowlatency root=UUID=de317ca5-96dd-49a7-b72b-4bd050a8d15c ro threadirqs noquiet nosplash
initrd /boot/initrd.img-5.15.0-124-lowlatency
There is why the kernel is mounting the root from the old NMVE:
the UUID in the search line is the desired root, the newly
cloned 22.04 in the 4TB NVME, but the linux line is pointing
to the old root in the 2TB NVME. Editing this value and then
pressing Ctrl+x finally boots into the newly cloned 22.04
and the old 2TB NVMe is not mounted or used at all:
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/nvme1n1p2 74G 51G 19G 74% /
/dev/nvme1n1p1 259M 6.2M 253M 3% /boot/efi
/dev/nvme1n1p4 3.5T 2.7T 887G 76% /home
/dev/sdc 3.7T 2.9T 833G 78% /home/ssd
/dev/sdb 3.7T 2.1T 1.6T 57% /home/new-ssd
/dev/sda 5.5T 5.1T 370G 94% /home/raid
To make this change permanent, the answer (from 2019) in
askubuntu.com/a/1140397
seems to suggest that simply running sudo update-grub would
pick up the correct root. This would make sense, but perhaps
would be better to do it from the new 24.04 system. Perhaps
the old root UUID has been left somewhere in the new root UUID,
which would be updated by now.
So the next move is to boot the new 24.04 system, but before
doing that its /etc/fstab needs to be updated to add the
additional partitions in the old SATA disks.
First, lets add the 24.04 root as a read-only mount:
# vi /etc/fstab
...
# NEW Ubuntu Studio 24.04 root (nvme1n1p3)
UUID=1d30a16e-b4f6-4459-9b19-8c9093b0d047 /noble ext4 defaults,ro 0 0
Then update its /etc/fstab after remounting as read-write:
Finally, comment out the line for the swap file (/swap.img),
because that won't be necessary in a system with 32GB of RAM,
and add a line to mount the newly clone 22.04 as read-only:
# mkdir /noble/jammy
# vi /noble/etc/fstab
...
# Ubuntu Studio 22.04 root (ro)
UUID=409501ea-d63d-49b2-bd45-3b876404dc53 /jammy ext4 defaults,ro 0 0
With all these adjustments, after booting into the new Ubuntu Studio 24.04 this should be what is mounted:
# df -h | head -1; df -h | grep -E 'nvme|sd.'
Filesystem Size Used Avail Use% Mounted on
/dev/nvme1n1p3 74G 22G 49G 31% /
/dev/nvme1n1p1 300M 6.1M 294M 3% /boot/efi
/dev/nvme1n1p4 3.5T 2.5T 1.1T 71% /home/
/dev/sdb 3.7T 2.1T 1.6T 57% /home/new-ssd
/dev/sdc 3.7T 2.9T 833G 78% /home/ssd
/dev/sda 5.5T 5.1T 370G 94% /home/raid
/dev/nvme1n1p2 74G 51G 19G 74% /jammy
And then it will be a better time to run sudo update-grub
to hopefully pick up the correct root for the new 22.04.
First boot into Ubuntu Studio 24.04
The first time booting into the new system, right after login for the first time an additional reboot is required for the Ubuntu Studio Audio Configuration.
After rebooting again, df shows partitions are mounted like this:
# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 3.2G 2.6M 3.2G 1% /run
/dev/nvme1n1p3 74G 22G 48G 32% /
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 5.0M 24K 5.0M 1% /run/lock
efivarfs 128K 51K 73K 42% /sys/firmware/efi/efivars
/dev/nvme1n1p2 74G 51G 19G 74% /jammy
/dev/nvme1n1p1 259M 6.2M 253M 3% /boot/efi
/dev/nvme1n1p4 3.5T 2.7T 887G 76% /home
/dev/sdb 3.7T 2.1T 1.6T 57% /home/new-ssd
/dev/sdc 3.7T 2.9T 833G 78% /home/ssd
/dev/sda 5.5T 5.1T 370G 94% /home/raid
tmpfs 3.2G 136K 3.2G 1% /run/user/1000
Fix boot for cloned Ubuntu Studio 22.04
Contrary to initial expectaions, running sudo update-grub on the
new 24.04 system did not help fix the root UUID for nvme1n1p2;
it actually unfixed the one that was correct!
Instead, it is necessary to edit /boot/grub/grub.cfg as
suggested in https://superuser.com/a/485763 and replace
nvme0n1p6 UUID with that of nvme1n1p2 for all entries
under the name Ubuntu 22.04.5 LTS (22.04) (on /dev/nvme1n1p2)
and then simply reboot. This does lead to the new old
system (22.04 in the new NVME) to boot correctly and df -h
shows the desired partitions mounted:
$ df-h
Filesystem Size Used Avail Use% Mounted on
/dev/nvme1n1p2 74G 51G 19G 73% /
/dev/nvme1n1p1 259M 6.2M 253M 3% /boot/efi
/dev/nvme1n1p3 74G 24G 47G 34% /noble
/dev/nvme1n1p4 3.5T 2.7T 886G 76% /home
/dev/sdc 3.7T 2.9T 833G 78% /home/ssd
/dev/sdb 3.7T 2.1T 1.6T 57% /home/new-ssd
/dev/sda 5.5T 5.1T 370G 94% /home/raid
Warning
Running sudo update-grub will unfix the root UUID for
nvme1n1p2 again; and this will happen each time a new
kernel is installed.
Once the new old 22.04 system is reliably bootable, it can be left alone as a fallback system, and continue setting up the new one.
Multiple IPs on LAN
Connecting to the local wired network provides a dynamic IP address that may change over time, but it is more convenient to have fixed IP addresses. Moreover, the DHCP range is shared with the wireless network, we want to have an additional wired-only LAN and set both IP addresses on the same NIC.
To this effect, copy /etc/netplan/01-network-manager-all.yaml from
the old system, change the network interface name if different (run
ip a to check) and apply the changes with netplan apply:
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 04:42:1a:97:4e:47 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.2/24 brd 192.168.0.255 scope global dynamic noprefixroute enp5s0
valid_lft 78508sec preferred_lft 78508sec
inet6 fe80::642:1aff:fe97:4e47/64 scope link
valid_lft forever preferred_lft forever
Network interface is enp5s0;
# chmod 400 /etc/netplan/01-network-manager-all.yaml
# netplan apply
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 04:42:1a:97:4e:47 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.2/24 brd 10.0.0.255 scope global enp5s0
valid_lft forever preferred_lft forever
inet 192.168.0.2/24 metric 100 brd 192.168.0.255 scope global dynamic enp5s0
valid_lft 86382sec preferred_lft 86382sec
SSH Server
Ubuntu Studio doesn't enable the SSH server by default, but we want this to adjust the system remotely:
# apt install ssh -y
# sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
# systemctl enable --now ssh
Note
Remember to copy over files under /root from previous system/s, in case
it contains useful scripts (and/or SSH keys worth keeping under .ssh).
/etc/hosts
Having the old system's root partition mounted (see above),
copy over /etc/hosts so that connections to local hosts work as
smoothly as in the old system (e.g. for
Continuous Monitoring).
Better yet, append the old /etc/hosts to the new one, then
edit the new one to remove redundant lines. There are a few
interesting lines in the new one:
# Standard host addresses
127.0.0.1 localhost
127.0.1.1 rapture
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Install Essential Packages
Start by installing a few essential packages:
# apt install gdebi-core wget gkrellm vim curl gkrellm-leds \
gkrellm-xkb gkrellm-cpufreq geeqie playonlinux exfat-fuse \
clementine id3v2 htop vnstat neofetch tigervnc-viewer sox \
scummvm wine gamemode python-is-python3 exiv2 rename scrot \
speedtest-cli xcalib python3-pip netcat-openbsd jstest-gtk \
etherwake python3-selenium lm-sensors sysstat tor unrar \
ttf-mscorefonts-installer winetricks icc-profiles ffmpeg \
iotop-c xdotool redshift-qt inxi vainfo vdpauinfo mpv xsane \
tigervnc-tools screen lutris libxxf86vm-dev displaycal \
python3-absl python3-unidecode -y
After installing these, Redshift is immediately available.
Even before installing any packages KDE Connect is already running, which comes in very handy if it was already setup.
At this point a reboot should not be necessary.
Install Additional Software
Brave browser
Install from the Release Channel:
# curl -fsSLo \
/usr/share/keyrings/brave-browser-archive-keyring.gpg \
https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
# echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main" \
| tee /etc/apt/sources.list.d/brave-browser-release.list
# apt update && apt install brave-browser -y
Google Chrome
Installing Google Chrome is as simple as downloading the Debian package and installing it:
ActivityWatch
As soon as Chrome is started, the ActivityWatch extension complains that it can't connect to the server, because it only runs locally.
Install the latest version of ActivityWatch
and then run /opt/activitywatch/aw-qt manually once.
This should already be in the Autostart settings, if it was
setup previously, so it only needs to be run manually this once.
Steam
Snap package (removed)
Installing Steam from Snap couldn't be simpler:
This snapcraft.io/steam package is provided by Canonical.
When runing the Steam client for the first time, a pop-up shows up advising to install additional 32-bit drivers for best experience
# apt install libnvidia-gl-550:i386 -y
# dpkg --add-architecture i386
# apt update
# apt install libnvidia-gl-550:i386 -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
gcc-14-base:i386 libbsd0:i386 libc6:i386 libdrm2:i386 libffi8:i386 libgcc-s1:i386 libidn2-0:i386 libmd0:i386
libnvidia-egl-wayland1:i386 libunistring5:i386 libwayland-client0:i386 libwayland-server0:i386 libx11-6:i386
libxau6:i386 libxcb1:i386 libxdmcp6:i386 libxext6:i386
Suggested packages:
glibc-doc:i386 locales:i386 libnss-nis:i386 libnss-nisplus:i386
The following NEW packages will be installed:
gcc-14-base:i386 libbsd0:i386 libc6:i386 libdrm2:i386 libffi8:i386 libgcc-s1:i386 libidn2-0:i386 libmd0:i386
libnvidia-egl-wayland1:i386 libnvidia-gl-550:i386 libunistring5:i386 libwayland-client0:i386 libwayland-server0:i386
libx11-6:i386 libxau6:i386 libxcb1:i386 libxdmcp6:i386 libxext6:i386
0 upgraded, 18 newly installed, 0 to remove and 6 not upgraded.
It should also be possible to install the official Steam client, with
the non-snap alternative.
This doesn't seems necessary anymore.
News
After repeating this process in Raven and finding out how badly it messes with installed games, I came back to Rapture to Remove Steam Snap, Install Steam Again and also install the latest Glorious Eggroll, if only because it was so easy in Raven.
Remove Steam Snap
Removing steam snap can take a long time because, as explained
here,
by default on snap remove, snapd creates a snapshot of the data and
keeps it around for 31 days. This can take a long time for Steam.
To avoid this, follow these steps
to disable the snapshot before removing Steam:
# snap changes
ID Status Spawn Ready Summary
25 Done today at 13:42 CET today at 13:42 CET Auto-refresh snap "chromium"
# snap set core snapshots.automatic.retention=no
# snap remove steam
steam removed
Install Steam Again
Now, instead of repeating the steps used to install Steam in Ubuntu Studio 22.04, this time I installed the longer list of packages found to be required by Steam in Ubuntu Studio 22.04:
# apt install libglx-mesa0:i386 libc6:amd64 libc6:i386 \
libegl1:amd64 libegl1:i386 libgbm1:amd64 libgbm1:i386 \
libgl1-mesa-dri:amd64 libgl1-mesa-dri:i386 libgl1:amd64 \
libgl1:i386 steam-libs-amd64:amd64 steam-libs-i386:i386 -y
# apt install libnvidia-gl-550:i386 -y
# apt install libglx-mesa0:i386 libc6:amd64 libc6:i386 \
libegl1:amd64 libegl1:i386 libgbm1:amd64 libgbm1:i386 \
libgl1-mesa-dri:amd64 libgl1-mesa-dri:i386 libgl1:amd64 \
libgl1:i386 steam-libs-amd64:amd64 steam-libs-i386:i386 -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'steam-libs' instead of 'steam-libs-amd64'
libc6 is already the newest version (2.39-0ubuntu8.3).
libc6 set to manually installed.
libc6:i386 is already the newest version (2.39-0ubuntu8.3).
libc6:i386 set to manually installed.
libegl1 is already the newest version (1.7.0-1build1).
libegl1 set to manually installed.
libgbm1 is already the newest version (24.0.9-0ubuntu0.3).
libgbm1 set to manually installed.
libgl1-mesa-dri is already the newest version (24.0.9-0ubuntu0.3).
libgl1-mesa-dri set to manually installed.
libgl1 is already the newest version (1.7.0-1build1).
libgl1 set to manually installed.
The following additional packages will be installed:
i965-va-driver:i386 intel-media-va-driver:i386 libaom3:i386
libapparmor1:i386 libasound2-plugins:i386 libasound2t64:i386
libasyncns0:i386 libatk-bridge2.0-0t64:i386 libatk1.0-0t64:i386
libatspi2.0-0t64:i386 libavahi-client3:i386
libavahi-common-data:i386 libavahi-common3:i386 libavcodec60:i386
libavutil58:i386 libblkid1:i386 libbrotli1:i386 libbz2-1.0:i386
libcairo-gobject2:i386 libcairo2:i386 libcap2:i386
libcodec2-1.2:i386 libcolord2:i386 libcom-err2:i386 libcrypt1:i386
libcups2t64:i386 libdatrie1:i386 libdav1d7:i386 libdb5.3t64:i386
libdbus-1-3:i386 libdecor-0-0:i386 libdecor-0-plugin-1-gtk:i386
libdeflate0:i386 libdrm-intel1:i386 libdrm-nouveau2:i386
libdrm-radeon1:i386 libegl-mesa0:i386 libepoxy0:i386
libflac12t64:i386 libfontconfig1:i386 libfreetype6:i386
libfribidi0:i386 libgcrypt20:i386 libgdk-pixbuf-2.0-0:i386
libglapi-mesa:i386 libglib2.0-0t64:i386 libglvnd0:i386 libglx0:i386
libgmp10:i386 libgnutls30t64:i386 libgomp1:i386 libgpg-error0:i386
libgraphite2-3:i386 libgsm1:i386 libgssapi-krb5-2:i386
libgtk-3-0t64:i386 libharfbuzz0b:i386 libhogweed6t64:i386
libigdgmm12:i386 libjack-jackd2-0:i386 libjbig0:i386
libjpeg-turbo8:i386 libjpeg8:i386 libk5crypto3:i386
libkeyutils1:i386 libkrb5-3:i386 libkrb5support0:i386
liblcms2-2:i386 liblz4-1:i386 libmount1:i386 libmp3lame0:i386
libmpg123-0t64:i386 libnettle8t64:i386 libnm0:i386 libnuma1:i386
libogg0:i386 libopenjp2-7:i386 libopus0:i386 libp11-kit0:i386
libpango-1.0-0:i386 libpangocairo-1.0-0:i386 libpangoft2-1.0-0:i386
libpciaccess0:i386 libpcre2-8-0:i386 libpixman-1-0:i386
libpng16-16t64:i386 libpulse0:i386 librsvg2-2:i386
librsvg2-common:i386 libsamplerate0:i386 libsdl2-2.0-0:i386
libselinux1:i386 libsensors5:i386 libsharpyuv0:i386 libshine3:i386
libsnappy1v5:i386 libsndfile1:i386 libsoxr0:i386 libspeex1:i386
libspeexdsp1:i386 libssl3t64:i386 libsvtav1enc1d1:i386
libswresample4:i386 libsystemd0:i386 libtasn1-6:i386 libthai0:i386
libtheora0:i386 libtiff6:i386 libtwolame0:i386 libudev1:i386
libusb-1.0-0:i386 libva-drm2:i386 libva-glx2 libva-glx2:i386
libva-x11-2:i386 libva2:i386 libvdpau1:i386 libvorbis0a:i386
libvorbisenc2:i386 libvpx9:i386 libwayland-cursor0:i386
libwayland-egl1:i386 libwebp7:i386 libwebpmux3:i386 libx264-164:i386
libx265-199:i386 libxcb-dri2-0:i386 libxcb-glx0:i386
libxcb-render0:i386 libxcomposite1:i386 libxcursor1:i386
libxdamage1:i386 libxfixes3:i386 libxi6:i386 libxinerama1:i386
libxkbcommon0:i386 libxrandr2:i386 libxrender1:i386 libxss1:i386
libxvidcore4:i386 libxxf86vm1:i386 libzvbi0t64:i386
mesa-va-drivers:i386 mesa-vdpau-drivers:i386 ocl-icd-libopencl1:i386
steam-devices steam-libs:i386 va-driver-all:i386
vdpau-driver-all:i386 xterm
Suggested packages:
i965-va-driver-shaders:i386 libcuda1:i386 libnvcuvid1:i386
libnvidia-encode1:i386 rng-tools:i386 low-memory-monitor:i386
krb5-doc:i386 krb5-user:i386 gvfs:i386 jackd2:i386 opus-tools:i386
pulseaudio:i386 lm-sensors:i386 speex:i386 opencl-icd:i386
steam-installer libudev0 nvidia-driver-libs nvidia-vulkan-icd
gtk2-engines-pixbuf:i386 libgtk2.0-0:i386 libudev0:i386
nvidia-driver-libs:i386 nvidia-vulkan-icd:i386 pipewire:i386
libvdpau-va-gl1:i386 xfonts-cyrillic
Recommended packages:
libgl1-amber-dri:i386 luit | x11-utils
The following NEW packages will be installed:
i965-va-driver:i386 intel-media-va-driver:i386 libaom3:i386
libapparmor1:i386 libasound2-plugins:i386 libasound2t64:i386
libasyncns0:i386 libatk-bridge2.0-0t64:i386 libatk1.0-0t64:i386
libatspi2.0-0t64:i386 libavahi-client3:i386
libavahi-common-data:i386 libavahi-common3:i386 libavcodec60:i386
libavutil58:i386 libblkid1:i386 libbrotli1:i386 libbz2-1.0:i386
libcairo-gobject2:i386 libcairo2:i386 libcap2:i386
libcodec2-1.2:i386 libcolord2:i386 libcom-err2:i386 libcrypt1:i386
libcups2t64:i386 libdatrie1:i386 libdav1d7:i386 libdb5.3t64:i386
libdbus-1-3:i386 libdecor-0-0:i386 libdecor-0-plugin-1-gtk:i386
libdeflate0:i386 libdrm-intel1:i386 libdrm-nouveau2:i386
libdrm-radeon1:i386 libegl-mesa0:i386 libegl1:i386 libepoxy0:i386
libflac12t64:i386 libfontconfig1:i386 libfreetype6:i386
libfribidi0:i386 libgbm1:i386 libgcrypt20:i386
libgdk-pixbuf-2.0-0:i386 libgl1:i386 libgl1-mesa-dri:i386
libglapi-mesa:i386 libglib2.0-0t64:i386 libglvnd0:i386
libglx-mesa0:i386 libglx0:i386 libgmp10:i386 libgnutls30t64:i386
libgomp1:i386 libgpg-error0:i386 libgraphite2-3:i386 libgsm1:i386
libgssapi-krb5-2:i386 libgtk-3-0t64:i386 libharfbuzz0b:i386
libhogweed6t64:i386 libigdgmm12:i386 libjack-jackd2-0:i386
libjbig0:i386 libjpeg-turbo8:i386 libjpeg8:i386 libk5crypto3:i386
libkeyutils1:i386 libkrb5-3:i386 libkrb5support0:i386
liblcms2-2:i386 liblz4-1:i386 libmount1:i386 libmp3lame0:i386
libmpg123-0t64:i386 libnettle8t64:i386 libnm0:i386 libnuma1:i386
libogg0:i386 libopenjp2-7:i386 libopus0:i386 libp11-kit0:i386
libpango-1.0-0:i386 libpangocairo-1.0-0:i386 libpangoft2-1.0-0:i386
libpciaccess0:i386 libpcre2-8-0:i386 libpixman-1-0:i386
libpng16-16t64:i386 libpulse0:i386 librsvg2-2:i386
librsvg2-common:i386 libsamplerate0:i386 libsdl2-2.0-0:i386
libselinux1:i386 libsensors5:i386 libsharpyuv0:i386 libshine3:i386
libsnappy1v5:i386 libsndfile1:i386 libsoxr0:i386 libspeex1:i386
libspeexdsp1:i386 libssl3t64:i386 libsvtav1enc1d1:i386
libswresample4:i386 libsystemd0:i386 libtasn1-6:i386 libthai0:i386
libtheora0:i386 libtiff6:i386 libtwolame0:i386 libudev1:i386
libusb-1.0-0:i386 libva-drm2:i386 libva-glx2 libva-glx2:i386
libva-x11-2:i386 libva2:i386 libvdpau1:i386 libvorbis0a:i386
libvorbisenc2:i386 libvpx9:i386 libwayland-cursor0:i386
libwayland-egl1:i386 libwebp7:i386 libwebpmux3:i386 libx264-164:i386
libx265-199:i386 libxcb-dri2-0:i386 libxcb-glx0:i386
libxcb-render0:i386 libxcomposite1:i386 libxcursor1:i386
libxdamage1:i386 libxfixes3:i386 libxi6:i386 libxinerama1:i386
libxkbcommon0:i386 libxrandr2:i386 libxrender1:i386 libxss1:i386
libxvidcore4:i386 libxxf86vm1:i386 libzvbi0t64:i386
mesa-va-drivers:i386 mesa-vdpau-drivers:i386 ocl-icd-libopencl1:i386
steam-devices steam-libs steam-libs:i386 steam-libs-i386:i386
va-driver-all:i386 vdpau-driver-all:i386 xterm
0 upgraded, 157 newly installed, 0 to remove and 3 not upgraded.
Need to get 72.1 MB of archives.
After this operation, 228 MB of additional disk space will be used.
Fetched 72.1 MB in 4s (19.5 MB/s)
Extracting templates from packages: 100%
Selecting previously unselected package libblkid1:i386.
(Reading database ... 487873 files and directories currently installed.)
Preparing to unpack .../000-libblkid1_2.39.3-9ubuntu6.1_i386.deb ...
Unpacking libblkid1:i386 (2.39.3-9ubuntu6.1) ...
Selecting previously unselected package libbz2-1.0:i386.
Preparing to unpack .../001-libbz2-1.0_1.0.8-5.1build0.1_i386.deb ...
Unpacking libbz2-1.0:i386 (1.0.8-5.1build0.1) ...
Selecting previously unselected package libcap2:i386.
Preparing to unpack .../002-libcap2_1%3a2.66-5ubuntu2_i386.deb ...
Unpacking libcap2:i386 (1:2.66-5ubuntu2) ...
Selecting previously unselected package libcom-err2:i386.
Preparing to unpack .../003-libcom-err2_1.47.0-2.4~exp1ubuntu4.1_i386.deb ...
Unpacking libcom-err2:i386 (1.47.0-2.4~exp1ubuntu4.1) ...
Selecting previously unselected package libcrypt1:i386.
Preparing to unpack .../004-libcrypt1_1%3a4.4.36-4build1_i386.deb ...
Unpacking libcrypt1:i386 (1:4.4.36-4build1) ...
Selecting previously unselected package libgpg-error0:i386.
Preparing to unpack .../005-libgpg-error0_1.47-3build2_i386.deb ...
Unpacking libgpg-error0:i386 (1.47-3build2) ...
Selecting previously unselected package libgcrypt20:i386.
Preparing to unpack .../006-libgcrypt20_1.10.3-2build1_i386.deb ...
Unpacking libgcrypt20:i386 (1.10.3-2build1) ...
Selecting previously unselected package libgmp10:i386.
Preparing to unpack .../007-libgmp10_2%3a6.3.0+dfsg-2ubuntu6_i386.deb ...
Unpacking libgmp10:i386 (2:6.3.0+dfsg-2ubuntu6) ...
Selecting previously unselected package liblz4-1:i386.
Preparing to unpack .../008-liblz4-1_1.9.4-1build1.1_i386.deb ...
Unpacking liblz4-1:i386 (1.9.4-1build1.1) ...
Selecting previously unselected package libpcre2-8-0:i386.
Preparing to unpack .../009-libpcre2-8-0_10.42-4ubuntu2_i386.deb ...
Unpacking libpcre2-8-0:i386 (10.42-4ubuntu2) ...
Selecting previously unselected package libselinux1:i386.
Preparing to unpack .../010-libselinux1_3.5-2ubuntu2_i386.deb ...
Unpacking libselinux1:i386 (3.5-2ubuntu2) ...
Selecting previously unselected package libmount1:i386.
Preparing to unpack .../011-libmount1_2.39.3-9ubuntu6.1_i386.deb ...
Unpacking libmount1:i386 (2.39.3-9ubuntu6.1) ...
Selecting previously unselected package libssl3t64:i386.
Preparing to unpack .../012-libssl3t64_3.0.13-0ubuntu3.4_i386.deb ...
Unpacking libssl3t64:i386 (3.0.13-0ubuntu3.4) ...
Selecting previously unselected package libsystemd0:i386.
Preparing to unpack .../013-libsystemd0_255.4-1ubuntu8.4_i386.deb ...
Unpacking libsystemd0:i386 (255.4-1ubuntu8.4) ...
Selecting previously unselected package libudev1:i386.
Preparing to unpack .../014-libudev1_255.4-1ubuntu8.4_i386.deb ...
Unpacking libudev1:i386 (255.4-1ubuntu8.4) ...
Selecting previously unselected package libapparmor1:i386.
Preparing to unpack .../015-libapparmor1_4.0.1really4.0.1-0ubuntu0.24.04.3_i386.deb ...
Unpacking libapparmor1:i386 (4.0.1really4.0.1-0ubuntu0.24.04.3) ...
Selecting previously unselected package libdb5.3t64:i386.
Preparing to unpack .../016-libdb5.3t64_5.3.28+dfsg2-7_i386.deb ...
Unpacking libdb5.3t64:i386 (5.3.28+dfsg2-7) ...
Selecting previously unselected package libdbus-1-3:i386.
Preparing to unpack .../017-libdbus-1-3_1.14.10-4ubuntu4.1_i386.deb ...
Unpacking libdbus-1-3:i386 (1.14.10-4ubuntu4.1) ...
Selecting previously unselected package libfribidi0:i386.
Preparing to unpack .../018-libfribidi0_1.0.13-3build1_i386.deb ...
Unpacking libfribidi0:i386 (1.0.13-3build1) ...
Selecting previously unselected package libglib2.0-0t64:i386.
Preparing to unpack .../019-libglib2.0-0t64_2.80.0-6ubuntu3.2_i386.deb ...
Unpacking libglib2.0-0t64:i386 (2.80.0-6ubuntu3.2) ...
Selecting previously unselected package libnettle8t64:i386.
Preparing to unpack .../020-libnettle8t64_3.9.1-2.2build1.1_i386.deb ...
Unpacking libnettle8t64:i386 (3.9.1-2.2build1.1) ...
Selecting previously unselected package libhogweed6t64:i386.
Preparing to unpack .../021-libhogweed6t64_3.9.1-2.2build1.1_i386.deb ...
Unpacking libhogweed6t64:i386 (3.9.1-2.2build1.1) ...
Selecting previously unselected package libp11-kit0:i386.
Preparing to unpack .../022-libp11-kit0_0.25.3-4ubuntu2.1_i386.deb ...
Unpacking libp11-kit0:i386 (0.25.3-4ubuntu2.1) ...
Selecting previously unselected package libtasn1-6:i386.
Preparing to unpack .../023-libtasn1-6_4.19.0-3build1_i386.deb ...
Unpacking libtasn1-6:i386 (4.19.0-3build1) ...
Selecting previously unselected package libgnutls30t64:i386.
Preparing to unpack .../024-libgnutls30t64_3.8.3-1.1ubuntu3.2_i386.deb ...
Unpacking libgnutls30t64:i386 (3.8.3-1.1ubuntu3.2) ...
Selecting previously unselected package libkrb5support0:i386.
Preparing to unpack .../025-libkrb5support0_1.20.1-6ubuntu2.2_i386.deb ...
Unpacking libkrb5support0:i386 (1.20.1-6ubuntu2.2) ...
Selecting previously unselected package libk5crypto3:i386.
Preparing to unpack .../026-libk5crypto3_1.20.1-6ubuntu2.2_i386.deb ...
Unpacking libk5crypto3:i386 (1.20.1-6ubuntu2.2) ...
Selecting previously unselected package libkeyutils1:i386.
Preparing to unpack .../027-libkeyutils1_1.6.3-3build1_i386.deb ...
Unpacking libkeyutils1:i386 (1.6.3-3build1) ...
Selecting previously unselected package libkrb5-3:i386.
Preparing to unpack .../028-libkrb5-3_1.20.1-6ubuntu2.2_i386.deb ...
Unpacking libkrb5-3:i386 (1.20.1-6ubuntu2.2) ...
Selecting previously unselected package libgssapi-krb5-2:i386.
Preparing to unpack .../029-libgssapi-krb5-2_1.20.1-6ubuntu2.2_i386.deb ...
Unpacking libgssapi-krb5-2:i386 (1.20.1-6ubuntu2.2) ...
Selecting previously unselected package libnuma1:i386.
Preparing to unpack .../030-libnuma1_2.0.18-1build1_i386.deb ...
Unpacking libnuma1:i386 (2.0.18-1build1) ...
Selecting previously unselected package libpng16-16t64:i386.
Preparing to unpack .../031-libpng16-16t64_1.6.43-5build1_i386.deb ...
Unpacking libpng16-16t64:i386 (1.6.43-5build1) ...
Selecting previously unselected package libsensors5:i386.
Preparing to unpack .../032-libsensors5_1%3a3.6.0-9build1_i386.deb ...
Unpacking libsensors5:i386 (1:3.6.0-9build1) ...
Selecting previously unselected package libusb-1.0-0:i386.
Preparing to unpack .../033-libusb-1.0-0_2%3a1.0.27-1_i386.deb ...
Unpacking libusb-1.0-0:i386 (2:1.0.27-1) ...
Selecting previously unselected package libxkbcommon0:i386.
Preparing to unpack .../034-libxkbcommon0_1.6.0-1build1_i386.deb ...
Unpacking libxkbcommon0:i386 (1.6.0-1build1) ...
Selecting previously unselected package libva2:i386.
Preparing to unpack .../035-libva2_2.20.0-2build1_i386.deb ...
Unpacking libva2:i386 (2.20.0-2build1) ...
Selecting previously unselected package libigdgmm12:i386.
Preparing to unpack .../036-libigdgmm12_22.3.17+ds1-1_i386.deb ...
Unpacking libigdgmm12:i386 (22.3.17+ds1-1) ...
Selecting previously unselected package intel-media-va-driver:i386.
Preparing to unpack .../037-intel-media-va-driver_24.1.0+dfsg1-1_i386.deb ...
Unpacking intel-media-va-driver:i386 (24.1.0+dfsg1-1) ...
Selecting previously unselected package libaom3:i386.
Preparing to unpack .../038-libaom3_3.8.2-2ubuntu0.1_i386.deb ...
Unpacking libaom3:i386 (3.8.2-2ubuntu0.1) ...
Selecting previously unselected package libasound2t64:i386.
Preparing to unpack .../039-libasound2t64_1.2.11-1build2_i386.deb ...
Unpacking libasound2t64:i386 (1.2.11-1build2) ...
Selecting previously unselected package libva-drm2:i386.
Preparing to unpack .../040-libva-drm2_2.20.0-2build1_i386.deb ...
Unpacking libva-drm2:i386 (2.20.0-2build1) ...
Selecting previously unselected package libxfixes3:i386.
Preparing to unpack .../041-libxfixes3_1%3a6.0.0-2build1_i386.deb ...
Unpacking libxfixes3:i386 (1:6.0.0-2build1) ...
Selecting previously unselected package libva-x11-2:i386.
Preparing to unpack .../042-libva-x11-2_2.20.0-2build1_i386.deb ...
Unpacking libva-x11-2:i386 (2.20.0-2build1) ...
Selecting previously unselected package libvdpau1:i386.
Preparing to unpack .../043-libvdpau1_1.5-2build1_i386.deb ...
Unpacking libvdpau1:i386 (1.5-2build1) ...
Selecting previously unselected package ocl-icd-libopencl1:i386.
Preparing to unpack .../044-ocl-icd-libopencl1_2.3.2-1build1_i386.deb ...
Unpacking ocl-icd-libopencl1:i386 (2.3.2-1build1) ...
Selecting previously unselected package libavutil58:i386.
Preparing to unpack .../045-libavutil58_7%3a6.1.1-3ubuntu5+esm2_i386.deb ...
Unpacking libavutil58:i386 (7:6.1.1-3ubuntu5+esm2) ...
Selecting previously unselected package libbrotli1:i386.
Preparing to unpack .../046-libbrotli1_1.1.0-2build2_i386.deb ...
Unpacking libbrotli1:i386 (1.1.0-2build2) ...
Selecting previously unselected package libfreetype6:i386.
Preparing to unpack .../047-libfreetype6_2.13.2+dfsg-1build3_i386.deb ...
Unpacking libfreetype6:i386 (2.13.2+dfsg-1build3) ...
Selecting previously unselected package libfontconfig1:i386.
Preparing to unpack .../048-libfontconfig1_2.15.0-1.1ubuntu2_i386.deb ...
Unpacking libfontconfig1:i386 (2.15.0-1.1ubuntu2) ...
Selecting previously unselected package libpixman-1-0:i386.
Preparing to unpack .../049-libpixman-1-0_0.42.2-1build1_i386.deb ...
Unpacking libpixman-1-0:i386 (0.42.2-1build1) ...
Selecting previously unselected package libxcb-render0:i386.
Preparing to unpack .../050-libxcb-render0_1.15-1ubuntu2_i386.deb ...
Unpacking libxcb-render0:i386 (1.15-1ubuntu2) ...
Selecting previously unselected package libxrender1:i386.
Preparing to unpack .../051-libxrender1_1%3a0.9.10-1.1build1_i386.deb ...
Unpacking libxrender1:i386 (1:0.9.10-1.1build1) ...
Selecting previously unselected package libcairo2:i386.
Preparing to unpack .../052-libcairo2_1.18.0-3build1_i386.deb ...
Unpacking libcairo2:i386 (1.18.0-3build1) ...
Selecting previously unselected package libcodec2-1.2:i386.
Preparing to unpack .../053-libcodec2-1.2_1.2.0-2build1_i386.deb ...
Unpacking libcodec2-1.2:i386 (1.2.0-2build1) ...
Selecting previously unselected package libdav1d7:i386.
Preparing to unpack .../054-libdav1d7_1.4.1-1build1_i386.deb ...
Unpacking libdav1d7:i386 (1.4.1-1build1) ...
Selecting previously unselected package libgsm1:i386.
Preparing to unpack .../055-libgsm1_1.0.22-1build1_i386.deb ...
Unpacking libgsm1:i386 (1.0.22-1build1) ...
Selecting previously unselected package libmp3lame0:i386.
Preparing to unpack .../056-libmp3lame0_3.100-6build1_i386.deb ...
Unpacking libmp3lame0:i386 (3.100-6build1) ...
Selecting previously unselected package libopenjp2-7:i386.
Preparing to unpack .../057-libopenjp2-7_2.5.0-2ubuntu0.2_i386.deb ...
Unpacking libopenjp2-7:i386 (2.5.0-2ubuntu0.2) ...
Selecting previously unselected package libopus0:i386.
Preparing to unpack .../058-libopus0_1.4-1build1_i386.deb ...
Unpacking libopus0:i386 (1.4-1build1) ...
Selecting previously unselected package libcairo-gobject2:i386.
Preparing to unpack .../059-libcairo-gobject2_1.18.0-3build1_i386.deb ...
Unpacking libcairo-gobject2:i386 (1.18.0-3build1) ...
Selecting previously unselected package libjpeg-turbo8:i386.
Preparing to unpack .../060-libjpeg-turbo8_2.1.5-2ubuntu2_i386.deb ...
Unpacking libjpeg-turbo8:i386 (2.1.5-2ubuntu2) ...
Selecting previously unselected package libjpeg8:i386.
Preparing to unpack .../061-libjpeg8_8c-2ubuntu11_i386.deb ...
Unpacking libjpeg8:i386 (8c-2ubuntu11) ...
Selecting previously unselected package libdeflate0:i386.
Preparing to unpack .../062-libdeflate0_1.19-1build1.1_i386.deb ...
Unpacking libdeflate0:i386 (1.19-1build1.1) ...
Selecting previously unselected package libjbig0:i386.
Preparing to unpack .../063-libjbig0_2.1-6.1ubuntu2_i386.deb ...
Unpacking libjbig0:i386 (2.1-6.1ubuntu2) ...
Selecting previously unselected package libsharpyuv0:i386.
Preparing to unpack .../064-libsharpyuv0_1.3.2-0.4build3_i386.deb ...
Unpacking libsharpyuv0:i386 (1.3.2-0.4build3) ...
Selecting previously unselected package libwebp7:i386.
Preparing to unpack .../065-libwebp7_1.3.2-0.4build3_i386.deb ...
Unpacking libwebp7:i386 (1.3.2-0.4build3) ...
Selecting previously unselected package libtiff6:i386.
Preparing to unpack .../066-libtiff6_4.5.1+git230720-4ubuntu2.2_i386.deb ...
Unpacking libtiff6:i386 (4.5.1+git230720-4ubuntu2.2) ...
Selecting previously unselected package libgdk-pixbuf-2.0-0:i386.
Preparing to unpack .../067-libgdk-pixbuf-2.0-0_2.42.10+dfsg-3ubuntu3.1_i386.deb ...
Unpacking libgdk-pixbuf-2.0-0:i386 (2.42.10+dfsg-3ubuntu3.1) ...
Selecting previously unselected package libgraphite2-3:i386.
Preparing to unpack .../068-libgraphite2-3_1.3.14-2build1_i386.deb ...
Unpacking libgraphite2-3:i386 (1.3.14-2build1) ...
Selecting previously unselected package libharfbuzz0b:i386.
Preparing to unpack .../069-libharfbuzz0b_8.3.0-2build2_i386.deb ...
Unpacking libharfbuzz0b:i386 (8.3.0-2build2) ...
Selecting previously unselected package libdatrie1:i386.
Preparing to unpack .../070-libdatrie1_0.2.13-3build1_i386.deb ...
Unpacking libdatrie1:i386 (0.2.13-3build1) ...
Selecting previously unselected package libthai0:i386.
Preparing to unpack .../071-libthai0_0.1.29-2build1_i386.deb ...
Unpacking libthai0:i386 (0.1.29-2build1) ...
Selecting previously unselected package libpango-1.0-0:i386.
Preparing to unpack .../072-libpango-1.0-0_1.52.1+ds-1build1_i386.deb ...
Unpacking libpango-1.0-0:i386 (1.52.1+ds-1build1) ...
Selecting previously unselected package libpangoft2-1.0-0:i386.
Preparing to unpack .../073-libpangoft2-1.0-0_1.52.1+ds-1build1_i386.deb ...
Unpacking libpangoft2-1.0-0:i386 (1.52.1+ds-1build1) ...
Selecting previously unselected package libpangocairo-1.0-0:i386.
Preparing to unpack .../074-libpangocairo-1.0-0_1.52.1+ds-1build1_i386.deb ...
Unpacking libpangocairo-1.0-0:i386 (1.52.1+ds-1build1) ...
Selecting previously unselected package librsvg2-2:i386.
Preparing to unpack .../075-librsvg2-2_2.58.0+dfsg-1build1_i386.deb ...
Unpacking librsvg2-2:i386 (2.58.0+dfsg-1build1) ...
Selecting previously unselected package libshine3:i386.
Preparing to unpack .../076-libshine3_3.1.1-2build1_i386.deb ...
Unpacking libshine3:i386 (3.1.1-2build1) ...
Selecting previously unselected package libsnappy1v5:i386.
Preparing to unpack .../077-libsnappy1v5_1.1.10-1build1_i386.deb ...
Unpacking libsnappy1v5:i386 (1.1.10-1build1) ...
Selecting previously unselected package libspeex1:i386.
Preparing to unpack .../078-libspeex1_1.2.1-2ubuntu2.24.04.1_i386.deb ...
Unpacking libspeex1:i386 (1.2.1-2ubuntu2.24.04.1) ...
Selecting previously unselected package libsvtav1enc1d1:i386.
Preparing to unpack .../079-libsvtav1enc1d1_1.7.0+dfsg-2build1_i386.deb ...
Unpacking libsvtav1enc1d1:i386 (1.7.0+dfsg-2build1) ...
Selecting previously unselected package libgomp1:i386.
Preparing to unpack .../080-libgomp1_14.2.0-4ubuntu2~24.04_i386.deb ...
Unpacking libgomp1:i386 (14.2.0-4ubuntu2~24.04) ...
Selecting previously unselected package libsoxr0:i386.
Preparing to unpack .../081-libsoxr0_0.1.3-4build3_i386.deb ...
Unpacking libsoxr0:i386 (0.1.3-4build3) ...
Selecting previously unselected package libswresample4:i386.
Preparing to unpack .../082-libswresample4_7%3a6.1.1-3ubuntu5+esm2_i386.deb ...
Unpacking libswresample4:i386 (7:6.1.1-3ubuntu5+esm2) ...
Selecting previously unselected package libogg0:i386.
Preparing to unpack .../083-libogg0_1.3.5-3build1_i386.deb ...
Unpacking libogg0:i386 (1.3.5-3build1) ...
Selecting previously unselected package libtheora0:i386.
Preparing to unpack .../084-libtheora0_1.1.1+dfsg.1-16.1build3_i386.deb ...
Unpacking libtheora0:i386 (1.1.1+dfsg.1-16.1build3) ...
Selecting previously unselected package libtwolame0:i386.
Preparing to unpack .../085-libtwolame0_0.4.0-2build3_i386.deb ...
Unpacking libtwolame0:i386 (0.4.0-2build3) ...
Selecting previously unselected package libvorbis0a:i386.
Preparing to unpack .../086-libvorbis0a_1.3.7-1build3_i386.deb ...
Unpacking libvorbis0a:i386 (1.3.7-1build3) ...
Selecting previously unselected package libvorbisenc2:i386.
Preparing to unpack .../087-libvorbisenc2_1.3.7-1build3_i386.deb ...
Unpacking libvorbisenc2:i386 (1.3.7-1build3) ...
Selecting previously unselected package libvpx9:i386.
Preparing to unpack .../088-libvpx9_1.14.0-1ubuntu2.1_i386.deb ...
Unpacking libvpx9:i386 (1.14.0-1ubuntu2.1) ...
Selecting previously unselected package libwebpmux3:i386.
Preparing to unpack .../089-libwebpmux3_1.3.2-0.4build3_i386.deb ...
Unpacking libwebpmux3:i386 (1.3.2-0.4build3) ...
Selecting previously unselected package libx264-164:i386.
Preparing to unpack .../090-libx264-164_2%3a0.164.3108+git31e19f9-1_i386.deb ...
Unpacking libx264-164:i386 (2:0.164.3108+git31e19f9-1) ...
Selecting previously unselected package libx265-199:i386.
Preparing to unpack .../091-libx265-199_3.5-2build1_i386.deb ...
Unpacking libx265-199:i386 (3.5-2build1) ...
Selecting previously unselected package libxvidcore4:i386.
Preparing to unpack .../092-libxvidcore4_2%3a1.3.7-1build1_i386.deb ...
Unpacking libxvidcore4:i386 (2:1.3.7-1build1) ...
Selecting previously unselected package libzvbi0t64:i386.
Preparing to unpack .../093-libzvbi0t64_0.2.42-2_i386.deb ...
Unpacking libzvbi0t64:i386 (0.2.42-2) ...
Selecting previously unselected package libavcodec60:i386.
Preparing to unpack .../094-libavcodec60_7%3a6.1.1-3ubuntu5+esm2_i386.deb ...
Unpacking libavcodec60:i386 (7:6.1.1-3ubuntu5+esm2) ...
Selecting previously unselected package libsamplerate0:i386.
Preparing to unpack .../095-libsamplerate0_0.2.2-4build1_i386.deb ...
Unpacking libsamplerate0:i386 (0.2.2-4build1) ...
Selecting previously unselected package libjack-jackd2-0:i386.
Preparing to unpack .../096-libjack-jackd2-0_1.9.21~dfsg-3ubuntu3_i386.deb ...
Unpacking libjack-jackd2-0:i386 (1.9.21~dfsg-3ubuntu3) ...
Selecting previously unselected package libasyncns0:i386.
Preparing to unpack .../097-libasyncns0_0.8-6build4_i386.deb ...
Unpacking libasyncns0:i386 (0.8-6build4) ...
Selecting previously unselected package libflac12t64:i386.
Preparing to unpack .../098-libflac12t64_1.4.3+ds-2.1ubuntu2_i386.deb ...
Unpacking libflac12t64:i386 (1.4.3+ds-2.1ubuntu2) ...
Selecting previously unselected package libmpg123-0t64:i386.
Preparing to unpack .../099-libmpg123-0t64_1.32.5-1ubuntu1.1_i386.deb ...
Unpacking libmpg123-0t64:i386 (1.32.5-1ubuntu1.1) ...
Selecting previously unselected package libsndfile1:i386.
Preparing to unpack .../100-libsndfile1_1.2.2-1ubuntu5_i386.deb ...
Unpacking libsndfile1:i386 (1.2.2-1ubuntu5) ...
Selecting previously unselected package libpulse0:i386.
Preparing to unpack .../101-libpulse0_1%3a16.1+dfsg1-2ubuntu10_i386.deb ...
Unpacking libpulse0:i386 (1:16.1+dfsg1-2ubuntu10) ...
Selecting previously unselected package libspeexdsp1:i386.
Preparing to unpack .../102-libspeexdsp1_1.2.1-1ubuntu3_i386.deb ...
Unpacking libspeexdsp1:i386 (1.2.1-1ubuntu3) ...
Selecting previously unselected package libasound2-plugins:i386.
Preparing to unpack .../103-libasound2-plugins_1.2.7.1-1ubuntu5_i386.deb ...
Unpacking libasound2-plugins:i386 (1.2.7.1-1ubuntu5) ...
Selecting previously unselected package libatk1.0-0t64:i386.
Preparing to unpack .../104-libatk1.0-0t64_2.52.0-1build1_i386.deb ...
Unpacking libatk1.0-0t64:i386 (2.52.0-1build1) ...
Selecting previously unselected package libxi6:i386.
Preparing to unpack .../105-libxi6_2%3a1.8.1-1build1_i386.deb ...
Unpacking libxi6:i386 (2:1.8.1-1build1) ...
Selecting previously unselected package libatspi2.0-0t64:i386.
Preparing to unpack .../106-libatspi2.0-0t64_2.52.0-1build1_i386.deb ...
Unpacking libatspi2.0-0t64:i386 (2.52.0-1build1) ...
Selecting previously unselected package libatk-bridge2.0-0t64:i386.
Preparing to unpack .../107-libatk-bridge2.0-0t64_2.52.0-1build1_i386.deb ...
Unpacking libatk-bridge2.0-0t64:i386 (2.52.0-1build1) ...
Selecting previously unselected package libavahi-common-data:i386.
Preparing to unpack .../108-libavahi-common-data_0.8-13ubuntu6_i386.deb ...
Unpacking libavahi-common-data:i386 (0.8-13ubuntu6) ...
Selecting previously unselected package libavahi-common3:i386.
Preparing to unpack .../109-libavahi-common3_0.8-13ubuntu6_i386.deb ...
Unpacking libavahi-common3:i386 (0.8-13ubuntu6) ...
Selecting previously unselected package libavahi-client3:i386.
Preparing to unpack .../110-libavahi-client3_0.8-13ubuntu6_i386.deb ...
Unpacking libavahi-client3:i386 (0.8-13ubuntu6) ...
Selecting previously unselected package liblcms2-2:i386.
Preparing to unpack .../111-liblcms2-2_2.14-2build1_i386.deb ...
Unpacking liblcms2-2:i386 (2.14-2build1) ...
Selecting previously unselected package libcolord2:i386.
Preparing to unpack .../112-libcolord2_1.4.7-1build2_i386.deb ...
Unpacking libcolord2:i386 (1.4.7-1build2) ...
Selecting previously unselected package libcups2t64:i386.
Preparing to unpack .../113-libcups2t64_2.4.7-1.2ubuntu7.3_i386.deb ...
Unpacking libcups2t64:i386 (2.4.7-1.2ubuntu7.3) ...
Selecting previously unselected package libdecor-0-0:i386.
Preparing to unpack .../114-libdecor-0-0_0.2.2-1build2_i386.deb ...
Unpacking libdecor-0-0:i386 (0.2.2-1build2) ...
Selecting previously unselected package libepoxy0:i386.
Preparing to unpack .../115-libepoxy0_1.5.10-1build1_i386.deb ...
Unpacking libepoxy0:i386 (1.5.10-1build1) ...
Selecting previously unselected package libwayland-cursor0:i386.
Preparing to unpack .../116-libwayland-cursor0_1.22.0-2.1build1_i386.deb ...
Unpacking libwayland-cursor0:i386 (1.22.0-2.1build1) ...
Selecting previously unselected package libwayland-egl1:i386.
Preparing to unpack .../117-libwayland-egl1_1.22.0-2.1build1_i386.deb ...
Unpacking libwayland-egl1:i386 (1.22.0-2.1build1) ...
Selecting previously unselected package libxcomposite1:i386.
Preparing to unpack .../118-libxcomposite1_1%3a0.4.5-1build3_i386.deb ...
Unpacking libxcomposite1:i386 (1:0.4.5-1build3) ...
Selecting previously unselected package libxcursor1:i386.
Preparing to unpack .../119-libxcursor1_1%3a1.2.1-1build1_i386.deb ...
Unpacking libxcursor1:i386 (1:1.2.1-1build1) ...
Selecting previously unselected package libxdamage1:i386.
Preparing to unpack .../120-libxdamage1_1%3a1.1.6-1build1_i386.deb ...
Unpacking libxdamage1:i386 (1:1.1.6-1build1) ...
Selecting previously unselected package libxinerama1:i386.
Preparing to unpack .../121-libxinerama1_2%3a1.1.4-3build1_i386.deb ...
Unpacking libxinerama1:i386 (2:1.1.4-3build1) ...
Selecting previously unselected package libxrandr2:i386.
Preparing to unpack .../122-libxrandr2_2%3a1.5.2-2build1_i386.deb ...
Unpacking libxrandr2:i386 (2:1.5.2-2build1) ...
Selecting previously unselected package libgtk-3-0t64:i386.
Preparing to unpack .../123-libgtk-3-0t64_3.24.41-4ubuntu1.2_i386.deb ...
Unpacking libgtk-3-0t64:i386 (3.24.41-4ubuntu1.2) ...
Selecting previously unselected package libdecor-0-plugin-1-gtk:i386.
Preparing to unpack .../124-libdecor-0-plugin-1-gtk_0.2.2-1build2_i386.deb ...
Unpacking libdecor-0-plugin-1-gtk:i386 (0.2.2-1build2) ...
Selecting previously unselected package libpciaccess0:i386.
Preparing to unpack .../125-libpciaccess0_0.17-3build1_i386.deb ...
Unpacking libpciaccess0:i386 (0.17-3build1) ...
Selecting previously unselected package libdrm-intel1:i386.
Preparing to unpack .../126-libdrm-intel1_2.4.120-2build1_i386.deb ...
Unpacking libdrm-intel1:i386 (2.4.120-2build1) ...
Selecting previously unselected package libdrm-nouveau2:i386.
Preparing to unpack .../127-libdrm-nouveau2_2.4.120-2build1_i386.deb ...
Unpacking libdrm-nouveau2:i386 (2.4.120-2build1) ...
Selecting previously unselected package libdrm-radeon1:i386.
Preparing to unpack .../128-libdrm-radeon1_2.4.120-2build1_i386.deb ...
Unpacking libdrm-radeon1:i386 (2.4.120-2build1) ...
Selecting previously unselected package libgbm1:i386.
Preparing to unpack .../129-libgbm1_24.0.9-0ubuntu0.3_i386.deb ...
Unpacking libgbm1:i386 (24.0.9-0ubuntu0.3) ...
Selecting previously unselected package libglapi-mesa:i386.
Preparing to unpack .../130-libglapi-mesa_24.0.9-0ubuntu0.3_i386.deb ...
Unpacking libglapi-mesa:i386 (24.0.9-0ubuntu0.3) ...
Selecting previously unselected package libxcb-dri2-0:i386.
Preparing to unpack .../131-libxcb-dri2-0_1.15-1ubuntu2_i386.deb ...
Unpacking libxcb-dri2-0:i386 (1.15-1ubuntu2) ...
Selecting previously unselected package libegl-mesa0:i386.
Preparing to unpack .../132-libegl-mesa0_24.0.9-0ubuntu0.3_i386.deb ...
Unpacking libegl-mesa0:i386 (24.0.9-0ubuntu0.3) ...
Selecting previously unselected package libgl1-mesa-dri:i386.
Preparing to unpack .../133-libgl1-mesa-dri_24.0.9-0ubuntu0.3_i386.deb ...
Unpacking libgl1-mesa-dri:i386 (24.0.9-0ubuntu0.3) ...
Selecting previously unselected package libxcb-glx0:i386.
Preparing to unpack .../134-libxcb-glx0_1.15-1ubuntu2_i386.deb ...
Unpacking libxcb-glx0:i386 (1.15-1ubuntu2) ...
Selecting previously unselected package libxxf86vm1:i386.
Preparing to unpack .../135-libxxf86vm1_1%3a1.1.4-1build4_i386.deb ...
Unpacking libxxf86vm1:i386 (1:1.1.4-1build4) ...
Selecting previously unselected package libglx-mesa0:i386.
Preparing to unpack .../136-libglx-mesa0_24.0.9-0ubuntu0.3_i386.deb ...
Unpacking libglx-mesa0:i386 (24.0.9-0ubuntu0.3) ...
Selecting previously unselected package libnm0:i386.
Preparing to unpack .../137-libnm0_1.46.0-1ubuntu2.2_i386.deb ...
Unpacking libnm0:i386 (1.46.0-1ubuntu2.2) ...
Selecting previously unselected package librsvg2-common:i386.
Preparing to unpack .../138-librsvg2-common_2.58.0+dfsg-1build1_i386.deb ...
Unpacking librsvg2-common:i386 (2.58.0+dfsg-1build1) ...
Selecting previously unselected package libxss1:i386.
Preparing to unpack .../139-libxss1_1%3a1.2.3-1build3_i386.deb ...
Unpacking libxss1:i386 (1:1.2.3-1build3) ...
Selecting previously unselected package libsdl2-2.0-0:i386.
Preparing to unpack .../140-libsdl2-2.0-0_2.30.0+dfsg-1build3_i386.deb ...
Unpacking libsdl2-2.0-0:i386 (2.30.0+dfsg-1build3) ...
Selecting previously unselected package libva-glx2:amd64.
Preparing to unpack .../141-libva-glx2_2.20.0-2build1_amd64.deb ...
Unpacking libva-glx2:amd64 (2.20.0-2build1) ...
Selecting previously unselected package libglvnd0:i386.
Preparing to unpack .../142-libglvnd0_1.7.0-1build1_i386.deb ...
Unpacking libglvnd0:i386 (1.7.0-1build1) ...
Selecting previously unselected package libglx0:i386.
Preparing to unpack .../143-libglx0_1.7.0-1build1_i386.deb ...
Unpacking libglx0:i386 (1.7.0-1build1) ...
Selecting previously unselected package libgl1:i386.
Preparing to unpack .../144-libgl1_1.7.0-1build1_i386.deb ...
Unpacking libgl1:i386 (1.7.0-1build1) ...
Selecting previously unselected package libva-glx2:i386.
Preparing to unpack .../145-libva-glx2_2.20.0-2build1_i386.deb ...
Unpacking libva-glx2:i386 (2.20.0-2build1) ...
Selecting previously unselected package mesa-va-drivers:i386.
Preparing to unpack .../146-mesa-va-drivers_24.0.9-0ubuntu0.3_i386.deb ...
Unpacking mesa-va-drivers:i386 (24.0.9-0ubuntu0.3) ...
Selecting previously unselected package mesa-vdpau-drivers:i386.
Preparing to unpack .../147-mesa-vdpau-drivers_24.0.9-0ubuntu0.3_i386.deb ...
Unpacking mesa-vdpau-drivers:i386 (24.0.9-0ubuntu0.3) ...
Selecting previously unselected package steam-libs:amd64.
Preparing to unpack .../148-steam-libs_1%3a1.0.0.79~ds-2_amd64.deb ...
Unpacking steam-libs:amd64 (1:1.0.0.79~ds-2) ...
Selecting previously unselected package steam-libs:i386.
Preparing to unpack .../149-steam-libs_1%3a1.0.0.79~ds-2_i386.deb ...
Unpacking steam-libs:i386 (1:1.0.0.79~ds-2) ...
Selecting previously unselected package steam-libs-i386:i386.
Preparing to unpack .../150-steam-libs-i386_1%3a1.0.0.79~ds-2_i386.deb ...
Unpacking steam-libs-i386:i386 (1:1.0.0.79~ds-2) ...
Selecting previously unselected package i965-va-driver:i386.
Preparing to unpack .../151-i965-va-driver_2.4.1+dfsg1-1build2_i386.deb ...
Unpacking i965-va-driver:i386 (2.4.1+dfsg1-1build2) ...
Selecting previously unselected package va-driver-all:i386.
Preparing to unpack .../152-va-driver-all_2.20.0-2build1_i386.deb ...
Unpacking va-driver-all:i386 (2.20.0-2build1) ...
Selecting previously unselected package vdpau-driver-all:i386.
Preparing to unpack .../153-vdpau-driver-all_1.5-2build1_i386.deb ...
Unpacking vdpau-driver-all:i386 (1.5-2build1) ...
Selecting previously unselected package xterm.
Preparing to unpack .../154-xterm_390-1ubuntu3_amd64.deb ...
Unpacking xterm (390-1ubuntu3) ...
Selecting previously unselected package libegl1:i386.
Preparing to unpack .../155-libegl1_1.7.0-1build1_i386.deb ...
Unpacking libegl1:i386 (1.7.0-1build1) ...
Selecting previously unselected package steam-devices.
Preparing to unpack .../156-steam-devices_1%3a1.0.0.79~ds-2_all.deb ...
Unpacking steam-devices (1:1.0.0.79~ds-2) ...
Setting up libgraphite2-3:i386 (1.3.14-2build1) ...
Setting up liblcms2-2:i386 (2.14-2build1) ...
Setting up libpixman-1-0:i386 (0.42.2-1build1) ...
Setting up libsharpyuv0:i386 (1.3.2-0.4build3) ...
Setting up libaom3:i386 (3.8.2-2ubuntu0.1) ...
Setting up libpciaccess0:i386 (0.17-3build1) ...
Setting up libkeyutils1:i386 (1.6.3-3build1) ...
Setting up libapparmor1:i386 (4.0.1really4.0.1-0ubuntu0.24.04.3) ...
Setting up libdrm-nouveau2:i386 (2.4.120-2build1) ...
Setting up libxdamage1:i386 (1:1.1.6-1build1) ...
Setting up libogg0:i386 (1.3.5-3build1) ...
Setting up libspeex1:i386 (1.2.1-2ubuntu2.24.04.1) ...
Setting up libshine3:i386 (3.1.1-2build1) ...
Setting up libxi6:i386 (2:1.8.1-1build1) ...
Setting up libx264-164:i386 (2:0.164.3108+git31e19f9-1) ...
Setting up libtwolame0:i386 (0.4.0-2build3) ...
Setting up libgpg-error0:i386 (1.47-3build2) ...
Setting up libxrender1:i386 (1:0.9.10-1.1build1) ...
Setting up libdatrie1:i386 (0.2.13-3build1) ...
Setting up libgbm1:i386 (24.0.9-0ubuntu0.3) ...
Setting up libgsm1:i386 (1.0.22-1build1) ...
Setting up libxcb-render0:i386 (1.15-1ubuntu2) ...
Setting up libssl3t64:i386 (3.0.13-0ubuntu3.4) ...
Setting up libdrm-radeon1:i386 (2.4.120-2build1) ...
Setting up liblz4-1:i386 (1.9.4-1build1.1) ...
Setting up libglvnd0:i386 (1.7.0-1build1) ...
Setting up libcodec2-1.2:i386 (1.2.0-2build1) ...
Setting up steam-devices (1:1.0.0.79~ds-2) ...
Setting up libxcb-glx0:i386 (1.15-1ubuntu2) ...
Setting up libbrotli1:i386 (1.1.0-2build2) ...
Setting up libdrm-intel1:i386 (2.4.120-2build1) ...
Setting up steam-libs:amd64 (1:1.0.0.79~ds-2) ...
Setting up libdeflate0:i386 (1.19-1build1.1) ...
Setting up libgcrypt20:i386 (1.10.3-2build1) ...
Setting up libcrypt1:i386 (1:4.4.36-4build1) ...
Setting up libsvtav1enc1d1:i386 (1.7.0+dfsg-2build1) ...
Setting up libcom-err2:i386 (1.47.0-2.4~exp1ubuntu4.1) ...
Setting up libigdgmm12:i386 (22.3.17+ds1-1) ...
Setting up libmpg123-0t64:i386 (1.32.5-1ubuntu1.1) ...
Setting up libgomp1:i386 (14.2.0-4ubuntu2~24.04) ...
Setting up libxvidcore4:i386 (2:1.3.7-1build1) ...
Setting up libjbig0:i386 (2.1-6.1ubuntu2) ...
Setting up libcap2:i386 (1:2.66-5ubuntu2) ...
Setting up libxxf86vm1:i386 (1:1.1.4-1build4) ...
Setting up libsnappy1v5:i386 (1.1.10-1build1) ...
Setting up libkrb5support0:i386 (1.20.1-6ubuntu2.2) ...
Setting up libthai0:i386 (0.1.29-2build1) ...
Setting up libnettle8t64:i386 (3.9.1-2.2build1.1) ...
Setting up libasound2t64:i386 (1.2.11-1build2) ...
Setting up libva2:i386 (2.20.0-2build1) ...
Setting up libepoxy0:i386 (1.5.10-1build1) ...
Setting up libxfixes3:i386 (1:6.0.0-2build1) ...
Setting up libgmp10:i386 (2:6.3.0+dfsg-2ubuntu6) ...
Setting up libavahi-common-data:i386 (0.8-13ubuntu6) ...
Setting up libfribidi0:i386 (1.0.13-3build1) ...
Setting up libopus0:i386 (1.4-1build1) ...
Setting up libp11-kit0:i386 (0.25.3-4ubuntu2.1) ...
Setting up libxinerama1:i386 (2:1.1.4-3build1) ...
Setting up intel-media-va-driver:i386 (24.1.0+dfsg1-1) ...
Setting up libpng16-16t64:i386 (1.6.43-5build1) ...
Setting up libvorbis0a:i386 (1.3.7-1build3) ...
Setting up libxrandr2:i386 (2:1.5.2-2build1) ...
Setting up libsensors5:i386 (1:3.6.0-9build1) ...
Setting up libpcre2-8-0:i386 (10.42-4ubuntu2) ...
Setting up libk5crypto3:i386 (1.20.1-6ubuntu2.2) ...
Setting up libjpeg-turbo8:i386 (2.1.5-2ubuntu2) ...
Setting up libglapi-mesa:i386 (24.0.9-0ubuntu0.3) ...
Setting up libwebp7:i386 (1.3.2-0.4build3) ...
Setting up libdb5.3t64:i386 (5.3.28+dfsg2-7) ...
Setting up libudev1:i386 (255.4-1ubuntu8.4) ...
Setting up libxcb-dri2-0:i386 (1.15-1ubuntu2) ...
Setting up libnuma1:i386 (2.0.18-1build1) ...
Setting up libvpx9:i386 (1.14.0-1ubuntu2.1) ...
Setting up libdav1d7:i386 (1.4.1-1build1) ...
Setting up libhogweed6t64:i386 (3.9.1-2.2build1.1) ...
Setting up libva-drm2:i386 (2.20.0-2build1) ...
Setting up ocl-icd-libopencl1:i386 (2.3.2-1build1) ...
Setting up libasyncns0:i386 (0.8-6build4) ...
Setting up libvdpau1:i386 (1.5-2build1) ...
Setting up libwayland-cursor0:i386 (1.22.0-2.1build1) ...
Setting up libspeexdsp1:i386 (1.2.1-1ubuntu3) ...
Setting up libtasn1-6:i386 (4.19.0-3build1) ...
Setting up libdecor-0-0:i386 (0.2.2-1build2) ...
Setting up libopenjp2-7:i386 (2.5.0-2ubuntu0.2) ...
Setting up libkrb5-3:i386 (1.20.1-6ubuntu2.2) ...
Setting up libflac12t64:i386 (1.4.3+ds-2.1ubuntu2) ...
Setting up libwayland-egl1:i386 (1.22.0-2.1build1) ...
Setting up libxss1:i386 (1:1.2.3-1build3) ...
Setting up libusb-1.0-0:i386 (2:1.0.27-1) ...
Setting up xterm (390-1ubuntu3) ...
Setting up mesa-va-drivers:i386 (24.0.9-0ubuntu0.3) ...
Setting up libbz2-1.0:i386 (1.0.8-5.1build0.1) ...
Setting up libsamplerate0:i386 (0.2.2-4build1) ...
Setting up libva-x11-2:i386 (2.20.0-2build1) ...
Setting up libwebpmux3:i386 (1.3.2-0.4build3) ...
Setting up libva-glx2:amd64 (2.20.0-2build1) ...
Setting up libxcomposite1:i386 (1:0.4.5-1build3) ...
Setting up libblkid1:i386 (2.39.3-9ubuntu6.1) ...
Setting up libmp3lame0:i386 (3.100-6build1) ...
Setting up i965-va-driver:i386 (2.4.1+dfsg1-1build2) ...
Setting up libvorbisenc2:i386 (1.3.7-1build3) ...
Setting up libxkbcommon0:i386 (1.6.0-1build1) ...
Setting up libjpeg8:i386 (8c-2ubuntu11) ...
Setting up libgnutls30t64:i386 (3.8.3-1.1ubuntu3.2) ...
Setting up mesa-vdpau-drivers:i386 (24.0.9-0ubuntu0.3) ...
Setting up libzvbi0t64:i386 (0.2.42-2) ...
Setting up libsoxr0:i386 (0.1.3-4build3) ...
Setting up libxcursor1:i386 (1:1.2.1-1build1) ...
Setting up libgl1-mesa-dri:i386 (24.0.9-0ubuntu0.3) ...
Setting up libavahi-common3:i386 (0.8-13ubuntu6) ...
Setting up libavutil58:i386 (7:6.1.1-3ubuntu5+esm2) ...
Setting up libsystemd0:i386 (255.4-1ubuntu8.4) ...
Setting up libselinux1:i386 (3.5-2ubuntu2) ...
Setting up libegl-mesa0:i386 (24.0.9-0ubuntu0.3) ...
Setting up libfreetype6:i386 (2.13.2+dfsg-1build3) ...
Setting up libswresample4:i386 (7:6.1.1-3ubuntu5+esm2) ...
Setting up va-driver-all:i386 (2.20.0-2build1) ...
Setting up libdbus-1-3:i386 (1.14.10-4ubuntu4.1) ...
Setting up libgssapi-krb5-2:i386 (1.20.1-6ubuntu2.2) ...
Setting up libx265-199:i386 (3.5-2build1) ...
Setting up libjack-jackd2-0:i386 (1.9.21~dfsg-3ubuntu3) ...
Setting up vdpau-driver-all:i386 (1.5-2build1) ...
Setting up libmount1:i386 (2.39.3-9ubuntu6.1) ...
Setting up libtiff6:i386 (4.5.1+git230720-4ubuntu2.2) ...
Setting up libegl1:i386 (1.7.0-1build1) ...
Setting up libfontconfig1:i386 (2.15.0-1.1ubuntu2) ...
Setting up libsndfile1:i386 (1.2.2-1ubuntu5) ...
Setting up libavahi-client3:i386 (0.8-13ubuntu6) ...
Setting up libglx-mesa0:i386 (24.0.9-0ubuntu0.3) ...
Setting up libglx0:i386 (1.7.0-1build1) ...
Setting up libpulse0:i386 (1:16.1+dfsg1-2ubuntu10) ...
Setting up libcairo2:i386 (1.18.0-3build1) ...
Setting up libglib2.0-0t64:i386 (2.80.0-6ubuntu3.2) ...
Setting up libgl1:i386 (1.7.0-1build1) ...
Setting up libtheora0:i386 (1.1.1+dfsg.1-16.1build3) ...
Setting up libsdl2-2.0-0:i386 (2.30.0+dfsg-1build3) ...
Setting up libva-glx2:i386 (2.20.0-2build1) ...
Setting up libcups2t64:i386 (2.4.7-1.2ubuntu7.3) ...
Processing triggers for desktop-file-utils (0.27-2build1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for libc-bin (2.39-0ubuntu8.3) ...
Processing triggers for man-db (2.12.0-4build2) ...
Processing triggers for libglib2.0-0t64:amd64 (2.80.0-6ubuntu3.2) ...
Setting up libatspi2.0-0t64:i386 (2.52.0-1build1) ...
Setting up libnm0:i386 (1.46.0-1ubuntu2.2) ...
Setting up libharfbuzz0b:i386 (8.3.0-2build2) ...
Setting up libgdk-pixbuf-2.0-0:i386 (2.42.10+dfsg-3ubuntu3.1) ...
Setting up libcairo-gobject2:i386 (1.18.0-3build1) ...
Setting up libatk1.0-0t64:i386 (2.52.0-1build1) ...
Setting up libpango-1.0-0:i386 (1.52.1+ds-1build1) ...
Setting up steam-libs:i386 (1:1.0.0.79~ds-2) ...
Setting up libcolord2:i386 (1.4.7-1build2) ...
Setting up steam-libs-i386:i386 (1:1.0.0.79~ds-2) ...
Setting up libpangoft2-1.0-0:i386 (1.52.1+ds-1build1) ...
Setting up libpangocairo-1.0-0:i386 (1.52.1+ds-1build1) ...
Setting up libatk-bridge2.0-0t64:i386 (2.52.0-1build1) ...
Setting up librsvg2-2:i386 (2.58.0+dfsg-1build1) ...
Setting up libgtk-3-0t64:i386 (3.24.41-4ubuntu1.2) ...
Setting up librsvg2-common:i386 (2.58.0+dfsg-1build1) ...
Setting up libavcodec60:i386 (7:6.1.1-3ubuntu5+esm2) ...
Setting up libdecor-0-plugin-1-gtk:i386 (0.2.2-1build2) ...
Setting up libasound2-plugins:i386 (1.2.7.1-1ubuntu5) ...
Processing triggers for libc-bin (2.39-0ubuntu8.3) ...
Processing triggers for libgdk-pixbuf-2.0-0:i386 (2.42.10+dfsg-3ubuntu3.1) ...
With those installed, one can download steam_latest.deb from
store.steampowered.com/about
and install it with gdebi:
# gdebi steam_latest.deb
/usr/bin/gdebi:113: SyntaxWarning: invalid escape sequence '\S'
c = findall("[[(](\S+)/\S+[])]", msg)[0].lower()
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Reading state information... Done
Launcher for the Steam software distribution service
Steam is a software distribution service with an online store, automated
installation, automatic updates, achievements, SteamCloud synchronized
savegame and screenshot functionality, and many social features.
Do you want to install the software package? [y/N]:y
/usr/bin/gdebi:113: FutureWarning: Possible nested set at position 1
c = findall("[[(](\S+)/\S+[])]", msg)[0].lower()
Selecting previously unselected package steam-launcher.
dpkg: considering removing steam-devices in favour of steam-launcher ...
dpkg: yes, will remove steam-devices in favour of steam-launcher
(Reading database ... 488374 files and directories currently installed.)
Preparing to unpack steam_latest.deb ...
Unpacking steam-launcher (1:1.0.0.81) ...
Removing steam-devices (1:1.0.0.79~ds-2), to allow configuration of steam-launcher (1:1.0.0.81) ...
Setting up steam-launcher (1:1.0.0.81) ...
Processing triggers for man-db (2.12.0-4build2) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for desktop-file-utils (0.27-2build1) ...
Despite all the above, upon running /usr/bin/steam a new
terminal window still opens and requests installing the
missing packages:
The packages cache seems to be out of date
Press return to update the list of available packages:
...................
Package steam-libs-amd64:amd64 needs to be installed
Steam needs to install these additional packages:
libc6:amd64 libc6:i386 libegl1:amd64 libegl1:i386 libgbm1:amd64 libgbm1:i386 libgl1-mesa-dri:amd64 libgl1-mesa-dri:i386 libgl1:amd64 libgl1:i386 steam-libs-amd64:amd64
Press return to proceed with the installation:
Apparently Steam requires installing all those packages for supporting AMD GPUs as well, which makes sense and I had not noticed until now.
Glorious Eggroll
Many games depend on gloriouseggroll/proton-ge-custom to run and this needs to be installed separately.
This was already installed in Rapture but, just because it was so easy to install the latest one in Raven, installed the same in Rapture as well:
$ ~/bin/install-latest-protonge.sh
Creating temporary working directory...
Fetching tarball URL...
Downloading tarball: GE-Proton9-22.tar.gz...
Fetching checksum URL...
Downloading checksum: GE-Proton9-22.sha512sum...
Verifying tarball GE-Proton9-22.tar.gz with checksum GE-Proton9-22.sha512sum...
GE-Proton9-22.tar.gz: OK
Creating Steam directory if it does not exist...
Extracting GE-Proton9-22.tar.gz to Steam directory...
All done :)
Snap package (reinstalled)
Turns out some games actually work better with the snap version of Steam, or at least it was easy to get them to run this time around. In particular, The Elder Scrolls® Online worked out of the box with the snap version of Steam, while it wouldn't install or launch otherwise, so Steam from Snap was installed again:
Minecraft Java Edition
To avoid taking chances, copy the Minecraft launcher from the previous system:
It works perfectly right after installing; no need to login again.
In contrast, trying to re-download Minecraft Java Edition seems to lead nowhere good.
Minecraft Bedrock Edition
There is an unofficial Minecraft Bedrock Launcher, including smiple steps to install it on Debian / Ubuntu. This has not seemed necessary so far, since the family enjoys playing the Java edition more.
Blender
Blender 4.2 LTS is already available even for Ubuntu 24.04 via snapcraft.io/blender so there is no reason to install it any other way:
# snap install blender --classic
blender 4.2.3 from Blender Foundation (blenderfoundation✓) installed
Continuous Monitoring
Install the
multi-thread version
of the conmon script as /usr/local/bin/conmon and
run it as a service;
create /etc/systemd/system/conmon.service as follows:
| /etc/systemd/system/conmon.service | |
|---|---|
Then enable and start the services in systemd:
# systemctl enable conmon.service
# systemctl daemon-reload
# systemctl start conmon.service
# systemctl status conmon.service
Hardware Sensors
Initially there is only a limited amount of hardware sensors:
# sensors -A
nvme-pci-0400
Composite: +36.9°C (low = -20.1°C, high = +83.8°C)
(crit = +88.8°C)
Sensor 2: +72.8°C
k10temp-pci-00c3
Tctl: +42.5°C
Tccd2: +36.0°C
nvme-pci-0100
Composite: +42.9°C (low = -273.1°C, high = +84.8°C)
(crit = +84.8°C)
Sensor 1: +42.9°C (low = -273.1°C, high = +65261.8°C)
Sensor 2: +42.9°C (low = -273.1°C, high = +65261.8°C)
HDD temperatures are available by loading the drivetemp kernel module:
sensors -A
# sensors -A
drivetemp-scsi-9-0
temp1: +40.0°C (low = +0.0°C, high = +55.0°C)
(crit low = -40.0°C, crit = +70.0°C)
(lowest = +24.0°C, highest = +40.0°C)
drivetemp-scsi-5-0
temp1: +29.0°C (low = +0.0°C, high = +70.0°C)
(crit low = +0.0°C, crit = +70.0°C)
(lowest = +25.0°C, highest = +34.0°C)
drivetemp-scsi-2-0
temp1: +40.0°C (low = +0.0°C, high = +60.0°C)
(crit low = -40.0°C, crit = +70.0°C)
(lowest = +24.0°C, highest = +40.0°C)
nvme-pci-0400
Composite: +36.9°C (low = -20.1°C, high = +83.8°C)
(crit = +88.8°C)
Sensor 2: +72.8°C
k10temp-pci-00c3
Tctl: +42.5°C
Tccd2: +36.0°C
drivetemp-scsi-8-0
temp1: +36.0°C (low = +0.0°C, high = +60.0°C)
(crit low = -41.0°C, crit = +85.0°C)
(lowest = +22.0°C, highest = +36.0°C)
drivetemp-scsi-4-0
temp1: +29.0°C (low = +0.0°C, high = +100.0°C)
(crit low = +0.0°C, crit = +100.0°C)
(lowest = +25.0°C, highest = +29.0°C)
nvme-pci-0100
Composite: +42.9°C (low = -273.1°C, high = +84.8°C)
(crit = +84.8°C)
Sensor 1: +42.9°C (low = -273.1°C, high = +65261.8°C)
Sensor 2: +42.9°C (low = -273.1°C, high = +65261.8°C)
Motherboard Sensors (NCT6798D)
The ASUS TUF X-570-PRO WIFI II
motherboard initially shows only the South bridge sensors
(k10temp); to gain access to the full range of sensors
load the additional driver nct6775:
When loading this driver, dmesg should show a single line:
Previously (in Ubuntu Studio 22.04 in late 2022) this driver would encounter a conflict and sensors would not be available:
nct6775: Found NCT6798D or compatible chip at 0x2e:0x290
ACPI Warning: SystemIO range 0x0000000000000295-0x0000000000000296 conflicts with OpRegion 0x0000000000000290-0x0000000000000299 (\AMW0.SHWM) (20210730/utaddress-204)
ACPI: OSL: Resource conflict; ACPI support missing from driver?
As for late 2024, the driver encounters no conflict, and the
output from sensors -A shows the nct6798-isa-0290 with
many additional sensors:
nct6798-isa-0290
nct6798-isa-0290
in0: 1.39 V (min = +0.00 V, max = +1.74 V)
in1: 1.01 V (min = +0.00 V, max = +0.00 V) ALARM
in2: 3.41 V (min = +0.00 V, max = +0.00 V) ALARM
in3: 3.34 V (min = +0.00 V, max = +0.00 V) ALARM
in4: 1.02 V (min = +0.00 V, max = +0.00 V) ALARM
in5: 864.00 mV (min = +0.00 V, max = +0.00 V)
in6: 1.01 V (min = +0.00 V, max = +0.00 V) ALARM
in7: 3.41 V (min = +0.00 V, max = +0.00 V) ALARM
in8: 3.30 V (min = +0.00 V, max = +0.00 V) ALARM
in9: 1.82 V (min = +0.00 V, max = +0.00 V) ALARM
in10: 464.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in11: 960.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in12: 1.04 V (min = +0.00 V, max = +0.00 V) ALARM
in13: 1000.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in14: 1.01 V (min = +0.00 V, max = +0.00 V) ALARM
fan1: 1337 RPM (min = 0 RPM)
fan2: 1021 RPM (min = 0 RPM)
fan3: 963 RPM (min = 0 RPM)
fan4: 964 RPM (min = 0 RPM)
fan5: 0 RPM (min = 0 RPM)
fan6: 0 RPM (min = 0 RPM)
fan7: 0 RPM (min = 0 RPM)
SYSTIN: +33.0°C (high = +80.0°C, hyst = +75.0°C)
(crit = +125.0°C) sensor = thermistor
CPUTIN: +38.0°C (high = +80.0°C, hyst = +75.0°C)
(crit = +125.0°C) sensor = thermistor
AUXTIN0: +26.0°C (high = +80.0°C, hyst = +75.0°C)
(crit = +125.0°C) sensor = thermistor
AUXTIN1: +67.0°C (high = +80.0°C, hyst = +75.0°C)
(crit = +125.0°C) sensor = thermistor
AUXTIN2: +27.0°C (high = +80.0°C, hyst = +75.0°C)
(crit = +100.0°C) sensor = thermistor
AUXTIN3: +25.0°C (high = +80.0°C, hyst = +75.0°C)
(crit = +100.0°C) sensor = thermistor
AUXTIN4: +33.0°C (high = +80.0°C, hyst = +75.0°C)
(crit = +100.0°C)
PECI Agent 0 Calibration: +58.0°C (high = +80.0°C, hyst = +75.0°C)
PCH_CHIP_CPU_MAX_TEMP: +0.0°C
PCH_CHIP_TEMP: +0.0°C
PCH_CPU_TEMP: +0.0°C
PCH_MCH_TEMP: +0.0°C
TSI0_TEMP: +69.6°C
TSI1_TEMP: +61.2°C
intrusion0: ALARM
intrusion1: ALARM
beep_enable: disabled
Itch.io
There is a binary in .itch/itch but it doesn’t work, it seem to have launched the app but the app itself is nowhere to be seen:
$ .itch/itch
$ .itch/itch
2024/11/07 23:27:26 itch-setup will log to /tmp/itch-setup-log.txt
2024/11/07 23:27:26 =========================================
2024/11/07 23:27:26 itch-setup "v1.26.0, built on Apr 22 2021 @ 03:48:12, ref 48f97b3e7b0b065a2478811b8d0ebcae414845fd" starting up at "2024-11-07 23:27:26.862907105 +0100 CET m=+0.002170433" with arguments:
2024/11/07 23:27:26 "/home/coder/.itch/itch-setup"
2024/11/07 23:27:26 "--prefer-launch"
2024/11/07 23:27:26 "--appname"
2024/11/07 23:27:26 "itch"
2024/11/07 23:27:26 "--"
2024/11/07 23:27:26 =========================================
2024/11/07 23:27:26 App name specified on command-line: itch
2024/11/07 23:27:26 Locale: en-US
2024/11/07 23:27:26 Initializing installer GUI...
2024/11/07 23:27:26 Using GTK UI
(process:1496821): Gtk-WARNING **: 23:27:26.864: Locale not supported by C library.
Using the fallback 'C' locale.
2024/11/07 23:27:26 Initializing (itch) multiverse @ (/home/coder/.itch)
2024/11/07 23:27:26 (/home/coder/.itch)(current = "26.1.9", ready = "")
2024/11/07 23:27:26 Launch preferred, attempting...
2024/11/07 23:27:26 Launching (26.1.9) from (/home/coder/.itch/app-26.1.9)
2024/11/07 23:27:26 Kernel should support SUID sandboxing, leaving it enabled
2024/11/07 23:27:26 App launched, getting out of the way
The solution, albeit possibly only a temporary one, is to
disable sandboxing
(source) by adding the
--no-sandbox in .itch/itch:
| .itch/itch | |
|---|---|
Arduino IDE
The Arduino IDE in Ubuntu 22.04 (in /jammy/opt/arduino) will be
out of date, so it pays to install the latest/nightly version:
# wget https://downloads.arduino.cc/arduino-ide/nightly/arduino-ide_nightly-latest_Linux_64bit.zip
# unzip arduino-ide_nightly-latest_Linux_64bit.zip
# mv arduino-ide_nightly-20241106_Linux_64bit/ /opt/arduino/
# chmod 4755 /opt/arduino/chrome-sandbox
Upon launching the Arduino IDE, a notification card offers updating installed libraries, which comes in vary handy to update them all.
Without the chmod 4755 command, the IDE refuses to run.
$ /opt/arduino/arduino-ide
[1917080:1107/234610.122185:FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /opt/arduino/chrome-sandbox is owned by root and has mode 4755.
Trace/breakpoint trap (core dumped)
FMNT Autofirma
Requesting personal certificates from the FMNT the requires configuracion-previa:
Download the
AutoFirma 1.8 para Debian Linux
and the
Configurador FNMT-RCM para GNU/Linux 64 bits (DEB)
packages and unzip the AutoFirma package and install both, but
first install dependencies (libnss and Java Runtime Environment):
# apt install default-jre libnss3-tools -y
# apt install default-jre libnss3-tools -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libnss3-tools is already the newest version (2:3.98-1build1).
The following additional packages will be installed:
ca-certificates-java default-jre-headless java-common libatk-wrapper-java
libatk-wrapper-java-jni openjdk-21-jre openjdk-21-jre-headless
Suggested packages:
fonts-ipafont-gothic fonts-ipafont-mincho fonts-wqy-microhei
| fonts-wqy-zenhei fonts-indic
The following NEW packages will be installed:
ca-certificates-java default-jre default-jre-headless java-common
libatk-wrapper-java libatk-wrapper-java-jni openjdk-21-jre
openjdk-21-jre-headless
0 upgraded, 8 newly installed, 0 to remove and 14 not upgraded.
Need to get 46.9 MB of archives.
After this operation, 203 MB of additional disk space will be used.
Get:1 http://ch.archive.ubuntu.com/ubuntu noble/main amd64 ca-certificates-java all 20240118 [11.6 kB]
Get:2 http://ch.archive.ubuntu.com/ubuntu noble/main amd64 java-common all 0.75+exp1 [6,798 B]
Get:3 http://ch.archive.ubuntu.com/ubuntu noble-updates/main amd64 openjdk-21-jre-headless amd64 21.0.4+7-1ubuntu2~24.04 [46.6 MB]
Get:4 http://ch.archive.ubuntu.com/ubuntu noble/main amd64 default-jre-headless amd64 2:1.21-75+exp1 [3,094 B]
Get:5 http://ch.archive.ubuntu.com/ubuntu noble-updates/main amd64 openjdk-21-jre amd64 21.0.4+7-1ubuntu2~24.04 [227 kB]
Get:6 http://ch.archive.ubuntu.com/ubuntu noble/main amd64 default-jre amd64 2:1.21-75+exp1 [922 B]
Get:7 http://ch.archive.ubuntu.com/ubuntu noble/main amd64 libatk-wrapper-java all 0.40.0-3build2 [54.3 kB]
Get:8 http://ch.archive.ubuntu.com/ubuntu noble/main amd64 libatk-wrapper-java-jni amd64 0.40.0-3build2 [46.4 kB]
Fetched 46.9 MB in 1s (38.9 MB/s)
Selecting previously unselected package ca-certificates-java.
(Reading database ... 430136 files and directories currently installed.)
Preparing to unpack .../0-ca-certificates-java_20240118_all.deb ...
Unpacking ca-certificates-java (20240118) ...
Selecting previously unselected package java-common.
Preparing to unpack .../1-java-common_0.75+exp1_all.deb ...
Unpacking java-common (0.75+exp1) ...
Selecting previously unselected package openjdk-21-jre-headless:amd64.
Preparing to unpack .../2-openjdk-21-jre-headless_21.0.4+7-1ubuntu2~24.04_amd64.deb ...
Unpacking openjdk-21-jre-headless:amd64 (21.0.4+7-1ubuntu2~24.04) ...
Selecting previously unselected package default-jre-headless.
Preparing to unpack .../3-default-jre-headless_2%3a1.21-75+exp1_amd64.deb ...
Unpacking default-jre-headless (2:1.21-75+exp1) ...
Selecting previously unselected package openjdk-21-jre:amd64.
Preparing to unpack .../4-openjdk-21-jre_21.0.4+7-1ubuntu2~24.04_amd64.deb ...
Unpacking openjdk-21-jre:amd64 (21.0.4+7-1ubuntu2~24.04) ...
Selecting previously unselected package default-jre.
Preparing to unpack .../5-default-jre_2%3a1.21-75+exp1_amd64.deb ...
Unpacking default-jre (2:1.21-75+exp1) ...
Selecting previously unselected package libatk-wrapper-java.
Preparing to unpack .../6-libatk-wrapper-java_0.40.0-3build2_all.deb ...
Unpacking libatk-wrapper-java (0.40.0-3build2) ...
Selecting previously unselected package libatk-wrapper-java-jni:amd64.
Preparing to unpack .../7-libatk-wrapper-java-jni_0.40.0-3build2_amd64.deb ...
Unpacking libatk-wrapper-java-jni:amd64 (0.40.0-3build2) ...
Setting up java-common (0.75+exp1) ...
Setting up libatk-wrapper-java (0.40.0-3build2) ...
Setting up ca-certificates-java (20240118) ...
No JRE found. Skipping Java certificates setup.
Setting up openjdk-21-jre-headless:amd64 (21.0.4+7-1ubuntu2~24.04) ...
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/java to provide /usr/bin/java (java) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode
Setting up libatk-wrapper-java-jni:amd64 (0.40.0-3build2) ...
Processing triggers for man-db (2.12.0-4build2) ...
Processing triggers for desktop-file-utils (0.27-2build1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for ca-certificates-java (20240118) ...
Adding debian:ACCVRAIZ1.pem
Adding debian:AC_RAIZ_FNMT-RCM.pem
Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem
Adding debian:ANF_Secure_Server_Root_CA.pem
Adding debian:Actalis_Authentication_Root_CA.pem
Adding debian:AffirmTrust_Commercial.pem
Adding debian:AffirmTrust_Networking.pem
Adding debian:AffirmTrust_Premium.pem
Adding debian:AffirmTrust_Premium_ECC.pem
Adding debian:Amazon_Root_CA_1.pem
Adding debian:Amazon_Root_CA_2.pem
Adding debian:Amazon_Root_CA_3.pem
Adding debian:Amazon_Root_CA_4.pem
Adding debian:Atos_TrustedRoot_2011.pem
Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem
Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem
Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem
Adding debian:BJCA_Global_Root_CA1.pem
Adding debian:BJCA_Global_Root_CA2.pem
Adding debian:Baltimore_CyberTrust_Root.pem
Adding debian:Buypass_Class_2_Root_CA.pem
Adding debian:Buypass_Class_3_Root_CA.pem
Adding debian:CA_Disig_Root_R2.pem
Adding debian:CFCA_EV_ROOT.pem
Adding debian:COMODO_Certification_Authority.pem
Adding debian:COMODO_ECC_Certification_Authority.pem
Adding debian:COMODO_RSA_Certification_Authority.pem
Adding debian:Certainly_Root_E1.pem
Adding debian:Certainly_Root_R1.pem
Adding debian:Certigna.pem
Adding debian:Certigna_Root_CA.pem
Adding debian:Certum_EC-384_CA.pem
Adding debian:Certum_Trusted_Network_CA.pem
Adding debian:Certum_Trusted_Network_CA_2.pem
Adding debian:Certum_Trusted_Root_CA.pem
Adding debian:CommScope_Public_Trust_ECC_Root-01.pem
Adding debian:CommScope_Public_Trust_ECC_Root-02.pem
Adding debian:CommScope_Public_Trust_RSA_Root-01.pem
Adding debian:CommScope_Public_Trust_RSA_Root-02.pem
Adding debian:Comodo_AAA_Services_root.pem
Adding debian:D-TRUST_BR_Root_CA_1_2020.pem
Adding debian:D-TRUST_EV_Root_CA_1_2020.pem
Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem
Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem
Adding debian:DigiCert_Assured_ID_Root_CA.pem
Adding debian:DigiCert_Assured_ID_Root_G2.pem
Adding debian:DigiCert_Assured_ID_Root_G3.pem
Adding debian:DigiCert_Global_Root_CA.pem
Adding debian:DigiCert_Global_Root_G2.pem
Adding debian:DigiCert_Global_Root_G3.pem
Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem
Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem
Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem
Adding debian:DigiCert_Trusted_Root_G4.pem
Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem
Adding debian:Entrust_Root_Certification_Authority.pem
Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem
Adding debian:Entrust_Root_Certification_Authority_-_G2.pem
Adding debian:Entrust_Root_Certification_Authority_-_G4.pem
Adding debian:GDCA_TrustAUTH_R5_ROOT.pem
Adding debian:GLOBALTRUST_2020.pem
Adding debian:GTS_Root_R1.pem
Adding debian:GTS_Root_R2.pem
Adding debian:GTS_Root_R3.pem
Adding debian:GTS_Root_R4.pem
Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem
Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem
Adding debian:GlobalSign_Root_CA.pem
Adding debian:GlobalSign_Root_CA_-_R3.pem
Adding debian:GlobalSign_Root_CA_-_R6.pem
Adding debian:GlobalSign_Root_E46.pem
Adding debian:GlobalSign_Root_R46.pem
Adding debian:Go_Daddy_Class_2_CA.pem
Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem
Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem
Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem
Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem
Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem
Adding debian:HiPKI_Root_CA_-_G1.pem
Adding debian:Hongkong_Post_Root_CA_3.pem
Adding debian:ISRG_Root_X1.pem
Adding debian:ISRG_Root_X2.pem
Adding debian:IdenTrust_Commercial_Root_CA_1.pem
Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem
Adding debian:Izenpe.com.pem
Adding debian:Microsec_e-Szigno_Root_CA_2009.pem
Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem
Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem
Adding debian:NAVER_Global_Root_Certification_Authority.pem
Warning: there was a problem reading the certificate file /etc/ssl/certs/NetLock_Arany_=Class_Gold=_F?tan?s?tv?ny.pem. Message:
/etc/ssl/certs/NetLock_Arany_=Class_Gold=_F?tan?s?tv?ny.pem (No such file or directory)
Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem
Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem
Adding debian:QuoVadis_Root_CA_1_G3.pem
Adding debian:QuoVadis_Root_CA_2.pem
Adding debian:QuoVadis_Root_CA_2_G3.pem
Adding debian:QuoVadis_Root_CA_3.pem
Adding debian:QuoVadis_Root_CA_3_G3.pem
Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem
Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem
Adding debian:SSL.com_Root_Certification_Authority_ECC.pem
Adding debian:SSL.com_Root_Certification_Authority_RSA.pem
Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem
Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem
Adding debian:SZAFIR_ROOT_CA2.pem
Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem
Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem
Adding debian:SecureSign_RootCA11.pem
Adding debian:SecureTrust_CA.pem
Adding debian:Secure_Global_CA.pem
Adding debian:Security_Communication_ECC_RootCA1.pem
Adding debian:Security_Communication_RootCA2.pem
Adding debian:Security_Communication_RootCA3.pem
Adding debian:Security_Communication_Root_CA.pem
Adding debian:Starfield_Class_2_CA.pem
Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem
Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem
Adding debian:SwissSign_Gold_CA_-_G2.pem
Adding debian:SwissSign_Silver_CA_-_G2.pem
Adding debian:T-TeleSec_GlobalRoot_Class_2.pem
Adding debian:T-TeleSec_GlobalRoot_Class_3.pem
Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem
Adding debian:TWCA_Global_Root_CA.pem
Adding debian:TWCA_Root_Certification_Authority.pem
Adding debian:TeliaSonera_Root_CA_v1.pem
Adding debian:Telia_Root_CA_v2.pem
Adding debian:TrustAsia_Global_Root_CA_G3.pem
Adding debian:TrustAsia_Global_Root_CA_G4.pem
Adding debian:Trustwave_Global_Certification_Authority.pem
Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem
Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem
Adding debian:TunTrust_Root_CA.pem
Adding debian:UCA_Extended_Validation_Root.pem
Adding debian:UCA_Global_G2_Root.pem
Adding debian:USERTrust_ECC_Certification_Authority.pem
Adding debian:USERTrust_RSA_Certification_Authority.pem
Adding debian:XRamp_Global_CA_Root.pem
Adding debian:certSIGN_ROOT_CA.pem
Adding debian:certSIGN_Root_CA_G2.pem
Adding debian:e-Szigno_Root_CA_2017.pem
Adding debian:ePKI_Root_Certification_Authority.pem
Adding debian:emSign_ECC_Root_CA_-_C3.pem
Adding debian:emSign_ECC_Root_CA_-_G3.pem
Adding debian:emSign_Root_CA_-_C1.pem
Adding debian:emSign_Root_CA_-_G1.pem
Adding debian:vTrus_ECC_Root_CA.pem
Adding debian:vTrus_Root_CA.pem
done.
Setting up openjdk-21-jre:amd64 (21.0.4+7-1ubuntu2~24.04) ...
Setting up default-jre-headless (2:1.21-75+exp1) ...
Setting up default-jre (2:1.21-75+exp1) ...
The last action (Adding debian:AutoFirma_ROOT.pem) is critical
for the installation of AutoFirma:
# gdebi ./AutoFirma_1_8_3.deb configuradorfnmt_4.0.6_amd64.deb
# gdebi ./AutoFirma_1_8_3.deb configuradorfnmt_4.0.6_amd64.deb
/usr/bin/gdebi:113: SyntaxWarning: invalid escape sequence '\S'
c = findall("[[(](\S+)/\S+[])]", msg)[0].lower()
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Reading state information... Done
AutoFirma - Cliente @firma
Do you want to install the software package? [y/N]:y
/usr/bin/gdebi:113: FutureWarning: Possible nested set at position 1
c = findall("[[(](\S+)/\S+[])]", msg)[0].lower()
(Reading database ... 430504 files and directories currently installed.)
Preparing to unpack ./AutoFirma_1_8_3.deb ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
Se ha borrado el certificado CA en el almacenamiento del sistema
Unpacking autofirma (1.8.3) over (1.8.3) ...
Desinstalación completada con exito
Setting up autofirma (1.8.3) ...
Nov 08, 2024 12:17:11 AM es.gob.afirma.standalone.configurator.AutoFirmaConfigurator <init>
INFO: Se configurara la aplicacion en modo nativo
Nov 08, 2024 12:17:11 AM es.gob.afirma.standalone.configurator.ConsoleManager getConsole
INFO: Se utilizara la consola de tipo I/O
Nov 08, 2024 12:17:11 AM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure
INFO: Identificando directorio de aplicación...
Nov 08, 2024 12:17:11 AM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure
INFO: Directorio de aplicación: /usr/lib/AutoFirma
Nov 08, 2024 12:17:11 AM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure
INFO: Generando certificado para la comunicación con el navegador web...
Nov 08, 2024 12:17:12 AM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure
INFO: Se guarda el almacén de claves en el directorio de instalación de la aplicación
Nov 08, 2024 12:17:12 AM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure
INFO: Se va a instalar el certificado en el almacen de Mozilla Firefox
Nov 08, 2024 12:17:12 AM es.gob.afirma.standalone.configurator.ConfiguratorFirefoxLinux createScriptsToSystemKeyStore
INFO: Comprobamos que se encuentre certutil en el sistema
Nov 08, 2024 12:17:12 AM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure
INFO: Fin de la configuración
Generacion de certificados
Instalacion del certificado CA en el almacenamiento de Firefox y Chrome
Updating certificates in /etc/ssl/certs...
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
Instalacion del certificado CA en el almacenamiento del sistema
Processing triggers for ca-certificates-java (20240118) ...
Adding debian:AutoFirma_ROOT.pem
done.
Processing triggers for desktop-file-utils (0.27-2build1) ...
Without a JRE installed, the installation fails.
Without a JRE installed, the installation of AutoFirma will fails
when AutoFirma_ROOT.pem cannot be found:
# unzip AutoFirma_Linux_Debian.zip
# gdebi ./AutoFirma_1_8_3.deb configuradorfnmt_4.0.6_amd64.deb
/usr/bin/gdebi:113: SyntaxWarning: invalid escape sequence '\S'
c = findall("[[(](\S+)/\S+[])]", msg)[0].lower()
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Reading state information... Done
AutoFirma - Cliente @firma
Do you want to install the software package? [y/N]:y
/usr/bin/gdebi:113: FutureWarning: Possible nested set at position 1
c = findall("[[(](\S+)/\S+[])]", msg)[0].lower()
Selecting previously unselected package autofirma.
(Reading database ... 430119 files and directories currently installed.)
Preparing to unpack ./AutoFirma_1_8_3.deb ...
Unpacking autofirma (1.8.3) ...
Setting up autofirma (1.8.3) ...
/var/lib/dpkg/info/autofirma.postinst: 3: java: not found
Generacion de certificados
Instalacion del certificado CA en el almacenamiento de Firefox y Chrome
Could not open file or uri for loading certificate from /usr/lib/AutoFirma/AutoFirma_ROOT.cer
40474AFDD37D0000:error:16000069:STORE routines:ossl_store_get0_loader_int:unregistered scheme:../crypto/store/store_register.c:237:scheme=file
40474AFDD37D0000:error:80000002:system library:file_open:No such file or directory:../providers/implementations/storemgmt/file_store.c:267:calling stat(/usr/lib/AutoFirma/AutoFirma_ROOT.cer)
Unable to load certificate
mv: cannot stat '/usr/lib/AutoFirma/AutoFirma_ROOT.pem': No such file or directory
cp: cannot stat '/usr/lib/AutoFirma/AutoFirma_ROOT.crt': No such file or directory
cp: cannot stat '/usr/lib/AutoFirma/AutoFirma_ROOT.crt': No such file or directory
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
Instalacion del certificado CA en el almacenamiento del sistema
rm: cannot remove '/usr/lib/AutoFirma/script.sh': No such file or directory
rm: cannot remove '/usr/lib/AutoFirma/AutoFirma_ROOT.crt': No such file or directory
Processing triggers for desktop-file-utils (0.27-2build1) ...
DisplayCal
DisplayCAL is no longer maintained, it was dropped from Ubuntu 20.04 because it would not work with Python 3, but was still possible to build with python2.7 packages. Later, that was no longer possible in Ubuntu 22.04, so a new port to Python 3 was started: the DisplayCAL Python 3 Project.
Back in late 2022, the best method around was in (French) DisplayCAL en Python 3 and required only a few basic packages.
As or late 2024, the new project has its own
Installation Instructions (Linux)
but in Ubuntu Studio 24.04 none of this is necessary; apt install displaycal will do.
Prusa Slicer
To install PrusaSlicer first need to Set Up Flathub in Ubuntu:
# apt install flatpak -y
# apt install flatpak -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
libmalcontent-0-0 libostree-1-1
Suggested packages:
malcontent-gui
The following NEW packages will be installed:
flatpak libmalcontent-0-0 libostree-1-1
0 upgraded, 3 newly installed, 0 to remove and 3 not upgraded.
Need to get 1,745 kB of archives.
After this operation, 6,553 kB of additional disk space will be used.
Get:1 http://ch.archive.ubuntu.com/ubuntu noble-updates/main amd64 libmalcontent-0-0 amd64 0.11.1-1ubuntu1 [22.3 kB]
Get:2 http://archive.ubuntu.com/ubuntu noble/universe amd64 libostree-1-1 amd64 2024.5-1build2 [373 kB]
Get:3 http://archive.ubuntu.com/ubuntu noble-updates/universe amd64 flatpak amd64 1.14.6-1ubuntu0.1 [1,350 kB]
Fetched 1,745 kB in 1s (3,120 kB/s)
Selecting previously unselected package libmalcontent-0-0:amd64.
(Reading database ... 489602 files and directories currently installed.)
Preparing to unpack .../libmalcontent-0-0_0.11.1-1ubuntu1_amd64.deb ...
Unpacking libmalcontent-0-0:amd64 (0.11.1-1ubuntu1) ...
Selecting previously unselected package libostree-1-1:amd64.
Preparing to unpack .../libostree-1-1_2024.5-1build2_amd64.deb ...
Unpacking libostree-1-1:amd64 (2024.5-1build2) ...
Selecting previously unselected package flatpak.
Preparing to unpack .../flatpak_1.14.6-1ubuntu0.1_amd64.deb ...
Unpacking flatpak (1.14.6-1ubuntu0.1) ...
Setting up libostree-1-1:amd64 (2024.5-1build2) ...
Setting up libmalcontent-0-0:amd64 (0.11.1-1ubuntu1) ...
Setting up flatpak (1.14.6-1ubuntu0.1) ...
Processing triggers for man-db (2.12.0-4build2) ...
Processing triggers for dbus (1.14.10-4ubuntu4.1) ...
Processing triggers for libc-bin (2.39-0ubuntu8.3) ...
For the time being, the only repository will be flathub.org:
Once the repository is added, install the application:
# flatpak install flathub com.prusa3d.PrusaSlicer
# flatpak install flathub com.prusa3d.PrusaSlicer
Looking for matches…
Required runtime for com.prusa3d.PrusaSlicer/x86_64/stable (runtime/org.gnome.Platform/x86_64/47) found in remote flathub
Do you want to install it? [Y/n]:
(flatpak install:1943373): dconf-WARNING **: 13:36:55.591: unable to open file '/etc/dconf/db/site': Failed to open file “/etc/dconf/db/site”: open() failed: No such file or directory; expect degraded performance
com.prusa3d.PrusaSlicer permissions:
ipc network x11 devices
file access [1] dbus access [2] bus ownership [3] system dbus access [4]
[1] /media, /run/media, home, xdg-run/gvfs
[2] com.prusa3d.prusaslicer.InstanceCheck.*, org.freedesktop.DBus.Introspectable.*
[3] com.prusa3d.prusaslicer.*
[4] org.freedesktop.UDisks2
ID Branch Op Remote Download
1. [✓] com.prusa3d.PrusaSlicer.Locale stable i flathub 137.4 kB / 11.6 MB
2. [✓] org.freedesktop.Platform.GL.default 24.08 i flathub 156.1 MB / 156.3 MB
3. [✓] org.freedesktop.Platform.GL.default 24.08extra i flathub 25.1 MB / 156.3 MB
4. [✓] org.freedesktop.Platform.GL.nvidia-550-120 1.4 i flathub 308.2 MB / 308.2 MB
5. [✓] org.freedesktop.Platform.openh264 2.4.1 i flathub 920.7 kB / 976.5 kB
6. [✓] org.gnome.Platform.Locale 47 i flathub 18.6 kB / 386.5 MB
7. [✓] org.gnome.Platform 47 i flathub 326.6 MB / 384.1 MB
8. [✓] com.prusa3d.PrusaSlicer stable i flathub 84.8 MB / 91.7 MB
Installing 8/8… ████████████████████ 100% 7.7 MB/s 00:00
ID Branch Op Remote Download
1. [✓] com.prusa3d.PrusaSlicer.Locale stable i flathub 137.4 kB / 11.6 MB
2. [✓] org.freedesktop.Platform.GL.default 24.08 i flathub 156.1 MB / 156.3 MB
3. [✓] org.freedesktop.Platform.GL.default 24.08extra i flathub 25.1 MB / 156.3 MB
4. [✓] org.freedesktop.Platform.GL.nvidia-550-120 1.4 i flathub 308.2 MB / 308.2 MB
5. [✓] org.freedesktop.Platform.openh264 2.4.1 i flathub 920.7 kB / 976.5 kB
6. [✓] org.gnome.Platform.Locale 47 i flathub 18.6 kB / 386.5 MB
7. [✓] org.gnome.Platform 47 i flathub 326.6 MB / 384.1 MB
8. [✓] com.prusa3d.PrusaSlicer stable i flathub 84.8 MB / 91.7 MB
Installation complete.
Then to run the application:
FreeCAD 1.0
FreeCAD recent had a major 1.0 release that makes it a lot more palatable for many more people, so I gave it a try.
Download the stable version, which is an AppImage file and can be updated easily with AppImageUpdate:
$ mkdir $HOME/Applications
$ cd $HOME/Applications
$ wget -q https://github.com/FreeCAD/FreeCAD/releases/download/1.0.0/FreeCAD_1.0.0-conda-Linux-x86_64-py311.AppImage
$ wget -q https://github.com/AppImageCommunity/AppImageUpdate/releases/download/2.0.0-alpha-1-20241225/AppImageUpdate-x86_64.AppImage
$ ./AppImageUpdate-x86_64.AppImage FreeCAD_1.0.0-conda-Linux-x86_64-py311.AppImage
AppImageUpdate version 1-alpha (commit 362e637), build 223 built on 2024-12-25 15:11:36 UTC
Fetching latest release information from GitHub API
Updating from GitHub Releases via ZSync
Fetching latest release information from GitHub API
zsync2: Using CA bundle found on system: /etc/ssl/certs/ca-certificates.crt
zsync2: /home/ponder/Downloads/FreeCAD_1.0.0-conda-Linux-x86_64-py311.AppImage found, using as seed file
zsync2: Target file: /home/ponder/Downloads/FreeCAD_1.0.0-conda-Linux-x86_64-py311.AppImage
zsync2: Reading seed file: /home/ponder/Downloads/FreeCAD_1.0.0-conda-Linux-x86_64-py311.AppImage
zsync2: Usable data from seed files: 97.175505%
zsync2: Renaming temp file
zsync2: Fetching remaining blocks
zsync2: Downloading from https://objects.githubusercontent.com/github-production-release-asset-2e65be/93114989/a70d4be4-ab21-4577-9ddc-51f71f55709f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20250116%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250116T194102Z&X-Amz-Expires=300&X-Amz-Signature=6cd137d7eea382edbbbd3cee03d5e401cc5995d9c912b2eb734cda90217999f8&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3DFreeCAD_1.0.0-conda-Linux-x86_64-py311.AppImage&response-content-type=application%2Foctet-stream
zsync2: optimized ranges, old requests count 254, new requests count 72
zsync2: Verifying downloaded file
zsync2: checksum matches OK
zsync2: used 660779008 local, fetched 32539376
Tweak UI Font Size
FreeCAD does not have an easy way to increase UI font size globally, the CSS tweak here does not work, the recommended solution, while waiting for HiDPI support, is to scale the entire UI up on high resolution screens:
/usr/bin/env \
QT_AUTO_SCREEN_SCALE_FACTOR=0 \
QT_SCALE_FACTOR=1.5 \
/home/ponder/Applications/FreeCAD_1.0.0-conda-Linux-x86_64-py311.AppImage
System Configuration
The above having covered installing software, there are still system configurations that need to be tweaked.
APT respositories clean-up
Ubuntu Studio 24.04 seems to consistently need a little
APT respositories clean-up; just comment out the last line
in /etc/apt/sources.list.d/dvd.list to let noble-security be
defined (only) in ubuntu.sources.
Ubuntu Pro
When updating the system with apt full-upgrade -y a notice comes
up about additional security updates:
Get more security updates through Ubuntu Pro with 'esm-apps' enabled:
libdcmtk17t64 libcjson1 libavdevice60 ffmpeg libpostproc57 libavcodec60
libavutil58 libswscale7 libswresample4 libavformat60 libavfilter9
Learn more about Ubuntu Pro at https://ubuntu.com/pro
This being a new system, indeed it's not attached to an Ubuntu Pro account (the old system was):
# pro security-status
3213 packages installed:
1642 packages from Ubuntu Main/Restricted repository
1569 packages from Ubuntu Universe/Multiverse repository
1 package from a third party
1 package no longer available for download
To get more information about the packages, run
pro security-status --help
for a list of available options.
This machine is receiving security patching for Ubuntu Main/Restricted
repository until 2029.
This machine is NOT attached to an Ubuntu Pro subscription.
Ubuntu Pro with 'esm-infra' enabled provides security updates for
Main/Restricted packages until 2034.
Ubuntu Pro with 'esm-apps' enabled provides security updates for
Universe/Multiverse packages until 2034. There are 11 pending security updates.
Try Ubuntu Pro with a free personal subscription on up to 5 machines.
Learn more at https://ubuntu.com/pro
After creating an Ubuntu account a token is available to use with
pro attach:
# pro attach ...
Enabling Ubuntu Pro: ESM Apps
Ubuntu Pro: ESM Apps enabled
Enabling Ubuntu Pro: ESM Infra
Ubuntu Pro: ESM Infra enabled
Enabling Livepatch
Livepatch enabled
This machine is now attached to 'Ubuntu Pro - free personal subscription'
SERVICE ENTITLED STATUS DESCRIPTION
anbox-cloud yes disabled Scalable Android in the cloud
esm-apps yes enabled Expanded Security Maintenance for Applications
esm-infra yes enabled Expanded Security Maintenance for Infrastructure
landscape yes disabled Management and administration tool for Ubuntu
livepatch yes warning Current kernel is not covered by livepatch
realtime-kernel* yes disabled Ubuntu kernel with PREEMPT_RT patches integrated
* Service has variants
NOTICES
Operation in progress: pro attach
The current kernel (6.8.0-47-lowlatency, x86_64) is not covered by livepatch.
Covered kernels are listed here: https://ubuntu.com/security/livepatch/docs/kernels
Either switch to a covered kernel or `sudo pro disable livepatch` to dismiss this warning.
For a list of all Ubuntu Pro services and variants, run 'pro status --all'
Enable services with: pro enable <service>
Account: ponder.stibbons@uu.am
Subscription: Ubuntu Pro - free personal subscription
# pro status --all
SERVICE ENTITLED STATUS DESCRIPTION
anbox-cloud yes disabled Scalable Android in the cloud
cc-eal yes n/a Common Criteria EAL2 Provisioning Packages
esm-apps yes enabled Expanded Security Maintenance for Applications
esm-infra yes enabled Expanded Security Maintenance for Infrastructure
fips yes n/a NIST-certified FIPS crypto packages
fips-preview yes n/a Preview of FIPS crypto packages undergoing certification with NIST
fips-updates yes n/a FIPS compliant crypto packages with stable security updates
landscape yes disabled Management and administration tool for Ubuntu
livepatch yes warning Current kernel is not covered by livepatch
realtime-kernel yes disabled Ubuntu kernel with PREEMPT_RT patches integrated
├ generic yes disabled Generic version of the RT kernel (default)
├ intel-iotg yes n/a RT kernel optimized for Intel IOTG platform
└ raspi yes n/a 24.04 Real-time kernel optimised for Raspberry Pi
ros yes n/a Security Updates for the Robot Operating System
ros-updates yes n/a All Updates for the Robot Operating System
usg yes n/a Security compliance and audit tools
NOTICES
The current kernel (6.8.0-47-lowlatency, x86_64) is not covered by livepatch.
Covered kernels are listed here: https://ubuntu.com/security/livepatch/docs/kernels
Either switch to a covered kernel or `sudo pro disable livepatch` to dismiss this warning.
Enable services with: pro enable <service>
Now the system can be updated again with apt full-upgrade -y
to receive those additional security updates:
# apt full-upgrade -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following upgrades have been deferred due to phasing:
python3-distupgrade ubuntu-release-upgrader-core
ubuntu-release-upgrader-qt
The following packages will be upgraded:
ffmpeg libavcodec60 libavdevice60 libavfilter9 libavformat60 libavutil58
libcjson1 libdcmtk17t64 libpostproc57 libswresample4 libswscale7
11 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
11 esm-apps security updates
Fix failed locale settings
Every time dpkg runs, perl reports failed locale settings:
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US:en",
LC_ALL = (unset),
LC_TIME = "en_CH.UTF-8",
LC_MONETARY = "de_CH.UTF-8",
LC_ADDRESS = "C.UTF-8",
LC_TELEPHONE = "C.UTF-8",
LC_NAME = "C.UTF-8",
LC_MEASUREMENT = "de_CH.UTF-8",
LC_IDENTIFICATION = "C.UTF-8",
LC_NUMERIC = "de_CH.UTF-8",
LC_PAPER = "C.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
locale: Cannot set LC_ALL to default locale: No such file or directory
To fix this, set LC_ALL globally:
Re/generate the desired locales, e.g. at least en_US.UTF-8.
# dpkg-reconfigure locales
Generating locales (this might take a while)...
en_US.UTF-8... done
...
Generation complete.
Make dmesg non-privileged
Since Ubuntu 22.04, dmesg has become a privileged operation
by default:
This is controlled by
To revert this default, and make it permanent (source):
Make SDDM Look Good
Ubuntu Studio 24.04 uses Simple Desktop Display Manager (SDDM) (sddm/sddm in GitHub) which is quite good looking out of the box, but I like to customize this for each computer.
For most computers my favorite SDDM theme is Breeze-Noir-Dark, which I like to install system-wide.
Action icons won’t render if the directory name is changed.
If needed, change the directory name in the iconSource fields in Main.qml
to match final directory name so icons show. This is not the only thing that
breaks when changing the directory name.
Other than installing this theme, all I really change in it is the background image to use The Rapture [3440x1440].
# mv welcome-to-rapture-opportunity-awaits-3440x1440.jpg \
/usr/share/sddm/themes/Breeze-Noir-Dark/
# cd /usr/share/sddm/themes/Breeze-Noir-Dark/
# vi theme.conf
[General]
type=image
color=#132e43
background=/usr/share/sddm/themes/Breeze-Noir-Dark/welcome-to-rapture-opportunity-awaits-3440x1440.jpg
# vi theme.conf.user
[General]
type=image
background=welcome-to-rapture-opportunity-awaits-3440x1440.jpg
Additionally, as this is new in Ubuntu 24.04, the theme has to
be selected by adding a [Theme] section in the system config
in /usr/lib/sddm/sddm.conf.d/ubuntustudio.conf
| /usr/lib/sddm/sddm.conf.d/ubuntustudio.conf | |
|---|---|
Reportedly,
you have to create the /etc/sddm.conf.d directory to add
the Local configuration file that allows setting the theme:
Besides setting the theme, it is also good to limit the range of user ids so that only human users show up:
| /etc/sddm.conf.d/ubuntustudio.conf | |
|---|---|
It seems no longer necessary to manually add Redshift to one's desktop session. Previously, it would be necessary to launch Autostart and Add Application… to add Redshift.
Waiting for initial location to become available...
However, redshift in Ubuntu 24.04 seems to be susceptible to crashing whenever toggleing it on/off or adjusting the color temperature. Despite the setting above to force specific coordinates manually, it tries to fetch location from an online service that is not available: a pop-up error tells:
Redshift has terminated unexpectedly with exit code 0:
Waiting for initial location to become available...
The same is seen when running redshift-qt in a shell, then trying
to adjust the color temperature:
$ redshift-qt
"Solar elevations: day above 3.0, night below -6.0"
"Temperatures: 4500K at day, 3500K at night"
"Brightness: 1.00:0.70"
"Gamma (Daytime): 0.700, 0.700, 0.700"
"Gamma (Night): 0.700, 0.700, 0.700"
"Location: 48.00 N, 8.00 E"
"Color temperature: 6500K"
"Brightness: 1.00"
"Status: Enabled"
"Period: Night"
"Color temperature: 3500K"
"Brightness: 0.70"
"Status: Disabled"
"Period: None"
"Color temperature: 6500K"
"Brightness: 1.00"
"Waiting for initial location to become available..."
In the end, it was again necessary to manually add Redshift to the
desktop session. Previously, it would be necessary to launch
Autostart and Add Application… to add redshift-qt.
This may be related to the Update app failing with Cannot Refresh Cache Whilst Offline, apparently becuase Cockpit just 'needs' Network Manager, but there is a Solution, involving the creation of a fake network interface.
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 04:42:1a:97:4e:47 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.2/24 brd 10.0.0.255 scope global enp5s0
valid_lft forever preferred_lft forever
inet 192.168.0.2/24 metric 100 brd 192.168.0.255 scope global dynamic enp5s0
valid_lft 85940sec preferred_lft 85940sec
inet6 fe80::642:1aff:fe97:4e47/64 scope link
valid_lft forever preferred_lft forever
# nmcli con add type dummy con-name fake ifname fake0 ip4 1.2.3.4/24 gw4 1.2.3.1
Connection 'fake' (f7fe724b-5aa8-4988-b21b-aa9dc96dae1a) successfully added.
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 04:42:1a:97:4e:47 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.2/24 brd 10.0.0.255 scope global enp5s0
valid_lft forever preferred_lft forever
inet 192.168.0.2/24 metric 100 brd 192.168.0.255 scope global dynamic enp5s0
valid_lft 85937sec preferred_lft 85937sec
inet6 fe80::642:1aff:fe97:4e47/64 scope link
valid_lft forever preferred_lft forever
3: fake0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
link/ether ce:56:b8:58:f8:32 brd ff:ff:ff:ff:ff:ff
inet 1.2.3.4/24 brd 1.2.3.255 scope global noprefixroute fake0
valid_lft forever preferred_lft forever
This doesn't seem to affect anything else's connectivity, but at least now the Updates application no longer fails.
Weekly btrfs scrub
To keep BTRFS file systems healthy, it is recommended to run a weekly scrub to check everything for consistency. For this, I run the script from crontab every Saturday night.
# wget -O /usr/local/bin/btrfs-scrub-all \
http://marc.merlins.org/linux/scripts/btrfs-scrub
# apt install inn -y
# crontab -e
...
# m h dom mon dow command
50 23 * * 6 /usr/local/bin/btrfs-scrub-all
Marc MERLIN keeps the script updated,
so each systme may benefit from a few modifications, e.g.
1. Remove tests for laptop battery status, when running on a PC.
2. Set the BTRFS_SCRUB_SKIP to filter out partitions to skip.
Note
Setting BTRFS_SCRUB_SKIP="sda" prefents Btrfs balancing from running
every week on the larger 6TB RAID 1 array of HDD, because that takes too long.
The whole process takes about 15 minutes for the 4TB NVMe SSD, then something between 1 and 2 hours for each of the 4TB SATA SSDs:
# /usr/local/bin/btrfs-scrub-all
# /usr/local/bin/btrfs-scrub-all
<13>Nov 11 23:54:17 root: Quick Metadata and Data Balance of /home (/dev/nvme1n1p4)
Done, had to relocate 0 out of 2695 chunks
Done, had to relocate 0 out of 2695 chunks
Done, had to relocate 1 out of 2695 chunks
<13>Nov 11 23:54:48 root: Starting scrub of /home
btrfs scrub start -Bd /home
Starting scrub on devid 1
Scrub device /dev/nvme1n1p4 (id 1) done
Scrub started: Mon Nov 11 23:54:48 2024
Status: finished
Duration: 0:14:39
Total to scrub: 2.63TiB
Rate: 3.06GiB/s
Error summary: no errors found
real 14m39.641s
user 0m0.001s
sys 3m40.063s
<13>Nov 12 00:09:27 root: Quick Metadata and Data Balance of /home/new-ssd (/dev/sdb)
Done, had to relocate 0 out of 2086 chunks
Done, had to relocate 0 out of 2086 chunks
Done, had to relocate 42 out of 2086 chunks
<13>Nov 12 00:10:22 root: Starting scrub of /home/new-ssd
btrfs scrub start -Bd /home/new-ssd
Starting scrub on devid 1
Scrub device /dev/sdb (id 1) done
Scrub started: Tue Nov 12 00:10:22 2024
Status: finished
Duration: 1:20:26
Total to scrub: 1.98TiB
Rate: 431.00MiB/s
Error summary: no errors found
real 80m25.930s
user 0m0.004s
sys 2m45.709s
<13>Nov 12 01:30:48 root: Quick Metadata and Data Balance of /home/ssd (/dev/sdc)
Done, had to relocate 0 out of 2937 chunks
Done, had to relocate 0 out of 2937 chunks
Done, had to relocate 0 out of 2937 chunks
<13>Nov 12 01:31:18 root: Starting scrub of /home/ssd
btrfs scrub start -Bd /home/ssd
Starting scrub on devid 1
Scrub device /dev/sdc (id 1) done
Scrub started: Tue Nov 12 01:31:18 2024
Status: finished
Duration: 1:49:18
Total to scrub: 2.82TiB
Rate: 451.50MiB/s
Error summary: no errors found
real 109m17.722s
user 0m0.002s
sys 4m34.310s
Stop apparmor spew in the logs
Although also somewhat visible in Ubuntu Studio 22.04, the log spam
from audit seems to flood dmesg output a lot more in 24.04:
audit: type=1107 audit(1731359486.714:247): pid=2329 uid=101 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_signal" bus="system" path="/com/redhat/PrinterSpooler" interface="com.redhat.PrinterSpooler" member="QueueChanged" mask="send" name="org.freedesktop.DBus" pid=3909 label="snap.cups.cupsd" peer_pid=110058 peer_label="plasmashell"
exe="/usr/bin/dbus-daemon" sauid=101 hostname=? addr=? terminal=?'
...
exe="/usr/bin/dbus-daemon" sauid=101 hostname=? addr=? terminal=?'
audit: type=1107 audit(1731360145.704:378): pid=2329 uid=101 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_signal" bus="system" path="/com/redhat/PrinterSpooler" interface="com.redhat.PrinterSpooler" member="QueueChanged" mask="send" name="org.freedesktop.DBus" pid=3909 label="snap.cups.cupsd" peer_pid=110058 peer_label="plasmashell"
exe="/usr/bin/dbus-daemon" sauid=101 hostname=? addr=? terminal=?'
audit: type=1400 audit(1731360145.807:379): apparmor="DENIED" operation="capable" class="cap" profile="/usr/lib/snapd/snap-confine" pid=344504 comm="snap-confine" capability=12 capname="net_admin"
audit: type=1400 audit(1731360145.807:380): apparmor="DENIED" operation="capable" class="cap" profile="/usr/lib/snapd/snap-confine" pid=344504 comm="snap-confine" capability=38 capname="perfmon"
audit: type=1400 audit(1731360145.998:381): apparmor="DENIED" operation="capable" class="cap" profile="/usr/lib/snapd/snap-confine" pid=344893 comm="snap-confine" capability=12 capname="net_admin"
audit: type=1400 audit(1731360145.998:382): apparmor="DENIED" operation="capable" class="cap" profile="/usr/lib/snapd/snap-confine" pid=344893 comm="snap-confine" capability=38 capname="perfmon"
audit: type=1107 audit(1731360150.704:383): pid=2329 uid=101 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_signal" bus="system" path="/com/redhat/PrinterSpooler" interface="com.redhat.PrinterSpooler" member="QueueChanged" mask="send" name="org.freedesktop.DBus" pid=3909 label="snap.cups.cupsd" peer_pid=110058 peer_label="plasmashell"
exe="/usr/bin/dbus-daemon" sauid=101 hostname=? addr=? terminal=?'
...
audit: type=1107 audit(1731360733.595:484): pid=2329 uid=101 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_signal" bus="system" path="/com/redhat/PrinterSpooler" interface="com.redhat.PrinterSpooler" member="QueueChanged" mask="send" name="org.freedesktop.DBus" pid=3909 label="snap.cups.cupsd" peer_pid=110058 peer_label="plasmashell"
exe="/usr/bin/dbus-daemon" sauid=101 hostname=? addr=? terminal=?'
No worries, it is rather easy to
stop apparmor spew in dmesg,
just install auditd and (most of) the messages will go to
/var/log/kern.log instead.
# apt install auditd -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
libauparse0t64
Suggested packages:
audispd-plugins
The following NEW packages will be installed:
auditd libauparse0t64
0 upgraded, 2 newly installed, 0 to remove and 5 not upgraded.
Need to get 274 kB of archives.
After this operation, 893 kB of additional disk space will be used.
Bluetooth controller and devices
Since the death of Wi-Fi and Bluetooth chipset in this PC motherboard, bluetooth devices have been out of the question but also not needed.
However, in yet another attempt to get some of these devices to work,
a cheap USB 4.0 ASUS USB-BT400
was added. Upon plugging it, the following shows up in dmesg:
usb 3-2: new full-speed USB device number 4 using xhci_hcd
usb 3-2: New USB device found, idVendor=0b05, idProduct=17cb, bcdDevice= 1.12
usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 3-2: Product: BCM20702A0
usb 3-2: Manufacturer: Broadcom Corp
usb 3-2: SerialNumber: 5CF370AB7D8C
Bluetooth: hci0: BCM: chip id 63
Bluetooth: hci0: BCM: features 0x07
Bluetooth: hci0: BCM20702A
Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
Bluetooth: hci0: BCM: firmware Patch file not found, tried:
Bluetooth: hci0: BCM: 'brcm/BCM20702A1-0b05-17cb.hcd'
Bluetooth: hci0: BCM: 'brcm/BCM-0b05-17cb.hcd'
Bluetooth: MGMT ver 1.22
Despite the messages about firmware patch files not being found, the controller seems to work just fine.
However, the firmware can (and should) be updated from the
winterheart/broadcom-bt-firmware
repository. Following the
Detection and manual installation
method, use BCM20702A1-0b05-17cb.hcd (and not others):
# cd /lib/firmware/brcm
# ls -l | grep -i bcm
lrwxrwxrwx 1 root root 21 Sep 13 10:49 BCM-0a5c-6410.hcd.zst -> BCM-0bb4-0306.hcd.zst
-rw-r--r-- 1 root root 36998 Sep 13 10:49 BCM-0bb4-0306.hcd.zst
-rw-r--r-- 1 root root 171803 Sep 13 10:49 bcm4329-fullmac-4.bin.zst
-rw-r--r-- 1 root root 27425 Sep 13 10:49 bcm43xx-0.fw.zst
-rw-r--r-- 1 root root 115 Sep 13 10:49 bcm43xx_hdr-0.fw.zst
# wget https://github.com/winterheart/broadcom-bt-firmware/blob/master/brcm/BCM20702A1-0b05-17cb.hcd
Unplug the controller, reboot the PC and plug the controller again.
Then, the following shows up in dmesg:
usb 3-2: new full-speed USB device number 3 using xhci_hcd
usb 3-2: New USB device found, idVendor=0b05, idProduct=17cb, bcdDevice= 1.12
usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 3-2: Product: BCM20702A0
usb 3-2: Manufacturer: Broadcom Corp
usb 3-2: SerialNumber: 5CF370AB7D8C
Bluetooth: Core ver 2.22
NET: Registered PF_BLUETOOTH protocol family
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
usbcore: registered new interface driver btusb
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: BNEP socket layer initialized
Bluetooth: hci0: BCM: chip id 63
Bluetooth: hci0: BCM: features 0x07
Bluetooth: hci0: BCM20702A
Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
Bluetooth: hci0: BCM20702A1 'brcm/BCM20702A1-0b05-17cb.hcd' Patch
Bluetooth: hci0: command 0x0a0a tx timeout
Bluetooth: hci0: BCM: Patch command 0a0a failed (-110)
Bluetooth: hci0: BCM: Patch failed (-110)
Bluetooth: hci0: command 0x1001 tx timeout
Bluetooth: hci0: BCM: Reading local version info failed (-110)
In the face of these timeouts, and considering the firmware file has not been updated in the last 8 years, it seems most sensible to remove it:
Unplug the controller, reboot the PC and plug the controller again.
Then, the following shows up in dmesg:
usb 3-2: new full-speed USB device number 3 using xhci_hcd
usb 3-2: New USB device found, idVendor=0b05, idProduct=17cb, bcdDevice= 1.12
usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 3-2: Product: BCM20702A0
usb 3-2: Manufacturer: Broadcom Corp
usb 3-2: SerialNumber: 5CF370AB7D8C
Bluetooth: Core ver 2.22
NET: Registered PF_BLUETOOTH protocol family
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
usbcore: registered new interface driver btusb
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: BNEP socket layer initialized
Bluetooth: hci0: BCM: chip id 63
Bluetooth: hci0: BCM: features 0x07
Bluetooth: hci0: BCM20702A
Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
Bluetooth: hci0: BCM: firmware Patch file not found, tried:
Bluetooth: hci0: BCM: 'brcm/BCM20702A1-0b05-17cb.hcd'
Bluetooth: hci0: BCM: 'brcm/BCM-0b05-17cb.hcd'
Bluetooth: MGMT ver 1.22
NET: Registered PF_ALG protocol family
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Warning
The above method is recommened in other forums, but there are reports of this method leading to bluetooth system stopped working, upon which the (only) recommended workaround is reinstall the system.
PlayStation Dual Shock 4 controller
The Dual Shock 4 controller works perfectly (with all features) over any USB 2.0 cable, using over Bluetooth is not always really necessary.
The controller is easy enough to pair (hold Share and press PS button)
but after that the system always fails to connect to it.
During this (failed) attempt, the following shows up in dmesg:
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
Bluetooth: HIDP socket layer initialized
playstation 0005:054C:09CC.0019: unknown main item tag 0x0
playstation 0005:054C:09CC.0019: hidraw22: BLUETOOTH HID v1.00 Gamepad [Wireless Controller] on 5c:f3:70:ab:7d:8c
input: Wireless Controller as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.3/usb3/3-2/3-2:1.0/bluetooth/hci0/hci0:12/0005:054C:09CC.0019/input/input46
input: Wireless Controller Motion Sensors as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.3/usb3/3-2/3-2:1.0/bluetooth/hci0/hci0:12/0005:054C:09CC.0019/input/input47
input: Wireless Controller Touchpad as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.3/usb3/3-2/3-2:1.0/bluetooth/hci0/hci0:12/0005:054C:09CC.0019/input/input48
playstation 0005:054C:09CC.0019: Registered DualShock4 controller hw_version=0x0000b400 fw_version=0x0000a007
Following the instructions to use blueoothctl in
wiki.gentoo.org/wiki/Sony_DualShock#DualShock_4
also led to multiple failed attempts to connect, failing with
Failed to connect: org.bluez.Error.Failed br-connection-create-socket
[bluetooth]# agent on
Agent is already registered
default-agentdefault-agent
[bluetooth]# Default agent request successful
[bluetooth]# power on
[bluetooth]# Changing power on succeeded
discoverable onscoverable on
[bluetooth]# hci0 new_settings: powered connectable bondable ssp br/edr le secure-conn
[bluetooth]# hci0 new_settings: powered connectable discoverable bondable ssp br/edr le secure-conn
[bluetooth]# Changing discoverable on succeeded
[bluetooth]# [CHG] Controller 5C:F3:70:AB:7D:8C Discoverable: yes
[bluetooth]# pairable on
[bluetooth]# scan on
[bluetooth]# SetDiscoveryFilter success
[bluetooth]# Discovery started
...
Device DC:0C:2D:DE:61:D1 Wireless Controller
...
[bluetooth]# [NEW] Device DC:0C:2D:DE:61:D1 Wireless Controller
pair DC:0C:2D:DE:61:D1C:2D:DE:61:D1
Attempting to pair with DC:0C:2D:DE:61:D1
[CHG] Device DC:0C:2D:DE:61:D1 Connected: yes
[Wireless Controller]# [CHG] Device DC:0C:2D:DE:61:D1 Bonded: yes
[Wireless Controller]# [CHG] Device DC:0C:2D:DE:61:D1 WakeAllowed: yes
[Wireless Controller]# [CHG] Device DC:0C:2D:DE:61:D1 ServicesResolved: yes
[Wireless Controller]# [CHG] Device DC:0C:2D:DE:61:D1 Paired: yes
[Wireless Controller]# Pairing successful
[Wireless Controller]# [CHG] Device DC:0C:2D:DE:61:D1 ServicesResolved: no
[CHG] Device DC:0C:2D:DE:61:D1 Connected: no
[bluetooth]# trust DC:0C:2D:DE:61:D1
[bluetooth]# Changing DC:0C:2D:DE:61:D1 trust succeeded
[bluetooth]# connect DC:0C:2D:DE:61:D1
Attempting to connect to DC:0C:2D:DE:61:D1
[bluetooth]# Failed to connect: org.bluez.Error.Failed br-connection-create-socket
After many failed attempts, and with no clear reason, a system notification popped up asking whether the trust the device, and upon selecting Always Trust (or similar) the connection was established and the controller was finally usable.
Other
reports
recommend using blueoothctl and confirmed it worked, although
in some cases it is necessary to re-pair and re-connect.
For this purpose this handy repair-bluetooth.sh script is useful:
| repair-bluetooth.sh | |
|---|---|
Battery level and charging status
Once the Dual Shock 4 controller is connected, the battery charging status
and current capacity can be checked with upower:
$ upower -e
/org/freedesktop/UPower/devices/battery_hidpp_battery_0
/org/freedesktop/UPower/devices/battery_ps_controller_battery_dco0co2dodeo61od1
/org/freedesktop/UPower/devices/DisplayDevice
$ upower -i /org/freedesktop/UPower/devices/battery_ps_controller_battery_dco0co2dodeo61od1
native-path: ps-controller-battery-dc:0c:2d:de:61:d1
model: Wireless Controller
serial: dc:0c:2d:de:61:d1
power supply: no
updated: Thu 14 Nov 2024 08:40:39 PM CET (26 seconds ago)
has history: yes
has statistics: yes
touchpad
present: yes
rechargeable: yes
state: charging
warning-level: none
percentage: 25%
icon-name: 'battery-low-charging-symbolic'
History (charge):
1731613239 25.000 charging
S.M.A.R.T. Monitoring
Install Smartmontools to setup up S.M.A.R.T. monitoring:
Create /usr/local/bin/smartdnotify to notify when errors are found:
Configure /etc/smartd.conf to run this script:
Restart the smartd service:
Then add a scrip to re-notify: /usr/local/bin/smartd-renotify
| /usr/local/bin/smartd-renotify | |
|---|---|
# chmod +x /usr/local/bin/smartdnotify /usr/local/bin/smartd-renotify
# crontab -e
*/5 * * * * /usr/local/bin/smartd-renotify
ErrorCount in NVME
Once in a while, the above monitoring reports an “ErrorCount” error.
# cat smart-latest-error
SMARTD_FAILTYPE=
SMARTD_MESSAGE=
SMARTD_FAILTYPE=
SMARTD_MESSAGE=
SMARTD_FAILTYPE=
SMARTD_MESSAGE=
...
SMARTD_FAILTYPE=ErrorCount
SMARTD_MESSAGE='Device: /dev/nvme0, number of Error Log entries increased from 1000 to 1020'
SMARTD_FAILTYPE=ErrorCount
SMARTD_MESSAGE='Device: /dev/nvme1, number of Error Log entries increased from 338 to 368'
# smartctl -a /dev/nvme0
# smartctl -a /dev/nvme0
smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.8.0-47-lowlatency] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Number: Samsung SSD 970 EVO Plus 2TB
Serial Number: S4J4NX0T216141L
Firmware Version: 2B2QEXM7
PCI Vendor/Subsystem ID: 0x144d
IEEE OUI Identifier: 0x002538
Total NVM Capacity: 2,000,398,934,016 [2.00 TB]
Unallocated NVM Capacity: 0
Controller ID: 4
NVMe Version: 1.3
Number of Namespaces: 1
Namespace 1 Size/Capacity: 2,000,398,934,016 [2.00 TB]
Namespace 1 Utilization: 1,235,084,509,184 [1.23 TB]
Namespace 1 Formatted LBA Size: 512
Namespace 1 IEEE EUI-64: 002538 5221b08748
Local Time is: Mon Nov 18 22:35:43 2024 CET
Firmware Updates (0x16): 3 Slots, no Reset required
Optional Admin Commands (0x0017): Security Format Frmw_DL Self_Test
Optional NVM Commands (0x005f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp
Log Page Attributes (0x03): S/H_per_NS Cmd_Eff_Lg
Maximum Data Transfer Size: 512 Pages
Warning Comp. Temp. Threshold: 85 Celsius
Critical Comp. Temp. Threshold: 85 Celsius
Supported Power States
St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat
0 + 7.50W - - 0 0 0 0 0 0
1 + 5.90W - - 1 1 1 1 0 0
2 + 3.60W - - 2 2 2 2 0 0
3 - 0.0700W - - 3 3 3 3 210 1200
4 - 0.0050W - - 4 4 4 4 2000 8000
Supported LBA Sizes (NSID 0x1)
Id Fmt Data Metadt Rel_Perf
0 + 512 0 0
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 41 Celsius
Available Spare: 100%
Available Spare Threshold: 10%
Percentage Used: 1%
Data Units Read: 279,103,719 [142 TB]
Data Units Written: 118,255,818 [60.5 TB]
Host Read Commands: 552,324,221
Host Write Commands: 1,104,801,710
Controller Busy Time: 10,076
Power Cycles: 800
Power On Hours: 4,834
Unsafe Shutdowns: 7
Media and Data Integrity Errors: 0
Error Information Log Entries: 1,048
Warning Comp. Temperature Time: 0
Critical Comp. Temperature Time: 0
Temperature Sensor 1: 41 Celsius
Temperature Sensor 2: 44 Celsius
Error Information (NVMe Log 0x01, 16 of 64 entries)
Num ErrCount SQId CmdId Status PELoc LBA NSID VS Message
0 1048 0 0x0008 0x4004 - 0 0 - Invalid Field in Command
Self-test Log (NVMe Log 0x06)
Self-test status: No self-test in progress
No Self-tests Logged
# smartctl -a /dev/nvme1
# smartctl -a /dev/nvme1
smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.8.0-47-lowlatency] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Number: KINGSTON SFYRD4000G
Serial Number: 50026B76866DA9CA
Firmware Version: EIFK31.6
PCI Vendor/Subsystem ID: 0x2646
IEEE OUI Identifier: 0x0026b7
Total NVM Capacity: 4,000,787,030,016 [4.00 TB]
Unallocated NVM Capacity: 0
Controller ID: 1
NVMe Version: 1.4
Number of Namespaces: 1
Namespace 1 Size/Capacity: 4,000,787,030,016 [4.00 TB]
Namespace 1 Formatted LBA Size: 512
Namespace 1 IEEE EUI-64: 0026b7 6866da9ca5
Local Time is: Mon Nov 18 22:36:00 2024 CET
Firmware Updates (0x12): 1 Slot, no Reset required
Optional Admin Commands (0x0017): Security Format Frmw_DL Self_Test
Optional NVM Commands (0x005d): Comp DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp
Log Page Attributes (0x08): Telmtry_Lg
Maximum Data Transfer Size: 512 Pages
Warning Comp. Temp. Threshold: 84 Celsius
Critical Comp. Temp. Threshold: 89 Celsius
Supported Power States
St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat
0 + 8.80W - - 0 0 0 0 0 0
1 + 7.10W - - 1 1 1 1 0 0
2 + 5.20W - - 2 2 2 2 0 0
3 - 0.0620W - - 3 3 3 3 2500 7500
4 - 0.0620W - - 4 4 4 4 2500 7500
Supported LBA Sizes (NSID 0x1)
Id Fmt Data Metadt Rel_Perf
0 + 512 0 2
1 - 4096 0 1
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 41 Celsius
Available Spare: 100%
Available Spare Threshold: 10%
Percentage Used: 0%
Data Units Read: 154,185,434 [78.9 TB]
Data Units Written: 15,777,901 [8.07 TB]
Host Read Commands: 219,252,510
Host Write Commands: 109,668,538
Controller Busy Time: 653
Power Cycles: 174
Power On Hours: 2,079
Unsafe Shutdowns: 1
Media and Data Integrity Errors: 0
Error Information Log Entries: 472
Warning Comp. Temperature Time: 0
Critical Comp. Temperature Time: 0
Temperature Sensor 2: 73 Celsius
Thermal Temp. 1 Total Time: 6429
Error Information (NVMe Log 0x01, 16 of 63 entries)
Num ErrCount SQId CmdId Status PELoc LBA NSID VS Message
0 472 0 0x101b 0x4004 - 0 1 - Invalid Field in Command
1 471 0 0x3001 0x4004 - 0 1 - Invalid Field in Command
2 470 0 0x0003 0x4004 0x028 0 0 - Invalid Field in Command
3 469 0 0x0011 0x4004 - 0 0 - Invalid Field in Command
Self-test Log (NVMe Log 0x06)
Self-test status: No self-test in progress
No Self-tests Logged
However, most of the entries are the same: not an error at all:
# nvme error-log /dev/nvme0 | grep status_field | sort | uniq -c
63 status_field : 0(Successful Completion: The command completed without error)
1 status_field : 0x2002(Invalid Field in Command: A reserved coded value or an unsupported value in a defined field)
# nvme error-log /dev/nvme1 | grep status_field | sort | uniq -c
59 status_field : 0(Successful Completion: The command completed without error)
4 status_field : 0x2002(Invalid Field in Command: A reserved coded value or an unsupported value in a defined field)
Update /usr/local/bin/smartdnotify and /usr/local/bin/smartd-renotify
to ignore only those entries that are not errors (status_field: 0):
Appendix
2nd New NVMe SSD
Once the new system had been a reliable daily driver and there was no need to boot back into the old 2TB NVMe SSD, it was time to replace it with a new 4TB NVMe SSD (and, this time, one with a headsink).
This new new SSD gets the same Partitions as the old new SSD; the goal is to be able to boot from either of these.
# parted /dev/nvme0n1 --script -- mklabel gpt
# parted -a optimal /dev/nvme0n1 mkpart primary fat32 0% 260MiB
# parted -a optimal /dev/nvme0n1 mkpart primary ext4 260MiB 75GiB
# parted -a optimal /dev/nvme0n1 mkpart primary ext4 75GiB 150GiB
# parted -a optimal /dev/nvme0n1 mkpart primary btrfs 150GiB 100%
# parted /dev/nvme0n1 toggle 1 boot
# parted /dev/nvme0n1 print
Model: KINGSTON SFYRDK4000G (nvme)
Disk /dev/nvme0n1: 4001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 273MB 272MB primary boot, esp
2 273MB 80.5GB 80.3GB primary
3 80.5GB 161GB 80.5GB primary
4 161GB 4001GB 3840GB primary
# fdisk -l /dev/nvme0n1
Disk /dev/nvme0n1: 3.64 TiB, 4000787030016 bytes, 7814037168 sectors
Disk model: KINGSTON SFYRDK4000G
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 97991032-0F17-48B4-B658-C1D033F89E73
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 532479 530432 259M EFI System
/dev/nvme0n1p2 532480 157286399 156753920 74.7G Linux filesystem
/dev/nvme0n1p3 157286400 314572799 157286400 75G Linux filesystem
/dev/nvme0n1p4 314572800 7814035455 7499462656 3.5T Linux filesystem
# mkfs.ext4 /dev/nvme0n1p2
# mkfs.ext4 /dev/nvme0n1p3
# mkfs.btrfs /dev/nvme0n1p4
This finally allows taking the old new 4TB NVMe SSD down from 81% to a more comfortable 69% so that installing big Steam games is not a problem.
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/nvme1n1p3 74G 33G 38G 47% /
/dev/nvme1n1p1 259M 6.2M 253M 3% /boot/efi
/dev/nvme1n1p2 74G 51G 19G 73% /jammy
/dev/nvme1n1p4 3.5T 2.9T 680G 81% /home
/dev/sdc 3.7T 2.9T 831G 78% /home/ssd
/dev/sdb 3.7T 2.0T 1.7T 55% /home/new-ssd
/dev/sda 5.5T 5.1T 425G 93% /home/raid
/dev/nvme0n1p4 3.5T 5.8M 3.5T 1% /home/new-m2
$ time rsync -ua /home/Fotos/ /home/new-m2/Fotos/
sent 1,621,093,379,224 bytes received 3,164,279 bytes 711,475,331.80 bytes/sec
total size is 1,620,950,812,470 speedup is 1.00
real 37m57.967s
user 11m33.723s
sys 31m42.640s
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/nvme1n1p3 74G 33G 37G 47% /
/dev/nvme1n1p1 259M 6.2M 253M 3% /boot/efi
/dev/nvme1n1p2 74G 51G 19G 73% /jammy
/dev/nvme1n1p4 3.5T 2.9T 680G 81% /home
/dev/sdc 3.7T 2.9T 831G 78% /home/ssd
/dev/sdb 3.7T 2.0T 1.7T 55% /home/new-ssd
/dev/sda 5.5T 5.1T 425G 93% /home/raid
/dev/nvme0n1p4 3.5T 1.5T 2.1T 43% /home/new-m2
There goes 1.5T of photos that can now be removed from the old new SSD,
but as an additional precaution let rsync check that files really are
identical on both disks now, using the -c flag to
skip based on checksum, not mod-time & size:
$ time rsync -cuva /home/Fotos/ /home/new-m2/Fotos/
sending incremental file list
sent 6,297,699 bytes received 4,541 bytes 4,783.48 bytes/sec
total size is 1,620,950,812,470 speedup is 257,202.33
real 21m57.232s
user 2m20.143s
sys 18m48.906s
At this point the old copy can be confidently removed; there are other copies elsewhere too, the checking of the checksum was intended to check the file integrity in the new new disk because it will now become the canonical copy that is backed up everywhere else:
$ rm -rf /home/Fotos/
$ ln -sf /home/new-m2/Fotos/ $HOME/
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/nvme1n1p3 74G 35G 35G 50% /
/dev/nvme1n1p1 259M 6.2M 253M 3% /boot/efi
/dev/nvme1n1p2 74G 51G 19G 73% /jammy
/dev/nvme1n1p4 3.5T 1.4T 2.2T 39% /home
/dev/sdc 3.7T 2.9T 831G 78% /home/ssd
/dev/sdb 3.7T 2.0T 1.7T 55% /home/new-ssd
/dev/sda 5.5T 5.1T 425G 93% /home/raid
/dev/nvme0n1p4 3.5T 1.5T 2.1T 43% /home/new-m2
Once both NVMe drives are filled in, the weekly btrfs scrub shows very different disk I/O and drastically different temperatures:
![The Rapture [3440x1440]](../../../../media/2024-11-03-ubuntu-studio-24-04-on-rapture-gaming-pc-and-more/welcome-to-rapture-opportunity-awaits-3440x1440.jpg)


