所有这些型号实际上都使用完全相同的 PCIe 卡。我碰巧有 1212m 型号。它在 Windows 中运行良好,但不幸的是,Creative Labs E-MU 仅为此特定卡提供 Windows 驱动程序。我已经切换到使用 Ubuntu 作为我的主要桌面一段时间了。我如何让它在 Ubuntu 中工作?
此外,我的芯片组还配备了集成的英特尔高清音频,我希望能够在 E-MU 声卡和英特尔声卡之间切换。
答案1
2014 年 7 月 3 日更新
从 Ubuntu 14.04 开始,内核已原生支持 ALSA 驱动程序,因此应跳过驱动程序的下载-编译-安装过程。其余说明保持不变。
指示
为了使此卡正常工作,你需要设置ALSA(高级 Linux 声音架构). 从 wiki 页面下载 alsa-driver、alsa-lib、alsa-utils 和 alsa-firmware 的最新稳定版本这里并提取它们。
0. 先决条件
为了确保您具备编译代码的所有先决条件,请运行以下命令:
sudo apt-get install build-essential linux-headers-$(uname -r)
1.配置ALSA驱动(Ubuntu 13.10+请跳过此步骤)
现在您需要配置哪些声音设备应与 ALSA 一起使用。我将解释拥有两个声音设备(Intel HD Audio 和 E-MU 1212m)的说明。如果您需要 ALSA 包含另一个,则需要找到支持此设备的 ALSA 驱动程序的名称。为此,请检查 ALSA 的声卡矩阵这里。如果您的声卡受支持,您应该在驱动程序列表中找到它的驱动程序。对于 Intel HD Audio,驱动程序为hda-intel
,对于 E-MU 1212m,驱动程序为emu10k1
。
要配置驱动程序,请转到alsa-driver
终端中提取的文件夹,然后运行以下命令。
./configure --with-cards=hda-intel,emu10k1 --with-sequencer=yes --with-isapnp=no --with-oss=no --with-kernel=/lib/modules/$(uname -r)/build
--with-cards
指定所需驱动程序的逗号分隔列表。至于其他选项,我让驱动程序包含一个序列器,指定该设备不是即插即用的,指定不使用 OSS,并指定内核。虽然您不需要,但您可以根据需要为 ALSA 驱动程序添加其他配置选项。您可以通过运行命令了解有关配置 ALSA 驱动程序的更多信息./configure --help
。
注意:如果您不确定您使用的是哪种卡,请尝试lshw -c sound
在终端中运行。它将列出所有声音硬件。如果是 PCI,则运行时它也应该会显示出来lspci | grep audio
。
2. 修补 emu10k1 驱动程序(如果你使用的是 Ubuntu 13.10+,请跳过此步骤)
接下来我们需要对其中一个文件应用一个小补丁。
在同一个文件夹中,./alsa-kernel/pci/emu10k1/emu10k1_main.c
使用您选择的文本编辑器打开该文件。找到以下行
static struct snd_emu_chip_details emu_chip_details[] = {
在其正下方插入以下内容:
{.vendor = 0x1102, .device = 0x0008, .subsystem = 0x40071102,
.driver = "Audigy2", .name = "E-mu 1010 PCIe",
.id = "EMU1010",
.emu10k2_chip = 1,
.ca0108_chip = 1,
.spk71 = 1,
.emu_model = EMU_MODEL_EMU1010B},
保存此文件并关闭。
3.编译安装
进入你解压驱动程序*(如果 Ubuntu 版本是 13.10+,请跳过)、固件、lib 和 utils 的每个文件夹,然后对每个文件夹运行此命令
./configure && make && sudo make install
对 lib 和 utils 执行相同操作。
4.将固件文件复制到emu文件夹
在终端中转到提取 alsa-firmware 的文件夹。浏览到/emu/
那里的文件夹,然后运行以下命令:
sudo cp *fw /lib/firmware/emu
注意:/lib/firmware/emu
应该存在,但如果不创建它。
5.配置Linux声音库以使用ALSA
运行此命令:
sudo dpkg-reconfigure linux-sound-base
并选择 ALSA。
6. 重启!
这些就够了。系统启动后,您应该会SB0400 Audigy2 Value Analog Stereo
在 Ubuntu 的声音设置中看到。
完成后
这足以让您开始使用并从卡中获得声音输出。有关调整卡的输入/输出的更多高级方法,请参阅以下链接:
埃穆特里克斯:此卡的矩阵式混频器。这需要用 Qt 编译。使用 qt4 构建相对简单,使用 Qt5 构建稍微复杂一些。编译命令很简单qmake && make
。
以下是如何使用 Qt5 编译此项目(您可以使用 安装 Qt5 sudo apt install qt5-default
)。下载并解压emutrix0.3.1
文件,然后emutrix.pro
使用文本编辑器打开。在行后TEMPLATE = app
插入以下内容:
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets gui
然后保存此文件,并在项目根目录运行命令
qmake
接下来,打开文本编辑器并打开文件emutrix0.3.1/src/main.cc
。在顶部,删除该行#include <QtGui/QApplication>
并将其替换为#include <QtWidgets/QApplication>
然后打开文件src/mainwindow.h
并同样删除该行#include <QtGui/QApplication>
并将其替换为
#include <QtWidgets/QMainWindow>
#include <QMainWindow>
并保存这两个文件。现在我们可以通过运行来编译项目
make
这可能需要一段时间。请注意,make -j 4
如果您的机器有更多可用线程,您可以运行例如使用 4 个线程,以便编译速度更快。如果您在编译过程中遇到问题,请快速在 Google 上搜索编译错误,通常第一次或两次搜索就可以解决问题。
一旦所有内容都编译完毕,我们就可以用 启动它了./emutrix
。您可以进一步创建一个.desktop
文件,/usr/share/applications
以便从开始菜单启动 emutrix。
附加音频工具
alsamixer:这是我经常用来静音/调整 IO 电平的主要混音器。要启动它,您只需在终端中运行即可alsamixer
。
gnome-alsa-mixer: 或者如果你愿意的话,也可以使用它的 GUI 版本 ( sudo apt-get install gnome-alsa-mixer
)
qjackctl这是安装的sudo apt-get install jack qjackctl
。阅读更多关于jack的信息维基百科。Ubuntu 中的某些应用程序可能会使用此功能来实现低延迟和高分辨率声音。
答案2
我找到
sudo apt-get 安装 libncursesw5-dev gettext xmlto
在构建 alsa-utils 之前是必需的。