You are not logged in.
Detailed step-by-step instructions may help to learn and prevent frustration. They may help to build confidence and a sense of accomplishment during the learning process. Later, one might be able to compile without instructions.
For example, if you know how to compile wxMaxima with CMake, you may easily compile keypassXC without instructions.
$ dh_auto_build --list
autoconf GNU Autoconf (configure)
perl_build Perl Module::Build (Build.PL)
perl_makemaker Perl ExtUtils::MakeMaker (Makefile.PL)
makefile simple Makefile
python_distutils Python Distutils (setup.py) [DEPRECATED]
cmake+makefile CMake (CMakeLists.txt) combined with simple Makefile
cmake+ninja CMake (CMakeLists.txt) combined with Ninja (build.ninja)
ant Ant (build.xml)
qmake qmake (*.pro)
qmake_qt4 qmake for QT 4 (*.pro)
meson+ninja Meson (meson.build) combined with Ninja (build.ninja)
ninja Ninja (build.ninja)
kde+makefile CMake with KDE 4 flags combined with simple Makefile [3rd party]
kde+ninja CMake with KDE 4 flags combined with Ninja (build.ninja) [3rd party]
kf5+makefile CMake with KDE Frameworks 5 flags combined with simple Makefile [3rd party]
kf5+ninja CMake with KDE Frameworks 5 flags combined with Ninja (build.ninja) [3rd party]
lua Lua [3rd party]
pybuild Python pybuild [3rd party]
Auto-selected: makefile
--list is a secret esoteric option
$ man debhelper | grep 'BUILD SYSTEM OPTIONS\|--list' -A4
BUILD SYSTEM OPTIONS
The following command line options are supported by all of the dh_auto_* debhelper programs. These programs
support a variety of build systems, and normally heuristically determine which to use, and how to use them.
You can use these command line options to override the default behavior. Typically these are passed to dh(1),
which then passes them to all the dh_auto_* programs.
--
--list, -l
List all build systems supported by debhelper on this system. The list includes both default and third
party build systems (marked as such). Also shows which build system would be automatically selected, or
which one is manually specified with the --buildsystem option.
Debian packaging is a secret esoteric science. There are, for example, virtual pseudo meta packages, which do not exist. If you ignore them, debhelper may fail to build the package you need
_https://dev1galaxy.org/viewtopic.php?id=6644If you are not initiated into the secret knowledge, you might be confused.
EXAMPLE: debhelper-compat
$ apt-rdepends --build-depends --follow=DEPENDS wxmaxima Reading package lists... Done Building dependency tree... Done Reading state information... Done wxmaxima Build-Depends: appstream-util Build-Depends: cmake ( 3.4) Build-Depends: debhelper-compat (= 13) Build-Depends: desktop-file-utils Build-Depends: libwxgtk-webview3.2-dev Build-Depends: libwxgtk3.2-dev Build-Depends: netcat-openbsd Build-Depends: xauth Build-Depends: xvfb
$ apt info debhelper-compat Package: debhelper-compat State: not a real package (virtual) N: Can't select candidate version from package debhelper-compat as it has no candidate N: Can't select versions from package 'debhelper-compat' as it is purely virtual N: No packages found $ apt show debhelper-compat Package: debhelper-compat State: not a real package (virtual) N: Can't select candidate version from package debhelper-compat as it has no candidate N: Can't select versions from package 'debhelper-compat' as it is purely virtual N: No packages found
The package debhelper-compat cannot be installed, for "it is purely virtual". But it might be needed in a certain esoteric sense (think of hidden framework of knowledge).
ALSA users may try to believe that it is not a sort of deliberate obfuscation. It may require a significant mental effort needed for a cognitive process of self-persuasion, where one chooses to interpret an action or statement as accidental or a result of incompetence, rather than malicious intent to obscure "secret knowledge".
One example is missing.
Password management is a must-have
We revealed attacks against end-to-end encrypted applications, demonstrating the recovery of encrypted confidential data from backups of two messaging apps, whatsapp and Signal, and 10 password managers LastPass, dashlane, zoho, vault, 1password, npass, roboform Keeper, nordpass, protonpass and KeyPassXC. We named these attacks Injection Attacks and the papers were published on Usenix, sec24 and Security and Privacy 24.
_https://twit.tv/posts/transcripts/security-now-992-transcript
_https://twit.tv/shows/security-now/episodes/992
successful compilation may as well depend on the planets aligning with your zodiac sign.
Astrology may not help. What is needed is a detailed step-by-step instruction.
If you compile several packages, you may abruptly understand something.
Terms and Concepts
Epiphany: A feeling or moment of sudden and profound understanding.
Insight Learning: A type of learning characterized by a sudden realization of a solution.
Sudden Realization: A more direct description of the phenomenon, involving a rapid comprehension.
Have you ever compiled anything?
KeePassXC needs network access for downloading website icons...
Just no network access code.
Is it so difficult to recompile it?
git clone https://github.com/keepassxreboot/keepassxc.git
$ cat keepassxc/CMakeLists.txt | grep NETWORKING
option(WITH_XC_NETWORKING "Include networking code (e.g. for downloading website icons)." OFF)
set(WITH_XC_NETWORKING ON)
# Prefer WITH_XC_NETWORKING setting over WITH_XC_UPDATECHECK
if(NOT WITH_XC_NETWORKING AND WITH_XC_UPDATECHECK)
message(STATUS "Disabling WITH_XC_UPDATECHECK because WITH_XC_NETWORKING is disabled")
option(WITH_XC_NETWORKING "Include networking code (e.g. for downloading website icons)." OFF)
AUR : keepassxc-git.git
_https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=keepassxc-git
It can be disabled in CMake config, and re-enabled in debian/rules.
It might be a sort of spyware.
If it is about security, you have to compile it yourself.
...when dealing with security-sensitive software or systems, you should take responsibility for building, configuring, and maintaining it yourself to ensure it's configured to your specific needs and not vulnerable due to third-party misconfigurations.
I'll tell ya about some real magic sauce, got a buddy sent me a batch of his homemade naga viper sauce. It will make you see things.
The word "freedom" seems to be associated with drugs. It might be normal for "artists".
into politics
It is about what freedom really is.
Slaves are not supposed to trust their senses. They have to eat their meal and enjoy it.
The real question is whether resampling will make any detectable difference.
The real question is whether your trust your ears.
If you do not trust your ears, you can easily fool yourself with "objective tests", and enjoy any "digital crap".
If you do not trust your ears, how can you trust your eyes, your brain, your thoughts, and your opinions, and your "objective tests"?
If you do not trust your ears, how can you trust your eyes, your brain, your thoughts, and your opinions?
Of course they aren't.
Do you trust your eyes?
Do you trust your brain?
Do think that your brain can be deceptive?
@steve_v
Do you think your ears are not a reliable instrument?
I trust objective measurement
If you do not know how to fool yourself with "objective measurement", try to read Richard Feynman
Feynman, Richard P. (June 1974). "Cargo Cult Science" (PDF). California Institute of Technology. Archived (PDF) from the original on 2022-10-09. Retrieved 2015-10-25.
_http://calteches.library.caltech.edu/51/2/CargoCult.pdf
If you do not trust your ears, you might be perfectly happy with pipewire.
people having strange issues with the system bell before
Arch Linux users had such problem many years ago, when systemd was enforced.
The "beeping driver" was in the boot image.
It was not enough to blacklist it, one had to rebuild the boot image (Initramfs).
@steve_v
It seems that you trust your scope and terminal output rather than your ears.
It is not so difficult to install fftrate, configure is properly, and check whether you hear the difference.
If you don't hear the difference, you might be perfectly happy with pipewire.
It does simulate HiRes playback.
The deception works, if you cannot hear the difference between HiRes and 48kHz.
Resampling is forced if you use dmix
You are mistaken. Resampling cannot be disabled in ALSA.
With or without dmix, ALSA is always resampling everything to 48kHz.
To fool semi-deaf users, it does simulate HiRes playback with Intel HDA codec (and other HiRes DACs), but it sounds crappy.
The deception is justified by the theory that human beings cannot hear the difference between HiRes and CD format.
The only way to prevent ALSA resampling, is to install the fftrate codec and configure it correctly.
It is not enforced in the sense that it can be removed by experienced Linux users.
Resampling is not a problem, the problem is that it is enforced upon ALSA users.
PipeWire can be removed, but resampling cannot be disabled in ALSA (you can only change the default resampler of ALSA).
It seems that ALSA users are treated like miserable slaves.
The only way to prevent resampling with ALSA is to install the fftrate ALSA plugin and configure it correctly
(but you may need to reconfigure the fftrate plugin for audio files of another format)
$ aplay audio_test_48kHz_16bit.wav
Playing WAVE 'audio_test_48kHz_16bit.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
Input: 48000 Hz, 2 ch, 's16_le' (0x2): dummy = 0, period = 1920
Output: 48000 Hz, 2 ch, 's16_le' (0x2): dummy = 0, period = 1920
Rates: 48000 --> 48000 (J: 0.00%, T: None, W: Planar)
T: None means "without resampling"
$ aplay -v audio_test_48kHz_16bit.wav
Playing WAVE 'audio_test_48kHz_16bit.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
Input: 48000 Hz, 2 ch, 's16_le' (0x2): dummy = 0, period = 1920
Output: 48000 Hz, 2 ch, 's16_le' (0x2): dummy = 0, period = 1920
Rates: 48000 --> 48000 (J: 0.00%, T: None, W: Planar)
Ok.
Plug PCM: Rate conversion PCM (48000, sformat=S16_LE)
Converter: fftrate
Protocol version: 10003
Its setup is:
stream : PLAYBACK
access : RW_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 48000
exact rate : 48000 (48000/1)
msbits : 16
buffer_size : 7680
period_size : 1920
period_time : 40000
tstamp_mode : NONE
tstamp_type : MONOTONIC
period_step : 1
avail_min : 1920
period_event : 0
start_threshold : 7680
stop_threshold : 7680
silence_threshold: 0
silence_size : 0
boundary : 8646911284551352320
Slave: Direct Stream Mixing PCM
Its setup is:
stream : PLAYBACK
access : MMAP_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 48000
exact rate : 48000 (48000/1)
msbits : 16
buffer_size : 7680
period_size : 1920
period_time : 40000
tstamp_mode : NONE
tstamp_type : MONOTONIC
period_step : 1
avail_min : 1920
period_event : 0
start_threshold : 7680
stop_threshold : 7680
silence_threshold: 0
silence_size : 0
boundary : 8646911284551352320
Hardware PCM card 0 'iMic USB audio system' device 0 subdevice 0
Its setup is:
stream : PLAYBACK
access : MMAP_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 48000
exact rate : 48000 (48000/1)
msbits : 16
buffer_size : 7680
period_size : 1920
period_time : 40000
tstamp_mode : ENABLE
tstamp_type : MONOTONIC
period_step : 1
avail_min : 1920
period_event : 0
start_threshold : 1
stop_threshold : 8646911284551352320
silence_threshold: 0
silence_size : 8646911284551352320
boundary : 8646911284551352320
appl_ptr : 0
hw_ptr : 0
Since the fftrate real-time codec is likely to provide much better quality of resampling than your DAC built-in hardware resampler, it is recommended to set the fftrate resampler to maximum sample rate supported by your DAC (digital-to-analog converter).
If pipewire is so good, why is it enforced upon Linux users?
@zapper
Can your DAC play DXD waves?
Free DXD samples are available here:
_https://positive-feedback.com/reviews/music-reviews/what-we-hear-with-dxd-32-bit-files/
Digital eXtreme Definition (DXD) is a digital audio format
_https://en.wikipedia.org/wiki/Digital_eXtreme_Definition
It is a wave file. For example:
24bit_352.8kHz.wav
32bitFloat_352.8kHz.wav
32bit_384kHz.wav
and the like.
"Unwanted resampling" means that your audio file is resampled by crappy resamplers, and your DAC is playing digital crap.
If your DAC is playing 32bitFloat_352.8kHz.wav, it is playing digital crap (this is how you detect unwanted resampling).
I does not make any sense to buy a DAC, if you are going to play digital crap.
If you do not want to hear digital crap, you have to remove pulseaudio and pipewire, install the fftrate ALSA plugin and configure it correctly.
The manual is here: _https://dev1galaxy.org/viewtopic.php?id=6644
EDIT:
It is not always easy to provide a polite answer to a question like this: "Why should I care that 2+2=4, if I want to believe that 2+2=5?"
One may better learn how to configure the sound system, and then think whether he need a DAC.
...good audio wisdom, suggesting a practical approach to improving your sound system by first optimizing what you already have and understanding your current setup before deciding if a DAC is a necessary upgrade for your needs. Configuring your system well and listening to it for a significant period can reveal if a dedicated external DAC would genuinely improve your audio experience or if your existing system's built-in DAC is sufficient.
Digital input word widths supported
16-24bit
Digital input sampling frequencies supported
32kHz, 44.1kHz, 48kHz, 88.2kHz, 96kHz, 176.4kHz**, 192kHz
It does not support 32bit Float 352.8 kHz audio format. It can be used to detect unwanted resampling.
Free DXD samples:
_https://positive-feedback.com/reviews/music-reviews/what-we-hear-with-dxd-32-bit-files/
This one is 32bit Float 352.8 kHz:
32-bit: Track 8, "Funeral March Of A Marionette"
https://spaces.hightail.com/receive/9oP4dCgNhs
$ ls *.wav
'08-Faust - Funeral March Of A Marionette - 32bit.wav'
$ mediainfo '08-Faust - Funeral March Of A Marionette - 32bit.wav' | grep Audio -A11
Audio
Format : PCM
Format profile : Float
Codec ID : 3
Codec ID/Hint : IEEE
Duration : 4 min 35 s
Bit rate mode : Constant
Bit rate : 22.6 Mb/s
Channel(s) : 2 channels
Sampling rate : 352.8 kHz
Bit depth : 32 bits
Stream size : 743 MiB (100%)
Post your DAC spec.
By default, macOS resamples everything to 48kHz.
You can check MAC's audio settings with the "Audio Midi Setup" app (which is located in the "Utilities" subfolder of "Applications" folder).
It is advisable to remove pulseaudio and pipewire.
They can be detected with these commands:
fuser -av $(find /dev/snd -type c 2>/dev/null)
inxi -A
You may need to install inxi
sudo apt install inxi
If you are using "a DAC over SPIDF", you may not want, perhaps, your audio file to be resampled by crappy resamplers. The crappy resampling can be performed by pulseaudio, pipewire, ALSA, or by the player in use.
The easiest way to detect unwanted resampling is to play audio formats which are not supported by your DAC.
If they are played, a sort of resampling/conversion is involved.
If, for example, your DAC does not support DXD format, you can convert an audio file (.wav) to DXD format with Petrov's pcm_conv
pcm_conv -f 352800 -b 32f -T fft -v your_file.wav test_DXD.wav
You may also try:
pcm_conv -f 48000 -b 64f -T fft -v your_file.wav test_64bit_Float_48kHz.wav
pcm_conv -f 20000 -b 8 -T fft -v your_file.wav test_8bit_20kHz.wav
You can also create test audio files with Audacity:
sudo apt install audacity
Free DXD samples are available here:
What We Hear With DXD 32-bit Files (Free Sample Downloads)
_https://positive-feedback.com/reviews/music-reviews/what-we-hear-with-dxd-32-bit-files/
Start Audacious with this command
audacious 2>&1
and try to play your test_DXD.wav with Audacious.
You can also debug Audacious with this command:
audacious -VV
You may need to install Audacious
sudo apt install audacious audacious-plugins
and configure it:
Audacious > File > Settings > Audio
Why don't you ask that person who installed Devuan on your computer? He might be able to compile arateconf and configure ALSA.