抱歉,如果这里不适合提问,但我在安装 Fedora 25 ( 4.10.12-200.fc25.x86_64
) 时遇到了一些问题,我想让我的 Xonar DGX 声卡正常工作。我基本上一直在遵循提供的步骤这里,但是在尝试安装 alsa-driver 包时我卡在了以下行:
./configure --with-cards=oxygen --with-sequencer=yes ; make ; make install
问题出在 configure 脚本上。它最终出错:
checking for which soundcards to compile driver for... configure: error: Unknown soundcard oxygen
我首先检查/proc/asound/cards
以下条目:
0 [DGX ]: CMI8786 - Xonar DGX
C-Media Oxygen HD Audio at 0xc000, irq 18
哪个是声卡。此外,运行以下命令:
lspci -v | grep -A7 -i "audio"
返回以下输出(为了方便阅读,截断为最后一项)
...
05:04.0 Multimedia audio controller: C-Media Electronics Inc CMI8788 [Oxygen HD Audio]
Subsystem: ASUSTeK Computer Inc. Device 8521
Flags: bus master, medium devsel, latency 32, IRQ 18
I/O ports at c000 [size=256]
Capabilities: <access denied>
Kernel driver in use: snd_oxygen
Kernel modules: snd_oxygen
我曾尝试过诸如将with-cards
参数改为snd_oxygen
或之类的操作snd-oxygen
,并且花了几个小时试图弄清楚如何做到这一点。
事实上,我甚至尝试跳过安装的驱动程序部分,因为根据 alsa project dot org(由于我没有声誉,删除了添加图像的超链接)该软件包现已过时。然而,这似乎不是正确的做法,因为我仍然听不到声音。
alsamixer
另一点需要注意的是,如果我选择该设备,我实际上可以看到它。
正如我所说,这是我第一次在裸机上安装 Fedora,所以我可能在某种程度上犯了一些简单的错误,但目前我不知道该怎么做。任何能为我指明正确方向的帮助都将不胜感激,非常感谢您花时间阅读并提供帮助。如果有必要,我还可以提供更多信息。谢谢。
编辑:提供选择 Xonar DGX 声卡时 alsamixer 屏幕的屏幕截图。我注意到两个输入通道都静音了,但这意味着什么?另外,S/PDIF 是什么?我可以取消静音,但没有数字,与耳机不同。作为参考,我已将扬声器直接插入声卡。如果您能提供任何帮助(为我指明正确的方向或其他什么),我将不胜感激。非常感谢。
答案1
Xonar DG(X) 有三种不同的输出配置,可以通过“模拟输出”混音器控制进行选择。如果您未在前面板连接器上使用耳机,则必须更改它。
答案2
1) 如果您的 Xonar 声卡已经出现在 中/proc/asound/cards
,则您不需要为其编译内核驱动程序 - 内核中包含的驱动程序已经可以立即运行。
2) 如果您正在运行 Pulseaudio,它将自动使用所有可用的 ALSA 卡,并阻止 ALSA 应用程序直接使用它们(因此不要尝试hw:1,0
在其配置中指定等)。为了允许旧的 ALSA 应用程序与 Pulseaudio 一起工作,Pulseaudio 包含一个 ALSA 兼容层,通常由 ALSA 设备组成,pulse
它将所有 ALSA 应用程序连接到 Pulseaudio。因此将其作为默认值是完全正确的,无需更改它。
Pulseaudio 还将管理您的大部分 alsamixer 设置,除非由于某种原因无法正常工作,否则无需更改任何内容。
3) 要控制 Pulseaudio 应用程序,请启动pavucontrol
(某些桌面在“声音面板”或类似面板的某个位置有此子集)。如果您启动使用 Pulseaudio 或 ALSA 输出声音的应用程序,它将显示在“播放”下,您可以选择它应该使用哪个卡(Pulseaudio 术语中的“音频接收器”)。所有接收器都列在输出设备下。某些声卡支持具有不同源/接收器组合的不同配置,请在“配置”下选择所需的配置。pavucontrol
包括一个音量计,因此您应该看到活动。
如果您无法使用 来获得声音输出,请使用和pavucontrol
的输出更新您的问题(如果太长,请放入 pastebin 中),假设 Xonar 卡仍为卡号 0。pacmd list-sinks | grep name:
amixer -c0 contents