We assemble a sound station based on Linux and MPD
The Bryston BDP-2 reference audio player, which costs, for a minute, 156 thousand rubles, is based on a standard motherboard with an Intel Atom processor and an ESI [email protected] PCI sound card. The developers chose Debian Linux as the OS for this player. If you have the time and desire, you can assemble a similar digital source from existing hardware, and this article will help you with installing the necessary software and fine-tuning system parameters.
It must be said that when creating BDP-2, engineers from Bryston did not bother themselves much with the software part: the delivery includes stock Debian 6.0.1, kernel version 2.6.32 without realtime support, almost untouched MPD settings are offered, there are no optimizations at all . The fact is that standard cores have a fairly large sound delay (11–20 ms), and this does not allow you to work with sound professionally. In a realtime system, this delay is ~1 ms, which is already considered an excellent result. Therefore, first of all, we will compile the kernel and the MPD sound server with RT patches to reduce latencies as much as possible, then we will configure a high-precision event timer, set maximum priorities for devices and processes related to audio transmission, and finally we will tune the system parameters. In general, let's do what the hi-end people should have done.
We will look at the example of an ancient computer (VIA Epia-MS motherboard, VIA C3 800 MHz processor, 512 MB RAM, ESI [email protected] PCI sound card) and the Debian 7.1 distribution kit, installed to a minimum, that is, without graphics and unnecessary services. You may have a different audio system, but we would recommend PCI/PCI-E, since external USB cards may not work correctly with some motherboards.
Experimental computer, analog part of ESI [email protected] dismantled
Nagra DAC digital-to-analog converter was used for tests
The RT patch is designed to support real time in the kernel, not “soft”, but “hard”. The difference is that soft real-time systems allow a slight excess of the desired execution time, while in hard real-time systems such an excess is unacceptable. The patch is applied to the vanilla kernel, so install everything necessary to compile it and download the kernel and patch: # apt-get install kernel-package libncurses5-dev fakeroot build-essential pkg-config wget gcc autoconf git # mkdir kernel && cd $_ # wget bit.ly/149djQn # wget bit.ly/14rDBvQ Unpack and patch: # tar xjf linux-3.8.13.tar.bz2 && cd linux-3.8.13 # bzcat ../patch-3.8.13-rt11.patch. bz2 | patch -p1 Then in menuconfig/nconfig we enable the option Processor type and features -> Preemption Model -> Fully Preemptible Kernel (RT) and build the kernel: # CONCURENCY_LEVEL=3 fakeroot make-kpkg —initrd —append-to-version=-rt kernel_image kernel_headers Instead of CONCURENCY_LEVEL=3 you can put your number, depending on the number of processor cores + 1. Install and reboot: # dpkg -i ../*.deb # reboot
Selecting the right kernel option First, what is it? Why do we need another player if there are already plenty of them? Actually, MPD is a daemon with a client-server architecture, which opens up some rather interesting possibilities, namely:
- unlike many other graphic players, it works perfectly without X's, so if they fall or are completely absent on the computer, the music will still play;
- This is a client-server application - if desired, it can be controlled from a graphical interface;
- MPD is not only client-server, it is also network-based! Therefore, you can put it on a headless server and easily manage it from a netbook, from another computer, or from a smartphone or tablet (iOS/Android).
MPD itself supports many features, including support for FLAC, ALAC, WAV, MP3, OGG, audio streaming, gapless playback (playback without pauses) ... you can’t list it all. We take the sources from the official website (for the reasons stated below, version 0.17.1 is required), then install the necessary dependencies for assembly:
# wget bit.ly/14wxPtj # tar xjvf mpd-0.17.1.tar.bz2 # cd mpd-0.17.1 # apt-get build-dep mpd # apt-get install libcdio-paranoia-dev After this, you can, in principle , go to the directory and type the command autogen, and then make... but we won’t rush, because otherwise MPD will be compiled with default options, which may not suit us. In addition, you will have to apply an RT patch to the MPD itself, which is designed to improve sound quality by managing thread priorities (was it a waste of time to compile the RT kernel?). Since the player itself is developing faster than the patch, the MPD version should be exactly 0.17.1. Download the patch and apply it: # wget bit.ly/10kbsHY -O mpd-rtopt.diff.gz # gunzip -c mpd-rtopt.diff.gz | patch -p1 Now you can select build options. Of course, this is a matter of taste, but we built with the following options: # ./autogen.sh CFLAGS=”-O2 -mtune=`uname -m`” —enable-alsa —enable-rtopt —enable-id3 —enable-sqlite — enable-audiofile --enable-flac --enable-cdio-paranoia --enable-lsr --disable-oss --disable-pulse --disable-jack --disable-ipv6 --disable-inotify # make && make install Let's take a closer look at some of the options:
- --enable-alsa - enables ALSA support;
- —enable-rtopt — actually, what we patched for;
- —enable-id3 — support for ID3 tags;
- —enable-sqlite — SQLite support for the internal MPD database;
- —enable-audiofile — support for WAV files;
- —enable-flac — support for FLAC, a lossless compression format;
- —enable-cdio-paranoia — audio CD;
- —enable-lsr — support for changing the sampling rate on the fly;
- --disable-oss - since we will use ALSA, we will not need OSS;
- —disable-pulse, —disable-jack — we don’t need wrappers around ALSA either;
- --disable-ipv6 - if there is no IPv6, why enable it?
- --disable-inotify - for less resource consumption.
Now, after successful assembly and installation, let's move on to setting up the audio system.
Here are the most important parts of the mpd.conf file: # Music directory. Nested subdirectories are also supported music_directory "/var/mpd/music" # Playlists playlist_directory "/var/mpd/plists" # Database with tags db_file "/var/mpd/mpd_db" # Another database - this time for user information about music sticker_file "/var/mpd/sticker_db" log_file "/var/log/mpd.log" # Settings for ESI [email protected] connected via SPDIF (Toslink or RCA) to an external DAC # Audio output configuration - almost the only one multiline parameter in `mpd.conf`. It is possible to use several audio outputs simultaneously audio_output { # We indicate that we will use ALSA type “alsa” # Configuration name name “ESI Julia SPDIF” # We use a digital output (for information about the sound card, see the output of the aplay -L command) device “iec958:CARD =Juli,DEV=0" # To get a bit-perfect playback, we prohibit the audio subsystem from automatically equalizing the volume, changing the sampling frequency, changing the number of channels and converting the bit depth of the audio stream replay_gain_handler "none" auto_resample "no" auto_channels "no" auto_format "no" # Support for Memory-mapping I/O use_mmap "yes" # Set the maximum priority priority "FIFO:99" } ... # Size of the internal audio buffer in kilobytes audio_buffer_size "2048" # Filling the audio buffer before playing music in percentage buffer_before_play "50%" ... # Configuration realtime options MPD - the second multi-line parameter in this file realtime_option { memlock "yes" # Support for locks in-memory stack_reserve "1024" # We reserve the stack (in kilobytes) heap_reserve "10240" # and the heap (also in kilobytes) main_priority "OTHER: 0" player_priority "FIFO:50" decoder_priority "FIFO:47" update_priority "OTHER:0" # Stream priorities } If desired (and if the MPD was compiled with the appropriate option), you can, for example, enable streaming audio via HTTP - for the latter you need to add the following lines in the config: audio_output { type "httpd" name "My HTTP Stream" # Codec used, can be vorbis or lame encoder "vorbis" port "8000" # quality "5.0" # Quality and bitrate parameters are mutually exclusive bitrate "128" # Audio stream format (44.1 kHz, 16 bit, stereo) format “44100:16:2” }
Configuration file mpd.conf
It is also necessary to tune the system. First of all, create a file /etc/security/limits.d/mpd with the following content:
@audio - rtprio 99 @audio - memlock unlimited @audio - nice -19 This file practically turns off priority restrictions for the daemon. Next you need to change the HPET setting (which is the clock generator and is not used by default on many fairly old motherboards). To do this, we edit the line in the /etc/default/grub file - at the same time we add the threadirqs option, which is related to the RT kernel and which will be needed in the future: GRUB_CMDLINE_LINUX_DEFAULT="quiet clocksource=hpet threadirqs" HPET is necessary for more accurate (in time) feeding signal to the DAC. It would seem that the difference of a few micro- (or even nano-) seconds when feeding a stream of bits is so insignificant that you shouldn’t pay attention to it... but no. One beat was late, two came early - and in a high-end stereo system the difference can be perceptible to the human ear. With the use of HPET, the likelihood of such a scenario is reduced. Let's also configure some kernel parameters via sysctl. Open /etc/sysctl.conf in your favorite editor and add the following lines to it: # Virtual memory settings, in particular the memory allocation strategy and swap ratio vm.overcommit_memory = 2 vm.overcommit_ratio = 50 vm.swappiness = 10 # Setting the maximum allowable HPET frequency dev.hpet.max-user-freq = 2048 In addition to the last parameter, you need to change a similar one for rtc - but since it is in sysfs, you will have to register it in rc.local: echo 2048 > /sys/class/rtc /rtc0/max_user_freq Let's install the rtirq-init package. It contains a script that increases the priorities of IRQ streams associated with audio equipment: # apt-get install rtirq-init After installation, you may need to edit the /etc/default/rtirq file, namely the list of IRQ streams that will have increased priority : RTIRQ_NAME_LIST=»rtc snd usb i8042″ And finally - if you have a PCI sound card, then you need to increase the latency timer to the maximum (latency timer, which sets the time that the card can occupy on the bus if other cards are accessing the bus ) for it and, accordingly, slightly increase it for other PCI devices. But first you need to find out the PCI ID of the card: # lspci | grep -i audio In my case, the ID was 01:09.0, therefore, to increase the latency timer we type the commands # setpci -v -d *:* latency_timer=b0 # setpci -v -s 01:09.0 latency_timer=ff You can also use these commands register in rc.local.
QMPDClient interface
Sonata is another client for MPD
The RT patch makes the Linux kernel completely preemptive (that is, with preemptive multitasking)
Basically, you can now start the MPD daemon.
Before starting, make sure that the music is present in the appropriate directory and that a directory for playlists has been created. If it is scattered across different directories, then you can point to them with symlinks. The command to run it manually looks like this: # mpd /etc/mpd.conf But how can you check the functionality? The fact is that even the simplest console client is not included in the MPD source code, nor is the libmpdclient library, so you can either compile them yourself or install the appropriate package. Since the client does not require applying patches, there is no particular point in bothering with compilation, which means we install the package: # apt-get install mpc Before starting, we recommend looking at the mixer settings - in Debian 7.1 the sound is disabled by default. We update the MPD database, add all the music to the playlist and start playing: # mpc update —wait # mpc listall | mpc add # mpc play If everything is fine, then the music should start playing. In the case of streaming playback, you still need to check the operation of this stream. We indicate the address and port specified in the config. For some players, you also need to specify the mpd.ogg file - for example, 192.168.1.5:8000/mpd.ogg. Well, now we need to clean up the system. In general, you can do this yourself, but there are some subtleties - for example, packages installed using apt-get build-dep are not very easy to remove. So, first we mark the packages needed for MPD so that they are not removed with the following command, and only then we remove the packages related to the assembly: # apt-mark manual libcdio-paranoia1 libavahi-glib1 libcurl3-gnutls libshout3 # apt-get autoremove kernel-package libncurses5-dev fakeroot build-essential pkg-config wget gcc autoconf git # apt-get remove libcdio-paranoia-dev Then we run the following three-story command: # apt-get remove $(apt-cache showsrc "mpd" | grep Build-Depends | perl -p -e 's/(?:[\[(].+?[\])]|Build-Depends:|,|\|)//g') This command looks scary, but does a completely harmless thing — removes all packages that were needed to build MPD. We also remove the MTA - why do we need mail at the audio station?
# apt-get remove exim In general, you can remove the rest of the packages that are useless for the audio station yourself. But if you are not sure whether you will need, for example, cron or syslog, it is better to simply disable them from the init scripts.
Mounting the root file system in RO mode
If your music will be located on a drive other than the system, it makes sense to mount the root file system in read only mode when booting. The easiest way to do this is to set the appropriate option in /etc/fstab. However, this will require placing all the changeable parts on other partitions or removing the programs that generate this data, which is sometimes not entirely simple. Another way is to use unionfs/aufs/overlayfs - these file systems allow you to combine both RO and RW into one mount point - the latter can be located in RAM. This technique is used when creating Live distributions. You can find out more about how to do this on the page.
Are there other clients for MPD? Of course have. Moreover, the presence of many clients is one of the features of this demon. We will describe some of them in a little more detail.
- Ncmpc is a fairly simple MPD client based on ncurses. Unfortunately, it's not very convenient to work with playlists.
- But here is another ncurses client - ncmpcpp in this sense is much more pleasant. It has a search by tags.
- The client for xfce, xfmpc, is characterized by its inherent minimalism and lack of unnecessary functions.
- Another graphical client, Sonata, allows, among other things, downloading album covers and lyrics from the Internet and has a large number of settings. For example, it supports multiple MPD servers. True, opening the settings window is not very intuitive.
- QMPDClient, as the name suggests, is a Qt client and appears to be a very powerful player - but I wasn't particularly impressed. Nevertheless, we note such a possibility as automatic removal of an already played composition from the playlist.
Clients for communicators are also worth mentioning. For Android, MPDroid and DroidMPD were found on Google Play. Which one to choose is a matter of taste; the interface of the second seemed somewhat clumsy. MPoD is popular for iPhone/iPod; for iPad there is a specialized version - MPaD.
The MPDRoid interface is quite nice
MPoD: client for iPhone
There are many distributions for working with sound - from minimalistic ones, designed to work solely as an audio center without a monitor with control over the network, to sophisticated ones that have a bunch of sequencers and VST plugins. Of course, it is impossible to describe all of them, but a short overview of some of them would not hurt. And we'll start with the Voyage MPD.
Voyage MPD is an embedded distribution based on Debian 7.1. The latest version at the time of writing contains MPD 0.18, kernel 3.8.13 with the latest ALSA drivers, a Meshlium-based web interface, and DoP support (DSD over PCM, packaging DSD into PCM frames) is also announced. There is a Voyage MPD Starter Kit that allows you to assemble an audio station. The set costs $149, but does not include a sound card.
64 Studio is a distribution (again on Debian), positioned as tailored for the creation of media content. It has the following features: low-latency core, sequencers such as Rosegarden, Ardour - multi-track audio editor... However, the distribution has not been updated since 2008.
Ubuntu Studio - as they say, no comments. Essentially, the same Ubuntu with XFCE, tailored for creating multimedia content. Nothing special stands out - except for the low-latency kernel and the ability to install a metapackage on a regular Ubuntu and turn it into this distribution.
AV Linux, despite the name, is not an antivirus for Linux, but another distribution for working with audio and video. One of the features is that it includes not only free software, but also demo versions of proprietary products such as LinuxDSP and Mixbus.
- Lots of information about music on Linux
- Detailed description of Bryston BDP–2 from the distributor
Linux can be used both as software for audio centers and as software for professional work with sound. And if the first aspect is even more or less observable (although there are some subtleties here, as can be seen from the above), then professional work with sound is so diverse that it cannot be covered even within the framework of a book. The article, however, did not pursue such a goal - we just wanted to show that on the basis of an ancient computer it is possible to assemble a system whose sound quality will not be inferior to equipment costing thousands of dollars.
Optimal BIOS settings
Here are some BIOS settings that are recommended to be adjusted to improve performance:
- If HyperThreading is present, it is better to disable it.
- It is also better to disable Video BIOS shadow.
- For PCI devices, disable the PCI Delay Transaction option as it increases latency.
- Disable all unnecessary built-in devices.
First published in Hacker magazine, 08/2013.
Publication on Issuu.com
Subscribe to "Hacker"
- Paper version
- "Hacker" on iOS/iPad
- "Hacker" on Android
Audiophile on Linux. Where to begin.
Recently, many Hi-Fi audio lovers have become interested in the Linux operating system.
Primarily because of the reviews that appeared on the network about the good sound of the audio components. Not the least role in this excitement was played by companies that produce Hi-End devices and install Linux inside their devices with a high-quality operating system. By the way, as a very long-time user of this operating system (since the 90s), and having certain skills in its use, I can say that the Linux setup in these audiophile devices is quite far from ideal, but this does not prevent them from demonstrating high quality. First of all, I’ll answer an unasked question - indeed, the Linux OS has a very good sound system of the Alsa architecture, which is superior to what is in the popular Windows, and I don’t even know why, but the bitperfect sound through alsa is audibly better than the bitperfect ASIO in Windows - is it nonsense? But it's a fact.
Real Unix
So, alsa is the ultimate audio grail of the Linux operating system for the audiophile. At the request of visitors to the site hifi-audio.ru, I will tell you how to install the operating system, but first I would like to bring you up to date, tell you what kind of operating system it is, what features it contains and whether the game is worth the candle. When they say that Linux is Unix, they assume that that says it all. But what does it mean? Firstly, Linux is a Unix-like operating system, not Unix, since Unix is strictly standardized, and Linux is developed by a large company of various companies and enthusiasts, not afraid to introduce new ideas and approaches. In general, Linux is a very close, but free retelling of Unix. But still, if you worked in real Unix, for example Solaris, then everything will be 100% familiar to you, all the developments you use will most likely work.
Some ancient Solaris is a real Unix.
So what is Unix - for starters, it is a multi-tasking and multi-user operating system. Yes, you say, we know, we know, Windows is also multitasking and you can have many users on it. But, in the end, only one person always sits at a Windows machine, and Unix or a Unix-like operating system such as Linux allows many users to work on one machine simultaneously using the resources of this machine. Yes, users will use remote terminals for access, but there can be a lot of such users. Of course, there are special server versions of Windows that can be similar to Linux. But any Linux can be multi-user at any given time.
This is great, but in principle there is nothing fascinating about the concept of multi-user for me, as a home user. I have always liked another Unix concept, which in Linux has unfortunately begun to fail in recent years. This concept goes like this: all files. Everything is files. I understand that you don't understand what I said, but this property of Unix is amazing. This is probably one of the magic of this operating system. Everything is files and another feature called “pipelines” is amazing. Let's start with the first possibility - ALL files. Imagine, if everything is files, then you can do everything with them that you can do with regular files.
For example, if a sound card is a file (located in the /dev folder called dsp), then we can play music simply by copying the sound file to the dsp file. Simply by typing cp Yello.wav /dev/dsp on the command line
or by reading the audio file as text and directing the stream to a dsp file like this:
cat Yello.wav /dev/dsp
You understood correctly, I didn’t need ANY programs at all to play the music. How to record sound? The microphone is a file, you just need to read the microphone from the file and copy it to the sound card. Imagine two files - figuratively dragged one onto the other - and now write from the microphone. No programs. Does it really sound incredible? Where is the industry with expensive programs for recording or playback? That's when I started to become interested in Linux, everything was like that, and these tricks with sound worked perfectly on the previous OSS sound architecture. Now maybe this will also work, but you will have to jump with oss wrappers (alsa-oss), who will force alsa to pretend to be OSS. I honestly haven’t tried it, but I think you can delve into modern changes. Yes, Linux used to have an OSS audio architecture. It sounded very natural compared to what was available in Linux at that time. But OSS had a very high latency. The alsa that replaced it is an even more advanced sound core, also with a very low latency, stated to be 4 ms. And this does not require any ASIO, as in Windows.
Another simple example where Linux surprises is the virtual core. You may have used such programs on Windows; they allow you to connect a disk image as if it were a disk inserted into a CD/DVD. In Linux, you don’t need any programs for this, other than the standard utilities included in any Linux. In Linux, any disk is mounted with the mount command to a directory tree. If you decide to mount a disk image as if it were a real SD-rom, you simply give the command to mount it to a specific folder. For example, mount file.iso /home/Alex/cd/ -t iso9660 -o loop
And the contents of the disk image will appear in the home folder inside the cd folder. Perhaps it bothered you that I was talking about some commands from the terminal line. But believe me, in Linux there are many heavy graphical programs with a beautiful interface that do the same thing with the click of a mouse.
But now we’re talking about possibilities - you can do everything without any programs at all, on bare Linux. Do you know there are such programs that remove an image of a CD disk? Remember the Unix concept - everything is files. So how do you take a disk image? You need to copy the contents of the sdrome file to a new file. For example: cp /dev/cdrom /home/Alex/my.iso
/dev is the folder where the files of devices, disk drive, hard drive, printer are stored... Yes, you can do whatever you want with the printer, and with the monitor display.
Or you can remove the image like this: cat /dev/cdrom > /home/Alex/my.iso
The essence does not change from this. In the first option, we copied the contents of the cdrom file to the my.iso file, and in the second case, we read it by directing the stream (> icon) to the my.iso file. Do you know there are programs, such as Acronis, that copy images of hard drives or partitions? Imagine not needing them on Linux. Since all are files, then our disk is just a file. If you have only one in the system, then it is called sda, if there are two of them, then the second one will be called sdb, etc. And since the disk is divided into partitions, then each partition will be called sda1, sda2, etc. If I want to take an image of the entire disk, I will simply copy the sda file, and if only some partition, for example the second, then I will copy sda2. cp /dev/sda2 /home/Alex/hdd1.backup I can also easily deploy it by copying it back to /dev/sdb2. But you say, of course this is cool, but the size of such an image will be equal to the size of the disk itself. But what prevents us from compressing files on the fly? Remember I mentioned certain pipelines - a special feature of Linux. Pipelines are the ability to redirect output from one program to input to another. For example, we read the contents of the disk byte by byte and redirect it to a newly created image file. Now let’s complicate the chain and when we read the contents of the sdb2 disk partition with the cat command, we will direct the stream to an archiver, for example zip. cat /dev/sdb2 |zip > obraz.zip
We read from the sdb2 file and the | (conveyor) is redirected to another program, namely to the archiver. From the archiver we then send it to the obraz.zip file. Those. in one line we did what the entire Acronis program does.
Of course, you could choose any archiver, and instead of cat use other programs, for example dd (bitwise copying) and so on. In general, the boot sector of the hard drive is also copied through dd; you can always make a backup copy of it. But the trick is that such conveyors can be of any length. You can create a long pipeline that, after cloning a disk image, will send you an email about the recording results, for example, and turn off the computer or start cloning another disk. Just believe me, pipelines in Unix are very cool. In Windows, there is only a germ of them in the form of the > icon, when you can print, for example, the contents of a directory into a file like dir > spisok.txt But that’s all that Windows can do. And in Kinux we can do this: dir |cat| sort|zip>spisok.zip
Read the directory with the dir command, send its output to the input of the cat command, which will begin to read it, and then we will redirect what is read to the input of the sort command, which will sort the directory names alphabetically, after which we will send the sorted list to the archiver, at the output of which we will receive a compressed file. If you think about it, in this pipeline the cat command is superfluous, because you can immediately read the contents of the directory and sort it, like this: dir|sort|zip>spisok.zip
I think the meaning is clear, as are the simply gigantic opportunities that open up. Since the commands may not be so simple, but send email, print on a printer, burn discs, turn on an alarm, etc., etc. Let me give you an example from a recent real-life case: I needed to determine which user visited a resource at a specific address. To do this, you just needed to analyze the logs. But there are 4 Gigabytes of logs, and this is not 1 file, but hundreds of nested directories inside of which there are tens of thousands of files, inside of which somewhere there is the line I need. I built such a pipeline grep -Hr “text_what_I_was_looking for” /etc/www/lightsquid/report >/home/pk/res.txt And after a few minutes I received the result in the text file res.txt.
What in other operating systems is done with endless software crutches, where in order to do something you always have to look for some kind of program, in Unix you can do anything with your bare hands, because all the files. If you don't have a text editor, that's also a problem. Instead of an editor, you can use the cat command, which goes through the files character by character. Let's write cat in the terminal and redirect the output to a new file, for example file.txt like this: cat > file.txt and now we have a simple editor window - write text in it. When you decide to finish writing, press Ctrl+D and everything written will be written to the file file.txt. Of course, any Linux is full of graphic and text editors, but the main thing is the opportunity. I'm not even saying that Linux and its included programs are free, and their codes are available for viewing and making changes. Linux even has such miracles that you can create an EMPTY file of the desired size, well, 1 gigabyte for example. And so, for example, dd if=/dev/zero of=/home/my.hdd bs=1k count=1000000 Copy from (if) the magic device zero, which always gives eternal zeros to (of) the file my.hdd. Or they could use the old cat command, but... You need to count exactly gigabytes, but with dd it’s easy, it has an option - size and quantity. count 1kb bs=1k 1 million times count=1000000 And we have a file of 1 GB. Then format it as a hard drive to any file system - oh, yes, Linux uses and supports a lot of file systems, including fat and ntfs, but it has much better ones. mkfs.ntfs my.hdd
All that remains is to mount the file as a hard drive or a drive image, which we did before and mount -o loop /home/Alex/hdd
Now your disk file has an entry through the hdd folder and you can store your files in it. You can connect this secret “drive” whenever you want and disconnect it the same way. If you are interested in this, you can read tricks with Linux like this on the Computerra magazine website by following this link. Well, okay, the part regarding the console seems to be in general finished. Let's move on to the graphic part, the windows. Windows has windows, MacOS has windows. And Linux also has windows, but there are more than 100 varieties of them. They are called window managers and have different appearance and functionality, there are very exotic tile ones that are used without a mouse, and there are beautiful graphic Enlightenment, AfterStep, FluxBox, FVWM, etc.
Enlightenment
You can use window managers separately, for example, take the metacity manager + the Nautilus file manager + some beautiful bar at the bottom of the screen - and the environment is ready. But there are also already selected environments with their own ecosystem. There are not so many such super-developed environments, but not a few, the most popular are KDE, Gnome, XFCE, LXDE, Mate. Which one to choose is purely a matter of your preferences, you can try and decide what is best for you. Visually, the most luxurious are KDE4 and Gnome3.
KDE4 follows its own path; it has a simple, but very beautiful and usable appearance, similar to the environment on Macintoshes. KDE is very fast and beautiful. The difficulty at the first stage seems to be that this table has its own paradigm of use, the meaning of which I have not understood for several years, and therefore in the first 10-20 minutes I simply rearrange the table in the settings for the classics, after which everything becomes completely luxurious in terms of control .
KDE4
KDE has completely unique features, akin to a brain explosion from conveyors in the console, the ability to control any application by attaching a remote control to it, etc., etc., in short, everything is very cool. And the plasma table itself is a kind of concept on which plasmoids are placed in layers (a similar feature appeared later in Windows 7 under the guise of widgets).
In short, the system is very beautiful, thoughtful and interesting. It's no worse than the Apple desktop, and definitely better than any Windows desktop. And the Compiz effects in the form of a rotating cube when you change the desktop (yes, several desktops have always been available in Linux for many many years) or a burning or “rubber” window - it’s just worth watching, at least on YouTube.
The second well-known environment is Gnome3.
This is also your vision - you wave your mouse in the left corner of the window and a service screen opens up where you see different applications and documents, but when you return to the desktop they do not bother you, as they disappear, as if you looked into a folder lying on a real desktop , and then moved it away.
Gnome3
The developers of Gnome3 are not without oddities, they are trying with all their might to simplify the use of the desktop to the point of idiocy, they thought of removing the button to minimize the window. Therefore, after installing Gnome3, the first thing you have to do in the settings is enable this button in place. The developers also figured out how to cut out a function from the file manager - create a file.
Yes, you can create it in the program in which you are going to work, but in general, as they say, “not without quirks.” Gnome is a beautiful desktop with its own charm.
In third place you can put XFCE4 .
XFCE4 with a third party dock.
This environment is similar to Windows XP, but is rather a shabby copy of it. The main advantage is that it works well on weak computers and is easy to understand and configure due to the prehistoric nature of the paradigm of such a desktop ala Windows95-XP.
XFCE4 as is
I used this particular working environment for a very long time, but now I switched to KDE4 on one of the machines, while the others still use XFCE.
Another contender is LXDE .
LXDE
This is a very resource-light desktop, but it lacks some tools. When the car is very old, LXDE is a good choice. Outwardly, it resembles XFCE, but more primitive. Also one of the leaders is the Unity environment. You see quick launch icons on the side, and some kind of desktop idea of your own, but in general, even Gnome, even XFCE or LXDE - they are essentially similar and will not take you long to understand. You just choose the desktop you like and it works. It's not forever. You can put many of these tables and change them every day to suit your mood. But I haven’t told probably even 1% about Linux yet. Okay, breathe out, I won’t, because this is a short excursion about Linux in general, a few words for understanding. So, when you decide to install a Unix-like operating system, and in this case we are talking about Linux (and this is not the only Unix system), it turns out that the choice of Linux is huge. In general, Linux is a kernel - a kind of subroutine that can manage the hardware of your computer and contains all the drivers for everything in the world. Yes, after installing Linux you do not need to install drivers; they are already in the system kernel. Of course, there are completely extreme cases, usually with some malicious ancient scanners or printers, but if drivers for them exist at all, then this can be solved. I made the ancient Mustek scanner work on my Linux, which could no longer work on Windows 2000 due to the lack of drivers! So, Linux is the kernel. But to select a set of minimally necessary programs for this kernel, a window manager, a file manager, set it all up, choose beautiful wallpapers - this is done by different teams and companies and their assemblies are called distributions. There are a lot of distributions, probably hundreds, but there are no more than 50 very famous ones. Hahaha. Well, in reality, of course, the majority use the following free distributions: Ubuntu OpenSuse Fedora Debian Arch Manjaro Mageia Gentoo, etc. Of course, anyone could rivet their own distributions, but what is important to the market is not the availability of new wallpapers, but support. Distributions are primarily valuable because almost every distribution has its own servers, which contain a variety of programs suitable for a particular assembly for all occasions. You installed Linux - you wanted some kind of program, you went into the special distribution repository manager program and selected the one you need from >20,000 programs - click the mouse and the program is already installed. Therefore, each distribution is characterized by the following parameter: how many programs or packages are in the repository. The more there are, the better. The newer they are, the better, maybe not, more on that later. Now briefly about the above distributions:
Ubuntu is the most popular distribution, the developers are the most slobs, they shove programs into the distribution that sometimes don’t work properly, and can overwhelm the user with messages about some mythical errors until you turn it off manually.
They base their collection of programs (repository) on the repository of another Debian distribution. In general, Ubuntu is a positive distribution that you can use. Which desktop is offered by default is clear from the name - Ubuntu - Unity, Xubuntu - XFCE4, Kubuntu - KDE, Lubuntu - LXDE. I have Xubuntu on my home machine. Packages in the repository have the deb extension (from the word debian) and are installed by the apt-get program.
In principle, Ubuntu is a Debian that has lost its reinforced concrete reliability, which was visually sleeked up a little and crammed with fresh programs, the reliability and performance of which no one really checked, since the developers were busy choosing wallpaper for the desktop. Today there are approximately 20 million Ubuntu users in the world, so finding an answer to a question specific to the Ubuntu distribution is easier. But in general, despite such clownery, this is Linux, so the stability is extremely high, greatly superior to Windows. I have a regular desktop Ubuntu 8 on one of my servers and it works as a proxy server, i.e. I installed it in 2008, and now it’s 2016 - I haven’t approached this computer at all for 8 years, it works like a clock without any maintenance for 8 years. And this is a simple edition for the home user, and not a real server distribution, such as Debian.
Ubuntu with Gnome Classic environment And Ubuntu has the best font display system in Linux. There is such a problem that Microsoft has a patent for smoothing fonts (subpixel) so that they are beautiful and prohibits smoothing something without a bribe. But Ubuntu somehow got around to it and their fonts look better than in Windows, but other distributions struggle with this problem with varying degrees of success.
OpenSuse is a great distribution, in my opinion much more serious than Ubuntu.
OpenSuse
It works just as quickly. It was originally called Suse and was only paid. Later, its OpenSuse version appeared, but the corporate quality of the product remained. Based by default on the KDE environment, but there is a choice of others during installation. Included is a special Susev program that allows you to use the mouse to configure anything in the system, from a firewall (which in Linux is industrial level), to a printer or network. There is a convenient system for installing programs with one click directly from the distribution website.
One of the OpenSuse file servers in soft raid 5 with a KDE table has been running for 6 years now - it works like a monolith, ideally. During this time, 3 two-terabyte disks in the array failed, replacing them was simple, the system did not hiccup. Reading speed on simple disks is 7200 rpm in the server 320 MB/sec. And I’m also using the not-fastest ext3 file system.
It would be even faster on other file systems. In addition to direct access to the computer, when a person stands in front of the monitor and computer, there is also access through any browser, via ssh, via a remote desktop. Font display can be adjusted to very good display, but not to Ubuntu level. Now I’m writing from OpenSuse, this display suits me, but I set it up. In the program repository in rpm packages. Installing them with zypper.
Fedora is the free enterprise version of Red Hat, a well-respected distribution.
Fedora has a slightly smaller program base in repositories, but this is Linux, you can always build a program from source code, there are even graphical programs for this, if you don’t understand it at all, just click and you’re done. By default, Fedora uses the Gnome environment.
Programs are distributed as packages with the rpm extension and are installed by the rpm program. In terms of fonts, if this is a foreign Fedora, then the situation is so-so. If this is a Russian build of Russian Fedora, then don’t care about the American patent, anti-aliasing is already turned on and works perfectly.
Debian is one of the most respected, rock-solid distributions. Huge repository for 30,000 programs. Each program is tested for stability and compliance with its functions.
Because of this, the subsequent distribution kit takes a very long time to come out - 3-5 years. Therefore, the programs in this distribution are very outdated. But everything works, no glitches or dances with a tambourine, or the fact that what is written in the documentation does not work, this will not happen with Debian. I configured NAT for the Internet on a computer network of a dozen Debian machines - it was as easy as in a fairy tale. Everything that was supposed to work, as described, worked.
The fonts are crap, the programs are old, but fast and stable as a rock. In the program repositories in deb packages, the apt-get program.
Gentoo is a special type of distribution that contains source code and instructions on how to build it.
Yes, there are immediately sections that you upload to your disk and boot from them, after which you compile your personal make world system. What's the point? For any program, you choose what to include in its functionality, support for which devices, protocols, libraries, etc. You even set optimization keys. Therefore, a Gentoo system can be so fast that you never dreamed of it. In addition, this is a rolling system. If the program sources on the developer’s server changed a minute ago, the system will download them and compile you the latest of the latest programs. What new products will appear in other distributions in six months or a year is already available in gentoo now.
Pros - you know your system inside out, you assembled it yourself. Disadvantages - after all, compiling programs and installing a finished program are different costs in terms of time. If you are not willing to wait for the program to compile, you will be unhappy. An excellent system, but for geeks of course. The build program is called emerge. I used Gentoo.
Arch is a special type of distribution. If you liked everything about gentoo except the long compilation time, then choose Arch.
This is essentially an analogue of Gentoo, but the programs are already compiled. Those. you have the latest programs today, but you do not have the ability to select the content of the programs during compilation. I've been using Arch Linux for a year and a half. This is a very good system, but its weakness lies in its merits. This is a rolling release, that is, there is no new version of the distribution, it is updated daily, and it is always the newest. But if you were frozen for 2-3 months and decided to update, then the system may break.
This is rolling, it should be updated always, without interruptions. Otherwise, before updating, you will have to read all the changes that occurred during the time you did not update the system. Installing packages using pacman. Extensions for pkg programs. May be difficult to install.
Manjaro is still the same Arch, but with a more convenient installer. But it will still require serious tuning.
You will manually write in the files the settings for locales, etc., in short, an ordinary user will most likely pass.
Mageia is a descendant of the Mandrake distribution that I used to use.
Everything seems beautiful and comfortable, but it seems to me that the patient is more dead than alive. rpm packages.
Of course, there are many more distributions - ZorinOS, Elementary, CentOS, PCLinuxOS, Meppis, Slackware, Sabayon, Vector, etc. But the packages are usually either rpm, or deb, or their own in gentoo-like ones.
But what’s the point? Couldn’t it have been possible to create one single package repository? Distribution developers often argue about how they see the distribution and its interaction with the user, and therefore everyone has their own wheel, there is no agreement. Some want to use only stable software code, while others want to use the latest. And how to build a program using a new or old library? Therefore, there are many distributions and many repositories. But look, Suse uses rpm and Fedora, maybe take the rpm from Fedora and install it in Suse? It’s possible, but most likely it won’t work, since rmp indicates what other packages are needed for the program to work and they refer specifically to the repository of their distribution. And in different repositories the packages are called differently. And here is the main difference and property of Linux programs from Windows programs. In Windows, the program is compiled in such a way that it already contains the necessary library in its body, for example, the player contains an audio decoding library in flac format. And the other player also contains the same library, etc., in its body. This makes programs in Windows fat and clumsy, and of course not fast. In Linux there is only one permissible library, and in programs there is only a link to it. This makes the programs easy. But if we run this program, it will access this library on the hard drive. And another program can also access it at the same time; Linux libraries are shared. And one library can simultaneously work with a host of different programs. And when you install a program from an rpm or deb package, for example, it tells you that in order to work in the system you need to install such and such libraries, and it downloads them from the Internet and installs them. Yes, Linux is very dependent on the Internet, it takes all its programs from the Internet, so if you do not have access to the Internet, then you will not get all the features of Linux.
Linux is better when there is Internet
I feel that it’s time to wrap up this preface and finally talk about file systems in Linux. Many great file systems have been created for Linux. What is used in Windows is puzzling - ntfs, not to mention fat, is periodically bombarded with errors and requires checking, it is highly fragmented and simply breaks. In Linux, server-level file systems, some very fast, use highly complex mathematical models, balanced trees (ReiserFS), or akin to databases (btrfs). I will tell you about the most popular: ext3 - the system is already outdated and was replaced by the faster ext4. But on many computers I use ext3 because of its monstrous strength. There is virtually no fragmentation on disks with it, and it works quite quickly. It is a journaled and very reliable file system. I used it.
ext4 - replaced ext3. The system is very fast and reliable, but my experience is that ext3 has higher reliability. Out of hundreds of crash tests, I was still able to fail ext4, while ext3 was a complete failure. I use it on my home PC.
xfs - server file system, came from commercial servers. Reliable, copies gigantic files very quickly, but slowly copies small ones. I used it.
ReiserFS is a very fast file system with average reliability. Previously I only used it. But since the developer of this FS is in prison, the popularity of the system is gradually declining.
btrfs is a file system developed by Google. Good, fast, but I believe that it is not yet ready for use, although Google itself stores search engine data on this particular FS. But I had several very unpleasant moments with btrfs. If you follow through and fill the disk to capacity, you will run into problems. Although this may have already been fixed, the last time I used this file system was 2 years ago. There are other FS - ZFS, JFS (IBM), Tux3, etc. - it definitely won’t be boring when choosing the best one. So when you install Linux on your computer, you need to choose a file system. I will be trite by recommending ext4 or ext3.
In general for Linux - you need to choose the distribution of your dreams, choose which file system you want to use, which graphical environment and... use. There are a lot of programs for Linux, and they are all mostly free (those included in the distribution kit and repositories are all free). But if you are used to commercial paid programs from the Windows world, you most likely will not find them here. But there are many free analogues. In principle, Linux is full of free programs known to you - Internet browsers Firefox, Google Chrome, Opera - it’s all there. Skype is available.
But you won’t find the Nero disk writer in the repositories, but you will find its paid version on the manufacturer’s website. But why, because Linux is full of free disk writers - K3B, Brasero, etc.
K3B is a disk writer. Everything is in Russian, don't worry.
Likewise, Linux doesn't have Photoshop, but it does have Gimp. No Word, but OpenOffice.
Yes and what do you mean no? You can install a layer of compatibility with Windows - wine, and then it will work in Linux and Photoshop and Office, although it depends on what versions, and even many games. There are also a ton of music players, including the world's best audiophile mpd, which exists on Linux.
External client to mpd
There are even more video players in Linux. There are also 3D modeling programs (Blender, etc.), layout (Scribus), vector graphics (Inkscape). Yes, they are probably not as cool as the recognized colossi for hundreds of dollars, but they are enough for me. Why do I use Linux? There are no viruses in Linux. Yes, you can install an antivirus on Windows, which will eat up the resources of your machine, you will be afraid to go to suspicious sites and use other precautionary methods.
But in Linux this is not necessary, I can go to any sites, download whatever I want - viruses do not work in Linux. Also, the Linux system does not become clogged from time to time and does not lose speed, so there is no need for any programs that optimize or improve speed. We installed Linux and forgot that there were some problems with the computer. While my relatives were using Windows, they called me every week, it was a virus, but Windows just died or crashed. After installing Linux there were no problems at all. Well, a very powerful argument is reliability, since one of the main purposes of Linux is server use. And this means enormous stability in work.
Remote control of a Linux server
And yes, Linux boots from standby mode (turned off PC) in exactly 3 seconds and is immediately ready to work; Windows certainly cannot do this. What are the disadvantages? Occasionally, the hardware of some PCs is not supported by Linux, so before installing the distribution, you can first load it in live mode and see if everything works; if so, then feel free to install it. Well, I talked a little about Linux, and if your head hasn’t exploded and you’re ready for further action, then it’s time to move on to the phase of installing Linux and turning it into the coolest audiophile music server in the world, which I’ll tell you about, if you’re not run away screaming “Oh no, not this!”
And, to relax a little, I suggest watching a video taken from the screen of my Linux using this program
RecordMyDesktop
Enjoy watching the video of OpenSuse 42.1 with KDE4.
You can discuss the publication on our forum - come on over, it will be interesting.
This article provides recommendations on choosing an OS for building an A/V player on a computer.
If we rank existing operating systems in order from worst to best in terms of obtaining the best sound quality, the list will look like this: Windows , OS X , GNU/Linux .
Even if you optimize processes and services in Windows will still be inferior in sound quality to OS X. Yes, you can try to use a server version of Windows , create a ramdisk in RAM to place music content there, assign real-time priority to the player and strictly distribute processes across processor cores. But there are a number of “BUTs”. First, not everyone can do this. Second, even this will not provide a significant advantage over OS X.
For most users who do not have deep knowledge of computers, a good choice would be to buy a ready-made Mac Mini computer with OS X . Moreover, you can find an inexpensive copy on the used computer market.
If you are a more or less experienced PC user, then you should try installing some OS from the GNU/Linux . I would recommend starting with Lubuntu , because... its graphical interface is closest to that of Windows XP . Users who are accustomed to working in Windows will find it easier to get used to the new operating system. But its main advantage lies not in the familiar graphical interface, but in its lightness. This OS uses a fairly lightweight desktop environment - LXDE. It comes pre-installed with a small number of programs. There are few services running in the background. Because of this, the processor is extremely lightly loaded, and the OS in RAM takes up about 200MB. Now, just for fun, look in the task manager at the load on computer resources in your OS. Obviously, less load on the computer's hardware resources only benefits the sound. And after all, after you get a little comfortable with this OS, no one bothers you to remove programs and disable some services. This will undoubtedly improve sound quality. This OS is also notable for the fact that it does not use a heavy audio output system like Pulse Audio. Audio output goes directly through the OS kernel when using the ALSA audio output system. But that's not all. You can replace the generic desktop OS kernel with a real-time (soft real-time) kernel. To do this, just open a terminal and write the command sudo apt-get install linux-lowlatency , after executing it, simply restart the computer. Thus, you will get a computer that is already much superior in sound output quality to the Mac Mini with its OS X.
Probably many people have concerns about the process of installing programs in the GNU/Linux , as well as the range of available programs. Installing programs in Lubuntu is even easier than in Windows . You can find information on how this is done on the websites of the distribution of your choice and on the corresponding forums.
As for player programs, I would recommend installing jRiver Media Center and KODI . I think these are the best multimedia player programs for this OS. But no one is stopping you from installing and using an MPD player with some kind of graphical shell. Or even control it via the network from your tablet or phone. Here the choice is yours. But remember that all programs sound different!
All of the above operating systems are desktop. They were originally designed to perform a wide range of tasks on any computer hardware. Such versatility, of course, does not benefit the sound. If you want to “squeeze” the maximum out of your computer’s hardware, then you need to use specialized operating systems that were originally developed for tasks associated with high-quality sound output.
The simplest, but also universal (versatility is bad) is the Ubuntu Studio . I wouldn't recommend using it. It was rather developed for people professionally involved in creating music, rather than listening to it.
I would rather recommend trying Audiophile Linux . This OS was created by an enthusiast specifically for high-quality sound reproduction. He applied quite a few solutions to optimize the OS for high-quality audio output tasks. This OS uses an even more lightweight desktop environment than Lubuntu . Accordingly, it consumes even less computer resources. Plus, it already contains a number of installed players and related programs, such as a CD ripper. This OS is superior in sound quality to all previously reviewed OSs.
Another representative of the OS from the GNU/Linux , originally developed for sound output, is the project of another enthusiast - TinyMPD . This OS does not have a familiar graphical interface. All player control is carried out using a tablet or smartphone. When the computer boots, the OS is completely located in RAM, occupying some megabytes. The author of this OS also did quite a lot of work to optimize the OS. But this OS, in my opinion, is more suitable for more experienced PC users familiar with the GNU/Linux , because working with it requires certain knowledge of working in the console.
I won’t say which of these two OSs is better, because... their comparison with each other is incorrect. They are too different. One has a graphical interface and various pre-installed player programs, while the other does not. MPD- based player and there's nothing else you can do about it.
But even these OSs, to some extent, are universal, since they are able to run on different computer hardware. Even greater results can be achieved only by initially building the OS for a specific computer hardware. This approach allows you to optimize the OS well. By the way, Apple . Have you seen a Hackintosh on a motherboard with an AMD processor?
GNU/Linux operating systems consist of the Linux and the GNU . By combining programs and kernels, the diversity of the GNU/Linux . For example, based on the Debian , Canonical developed its own Ubuntu , based on which the Chinese comrades made a very beautiful Linux Deepin .
Let's look at this in more detail. GNU/Linux OS usually consists of free and open source software. The program code can be changed to suit your needs, resulting in programs that have additional functions built into them when the code was changed. There are many programs themselves. For example, an integral part of the OS is the System V init , which can be implemented by the Upstart or the Systemd . We changed the desktop environment from KDE to Gnome and got an OS with a completely different desktop and set of programs in appearance. There are even operating systems that initially require you to assemble them yourself. These are Arch Linux and Gentoo Linux . To clearly see what I'm talking about, you can watch many hours of videos on step-by-step builds of different OS options based on Arch Linux and Gentoo Linux .
Understanding this, and having experience in the field of audio, as well as certain knowledge of the GNU/Linux , we decided to build our own OS for the pre-selected optimal computer hardware.
The OS we developed is based on Ubuntu Server . After starting the installed Ubuntu Server , there is a black console screen with an invitation to log in and start working. There are no graphics programs. Moreover, there is not even a program capable of displaying anything on the screen other than text and pseudo-graphics. There is no sound system either. There is only the possibility of setting up a wired Internet connection. For such minimalism, we chose this OS as a basis, because... it allowed you to start building the required OS from scratch. The second reason why this particular OS was chosen was the presence of a large number of programs in repositories common to all Debian -like OSs. More experience working in Debian -like OSes than, for example, in Arch Linux .
From source codes from kernel.org , we assembled a kernel with hard real-time . Support for a large number of peripherals not related in any way to audio output has been removed from the kernel. AMD , Power PC , IBM , Apple was disabled ... The kernel code began to support only desktop processors from Intel , whereas initially the kernel used universal generic code by default. The functions of dynamic control of processor frequency and dynamic power management modes of various devices have been disabled. The optimal settings for the operation of RAM and schedulers were selected. Support for a large number of unnecessary file systems has been disabled. Support for the network and external USB drives is completely disabled. It’s impossible to list everything, and not everyone will understand it. I will say that this work took about a year and is still ongoing...
Each change to the kernel code was auditioned on different systems by different people. In this way, we were able, as far as possible, to evaluate the changes made in an unbiased manner from the point of view of obtaining better sound quality. The kernel turned out to be not universal in terms of supporting various platforms and devices, but it allows OS processes and computer hardware to reproduce multimedia content with exceptional quality.
Since colossal work has been done to optimize only the OS kernel code, it is unlikely that we will publish anywhere or say in a private conversation all the changes we have made to the code of the standard universal kernel.
But our OS is notable not only for its kernel with support for hard real-time optimized for specific hardware.
The “extra” processor cores were software disabled so that if the processor was originally 4-core, the OS sees only two of its cores. Minimizing sources of HF noise always benefits the sound. Therefore, initially it is better to use 2-core processors, which is what we are doing.
OS processes and player processes were strictly separated into different processor cores. The entire processor core was isolated from the execution of OS processes. Thus, OS processes do not interfere with the execution of player processes. This is due to the allocation and distribution of a processor time slice . This separation made it possible to significantly improve sound quality.
Using scripts, OS processes are set to low nice , rt and other types of priorities. On the contrary, player processes have high priorities. The player works with priorities for schedulers corresponding to real-time work.
USB-AD controller is used to connect an external audio DAC . This controller uses the PCI Express to communicate with the motherboard and then with the processor. But other computer devices also use the same bus. Using a special script, all devices working with the PCI Express are assigned low priority. Thus, they are “allowed” to monopolize the PCI Express . And for the address on the bus at which the USB-AD , on the contrary, high priority is set. It turns out that the USB-AD is “allowed” to completely monopolize the PCI Express , which minimizes all kinds of delays.
ALSA sound system settings have been optimized taking into account sound transmission through our USB-AD .
File system mounting settings have been optimized .
To display the user graphical interface, one of the most minimalistic window managers was chosen - Openbox . Coupled with the minimum number of services , this resulted in only 82MB of computer RAM usage and zero processor load.
Of course, this is not all that was done during the development of the OS to obtain the maximum result. I just wouldn’t like to “load” you with incomprehensible terms, much less give you step-by-step instructions for assembling such an OS. Don't misunderstand.
All these settings made our OS not at all universal, but significantly superior in sound level to other similar OSs. In order to somehow bring it closer to other operating systems in terms of versatility and ease of use, we divided it into two operating modes. The first is uncompromising - intended only for listening to music, the second is universal - intended for copying files from external storage media and with the ability to access the Internet. But even in universal mode, our OS is inferior in ease of use to desktop versions of other traditional OSs.
Our OS does not have a familiar installer, like other OSes. It comes already installed and configured when you purchase a ready-made A/V player from us. This is also dictated by the fact that our OS can be fully developed only when using a special computer. To power computer components, we use linear stabilized power supplies. To clock sound-critical computer components, we use a special master oscillator. Our computer has special filters for power supply. Both for network power supply and for power supply of storage devices ( SATA3F SSD and SATA3F HDD ). The OS is installed on a low-noise CF memory card, and not on a HDD drive. To connect drives, we use SATA cables manufactured by us.
If you still try to install our OS on an ordinary home PC, originally built for computer games, then nothing good will come of it. It will be similar to driving a sports car on rough rural roads...