SDB:Alsa-更新

跳转到:导航搜索


在 openSUSE 上测试

本文档解释如何更新 ALSA。

情况

本指南应与 音频故障排除 指南结合使用。
  • 您的音频存在问题,需要更新您的 ALSA 版本。
  • 您的硬件对于 openSUSE 版本的 ALSA 版本来说太新了。


查找内核版本

Icon-warning.png
警告: 在更新 ALSA 时,务必确保仅安装特定于您的内核版本的 ALSA 驱动程序。

要在控制台中确定您的内核版本,请键入

uname -r

您可能会得到如下输出

3.7.10-1.11-desktop

请注意后缀,它可能是

  • desktop
  • pae
  • default

要在控制台中确定您的 openSUSE 版本和系统架构,请键入

cat /etc/SuSE-release

您可能会得到如下输出

openSUSE 12.3 (x86_64)
VERSION = 12.3
CODENAME = Dartmouth

请注意您是否有

  • i586
  • x86_64

一旦您获得输出,请使用 zypper 运行您机器上安装的内核名称,如下所示

zypper info kernel-[suffix]

以获取其完整的版本号并找到适用的版本。

例如,对于 64 位内核类型(带有 desktop 后缀),您的命令将是

zypper info kernel-desktop

输出将如下所示

Information for package kernel-desktop:

Repository: openSUSE-12.3-Update
Name: kernel-desktop
Version: 3.7.10-1.16.1
Arch: x86_64
Vendor: openSUSE
...


openSUSE 12.1 及更早版本的更新

12.1 及更早版本的 openSUSE 不再受支持。


openSUSE 12.2 及更高版本的用户空间更新

通过说 用户空间,我们指的是 libsound2、alsa、alsa-oss、alsa-plugins、alsa-utils 等应用程序...

您应该发送 5 个 zypper 命令(并使用 YaST)来更新您的 alsa 应用程序(以下给出了命令和 YaST 示例)。

要发送以下 zypper 命令,首先打开一个 xterm/konsole,键入“su”(不带引号),并在提示时输入 root 密码以获取 root 权限。然后按照以下说明键入 zypper 命令(请注意,其中一个命令特定于您的 openSUSE 内核版本)。给定的命令将

  • 添加 alsa 的仓库
  • 更新您的 alsa
  • 移除仓库

重要的是发送这两个 zypper 命令来移除仓库,因为该仓库中的 rpm 是前沿的,并且一旦声音正常工作,最好不要继续更新 alsa,因为其中一个更新可能会无意中破坏您的音频。


步骤 1 - 添加仓库

要更新 ALSA 用户空间包,您可以在 xterm/konsole 中运行以下 zypper 命令,或使用 YaST 添加它(小心选择特定于您的 openSUSE 版本的那个)。

在本指南中使用的仓库名称是 multimedia。如果您使用不同的名称,请在下一步中注意。
Icon-warning.png
警告: 确保选择适用于您的 openSUSE 版本的正确仓库。


版本:15.1(用户空间更新)


版本:15.2(用户空间更新)


版本:Tumbleweed(用户空间更新)


版本:Factory(用户空间更新)


提示:您还可以添加“Multimedia Apps”仓库。对于 Leap 15.1,它将是 http://download.opensuse.org/repositories/multimedia:/apps/openSUSE_Leap_15.1/


步骤 2 - 使用 YaST 安装应用程序

按照以下说明/草图更新您的 alsa 应用程序(例如 libasound2、alsa、alsa-oss、alsa-plugins、alsa-utils 等...)

仓库示例
搜索示例

如上图左侧所示,转到 YaST > 软件 > 软件管理,选择“仓库”,然后在左侧选择仓库“multimedia”。确保选择“版本”选项卡,以便查看版本,然后选择更新您的 PC 的所有 alsa 应用程序,包括“libasound2”。不要添加新的 alsa 应用程序,只需更新您所有现有的 alsa 应用程序。请参阅左侧的示例。请注意,这只是一个示例,因为您可能安装了不同的 alsa 应用程序。

或者,如上图右侧图像所示,您可以使用 YaST 软件管理器搜索功能找到要更新的 alsa 应用程序。不要忘记搜索并更新“libasound2”。

步骤 3 - 移除仓库

对于所有 openSUSE 版本,完成此操作后,退出 YaST,并通过在终端中打开并以 root 权限键入以下命令来移除 multimedia 仓库

zypper rr multimedia

您也可以使用 YaST 移除它。

Icon-warning.png
警告: 重要的是您移除该仓库,否则以下部分可能会失败。

您可以在此处找到一些 openSUSE 版本打包的 ALSA 版本列表

  • openSUSE 12.2 配备 ALSA 1.0.25
  • openSUSE 12.3 配备 ALSA 1.0.26
Icon-warning.png
警告: 在发送这两个 zypper 命令并使用 YaST 更新后,您还没有完成。请继续阅读。

