[已解决]openSUSE 13.1 声卡 X-Fi Titanium HD驱动问题

openSUSE 13.1 X86_64 版本,安装完成后,音频设置里面正确的显示出了声卡型号 , 如图:



但是一插上音响或耳机就传来高频的啸叫,一直不停,也没有声音输出
右下角的喇叭打开显示 nv 的声卡,我在设置里把 xfi 设置成主声卡都还是这样,nv 那个是 hdmi 的输出目前没有用的, 如图:

请问要如何设置才能让该声卡正常出声呢?
声卡型号是 Sound Blaster X-Fi Titanium HD (PCIe 接口 芯片型号为 CA20K2)

cat /proc/asound/modules

执行之后输出结果只有一条:

1 snd_hda_intel

这个应该是显卡自带的 HDMI ,就是图上 GF110 HDAudio…

是还要安装什么吗?

是的。。。。。snd_hda_intel 不是 Creative Sound Blaster X-Fi Titanium HD CA20K2 的驱动。

你需要 EMU20K2 的 Linux 驱动(http://en.wikipedia.org/wiki/E-mu_20K)。

您可能需要

su
modprobe snd-ctxfi

永久使用可以在 /etc/modprobe.d/50-blacklist.conf 的最末加入 snd_hda_intel,然后

sudo echo ‘MODULES_LOADED_ON_BOOT=“snd-ctxfi”’ >> /etc/sysconfig/kernel

重启。

我先执行 echo “blacklist snd_hda_intel” >> /etc/modprobe.d/50-blacklist.conf 屏蔽了 NV的 hdmi输出
然后依次执行
su
输root用户密码后执行:
modprobe snd-ctxfi
然后再执行:
echo ‘MODULES_LOADED_ON_BOOT=“snd-ctxfi”’ >> /etc/sysconfig/kernel
重启后,还是一样的高频啸叫,右下角的喇叭输出变成 ”假输出“了 ,原来是 GF110 HDAudio的
我再执行 cat /proc/asound/modules 查看,这次输出的结果为空…
这是否说明不支持这声卡呢?

sudo /sbin/lspci

能否正确检测到它呢?

可以检测到的

03:00.0 Audio device: Creative Labs EMU20k2 [X-Fi Titanium Series] (rev 03)

只是右下角的喇叭图标显示 假输出 ,好像识别到声卡,正常的话 因该显示 creative 什么的吧

sudo /sbin/lspci -nn

结果是这个

03:00.0 Audio device [0403]: Creative Labs EMU20k2 [X-Fi Titanium Series] [1102:000b] (rev 03)

alsamixer

按 F6 看有没有声卡,选择那个声卡,看音量它有没有被静音。

按F6 没有声卡
一个是 default
一个是 enter device name…

我选 enter device name 输入 Creative Labs EMU20k2 [X-Fi Titanium Series] 提示

Cannot open mixer device ‘Creative Labs EMU20k2 [X-Fi Titanium Series]’.│ │没有那个文件或目录

囧,那你

lsmod | grep snd

能看到那个驱动模块么…

是这样的。。。

snd_ctxfi             115813  0 
snd_pcm               110211  1 snd_ctxfi
snd_seq                69752  0 
snd_timer              29423  2 snd_pcm,snd_seq
snd_seq_device         14497  1 snd_seq
snd                    87417  5 snd_ctxfi,snd_pcm,snd_seq,snd_timer,snd_seq_device
soundcore              15047  1 snd
snd_page_alloc         18710  2 snd_ctxfi,snd_pcm

我又再看了下资料,貌似这块声卡是没有被支持的,https://wiki.debian.org/X-Fi 上看到支持的只有

•X-Fi Elite Pro 
•X-Fi Fatal1ty 
•X-Fi Platinum 
•X-Fi Titanium 
•X-Fi Titanium Fatal1ty Champion 
•X-Fi Titanium Fatal1ty Professional 
•X-Fi Titanium Professional Audio 
•X-Fi XtremeGamer 
•X-Fi XtremeMusic 
•snd-ca0106 (CA0106 chipset) 
•X-Fi Xtreme Audio (PCI) 
•snd-hda-intel (CA0110 chipset) 
•X-Fi Xtreme Audio (PCI-E)

而 Creative Sound Blaster X-Fi Titanium HD 并不在支持之列,我看了下自己的截图,声卡被识别成 Titanium 芯片是 EMU20K2 的,但是我的声卡的虽然名字相似 叫 Titanium HD 但是实际上使用的芯片是 CA20K2 ,好像这声卡并未被正确识别。
悲剧…

我倒是一直在关注楼主的求助情况,之前有一块 EMU0404 就是无法正常识别成,看了官方 wiki 需要调整 kernel,才疏学浅搞了几次没成功,只能放弃了。
照理说 XFI 系列应该被直接识别啊。

创新 X-fi 的最后一款芯片型号 CA20k2 不在支持列表内。。。
xfi 其他的型号驱动页面内创新官方都有个驱动样本,唯独这款没有…
不过不着急,慢慢来弄

你的 CA0102 alsa 上面是这么写的
[PCI] [ANALOGio] [RCAio] [TOSio] [ADATio] Support arriving in 1.0.15 [MIDIio functional, but only @ 48kHz]

我的 THD 直接写
X-Fi Titanium HD emu20k2 [PCIE] does not work …
alsa-project.org/main/index.php/Matrix:Vendor-Creative_Labs

恩恩,没错,win 下面就是需要建立多个 session 来实现各种采样率,好象是通过 patchmix 来实现的,linux 下面暂时还在等待大神的出现

其实,根据 ALSA 项目的日志,这块声卡最早于 2011 年 6 月就实现了支持,只是由于一个声卡 ID 识别的 bug , 造成这块声卡被识别为
Creative Labs EMU20k2 [X-Fi Titanium Series] [1102:000b] (rev 03)

可以通过命令或者下载 Win 平台的 inf 文件查看到该卡的子系统 ID 应该是 0062, 然后再建立一个文件:
/etc/modprobe.d/x-fi_titanium_hd.conf
并往里面写入
options snd-ctxfi subsystem=0x11020062
,重启系统就能正常工作了。

需要注意的是这个只对创新自己的 X-Fi Titanium HD 有效,采用相同芯片的 OEM 版本诸如技嘉主板板载、 AuzenTech X-Fi Forte 7.1 和 安桥的 SE-300 PCIE 无效,不过我在 pci_ids.h 里看到有支持 HP 的 OEM 版本,有这机器的可以试一下 。

另外,snd_hda_intel 该模块是 Intel HD 标准规范音频体系的模块,凡是遵循该标准的音频设备都需要依赖该模块,因此不能屏蔽。

我还一直琢磨怎样才能把 hdmi 屏蔽,可各种方法都用了也不行,看了这个帖子明白。只要在设置里面让 hdmi 输出为无就可以了。

记得当时我是为了调试声卡的时侯少一个干扰项才想屏蔽 hdmi 的,一般还是默认让它留着。
比较好的屏蔽方法在这里: [[已解决] 请问下如何正确的屏蔽掉不用的硬件设备?)