Jump to content
IGNORED

Audiolinux Server configurations, Software, Hardware, and Listening Impressions


lmitche

Recommended Posts

5 hours ago, austinpop said:

For 2, one option would be to put a 32GB Intel Optane NVMe SSD into the M2 slot. This does require a bit of script editing, as you have to edit fstab to mount the SSD automatically on boot, and tell the "start Roon Server" script to use a different location (on the Optane SSD) as the Roon database location. This isn't for Linux novices.

 

Why would you have entire Optane just for the database and not running the OS from there?

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
On 1/6/2019 at 6:24 PM, luisma said:

Before using AL were you using custom Ubuntu install with @Miska s boot image? if so then you consider AL to be better suited for Server+NAA combination than of the shelf Linux running custom kernel, packages etc. because of the nature of AL itself? I'm curious to know the answer?

 

My bootable images are not related to Ubuntu in any shape or form. And they are not off the shelf Linux either, but completely custom built. AudioLinux is based on ArchLinux (?) AFAIK, so it is closer to off the shelf Linux than my bootable images?

 

In addition to my "HQPlayer OS" images, I provide HQPlayer Embedded packages for Ubuntu, Debian and Fedora distributions.

 

On 1/6/2019 at 6:24 PM, luisma said:

since you all already stated and confirmed that the server plays an important role in SQ (I know we cannot quantify that percentage of influence right now) wouldn't be advisable to run servers with low TDP at the expense of using simpler upsampling filters (HQP and ROON)? that would be another question what represents more in terms of SQ? a simpler filter with a low TDP server or a better more resource intensive filter on a high performance workstation?

 

Depends how much you are trading on the filters. By using -2s filters you are not practically losing anything. While bigger changes have drastic and measurable differences in the DAC output. With a good DAC, server has very small or no impact on DAC output.

 

I rather use high power server to run all the DSP and then low power NAA for connecting to the DAC when the DAC connection is sensitive.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
On 1/6/2019 at 12:08 AM, lmitche said:

1) An audition of an RME ADI2 DAC has been underway powered by various LPSUs. This DAC was tested powered by the Hdplex 200 watt lt3045 output at 15 volts, a Sigma 11 at 12 volts, and the UpTone JS-2 at 12 volts. The RME needs too much current to be powered by the LPS1.2. An I7 NUC/AL server endpoint pair running Roonserver/Roonbridge or Roonserver/Hqplayer embedded/NAA were used to test both bitperfect and dsd256 upsampled USB playback. The DACs single ended and balanced outputs were tested.

 

Operationally this DAC is really clean with no surprise pops or clicks in any mode or output. The JS-2 yielded the most musical results. Nevertheless the RME DAC never reached the dynamics and open sound of IFI microIDSD BL powered by an lps1.2. The DAC was returned to the vendor.

 

It works very well with the stock PSU too, that's how I use it.

 

Remember to switch on the DSD Direct mode in the DAC settings and send it DSD256 always! Then you can switch between 50 and 150 kHz DSD filters. Note that you cannot use the headphone connectors in DSD Direct mode.

 

You can also send there 768/32 PCM with fairly OK results. Also improves performance notably compared to the built-in 8x (352.8/384k) digital filter, just like with iFi micro iDSD too.

 

iFi micro iDSD has just annoying firmware bug, that when powered up/plugged in, you first need to shortly play either something from 44.1k to 384k PCM, or alternatively DSD, before switching to 705.6/768k output. Otherwise it behaves incorrectly with lot of distortion...

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
55 minutes ago, bobfa said:

Because we think that it might sound different.  Reasonably easy to test.  A 32GB optane M.2 NVME card is $62 on Amazon.  I am going to first run in RAM and then try the Optane.  Then I will try it as a single box solution. 

 

I have two NUCs and a Sonic Transporter. Right now my systems design is Roon Server bridged to a 7i7 NUC running Roon Bridge and AL in RAM.  

The other combinations will be pretty easy to setup over time. 

 

I am getting Roon Core up on my second NUC running AL in RAM and then I can test a couple of combinations.  Still need switch in the system.

 

I would like hear why it would make difference? Running software runs from RAM in any case (loaded to RAM before executing it). For example if you send data to HQPE from Roon, UPnP or digital inputs, HQPlayer doesn't access filesystem unless you have log file (which usually goes to RAM disk) enabled, or you use it's web interface with browser. Even this activity is cached in RAM by the OS, so it doesn't really access the media much.

 

