Giter VIP home page Giter VIP logo

ravenna-alsa-lkm's People

Contributors

aeolio avatar aes67alsa avatar fbaume avatar garland-g avatar nedjitef avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

ravenna-alsa-lkm's Issues

FAIL Kubuntu 21.10

/Down/ravenna-alsa-lkm-aes67-daemon/driver$ make
make -C /lib/modules/5.13.0-48-generic/build/ M=/home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver modules
make[1]: Entering directory '/usr/src/linux-headers-5.13.0-48-generic'
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/c_wrapper_lib.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/audio_driver.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/manager.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/module_main.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/PTP.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/module_interface.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/module_netlink.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/module_timer.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/EtherTubeNetfilter.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/RTP_streams_manager.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/RTP_audio_stream.o
/home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/RTP_audio_stream.c: In function ‘PrepareBufferLives’:
/home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/RTP_audio_stream.c:1044:41: warning: unused variable ‘delta’ [-Wunused-variable]
1044 | int64_t delta = self->m_tRTPStream.m_ui64LastAudioSampleReceivedSAC - pManager->get_global_SAC(pManager->user);
| ^~~~~
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/RTP_stream.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/RTP_stream_info.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MTAL_EthUtils.o
/home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MTAL_EthUtils.c: In function ‘MTAL_DumpID’:
/home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MTAL_EthUtils.c:107:25: warning: unused variable ‘by’ [-Wunused-variable]
107 | uint8_t by = (ullID >> (ui32 * 8)) & 0xFF;
| ^~
/home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MTAL_EthUtils.c: In function ‘MTAL_DumpAppleMIDI’:
/home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MTAL_EthUtils.c:556:50: warning: unused variable ‘pSynch’ [-Wunused-variable]
556 | TAppleMIDI_Synch_Packet* pSynch = (TAppleMIDI_Synch_Packet*)pAppleMIDI_PacketBase;
| ^~~~~~
/home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MTAL_EthUtils.c:580:56: warning: unused variable ‘pAppleMIDI_IN_NO_OK_BY_Packet’ [-Wunused-variable]
580 | TAppleMIDI_IN_NO_OK_BY_Packet* pAppleMIDI_IN_NO_OK_BY_Packet = (TAppleMIDI_IN_NO_OK_BY_Packet*)pAppleMIDI_PacketBase;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MTAL_LKernelAPI.o
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MTConvert.o
LD [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MergingRavennaALSA.o
MODPOST /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/Module.symvers
CC [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MergingRavennaALSA.mod.o
LD [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MergingRavennaALSA.ko
BTF [M] /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MergingRavennaALSA.ko
Skipping BTF generation for /home/k/Down/ravenna-alsa-lkm-aes67-daemon/driver/MergingRavennaALSA.ko due to unavailability of vmlinux
make[1]: Leaving directory '/usr/src/linux-headers-5.13.0-48-generic'

https://forum.merging.com/viewtopic.php?f=73&t=14644&p=41459#p41459

Cannot compile on kernel 6.2 and 6.3

Cannot compile it in kernel 6.2. Tried with gcc 12.2.1-5 and also with clang 15.0.7-4
This is the output:

DKMS make.log for ravenna-alsa-lkm-r135.140abf6 for kernel 6.2.2-1-cachyos-rt (x86_64) Wed Mar 22 03:41:54 PM +07 2023 make -C /lib/modules/6.2.2-1-cachyos-rt/build/ M=/var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build modules CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/c_wrapper_lib.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/audio_driver.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/manager.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/module_main.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/PTP.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/module_interface.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/module_netlink.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/module_timer.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/EtherTubeNetfilter.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/RTP_streams_manager.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/RTP_audio_stream.o /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/RTP_audio_stream.c:1044:13: warning: unused variable 'delta' [-Wunused-variable] int64_t delta = self->m_tRTPStream.m_ui64LastAudioSampleReceivedSAC - pManager->get_global_SAC(pManager->user); ^ CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/RTP_stream.o 1 warning generated. CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/RTP_stream_info.o CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/MTAL_EthUtils.o /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/audio_driver.c:1340:8: warning: variable 'ptp_frame_size' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if(chip->ravenna_peer) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/audio_driver.c:1344:22: note: uninitialized use occurs here if(periodSize != ptp_frame_size) ^~~~~~~~~~~~~~ /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/audio_driver.c:1340:5: note: remove the 'if' if its condition is always true if(chip->ravenna_peer) ^~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/audio_driver.c:1304:28: note: initialize the variable 'ptp_frame_size' to silence this warning uint32_t ptp_frame_size; ^ = 0 /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/MTAL_EthUtils.c:107:11: warning: unused variable 'by' [-Wunused-variable] uint8_t by = (ullID >> (ui32 * 8)) & 0xFF; ^ /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/MTAL_EthUtils.c:556:29: warning: unused variable 'pSynch' [-Wunused-variable] TAppleMIDI_Synch_Packet* pSynch = (TAppleMIDI_Synch_Packet*)pAppleMIDI_PacketBase; ^ /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/MTAL_EthUtils.c:580:35: warning: unused variable 'pAppleMIDI_IN_NO_OK_BY_Packet' [-Wunused-variable] TAppleMIDI_IN_NO_OK_BY_Packet* pAppleMIDI_IN_NO_OK_BY_Packet = (TAppleMIDI_IN_NO_OK_BY_Packet*)pAppleMIDI_PacketBase; ^ CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/MTAL_LKernelAPI.o 3 warnings generated. CC [M] /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/MTConvert.o 1 warning generated. /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/MTConvert.c:176:19: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] void MTConvertInit() //Init_Converter() ^ void 1 error generated. make[2]: *** [scripts/Makefile.build:252: /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build/MTConvert.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [Makefile:2019: /var/lib/dkms/ravenna-alsa-lkm/r135.140abf6/build] Error 2 make: *** [Makefile:15: modules] Error 2

Compilation error

[audiolinux@archlinux driver]$ make
make -C /lib/modules/5.12.1-arch1-1/build/ M=/media/linux/Downloads/Temp/ravenna-alsa-lkm-1.1/driver modules
make[1]: Entering directory '/usr/lib/modules/5.12.1-arch1-1/build'
CC [M] /media/linux/Downloads/Temp/ravenna-alsa-lkm-1.1/driver/c_wrapper_lib.o
CC [M] /media/linux/Downloads/Temp/ravenna-alsa-lkm-1.1/driver/audio_driver.o
CC [M] /media/linux/Downloads/Temp/ravenna-alsa-lkm-1.1/driver/manager.o
CC [M] /media/linux/Downloads/Temp/ravenna-alsa-lkm-1.1/driver/module_main.o
CC [M] /media/linux/Downloads/Temp/ravenna-alsa-lkm-1.1/driver/PTP.o
CC [M] /media/linux/Downloads/Temp/ravenna-alsa-lkm-1.1/driver/module_interface.o
/media/linux/Downloads/Temp/ravenna-alsa-lkm-1.1/driver/module_interface.c:63:25: error: expected declaration specifiers or ‘...’ before string constant
63 | MODULE_SUPPORTED_DEVICE("{{ALSA,Merging RAVENNA}}");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:271: /media/linux/Downloads/Temp/ravenna-alsa-lkm-1.1/driver/module_interface.o] Error 1
make[1]: *** [Makefile:1851: /media/linux/Downloads/Temp/ravenna-alsa-lkm-1.1/driver] Error 2
make[1]: Leaving directory '/usr/lib/modules/5.12.1-arch1-1/build'
make: *** [Makefile:14: modules] Error 2

add support for additional sample rates

The following sample rates are currently not working: 192, 384khz
Any attempt to use these results in a kernel hang.
Also, the attempt to use speaker-test application with 96Khz results in kernel hang.

fail to build driver

Greetings - in attempting to build the driver on Ubuntu 23.10 I get this error:
| ^~~~
CC [M] /home/steveb/ravenna-alsa-lkm/driver/module_interface.o
CC [M] /home/steveb/ravenna-alsa-lkm/driver/module_netlink.o
CC [M] /home/steveb/ravenna-alsa-lkm/driver/module_timer.o
CC [M] /home/steveb/ravenna-alsa-lkm/driver/EtherTubeNetfilter.o
CC [M] /home/steveb/ravenna-alsa-lkm/driver/RTP_streams_manager.o
CC [M] /home/steveb/ravenna-alsa-lkm/driver/RTP_audio_stream.o
CC [M] /home/steveb/ravenna-alsa-lkm/driver/RTP_stream.o
CC [M] /home/steveb/ravenna-alsa-lkm/driver/RTP_stream_info.o
CC [M] /home/steveb/ravenna-alsa-lkm/driver/MTAL_EthUtils.o
CC [M] /home/steveb/ravenna-alsa-lkm/driver/MTAL_LKernelAPI.o
/home/steveb/ravenna-alsa-lkm/driver/MTAL_LKernelAPI.c:94:10: fatal error: stdarg.h: No such file or directory
94 | #include <stdarg.h>
| ^~~~~~~~~~
compilation terminated.
make[3]: *** [scripts/Makefile.build:251: /home/steveb/ravenna-alsa-lkm/driver/MTAL_LKernelAPI.o] Error 1
make[2]: *** [/usr/src/linux-headers-6.5.0-14-generic/Makefile:2037: /home/steveb/ravenna-alsa-lkm/driver] Error 2
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.5.0-14-generic'
make: *** [Makefile:14: modules] Error 2
steveb@TSM-i7-UB:~/ravenna-alsa-lkm/driver$

I cannot compile on aarch64 - raspberry kernel 6.1.x

make -C /media/gpkernel/rpi/kernel/rpi3/kernel-GentooPlayer-ST/lib/modules/6.1.28-GentooPlayer-ST+/build/ M=/media/gpkernel/rpi/ravenna-alsa-lkm/driver modules CC [M] /media/gpkernel/rpi/ravenna-alsa-lkm/driver/c_wrapper_lib.o /media/gpkernel/rpi/ravenna-alsa-lkm/driver/c_wrapper_lib.c: In function ‘CW_netfilter_register_hook’: /media/gpkernel/rpi/ravenna-alsa-lkm/driver/c_wrapper_lib.c:64:11: error: implicit declaration of function ‘nf_register_net_hook’ [-Werror=implicit-function-declaration] 64 | ret = nf_register_net_hook(&init_net, nfho); //register hook | ^~~~~~~~~~~~~~~~~~~~ /media/gpkernel/rpi/ravenna-alsa-lkm/driver/c_wrapper_lib.c: In function ‘CW_netfilter_unregister_hook’: /media/gpkernel/rpi/ravenna-alsa-lkm/driver/c_wrapper_lib.c:77:5: error: implicit declaration of function ‘nf_unregister_net_hook’; did you mean ‘unregister_netdev’? [-Werror=implicit-function-declaration] 77 | nf_unregister_net_hook(&init_net, nfho); //cleanup unregister hook | ^~~~~~~~~~~~~~~~~~~~~~ | unregister_netdev cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:250: /media/gpkernel/rpi/ravenna-alsa-lkm/driver/c_wrapper_lib.o] Error 1 make[1]: *** [Makefile:2012: /media/gpkernel/rpi/ravenna-alsa-lkm/driver] Error 2 make: *** [Makefile:15: modules] Error 2

PTP_WATCHDOG_ELAPSE off by 1000

According to the PTP_WATCHDOG_ELAPSE comment we assume to receive at least one sync each 2s its supposed to be 2s.

#define PTP_WATCHDOG_ELAPSE		20000000	// we assume to receive at least
#define NS_2_REF_UNIT 100000 // ns is the linux time unit

void get_clock_time(uint64_t* clock_time)
{
    ktime_t kt_now;
    kt_now = ktime_get();
    *clock_time = (uint64_t)ktime_to_ns(kt_now);
}

...
    uint64_t ui64CurrentRTXClockTime;
    get_clock_time(&ui64CurrentRTXClockTime);
    ui64CurrentRTXClockTime /= NS_2_REF_UNIT; // [100us]

...
        uint64_t ui64WatchDogElapse = ui64CurrentRTXClockTime - self->m_ui64LastWatchDogTime;
        if(ui64WatchDogElapse >= PTP_WATCHDOG_ELAPSE)

As I read that and have tested it for is that PTP_WATCHDOG_ELAPSE is in 100us as unit. That means that PTP_WATCHDOG_ELAPSE is 20000000 * 100us = 2000s.

I'd suggest cutting it by 1000, because then the rest of the code behaves as expected when a ptp clock is lost.

Kernel 5.10.16 issues

I have seen the hint with Kernel >5.2 compilation failure but what should i do if i use this kernel? Cant the __put_user_x calls just be replaced with __put_user / put_user or something like that? Is there a workaround? Even the original repository wont compile and gives me a implicit declaration of function ‘__put_user_x’; did you mean ‘put_user’? compiler error but its nothing stated that it wont work with newer Kernel versions.

Cannot compile driver on kernel 5.11

Cannot compile driver on kernel 5.11:

[audiolinux@archlinux driver]$ make make -C /lib/modules/5.11.11-arch1-1/build/ M=/media/linux/Downloads/Temp/ravenna-alsa-lkm/driver modules make[1]: Entering directory '/usr/lib/modules/5.11.11-arch1-1/build' CC [M] /media/linux/Downloads/Temp/ravenna-alsa-lkm/driver/c_wrapper_lib.o CC [M] /media/linux/Downloads/Temp/ravenna-alsa-lkm/driver/audio_driver.o /media/linux/Downloads/Temp/ravenna-alsa-lkm/driver/audio_driver.c: In function ‘mr_alsa_audio_pcm_capture_copy_internal’: /media/linux/Downloads/Temp/ravenna-alsa-lkm/driver/audio_driver.c:1210:9: error: implicit declaration of function ‘__put_user_x’; did you mean ‘__put_user_8’? [-Werror=implicit-function-declaration] 1210 | __put_user_x(1, val, (unsigned long __user *)src, ret_pu); | ^~~~~~~~~~~~ | __put_user_8 cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:279: /media/linux/Downloads/Temp/ravenna-alsa-lkm/driver/audio_driver.o] Error 1 make[1]: *** [Makefile:1809: /media/linux/Downloads/Temp/ravenna-alsa-lkm/driver] Error 2 make[1]: Leaving directory '/usr/lib/modules/5.11.11-arch1-1/build' make: *** [Makefile:14: modules] Error 2

