Jump to content
IGNORED

HQPlayer Linux Desktop and HQplayer embedded


ted_b

Recommended Posts

Thank you @Miska. I started reading through the documentation for systemd.network and generally it is pretty clear what to do there. Yet I don't think I have fully understood the underlying mechanics yet:

 

Using the console of HQPlayer OS, in /etc/systemd/network I found 20-wired.network and 25-wired-local.network, and also 10-br0.netdev which establishes the bridge br0 which I see in the ifconfig screenshot above, if I'm correct. 

 

Do I understand correctly that this is a result of the bootup process, with maybe HQPlayer OS at startup having examined the system, found two network ports in the NIC, and therefore established the bridge, or something like this? I'm booting from your HQPlayer Embedded image on an USB stick, so do I actually have the possibility to put a systemd.network config file somewhere on the USB stick? (I think I have read that the bootable image of HQPlayer Embedded cannot really be changed, maybe that is what you mean when you say 

2 hours ago, Miska said:

Yes, but it is not plug-and-play anymore at that point. You then need to explicitly tell systemd-networkd which interface to use and leave unused ones explicitly disabled

?)

 

If that configuration process during startup can't be changed, is there any way to change it once the system is up, i.e. disable the second port and get rid of the bridge and the loopback, from console or with a script or so? 

 

Hmm, and while I think of it, maybe it is just easier and a cleaner solution to get a good NIC with just one SFP+ (or SFP28) port instead... Would that prevent all the bridge / loopback configuration, so ifconfig just has one entry for a single port?

Link to comment
2 hours ago, Bertel said:

Do I understand correctly that this is a result of the bootup process, with maybe HQPlayer OS at startup having examined the system, found two network ports in the NIC, and therefore established the bridge, or something like this?

 

Bridge is always created and all ethernet interfaces are hooked to it.

 

Then DHCP is run on the bridge interface.

 

2 hours ago, Bertel said:

I'm booting from your HQPlayer Embedded image on an USB stick, so do I actually have the possibility to put a systemd.network config file somewhere on the USB stick? (I think I have read that the bootable image of HQPlayer Embedded cannot really be changed, maybe that is what you mean when you say 

?)

 

Yes you can edit files there. It is a regular file system. I have included "nano" editor on the image for the purpose.

 

2 hours ago, Bertel said:

If that configuration process during startup can't be changed, is there any way to change it once the system is up, i.e. disable the second port and get rid of the bridge and the loopback, from console or with a script or so? 

 

Loopback interface should always exist, that is common practice. You will likely have various problems if you disable it.

 

2 hours ago, Bertel said:

Hmm, and while I think of it, maybe it is just easier and a cleaner solution to get a good NIC with just one SFP+ (or SFP28) port instead... Would that prevent all the bridge / loopback configuration, so ifconfig just has one entry for a single port?

 

No, it won't make any difference in that respect.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment

Oh! I hadn't looked properly, thought I knew that it wasn't possible anyway - but of course, all is there and accessible, all perfectly fine. Thanks @Miska for pointing me to it.

 

Alright, I went to /etc/system/networkd and did the following:

 

In 20-wired.network - change

Quote

[Match]
Name=e*

to

Quote

[Match]
Name=enp1s0f0

 

Additionally, I created 15-port2-disabled.network to be executed prior, containing

Quote

 

[Match]
Name=enp1s0f1

[Link]
Unmanaged=yes
RequiredForOnline=no
ActivationPolicy=always-down

 

 

Works well so far, ifconfig only shows port 1 now and all is working. Is that good practise, or would you change/adjust anything in the config/settings @Miska ?

Link to comment
2 hours ago, Bertel said:

Works well so far, ifconfig only shows port 1 now and all is working. Is that good practise, or would you change/adjust anything in the config/settings @Miska ?

 

You can remove the bridge config file, and just make DHCP bind to a specific port, and if you want, turn other ports off as you have done.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
9 hours ago, Miska said:

You can remove the bridge config file, and just make DHCP bind to a specific port, and if you want, turn other ports off as you have done.

 

Great, many thanks! That's actually what I was aiming at when I had asked whether the bridge configuration could be removed or was required for something else.

 

I have now removed 10-br0.netdev and 20-wired.network from /etc/systemd/network, and just changed the [Match] section in 25-wired-local.network from Name=br0 to Name=enp1s0f0. Works flawlessly. Just need to remember now to perform the same when a new HQPlayer Embedded image becomes available 😉

 

networkctl shows that enp1s0f1 is still there but in status "off", i.e. powered down, all good. I don't have any other ports to disable, also netstat -tua only shows a couple of (internal) ports required for hqplayerd, omniORB etc., so I think I'm set for now.

Link to comment
1 hour ago, Bertel said:

and just changed the [Match] section in 25-wired-local.network from Name=br0 to Name=enp1s0f0

 

NAA OS image is similar, without bridge, instead has Name match for "e*". Which also means that it will sit waiting for all found interfaces to come up before networkaudiod gets started. So for your cases, nothing would ever get started with it. This is the main OS configuration difference between NAA OS and HQPlayer OS. Since HQPlayer OS binds to the bridge, it is happy already when DHCP succeeds on any of the interfaces (through the bridge), also allowing multi-homed configuration that doesn't fail... But it will add to CPU load and packet processing time.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
22 minutes ago, Miska said:

NAA OS image is similar, without bridge, instead has Name match for "e*". Which also means that it will sit waiting for all found interfaces to come up before networkaudiod gets started. 

 