With Roon, the most accessed file system items are the database and music files. The application itself sticks in the RAM once started. Both database and content are cached/buffered by the OS for reads. Writes are periodically flushed to the storage. OS automatically uses all otherwise unused RAM as buffer/cache. However, if you run the software from RAM disk, you increase memory usage by storing lot of unused data in RAM, which in turn reduces amount of RAM available for caching and thus increases activity on the actual storage layer...

 

So if you run OS itself from RAM disk, but have content and Roon database on Optane SSD, you have the things that wouldn't be accessed anyway loaded in RAM at all times and the things that are the most accessed on Optane SSD storage device. So probably entirely opposite to what you are looking for?

 

IMO, if you want to optimize price and reduce storage access, put the OS itself on regular M.2 SSD and then have another M.2 Optane SSD for the Roon database and other actively used stuff. And don't run the OS from RAM disk. This way you also have maximum amount of free RAM for caching/buffering purposes for Roon and thus least amount of storage activity.

 

For example when I'm playing content from local storage, the content ends up being cache in RAM pretty soon by the OS and storage activity stops. Since I have 16 or 32 GB of RAM and the OS and software itself consume very little.

 

For example on my Ubuntu Studio workstation (with graphical desktop), while writing this, I have following statistics:

porkkala:~> free -m
              total        used        free      shared  buff/cache   available
Mem:          32075        2642       11904         143       17528       28867
Swap:             0           0           0

porkkala:~> vmstat -s
     32845704 K total memory
      2706532 K used memory
      4283428 K active memory
     15178456 K inactive memory
     12186100 K free memory
     15894388 K buffer memory
      2058684 K swap cache
            0 K total swap
            0 K used swap
            0 K free swap

 

P.S. I never have any swap active/existing on any of my Linux computers. It is totally unnecessary thing these days.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
3 minutes ago, lmitche said:

I'm thinking the ifi performance over the RME is due to the the lps1.2 and its fast response to current demand. Unfortunately the RME would not run with the lps1.2.

 

For long time I've wanted to try a Teddy Pardo PSU on many things, but never got far enough to order one... This one looks interesting:

https://www.teddypardo.com/powersupplies/teddy12-4.html

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
56 minutes ago, luisma said:

Apologies, I mistakenly thought the  images were based on Ubuntu by exchanged emails and forums posting with you when I started using HQPE, that's why I decided to go with Ubuntu and your custom kernel. By off the shelf I was referring to Linux packages and kernels not Linux entire distributions.

 

OK, the bootable image is not related to Ubuntu or normal distro packages. It is Linux thing custom built from source code.

 

I run two servers with Ubuntu Server 18.04 (low-TDP Core i5 machines built by me), one with Debian 9 (Core i5 NUC) and one with Fedora Minimal 29 (Logic Supply CL100). All headless servers without any graphical stuff installed or monitor connected. All these run HQPlayer Embedded.

 

In addition I have various things like the UpSquared running my HQPlayer OS image. And I also test the HQPlayer OS image on NUC 7i7BNH, but don't normally use it there (loud fans).

 

Choice of the OS mainly depends on what exactly one wants to do. If you for example want to install Roon things on the same machine, then HQPlayer OS is not the right choice, because it doesn't have many things needed by Roon, and it is quite hard to add those afterwards.

 

1 hour ago, luisma said:

So the bootable image contains HQPE I assume, or is it Linux HQP?

 

It is HQPE, it doesn't have any graphics things or such, intended for headless systems. It does have some command line utilities to allow small adjustments and checking system details if one wants to. But it doesn't have full-blown command line capabilities even. It doesn't have any package management things either. It is supposed to be more like "device firmware", not a regular OS. You "flash" it to a device and go, that's it.

 

NAA images share the same core OS, but they have even less software components, because NAA needs almost nothing.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
2 minutes ago, lmitche said:

For the traffic generated by roon, optane is ideal as it is the fastest nonvolatile memory available for short bursty traffic.

 

Yes, that I agree with...

 

3 minutes ago, lmitche said:

We could debate why a ram disk based OS sounds better then a demand paged OS all day long. For most of us it just does, and we don't know why.

 

All the code pages stay hot and in RAM anyway, especially when there is no memory pressure, so there's no storage traffic needed...

 

Most of my bigger server OS installations are on Samsung 960 Pro and Intel M.2 SSDs. And on smaller devices on the internal eMMC FLASH or microSD card. I don't use RAM disk (tmpfs), other than for /tmp and /run.

 

5 minutes ago, lmitche said:

Music is either fed from a nas or external usb disk.

 