openSUSE 内核模块/驱动程序更新

此外,要更新 ALSA 驱动程序模块,您必须发送 3 个 zypper 命令,这些命令适用于您的 openSUSE 版本以及您的特定内核版本(如下所示)。这特定于您 PC 的内核版本和 openSUSE 版本,因此给出了许多示例。

Icon-warning.png
警告: 不要安装其他内核的 rpm(这可能会破坏您的声音)。不要忘记这一点。

您应该已经知道您的内核版本,因为您已经了解了如何确定它 开始 本指南时。

请注意,以下分为两个可能的内核版本

  • 随 liveCD、DVD 提供的库存内核以及 OSS 仓库中的内核 - 本指南中该部分称为 OSS 内核部分
  • 最新的更新内核位于官方更新仓库中 - 本指南中该部分称为 已更新内核部分

请转到适用于您的 openSUSE 的部分。

Icon-warning.png
警告: 在更新后,请不要忘记重新启动您的操作系统。


OSS 内核部分 - 如果您尚未用安全补丁更新内核,请在此处访问此 OSS 部分

本节中的命令适用于从未更新为安全修复内核的用户。我称之为“OSS 仓库”。如 上面 所述,请检查您的内核版本以确保您添加正确的仓库。如果您的内核已更新,则转到 *** 更新 *** 内核模块仓库。

请确保执行以下所有步骤(456)下面。

确认您处于正确的位置(内核未更新)


OSS 内核部分 - 步骤 4(内核未更新)- 添加 OSS 仓库

再次强调,添加仓库的命令(zypper ar repository-oss multimedia)适用于从未更新为安全修复内核的用户。如果您的内核已更新,则转到 步骤 4(更新)代替。





OSS 内核部分 - 步骤 5(内核未更新)- 安装 alsa-driver-kmp 包

以下是一些基于最新内核版本的示例

默认内核

  • openSUSE-12.2 - kernel 3.4.6-default i386 或 x86_64 GNU/Linux(仅 12.2 OSS 的此内核)
  • openSUSE-12.3 - kernel 3.7.10-default i386 或 x86_64 GNU/Linux(仅 12.3 OSS 的此内核)

发送命令

zypper install alsa-driver-kmp-default


桌面内核

  • openSUSE-12.2 - kernel 3.4.6-desktop i386 或 x86_64 GNU/Linux(仅 12.2 OSS 的此内核)
  • openSUSE-12.3 - kernel 3.7.10-desktop i386 或 x86_64 GNU/Linux(仅 12.3 OSS 的此内核)

发送命令

zypper install alsa-driver-kmp-desktop


OSS 内核部分 - 步骤 6(内核未更新)- 移除 OSS 仓库

现在移除仓库。这很重要。发送命令

zypper rr multimedia

此时更新完成。重新启动您的 PC 并测试。但是,如果您之前已更新过内核,则不应在此部分开始,而应在下一个内核“更新”部分开始。


已更新内核部分 - 如果您已更新内核,请在此处访问此更新部分

本节适用于已将其内核更新为最新的 SuSE-GmbH 安全补丁内核的用户。我称之为“更新仓库”。如上所述检查您的内核版本,以确保您添加了正确的仓库。还要检查仓库,以确保它具有适用于您的内核版本的 rpm。如果您 尚未更新 您的内核,您将找到不同的内核版本,您应该位于上面的 OSS 部分。

请确保执行以下所有步骤(456)下面。


已更新内核部分 步骤 4 - 添加更新仓库

用于添加仓库的命令 ( zypper ar repository-update multimedia) 适用于那些已经将内核更新到最新的 SuSE-GmbH 安全补丁内核的用户。





更新的内核部分 第 5 步 - 安装 alsa-driver-kmp 包

发送适用于您的 openSUSE 版本和内核版本的命令。以下是一些示例。11.4 (Evergreen) 的示例条目可能有点问题。

默认内核

  • openSUSE-12.2 - 内核 3.4.11-2.16.1-default i386 或 x86_64 GNU/Linux (12.2 UPDATE 的示例内核)
  • openSUSE-12.3 - 内核 3.7.10-1.11-default i386 或 x86_64 GNU/Linux (12.3 UPDATE 的示例内核)

发送命令

zypper install alsa-driver-kmp-default


桌面内核

  • openSUSE-12.2 - 内核 3.4.11-2.16.1-desktop i386 或 x86_64 GNU/Linux (12.2 UPDATE 的示例内核)
  • openSUSE-12.3 - 内核 3.7.10-1.11-desktop i386 或 x86_64 GNU/Linux (12.3 UPDATE 的示例内核)

发送命令

zypper install alsa-driver-kmp-desktop


更新的内核部分 第 6 步 - 移除 UPDATE 仓库

现在移除多媒体仓库。这很重要。发送命令

zypper rr multimedia

此时更新完成。重启您的电脑并测试。


参见


外部链接