Exactly, I had experienced that a while back when using a UP Squared as an NAA (while waiting for the UP Gateway to arrive), which has two ethernet ports and therefore kept waiting forever. You had explained this to me back then, thanks again @Miska for all your help and continued effort!

 

I'm really sorry, but I have yet another question:

 

About 60 seconds after startup of HQPlayer OS, having booted from the HQPlayer Embedded image, I receive an error message (see below screenshot). I use a Z390 Aorus Master mainboard with built in sound, which shows (also in Windows) as both Intel and Realtek, see the other screenshot.

 

Outputting everything over ethernot to my NAA, I don't use either, so would want to disable both. If I understand correctly, I need to tell the kernel to not load these, right? So I tried putting a blacklist file in /etc/modprobe.d/ (with "blacklist snd_hda_codec_realtek"), but that didn't change anything...

 

(That said, I just realise that I have my monitor connected over HDMI, so would still need the display part, just get rid of the sound part…)

 

Could you please point me to what you’d recommend for disabling / not loading these unwanted devices?

9E6FA042-7FE1-4E66-A99E-B18E32BFEAE2.jpeg

B036F175-2D00-4B62-ADD7-634B05A79EB7.jpeg

Link to comment
1 hour ago, Bertel said:

I use a Z390 Aorus Master mainboard with built in sound, which shows (also in Windows) as both Intel and Realtek, see the other screenshot.

 

Why don't you turn this off in the BIOS settings?

Link to comment
7 hours ago, Bertel said:

About 60 seconds after startup of HQPlayer OS, having booted from the HQPlayer Embedded image, I receive an error message (see below screenshot). I use a Z390 Aorus Master mainboard with built in sound, which shows (also in Windows) as both Intel and Realtek, see the other screenshot.

 

You can just ignore that stuff, it is related to onboard audio and HDMI audio links.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
44 minutes ago, Outlaw said:

How important is memory speed in HQPlayer ?

 

Quite many of the algorithms are heavy on the memory since the data doesn't fit in the CPU's cache. Thus combination of the raw memory speed (clock rate) and CAS Latency (CL) matter. Note that the CL figure is number of clock cycles, so higher the clock frequency, shorter time one clock cycle is. So you need to multiply 1/x inverse of the clock rate with the CL figure to come up with the actual access time (usually expressed in ns; 10^-9).

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
21 minutes ago, Miska said:

 

Quite many of the algorithms are heavy on the memory since the data doesn't fit in the CPU's cache. Thus combination of the raw memory speed (clock rate) and CAS Latency (CL) matter. Note that the CL figure is number of clock cycles, so higher the clock frequency, shorter time one clock cycle is. So you need to multiply 1/x inverse of the clock rate with the CL figure to come up with the actual access time (usually expressed in ns; 10^-9).

 

Have corsair 3200mhz cl16.Looking at corsair 4000mhz cl16.Would this be worth changing ? Use with a 8086K and  no GPU

Link to comment
1 minute ago, Outlaw said:

Have corsair 3200mhz cl16.Looking at corsair 4000mhz cl16.Would this be worth changing ? 

 

You already have pretty fast RAM, if you have all memory channels already populated, you likely wouldn't see a huge difference. Since there are many factors in play, my guesstimate maximum 5% difference.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
2 minutes ago, Miska said:

 

You already have pretty fast RAM, if you have all memory channels already populated, you likely wouldn't see a huge difference. Since there are many factors in play, my guesstimate maximum 5% difference.

Have 16 gb of ram,Only two of four memory channels populated

Link to comment
20 hours ago, Miska said:

 

Quite many of the algorithms are heavy on the memory since the data doesn't fit in the CPU's cache. Thus combination of the raw memory speed (clock rate) and CAS Latency (CL) matter. Note that the CL figure is number of clock cycles, so higher the clock frequency, shorter time one clock cycle is. So you need to multiply 1/x inverse of the clock rate with the CL figure to come up with the actual access time (usually expressed in ns; 10^-9).

 


 I have 4 x DDR4-3600 CL19 modules in my Z390 mainboard currently. Can get DDR4-4000 CL14. @Miska, what exactly would you expect as difference with HQPlayer Embedded on HQPlayer OS - DSD256 with 7EC modulator plays without problems - are there any possible benefits for sound quality, however minimal, any potential influence on the data and the results of processing?

Link to comment
13 hours ago, Bertel said:

 I have 4 x DDR4-3600 CL19 modules in my Z390 mainboard currently. Can get DDR4-4000 CL14.

 

MHz: 3600 CL: 19
Calculated nanoseconds:10.5555555

 

MHz: 4000 CL: 14
Calculated nanoseconds: 7 very good! Which type / manufacturer is it?

 

Source: RAM latency calculator 😉

Link to comment
13 hours ago, Bertel said:

 I have 4 x DDR4-3600 CL19 modules in my Z390 mainboard currently. Can get DDR4-4000 CL14. @Miska, what exactly would you expect as difference with HQPlayer Embedded on HQPlayer OS - DSD256 with 7EC modulator plays without problems - are there any possible benefits for sound quality, however minimal, any potential influence on the data and the results of processing?

 

No sound quality benefit, just somewhat lower CPU load and more capacity to do more demanding workloads.

 

Note that modulators don't tax RAM as much, since they mostly fit in the CPU caches. Large filters are more demanding for RAM, especially when converting between rate families. So if you need to stick to 44.1k-base DSD rates for output, you will especially benefit from faster RAMs.

 

I think my fastest RAM at the moment is DDR4-3600 CL16. Mine are mostly HyperX (Kingston) and G.Skill. Few Crucial (Micron) too.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...