HQPlayer Embedded Discussion [2021-2022]

Try to send @spockfish a feedback, from RoPieeeXL Advanced tab, and send him the feedback id

1 Like

While waiting for Harry to investigate, just to rule out networking issue, also try to load NAA OS on the RPi.

I assume RPi4? Link here:

https://www.signalyst.eu/bins/naa/images/naa-420-raspberrypi4.7z

1 Like

Done - flashed an NAA and it works - will see if I still get the connection reset by peer error. I will be going back to Ropieee ASAP as it is very good and supports Flirc-based remote control, which I use a lot.

1 Like

Done - over on the Ropieee forum. Thanks

For a while I have been hesitant to upgrade my Ubuntu 20.04 Server for the newly released Ubuntu 22.04 LTS Jammy Jellyfish. But… since a moment I have built my magical music NUC, I had one utterly annoying issue in combination with HoloAudio MAY - system would not lock at PCM 1.4MHz easily. It would always require multiple “play/stop” attempts before it can play OK. With several experiements overtime, trying other sources, I have ruled out that my NUC was a culprit. Either the linux installation or USB hardware it self. Ubuntu 22.04 LTS fixed all that ! Now enjoying the top HQPe performance in PCM and SDM dimensions !

Thanks for @dabassgoesboomboom for the tips, I’ll repost again, if you currently running Ubuntu 20.04 server, here’s a script for update. I have done it via SSH (too lazy to connect the screen), but you may want to run it in real time physical session. And don’t forget to back up Roon library, and make sure you have your media backed up as well. All (including Roon server) is running smooth after upgrade.

sudo apt-get -y update
sudo apt-get -y dist-upgrade
sudo apt install -f
sudo apt autoremove --purge
sudo apt clean
sudo reboot

do-release-upgrade -d

wget https://www.signalyst.eu/bins/hqplayerd/jammy/hqplayerd_4.32.1-135avx2_amd64.deb
sudo dpkg -i hqplayerd_4.32.1-135avx2_amd64.deb
sudo apt install -f

sudo systemctl restart hqplayerd

@jussi_laako - hqplayerd_4.32.1-135avx2_amd64.deb is marvelous on Jammy Jellyfish ! THANK YOU !!!

7 Likes

