Upgrading QGo to QT5

My Day job has me messing around with QT5. We’rer building various RPMs for different RHEL and CentOS versions, and I wanted to get a little more experience on this. Specifically, I wanted to be able to do trial and error on a package that would not pollute our work stream. I wanted it to be something QT based. And I wanted it to be fun.

So I am working on repackaging QGo for Fedora 34 using QT5. Here’s what I am learning.

Continue reading

Pipewire low latency

Just wanted to leave myself a note here. On QJackCtrl It shows the latency in the bottom right of the Parameters page. If I drop the Frames/Period to 16 (Lowest) the latency drops to 1 msec. For a Jamulus server with a ping time of 22ms I get an overall delay of 44 ms.

And that is over wireless.

This is on my laptop, not my NUC, and it does not have the Scarlet Solo USB Analog-to-Digital converter on it.

But it is encouraging.

Unifying Audio with Pipewire

ALSA. Jack. PulseAudio. MIDI. Musescore. Jamulus.

My musical interactions with Linux are not the most complex in the world, but they ain’t trivial. The complexity of the Linux audio landscape has been a stumbling block so far. Pipewire has just gotten me past that.

The title of this article implies that you need to do something other than install Pipewire. So far, this is not true. On my system, at least, it Just works.

Continue reading

Querying hostnames from beaker

If you have requested a single host from beaker, the following one liner will tell the hostname for it.

bkr job-results   $( bkr job-list  -o $USER  --unfinished | jq -r  ".[]" )   | xpath -q -e string\(/job/recipeSet/recipe/roles/role/system/@value\)

This requires jq and xpath, as well as the beaker command line packages.

For me on Fedora 33 the packages are:

  • perl-XML-XPath-1.44-7.fc33.noarch
  • jq-1.6-5.fc33.x86_64
  • python3-beaker-1.10.0-9.fc33.noarch
  • beaker-redhat-0.2.1-2.fc33eng.noarch
  • beaker-common-28.2-1.fc33.noarch
  • beaker-client-28.2-1.fc33.noarch

Merging root and home filesystems

Yocto takes up a lot of space when it builds. If the /home partition is 30 GB or smaller, I am going to fill it up. The systems I get provisioned from Beaker are routinely splitting their disks between / and /home. These are both logical volumes in the same volume group. This is easy to merge.

In order to merge them I find myself performing the following steps.

umount /home/
mkdir /althome

I then modify /etc/fstab so that the /home entry is now pointing to /althome. If I have done any work in /home/ayoung (almost always) I have to copy it to the new /home partition

mount /alhome/
cp  /althome/ayoung /home/ayoung

Once the home volume has been cleared, I can reclaim the space. The following lines will vary depending on the name of the machine.

lvremove /dev/rhel_hpe-moonshot-02-c07/home
lvresize  -L   +32.48G  /dev/rhel_hpe-moonshot-02-c07/root

I am explicitly reclaiming the size of the /home volume, which in this case is 32.48 GB.

A little bit of foresight can obviously avoid this problem; properly allocate the disks according to the workload. Requesting a machine with more disk is also an option.

But sometimes we have to fix mistakes.

Note that I use the lvdisplay command to see the names of the volumes.

In order to make use of the new space, I have to resize the file system. Since it is XFS, I use the xfs_grow command. I want the full size, so I don’t need to pass a parameter.

xfs_growfs /dev/mapper/rhel_hpe--moonshot--02--c07-root