NAS is good, but I personally really really hate USB disks for music content and never use them for such. I use either M.2, SATA, eSATA or Thunderbolt that allow fast and efficient storage access.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
6 minutes ago, luisma said:

Thank you, I understand now, I have Roon and HQPE running along on the same server 18.04 NUCi7 and Roon Bridge / NAA on Celeron with 18.04.

 

For me, I have the normal full Roon installed on macOS on my Mac Mini. Content is stored on external Thunderbolt HDD.

 

I have another copy of all the music content on my Xeon workstation with Samba-server to operate as a "NAS" for all other computers. However, this "NAS" is accessed only by HQPlayer library features, not by Roon which is on the Mac Mini and it's local storage.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
11 minutes ago, austinpop said:

Why Optane, and not just a regular NVMe SSD? Well, this whole AL/RAM/NUC experiment was driven by  many people observing that diskless units sounded better, when divested of SATA and NVMe storage devices (HDD and SSD). Larry, Roy, myself and others thought that Optane might be a good option to experiment with because:

  1. Optane has extremely low latency, and to the extent that the SQ benefits we hear with AL in RAM is due to latency, this would be beneficial
  2. Optane is electrically lower power than a standard NVMe SSD. 32GB of Optane consumes 2.5w when active and only 0.8w at idle.

Based on these, it was worth trying out. To my ears, the Optane drive adds no noise penalty to the server, while adding a very functionally useful persistence capability: both as a boot alternative to USB stick, and for Roon DB, LMS cache, etc.

 

Yeah, I know Optane quite well... ;)

And I agree that it is very good choice for use in music servers. Now quite a bunch of motherboards have one or more Optane slots! For the reasons you have stated I've also been recommending it.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
  • 1 month later...
11 hours ago, rickca said:

Good news for anyone with a 28W Bean Canyon NUC like NUC8i7BEH.  Akasa has announced a fanless case model called Turing.

https://www.anandtech.com/show/13943/akasa-turing-passively-cooled-chassis-for-intel-bean-canyon-nuc

 

I'd still be cautious until someone gives this a try.  The 28W NUCs have problems with thermal throttling in the original Intel NUC case.

 

That one is at least quad-core CPU and the Akasa case looks like some decent amount of cooling! Would be interested to hear how that fares compared to regular micro-ATX / mini-ITX with bigger CPU... For example one of my fanless servers is now running i5-7700T on a Streacom case and is hardly getting warm (has cooling capacity up to 65W TDP).

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
  • 1 month later...

Are you guys talking about ALSA's software audio mixer, or are you talking about ALSA mixer controls which allow controlling hardware parameters (for example if a DAC has controllable volume)? I hope you have not mixed up these two things... ;)

 

P.S. HQPlayer Embedded supports combo-volume that combines hardware and software volume controls together.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
  • 6 months later...
  • 4 weeks later...
11 hours ago, elan120 said:

In my case, I am using NAA only, and total memory required was trimmed down from ~4.8GB to ~3.3GB.

 

How can it be so big! When my NAA image is booted up with ramdisk it is at 700 MB, of which 450 MB alone is just device firmwares. With regular boot without ramdisk it takes less than 64 MB...

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
  • 1 month later...
15 hours ago, luisma said:

Is anyone using AL + HQPe with NAA on a multihomed scenario? this is something with which I have recurring problems, don't know why, actually it should be related to multicast and the way HQPe + NAA works but there is something more here.

 

2 weeks ago I had an AL 2.1 server running ROON server + HPQe server, one wifi interface with default gateway to the internet, one wired interface with no default gateway separate network to an NAA. This NAA running AL 2.1 and only NAA service on it. This was working just fine. New kernel update 5.4 comes in (BFQ or non BFQ) multihomed stopped working, I went back to kernel 4.19 works, go to latest kernel again and multihomed stops working, go back to 4.19 all fine and dandy

 

Before AL I had Ubuntu and worked until one day I updated the kernel and did not worked anymore, I can't run a cable downstairs where the audio equipment is

 

Can anyone comment @hifi25nl and @Miska on what could it be creating the issue on the new kernel? I know I know HQPe doesn't officially support multi homed scenarios  neither I want anyone to try to find out the issue behind it, I am just asking for the eventful case someone knows anything about the new kernel which might be creating the issue

 

Thank you all

 

Luis

 

 

Best way to deal with multi-homed system is to run a bridged setup that turns the computer into a switch. But I would recommend to use a real switch instead of a software switch. If you need wireless to connect rooms/floors, you could use wireless bridges and a switch to transparently bridge two segments of the same network together.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment

Above failure likely happens because all network interfaces are not properly up before hqplayerd is started. Adding sleep is a hack, not a proper fix. Correct fix is to make hqplayerd.service depend on all network interfaces being fully brought up. How this is done, depends on the particular OS, IOW, what kind of system is used to configure the network interfaces.

 

Another common problem is when OS has a GUI and typically in such cases network interface configuration is managed through the user session once logged in (using NetworkManager for example). In these cases, hqplayerd should not be started as a system service at all, but instead as a user session service (this also enables MPRIS control to work). This also relocates all configuration to be under each user's home folder instead of being system-wide. Above sleep hack may also make this situation work, if user logs in the session quick enough no to exhaust the sleep, but also in this case it is not a proper fix.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
1 hour ago, hifi25nl said:

The sleep option is not there because of problems about network in the server. Network on the server is up and running, but hqplayer has not discovered yet the remote endpoint.

 

How does delaying starting of hqplayerd help hqplayerd to discover something since the discovery has not even started yet?

 

In addition, once started, HQPlayer runs a background loop looking for the NAA forever until it succeeds. And if it gets disconnected, the loop is started again.

 

1 hour ago, hifi25nl said:

The alternative solutions are more complex, that is adding a system to check that the endpoint is up and accessible. Not sure if hqplayer will try to connect to endpoint repeatedly (and for how much time) until this is true.

 

Yes it does...

 

 

But the original posting was talking also about control point, which refers to UPnP (or alternatively HQPlayer Client or HQPDcontrol app which are not technically called control points, but clients). In this case, discovery is made by the control point to find hqplayerd. Listening for discovery is started at the time hqplayerd started and it hooks to the network interfaces available at that moment.

 

 

One common problem for example is that network interface is "up", but DHCP client has not yet obtained leases from DHCP server for all the affected interfaces, so IP addresses of one or more interfaces are missing until the DHCP has fully configured all applicable interfaces. If the DHCP eventually fails on an interface, for one reason or the other, only at that point a link-local IP is configured for that interface.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
1 hour ago, bodiebill said:

In my case hqplayerd runs under AL headless (GUI-less) version. Not sure how I should make the service dependent on network interfaces being up.

 

It's not for something for you to do, it is responsibility of the OS vendor to create a .service file that corresponds to their system architecture and component choices. At the moment there's no way to make this generic, or even applicable to all variants of the same OS ("desktop" vs "server" editions).

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
13 minutes ago, hifi25nl said:

Audiolinux is using systemd network on all releases as in Miska image. 

Users have the possibility to use the standard systemd service provided or a special user systemd service. Both will start after the network is up and running.

 

Does the service file have dependency to systemd-networkd-wait-online.service and network-online.target ?

 

Most of my hqplayerd builds for different distros have a different hqplayerd.service file because one doesn't fit all, unfortunately.

 

Because need for wait indicates towards failure in that area. But it also depends a bit how /etc/network is set up, so that systemd-networkd knows what is required.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
  • 2 months later...
On 3/28/2020 at 10:39 PM, Johnseye said:

My second question is how "Assign isolated core to applications" works with "Isolated CPU cores".  I run both Roon Server and HQPlayer Embedded.  Is it possible to give Roon 1 core and HQPlayer Embedded 2 of the 3 cores isolated for audio applications, while 1 of the cores is dedicated to the system?

 

Note: Messing with such things related to HQPlayer will certainly screw up HQPlayer's operation. So don't do it.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
12 hours ago, Johnseye said:

HQPlayer doesn't respond well to having dedicated cores?  Or it performs better having access to all available cores?

 

HQPlayer does it's own core allocation based on the CPU topology. And if that gets messed up the performance will suffer a lot.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
  • 7 months later...
  • 2 years later...
On 12/29/2022 at 1:10 PM, savingslowly said:

I'm running a Gen8 i7 nuc loaded with audiolinux, Roon and HQ player sampling. It's powered from a JS2 LPS. I've noticed the newer nucs have considerably more grunt than the model I run and are now available to run on a 12v power supply again. Would there be much to gain from upgrading to a 12th gen i7 nuc?

https://ark.intel.com/content/www/us/en/ark/products/126150/intel-nuc-kit-nuc8i3beh.html

https://ark.intel.com/content/www/us/en/ark/products/121635/intel-nuc-12-pro-board-nuc12wsbi7.html?wapkw=nuc12wsbi7

 

I would expect quite a bit of performance difference between these two.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
  • 1 year later...

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...