如何让 EMU 1212m、EMU 1616m 或 EMU 1010 与 Ubuntu 一起工作?

如何让 EMU 1212m、EMU 1616m 或 EMU 1010 与 Ubuntu 一起工作?

所有这些型号实际上都使用完全相同的 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 之前是必需的。

相关内容