SDB:Alsa-更新
情况
- 您的音频存在问题,需要更新您的 ALSA 版本。
- 您的硬件对于 openSUSE 版本的 ALSA 版本来说太新了。
查找内核版本
要在控制台中确定您的内核版本,请键入
您可能会得到如下输出
3.7.10-1.11-desktop
请注意后缀,它可能是
- desktop
- pae
- default
要在控制台中确定您的 openSUSE 版本和系统架构,请键入
您可能会得到如下输出
openSUSE 12.3 (x86_64) VERSION = 12.3 CODENAME = Dartmouth
请注意您是否有
- i586
- x86_64
一旦您获得输出,请使用 zypper 运行您机器上安装的内核名称,如下所示
以获取其完整的版本号并找到适用的版本。
例如,对于 64 位内核类型(带有 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 版本的那个)。
版本: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 仓库
您也可以使用 YaST 移除它。
您可以在此处找到一些 openSUSE 版本打包的 ALSA 版本列表
- openSUSE 12.2 配备 ALSA 1.0.25
- openSUSE 12.3 配备 ALSA 1.0.26
openSUSE 内核模块/驱动程序更新
此外,要更新 ALSA 驱动程序模块,您必须发送 3 个 zypper 命令,这些命令适用于您的 openSUSE 版本以及您的特定内核版本(如下所示)。这特定于您 PC 的内核版本和 openSUSE 版本,因此给出了许多示例。
您应该已经知道您的内核版本,因为您已经了解了如何确定它 开始 本指南时。
请注意,以下分为两个可能的内核版本
- 随 liveCD、DVD 提供的库存内核以及 OSS 仓库中的内核 - 本指南中该部分称为 OSS 内核部分
- 最新的更新内核位于官方更新仓库中 - 本指南中该部分称为 已更新内核部分
请转到适用于您的 openSUSE 的部分。
OSS 内核部分 - 如果您尚未用安全补丁更新内核,请在此处访问此 OSS 部分
本节中的命令适用于从未更新为安全修复内核的用户。我称之为“OSS 仓库”。如 上面 所述,请检查您的内核版本以确保您添加正确的仓库。如果您的内核已更新,则转到 *** 更新 *** 内核模块仓库。
确认您处于正确的位置(内核未更新)
OSS 内核部分 - 步骤 4(内核未更新)- 添加 OSS 仓库
再次强调,添加仓库的命令(zypper ar repository-oss multimedia)适用于从未更新为安全修复内核的用户。如果您的内核已更新,则转到 步骤 4(更新)代替。
版本:12.2
版本:12.3
版本:Tumbleweed
版本:Factory
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 的此内核)
发送命令
桌面内核
- 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 的此内核)
发送命令
OSS 内核部分 - 步骤 6(内核未更新)- 移除 OSS 仓库
现在移除仓库。这很重要。发送命令
此时更新完成。重新启动您的 PC 并测试。但是,如果您之前已更新过内核,则不应在此部分开始,而应在下一个内核“更新”部分开始。
已更新内核部分 - 如果您已更新内核,请在此处访问此更新部分
本节适用于已将其内核更新为最新的 SuSE-GmbH 安全补丁内核的用户。我称之为“更新仓库”。如上所述检查您的内核版本,以确保您添加了正确的仓库。还要检查仓库,以确保它具有适用于您的内核版本的 rpm。如果您 尚未更新 您的内核,您将找到不同的内核版本,您应该位于上面的 OSS 部分。
已更新内核部分 步骤 4 - 添加更新仓库
用于添加仓库的命令 ( zypper ar repository-update multimedia) 适用于那些已经将内核更新到最新的 SuSE-GmbH 安全补丁内核的用户。
版本:12.2
版本:12.3
版本:Tumbleweed
版本:Factory
更新的内核部分 第 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 的示例内核)
发送命令
桌面内核
- 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 的示例内核)
发送命令
更新的内核部分 第 6 步 - 移除 UPDATE 仓库
现在移除多媒体仓库。这很重要。发送命令
此时更新完成。重启您的电脑并测试。

