首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改声卡使用的驱动程序?

如何更改声卡使用的驱动程序?
EN

Ask Ubuntu用户
提问于 2018-02-16 03:10:08
回答 1查看 1.2K关注 0票数 2

我使用的是4.4.0-113内核的Ubuntu16.04.3。

我有两个不同的基于XMOS的USB声卡,一个完美地工作,并按预期播放DSD文件。其他的工作,但不被认为是一个XMOS设备,所以一个不太理想的驱动程序是加载的。

我如何改变它,使相同的驱动程序被加载和使用在这两个设备上?

用于两种设备的lsusb:

带有所需驱动程序的卡:

代码语言:javascript
复制
Bus 003 Device 007: ID 20b1:000a XMOS Ltd 

带有不太理想的驱动程序的卡:

代码语言:javascript
复制
Bus 001 Device 003: ID 16d0:09dd MCS 

来自asound的产出:

有适当司机的卡:

代码语言:javascript
复制
card 4: x20 [xCORE USB Audio 2.0], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

司机不当的卡:

代码语言:javascript
复制
card 3: mDSD [Encore mDSD], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

编辑到文档解决方案:

本指南之后,我下载了内核源代码,进行了修改和编译。

我将lsusb输出中的供应商和设备ID添加到内核源代码中的相关部分。

代码语言:javascript
复制
../sound/usb/quirks.c

具体来说,Encore mDSD的一行:

代码语言:javascript
复制
    case USB_ID(0x16d0, 0x09dd): /* Encore mDSD */
    case USB_ID(0x20b1, 0x000a): /* Gustard DAC-X20U */
    case USB_ID(0x20b1, 0x2009): /* DIYINHK DSD DXD 384kHz USB to I2S/DSD */
    case USB_ID(0x20b1, 0x2023): /* JLsounds I2SoverUSB */
    case USB_ID(0x20b1, 0x3023): /* Aune X1S 32BIT/384 DSD DAC */
    case USB_ID(0x2616, 0x0106): /* PS Audio NuWave DAC */
        if (fp->altsetting == 3)
            return SNDRV_PCM_FMTBIT_DSD_U32_BE;
        break;

然后,我编译了驱动程序,安装,重新启动,卡与本地DSD完美地工作,直到DSD256。

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2018-02-17 07:29:04

没有允许驱动程序检测DSD设备的标准。每个设备都必须是列在司机身上,到目前为止,还没有人知道"mDSD“。

使mDSD工作的唯一方法是重新编译驱动程序。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1006665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档