Unknown symbol errors preventing loading kernel module

I have compiled the Merging driver, and added it to the appropriate modules directory, but when trying to insert it, I get the following errors in dmesg.
I'm using Alpine Linux, kernel 5.10.27-lts.

It seems likely that the issue is a lack of some kind of kernel ALSA support. But I can't find any useful info towards fixing this; as far as I can tell Alpine should work just fine with sound.

[  347.614066] MergingRavennaALSA: Unknown symbol snd_ctl_add (err -2)
[  347.614076] MergingRavennaALSA: Unknown symbol snd_pcm_lib_free_vmalloc_buffer (err -2)
[  347.614084] MergingRavennaALSA: Unknown symbol snd_pcm_new (err -2)
[  347.614091] MergingRavennaALSA: Unknown symbol snd_pcm_add_chmap_ctls (err -2)
[  347.614097] MergingRavennaALSA: Unknown symbol snd_card_register (err -2)
[  347.614102] MergingRavennaALSA: Unknown symbol snd_card_free (err -2)
[  347.614184] MergingRavennaALSA: Unknown symbol snd_interval_refine (err -2)
[  347.614218] MergingRavennaALSA: Unknown symbol snd_pcm_format_physical_width (err -2)
[  347.614241] MergingRavennaALSA: Unknown symbol snd_ctl_new1 (err -2)
[  347.614255] MergingRavennaALSA: Unknown symbol _snd_pcm_lib_alloc_vmalloc_buffer (err -2)
[  347.614266] MergingRavennaALSA: Unknown symbol snd_pcm_hw_rule_add (err -2)
[  347.614274] MergingRavennaALSA: Unknown symbol snd_card_new (err -2)
[  347.614284] MergingRavennaALSA: Unknown symbol snd_interval_list (err -2)
[  347.614292] MergingRavennaALSA: Unknown symbol snd_pcm_lib_ioctl (err -2)
[  347.614303] MergingRavennaALSA: Unknown symbol snd_pcm_lib_get_vmalloc_page (err -2)
[  347.614311] MergingRavennaALSA: Unknown symbol snd_ctl_notify (err -2)
[  347.614319] MergingRavennaALSA: Unknown symbol snd_pcm_set_ops (err -2)
[  347.614326] MergingRavennaALSA: Unknown symbol snd_pcm_hw_constraint_list (err -2)
[  347.614404] MergingRavennaALSA: Unknown symbol snd_pcm_period_elapsed (err -2)
[  347.614476] MergingRavennaALSA: Unknown symbol snd_pcm_hw_constraint_step (err -2)
[  347.614491] MergingRavennaALSA: Unknown symbol snd_pcm_format_width (err -2)
[  660.693682] MergingRavennaALSA: Unknown symbol snd_ctl_add (err -2)
[  660.693690] MergingRavennaALSA: Unknown symbol snd_pcm_lib_free_vmalloc_buffer (err -2)
[  660.693696] MergingRavennaALSA: Unknown symbol snd_pcm_new (err -2)
[  660.693702] MergingRavennaALSA: Unknown symbol snd_pcm_add_chmap_ctls (err -2)
[  660.693706] MergingRavennaALSA: Unknown symbol snd_card_register (err -2)
[  660.693711] MergingRavennaALSA: Unknown symbol snd_card_free (err -2)
[  660.693721] MergingRavennaALSA: Unknown symbol snd_interval_refine (err -2)
[  660.693727] MergingRavennaALSA: Unknown symbol snd_pcm_format_physical_width (err -2)
[  660.693744] MergingRavennaALSA: Unknown symbol snd_ctl_new1 (err -2)
[  660.693757] MergingRavennaALSA: Unknown symbol _snd_pcm_lib_alloc_vmalloc_buffer (err -2)
[  660.693764] MergingRavennaALSA: Unknown symbol snd_pcm_hw_rule_add (err -2)
[  660.693770] MergingRavennaALSA: Unknown symbol snd_card_new (err -2)
[  660.693779] MergingRavennaALSA: Unknown symbol snd_interval_list (err -2)
[  660.693785] MergingRavennaALSA: Unknown symbol snd_pcm_lib_ioctl (err -2)
[  660.693793] MergingRavennaALSA: Unknown symbol snd_pcm_lib_get_vmalloc_page (err -2)
[  660.693799] MergingRavennaALSA: Unknown symbol snd_ctl_notify (err -2)
[  660.693878] MergingRavennaALSA: Unknown symbol snd_pcm_set_ops (err -2)
[  660.693958] MergingRavennaALSA: Unknown symbol snd_pcm_hw_constraint_list (err -2)
[  660.693989] MergingRavennaALSA: Unknown symbol snd_pcm_period_elapsed (err -2)
[  660.693995] MergingRavennaALSA: Unknown symbol snd_pcm_hw_constraint_step (err -2)
[  660.694005] MergingRavennaALSA: Unknown symbol snd_pcm_format_width (err -2)

This is the output of apk list --installed | grep alsa:

alsa-utils-openrc-1.2.4-r0 x86_64 {alsa-utils} (GPL-2.0-or-later) [installed]
alsa-lib-dev-1.2.4-r2 x86_64 {alsa-lib} (LGPL-2.1-or-later) [installed]
alsa-lib-1.2.4-r2 x86_64 {alsa-lib} (LGPL-2.1-or-later) [installed]
alsa-utils-1.2.4-r0 x86_64 {alsa-utils} (GPL-2.0-or-later) [installed]
alsa-tools-1.2.2-r0 x86_64 {alsa-tools} (GPL-2.0-or-later) [installed]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.