I just upgraded from 20.4 to 22.4 and roon works fine, but my HQP embedded install crashes. Its an amd64 architecture machine, and HQP embedded worked fine before the upgrade to jammy. After the upgrade and following the script above – i.e. installing the latest deb file for jammy with dpkg (https://www.signalyst.eu/bins/hqplayerd/jammy/hqplayerd_4.32.1-135avx2_amd64.deb), I get

sudo systemctl status hqplayerd

hqplayerd.service - HQPlayer Embedded daemon
Loaded: loaded (/lib/systemd/system/hqplayerd.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: core-dump) since Fri 2022-05-27 12:52:10 BST; 1s ago
Process: 7531 ExecStart=/usr/bin/hqplayerd (code=dumped, signal=ILL)
Main PID: 7531 (code=dumped, signal=ILL)
CPU: 84ms

I upgraded to the latest libgmpris and I still get crashes.

1619 wget https://www.sonarnerd.net/src/jammy/libgmpris_2.2.1-10_amd64.deb
1620 sudo dpkg -i libgmpris_2.2.1-10_amd64.deb

Anything I have missed?

Thanks in advance for any advice

my upgrade took about 30-40 min alltogether with 900+ packages upgraded… meaning the change from 20.04 to 22.04 is huge.

one remark to your question, just to compare, i have low latency kernel as well. it was upgraded automatically, i assume picked up form my 20.04 installation:

this is what I have now: “linux 5.15.0-30-lowlatency”

Thanks - yes the upgrade was big and took about the same time. My kernel is 5.15.0-33-generic. I expect i have some wrong version of a library HQP depends on or something but i dont know how to check what caused the problem - no log file seems to be generated before it crashes (according to config it should be in /tmp but nothing like HQP log there).

Seems I fell into the “happy path” category of users… But also to double check - when you run the HQP section of the script, you also run “sudo apt install -f” after “dpkg …” at the end ? correct ?

In my case “dpkg hqplayerd…” was screaming about lost dependencies, as usual and as normal
“apt install -f” brings things to the justice pulling all necessary dependancies.

Yep I left 1 line out of my code, just apt install -f at the very end.

@Fernando_Pereira reminded me I left that out.

Updated:

Go to root:

sudo -s

apt-get -y update
apt-get -y dist-upgrade
apt install -f ; sudo apt autoremove --purge ; sudo apt clean

Run:

do-release-upgrade

If that doesn’t work do the “Development” (might be needed for .0 release until .1 is released) using -d:

do-release-upgrade -d

Then check ubuntu version:

lsb_release -a

Then install hqplayerd for Jammy

sudo wget https://www.signalyst.eu/bins/hqplayerd/jammy/hqplayerd_4.32.1-135avx2_amd64.deb

sudo dpkg -i hqplayerd_4.32.1-135avx2_amd64.deb

sudo apt install -f 

sudo systemctl restart hqplayerd

sudo apt install -f ; sudo apt autoremove --purge ; sudo apt clean
4 Likes

Thanks both for all the help. I have tried all these things and no joy I am afraid. I also tried purging the hqplayerd install and re-installing - it then wanted me to install dependencies which I did, and the same result - crashing. There seems to be a brief moment when the status of the hqplayerd service is running but then it crashes. Hopefully @jussi_laako will be able to shed some light on this. Thanks again

I have worked it out I think. My processor doesn’t support the avx2 instruction set it seems. I am hoping that HQP embedded will be released supporting the SSE instruction set otherwise I can’t use HQP unless I downgrade the operating system (no idea how) or upgrade the motherboard and processor.

This is “illegal instruction exception”, meaning that the CPU in question is lacking support for the required AVX2 instruction set. “135avx2” package is built for AVX2 CPUs.

SSE4.2+ build is coming later when I get my Intel workstation and development tools upgraded to 22.04. This is why I have not officially moved over to 22.04 yet.

2 Likes

Great to hear SSE will be supported. Thanks very much.

1 Like

I have update de libgmpris. Still no go. No DSD from 192khz. No one filter will work. DSD from 96khz works normally. Same behaviojr using 48kDSD setting.

NAA on a rasp4, running ubuntuserver 22.04.

Won’t change with convolution enabled or disabled. These are the relevant log entries

  • 2022/05/28 13:19:48 Control connection from 10.0.0.15:62341
  • 2022/05/28 13:19:49 Control started from 10.0.0.15:62341
    & 2022/05/28 13:19:49 Stop…
    & 2022/05/28 13:19:49 Playlist clear
    & 2022/05/28 13:19:49 Playlist add URI: http://10.0.0.15:30001/675c69b1a4af4793b1b6889717205b07/stream.raw
    & 2022/05/28 13:19:50 Play
    2022/05/28 13:19:50 Stream buffer 11520000/115200
    2022/05/28 13:19:50 Offload: resampler=disabled convolution=disabled
  • 2022/05/28 13:19:50 Playback engine running
    2022/05/28 13:19:50 IntegratorM: FIR2
    2022/05/28 13:19:50 Rate or blocksize change triggered
    2022/05/28 13:19:50 Rate: 192000, block size: 15360, frame size: 2560
    2022/05/28 13:19:50 Block size: 15360 (sample: 3)
    2022/05/28 13:19:50 Oversampling: apodizing extra long Gaussian poly
    2022/05/28 13:19:50 Modulator: adaptive seventh order 1-bit ec v2
    2022/05/28 13:19:50 Integrator: FIR2
    2022/05/28 13:19:50 Playback engine ratio: 32
    2022/05/28 13:19:50 Convolution engine: overlap-add
    2022/05/28 13:19:50 Convolution gain compensation: 0
    2022/05/28 13:19:50 Initializing processing for matrix pipeline 0
    2022/05/28 13:19:50 Initializing processing for matrix pipeline 1
    2022/05/28 13:19:50 Initializing processing for matrix pipeline 2
    2022/05/28 13:19:50 Initializing processing for matrix pipeline 3
    2022/05/28 13:19:50 Initializing processing for matrix pipeline 4
    2022/05/28 13:19:50 Initializing processing for matrix pipeline 5
    2022/05/28 13:19:50 Initializing processing for matrix pipeline 6
    2022/05/28 13:19:50 Initializing processing for matrix pipeline 7
    2022/05/28 13:19:50 Longest IR: 130906

2022/05/28 13:19:50 Impulse response read from file /var/lib/hqplayer/home/filter_0-0.wav for channel 0 = nan dB
2022/05/28 13:19:50 Impulse response read from file /var/lib/hqplayer/home/filter_1-0.wav for channel 1 = nan dB
2022/05/28 13:19:50 Impulse response resampled with ratio: 0.5
2022/05/28 13:19:50 Impulse response resampled with ratio: 0.5
2022/05/28 13:19:50 Convolution filter of length 66475 initialized for channel 0 = 1.35006e-14 dB (-0.915418 - 0.171964)
2022/05/28 13:19:50 Convolution filter of length 66475 initialized for channel 1 = -0.0380636 dB (-0.900729 - 0.224659)
2022/05/28 13:19:50 Convolution engine ready and enabled
2022/05/28 13:19:50 Set volume: -2 +
2022/05/28 13:19:50 Offload: resampler=disabled convolution=disabled
2022/05/28 13:19:50 Initialization complete, starting audio engine
2022/05/28 13:19:50 Teams: 1
2022/05/28 13:19:50 Places: 1
2022/05/28 13:19:50 Parallel threads: 10
2022/05/28 13:19:50 Nested parallelism: 4
2022/05/28 13:19:50 Parallel pipelines: 4

  • 2022/05/28 13:19:50 NAA output network engine starting…
    2022/05/28 13:19:50 NAA output network format: 6144000/1/2 [sdm]
    2022/05/28 13:19:50 NAA output network SDM streaming
    2022/05/28 13:19:50 NAA output channels: 2 (2)
  • 2022/05/28 13:19:50 NAA output network engine started at: 6144000
    ! 2022/05/28 13:19:51 clHQPlayerEngine::Execute(): clStreamReaderHTTP::Read(): read max loop
    2022/05/28 13:19:51 Stop request (reset)
    & 2022/05/28 13:19:51 Stop…
  • 2022/05/28 13:19:51 NAA output network engine stopping…
  • 2022/05/28 13:19:51 NAA output network engine stopped
  • 2022/05/28 13:19:51 Playback engine stopped
    & 2022/05/28 13:19:51 …stopped
    2022/05/28 13:19:51 Set volume: -2 +
  • 2022/05/28 13:19:51 Control ended from 10.0.0.15:62341

This is the problem. Data from Roon is not arriving properly in time and HQPlayer gives up trying to avoid busylooping on the receive thread.

I would look into the Roon server (device/OS) and network setup trying to resolve the problem.

Do you have 802.3x Flow Control functional on your network?

Maybe one of Roon’s recent updates broke something. I will reinstall the server.

My network is 1Gbps and interconnected by unmanaged switches. I have not changed a thing in quite a while

No go. Even installed roonserver on the same hqplayer machine. Also tried a NAA running on a windows machine. Now I don’t get the “roon lost control message”. But the song won’t play. It reverts to pause.

Only happens with 192khz. Funny thing is that if I resample to 44.1 family in roon, it will play. If I resample to any 48khz sample rate it won’t go

Do you still get the same error in the log when playback fails?

Solved. Bad ethernet switch. Thanks for the support/

1 Like