1.声卡驱动
1.链接
2.链接
尝试在两个平台:CentOS-8-x86_64-1905-dvd1.iso(kernel-4.18.0-80.el8)与Fedora-Everything-netinst-x86_64-29-1.2.iso(linux-5.3.11)开启声卡播放声音。
fedora由于工具比较全,所以可以做先期尝试。而centos由于稳定性高,适合企业级应用,所以最终还是要在它上面跑起来。
我先点明,其实centos8上支持很多的声卡,所以首先要看是否自己声卡已经被支持了,支持的话就没必要再去安装alsa驱动,下面的内容是我所做过的尝试,最后才发现其实什么都不需要做。
2.步骤
先说明一下,这个步骤是按照按照rme声卡驱动的链接来做的,但是实际上,用处不大。所以这章基本上算是浪费掉了。
alsa官网地址:链接
alsa-driver地址:链接
更详细的alsa源码:链接
1.下载alsa-driver代码
$ git clone git://git.alsa-project.org/alsa-driver.git
下载完成后,需要经过处理:
cd alsa-driver
git checkout build
git pull origin build
git checkout mirror
git pull origin mirror
git checkout release
git pull origin release
make ALSAKERNELDIR=../alsa-kernel all-deps
(if the alsa-kernel-dir is really there)
aclocal
autoconf
./configure
make dep
make
编译该源码需要kernel代码的参与,所以没有的话,可以参照下面的步骤进行安装。
安装工具:
$ yum install elfutils-libelf-devel
2.解压
$ xz -d /lib/modules/4.18.0-80.el8.x86_64/kernel/sound/soundcore.ko.xz
$ yum install kernel*
$ yum install patch
$ yum install ncurses-devel (安装alsa-utils需要)
下载的内容会在/usr/src/kernels/4.18.0-80.11.2.el8_0.x86_64呈现出来。
下载过alsa-driver-1.0.25.tar发现编译错误挺多。
还需要安装:alsa-utils,alsa-libs.
如果报错缺少version.h,则:
拷贝include/uapi/linux/dvb/version.h 到include/linux/version.h
$ ./configure --with-cards=hdspm --with-sequencer=yes --with-kernel=/usr/src/kernels/4.18.0-80.11.2.el8_0.x86_64
播放器安装地址:
3.系统
centos7:链接 注意下载everything版本,这样包含图形界面等所有软件。
centos6:链接
centos6内核源码:链接 ,这样不一定对应的是centos6的版本,可以使用yum install kernel-devel安装内核代码。
centos所有版本:链接
3.1 问题
发现在centos6,centos7,centos8上均无法安装alsa-driver,还有一个alsa-driver是使用git维护的,使用aclocal,autoconf等编译方式,这个也没有安装成功。
alsa-driver在centos上安装错误有.h文件找不到,函数找不到等等错误。
在centos8上编译alsa-driver-1.0.25主要是centos版本过高,而alsa-driver-1.0.25版本低,故要处理KERNEL_VERSION等宏定义问题。
centos6,centos7上则要处理io_remap等函数问题。
3.2 centos成功安装alsa-driver方法
centos版本:CentOS-7.0-1406-x86_64-Everything.iso
$ git clone git://git.alsa-project.org/alsa-driver.git
$ 压缩 tar -zcvf alsa-driver.tar alsa-driver
$ 解压 tar -zxvf alsa-driver.tar
$ git checkout build