跳转至内容

Open Sound System

来自 ArchWiki
(重定向自 OSS)

Open Sound System (OSS) 是 Linux 的原始 声音系统

它已被 Advanced Linux Sound Architecture (ALSA) 所取代,ALSA 在许多方面优于 OSS。

  • 对 USB 音频设备的更好支持。
    • OSS 对 USB 音频设备有实验性的输出支持,但没有输入。
  • 对蓝牙音频设备的支持。
  • AC'97HD Audio 拨号 软调制解调器 的支持。
  • 对 MIDI 设备的更好支持。
  • 对挂起模式的支持。
  • 对插孔检测的更好支持。

安装

安装 ossAUR 包,或带有非免费驱动程序的包 oss-nonfreeAUR

这将安装 OSS,运行 OSS 安装脚本(暂时禁用 ALSA 模块)并安装 OSS 内核模块。由于 ALSA 默认启用,您需要禁用它,以免与 OSS 冲突。您可以通过 黑名单 soundcore 模块来实现。

在黑名单化模块后,您可以 启用 oss.service 以在启动时启动。

要开始使用 OSS 而无需重启,请检查是否仍有 ALSA 模块加载(ALSA 模块以“snd”开头)。

# lsmod | grep snd

如下卸载 ALSA 模块:

# lsmod | awk ' { print $1 } ' | grep snd | xargs rmmod

然后重启 OSS。

# soundoff && soundon

要完全从您的系统中删除 ALSA,您可以编译一个 自定义内核 并在其配置中禁用 ALSA。有关详细信息,请参阅 Gentoo:ALSA#Kernel

注意 卸载 PulseAudio 和 ALSA 时,有多个包需要删除。在已安装的包中搜索“pulse”和“alsa”。

本文或本章节已过时。

原因:这应该与 ALSA 相同,即默认不推荐。参见 Advanced_Linux_Sound_Architecture#User_privileges。(在 Talk:Open Sound System 中讨论)

如果您不属于 audio 组,请添加您自己并重新登录以使更改生效。

# gpasswd -a $USER audio

如果 OSS 在启动时无法检测到您的声卡,请运行:

# ossdetect -v
# soundoff && soundon

测试

警告 默认音量非常大,请避免使用耳机,并在运行测试前物理调低扬声器的音量(如果可能)。

通过运行以下命令来测试 OSS:

$ osstest

在测试过程中您应该能听到音乐。如果没有音频,请尝试调整音量或参考 #故障排除 部分。

如果您想同时听到多个应用程序的声音,则需要 OSS 的软件混音器 vmix

通过运行以下命令检查 vmix 是否已启用:

$ ossmix -a | grep -i vmix

您应该会看到类似 vmix0-enable ON|OFF (currently ON) 的行。如果您没有看到任何以 vmix 开头的行,则可能意味着 vmix 未附加到您的声卡。要附加 vmix,请发出命令:

$ vmixctl attach device

其中 device 是您的声卡设备,例如 /dev/oss/oss_envy240/pcm0

为了避免将来手动发出此命令,您可以将其添加到 /usr/lib/oss/soundon.user,如 官方文档 所建议。

如果您收到 "Device or resource busy" 错误,您需要在 /usr/lib/oss/conf/osscore.conf 中添加 vmix_no_autoattach=1,然后重新启动。

通过运行以下命令查看检测到的设备:

$ ossinfo

您应该能在 Device ObjectsAudio Devices 下看到您的设备列表。如果想要使用的设备不在这些部分的顶部,您必须编辑 /usr/lib/oss/etc/installed_drivers 并将您设备的驱动程序放在最前面。可能需要重启 OSS。

# soundoff && soundon

如果这不起作用,请注释掉除您设备驱动程序以外的所有驱动程序。

音量控制混音器

要控制各种设备的音量,需要设置混音器级别。有两个混音器:

ossmix
一个命令行混音器,类似于 BSD 的音频混音器 mixerctl
ossxmix
一个基于 GTK 的图形混音器。

颜色定义

对于高清 (HD) 音频,ossxmix 将根据其预定义的插孔颜色对插孔配置进行着色:

颜色 类型 连接器
绿色 前面板通道(立体声输出) 3.5mm TRS
黑色 后面板通道(立体声输出) 3.5mm TRS
灰色 侧面通道(立体声输出) 3.5mm TRS
金色 中心和低音炮(双输出) 3.5mm TRS
蓝色 线路电平(立体声输入) 3.5mm TRS
粉色 麦克风(单声道输入) 3.5mm TS

保存混音器级别

关闭计算机时会保存混音器级别。如果您想立即保存混音器级别,请以 root 身份执行:

# savemixer

savemixer 可用于使用 -f 开关将混音器级别写入文件,并使用 -L 开关进行恢复。

其他混音器

支持 OSS 的其他混音器:

  • Gnome Volume Control — 用于 GNOME
https://help.gnome.org/users/gnome-volume-control/stable/ || gnome
  • Kmix — 用于 KDE
https://www.kde.org/applications/multimedia/kmix/ || kmix

配置应用程序以使用 OSS

基于 GStreamer

如果您在使用 GStreamer 进行音频处理的应用程序时遇到问题,可以尝试卸载 pulseaudio 并安装 oss4sinkoss4src 所需的 gst-plugins-good 包。

基于 OpenAL

默认情况下,OpenAL 使用 ALSA。要更改此设置,只需在 /etc/openal/alsound.conf 中定义 OSS 的使用即可。

/etc/openal/alsound.conf
drivers=oss

Audacity

如果 Audacity 启动但抱怨无法打开设备或根本不播放任何内容,则您可能正在使用 vmix,这会阻止 Audacity 独占访问您的声卡。要解决此问题,在运行 Audacity 之前,请运行:

$ ossmix vmix0-enable OFF

关闭 Audacity 后,可以使用以下命令恢复 vmix

$ ossmix vmix0-enable ON

Gajim

默认情况下,Gajim 使用 aplay -q 来播放声音。对于 OSS,您可以通过转到 Edit > Preferences > Advanced,打开 Advanced Configuration Editor 并相应地修改 soundplayer 变量,将其更改为等效的 ossplay -qq

MOC

要将 MOC 与 OSS v4.1 一起使用,您必须在配置文件(位于 ~/.moc)中将 OSSMixerDevice 更改为 /dev/ossmix。对于界面问题,尝试在 mocp 中按 w (切换到软件混音器)来更改 OSSMixerChannel

MPD

MPD 通过 /etc/mpd.conf~/.mpdconf 进行配置。检查这两个文件,查找类似以下内容的配置:

/etc/mpd.conf
...
audio_output {
    type    "alsa"
    name    "Some Device Name"
}
...

如果您发现类似上面注释掉(行不以 # 开头)的 ALSA 配置,请将其全部注释掉或删除,然后添加以下内容:

/etc/mpd.conf
...
audio_output {
    type    "oss"
    name    "My OSS Device"
}
...

可能并非所有用户都需要进一步配置。但是,如果您遇到问题(例如 MPD 重启后无法正常工作),或者您喜欢拥有特定的(即更多用户配置、更少自动配置的)配置文件,则可以通过查找声卡标识符来更具体地配置 OSS 的音频输出:

$ ossinfo | grep /dev/dsp

查找类似 /dev/dsp -> /dev/oss/CARD_IDENTIFIER/pcm0 的行。记下您的 CARD_IDENTIFIER,并将以下行添加到您的 MPD 配置文件的 OSS audio_output 中:

/etc/mpd.conf
...
audio_output {
    type            "oss"
    name            "My OSS Device"
    device          "/dev/oss/<SOME_CARD_IDENTIFIER>/pcm0"
    mixer_device    "/dev/oss/<SOME_CARD_IDENTIFIER>/mix0"
}
...

另请参阅:Music Player Daemon#System-wide configuration

MPlayer

如果您使用的是 GUI(SMplayer、GNOME MPlayer 等),您可以在设置对话框中选择 OSS 作为默认输出。如果您从命令行使用 MPlayer,您应该指定音频输出:

$ mplayer -ao oss /some/file/to/play.mkv

如果您不想每次都输入它,请在配置文件(位于 ~/.mplayer/config)中添加 ao=oss

另请参阅:MPlayer#Configuration

VLC 媒体播放器

您可以在音频设置中选择 OSS 作为默认输出。

Wine

要设置 Wine 中的 OSS 支持,请启动:

$ winecfg

然后转到 Audio 选项卡并选择 OSS Driver

另请参阅:Wine#Sound

其他应用程序

另请参阅:ossapps

技巧与提示

更方便、更精确的音量控制

本文档或本节是合并到 #键盘音量控制 的候选。

说明:这在没有太多附加值的情况下部分取代了现有章节,它们可能可以在同一章节中作为等效选项呈现,而不是两个不同的章节。(在 Talk:Open Sound System 中讨论)

ossxmix 的音量滑块非常小,使得精细控制音量变得困难。

运行 ossmix 以找到您想要控制的控件(参考 ossxmix),例如 codec1.jack.green.front

将以下命令绑定到桌面环境的 键盘快捷键

将音量增加 1(音量可在 0 到 100 之间)

$ ossmix codec1.jack.green.front +1

将音量减少 1(某些系统需要 --,以避免将 -1 误认为是参数。)

$ ossmix -- codec1.jack.green.front -1

然后您就可以轻松控制音量了。

键盘音量控制

静音/取消静音和增加/减少音量的便捷方法是使用 ossvol 脚本。

下载脚本并将其放置在 /usr/bin/ossvol

安装后,键入:

$ ossvol -t

切换静音,或

$ ossvol -h

查看可用命令。

注意 如果 ossvol 出现类似 Bad mixer control name(987) 'vol' 的错误,您需要编辑脚本并将 CHANNEL 变量更改为您默认的通道(通常是 vmix0-outvol)。

如果您想使用带 ossvol 的多媒体键,请将以下命令 映射 到您的音量键:XF86AudioRaiseVolumeXF86AudioLowerVolumeXF86AudioMute

静音/取消静音音量

$ ossvol -t

减小音量

$ ossvol -d 2

增大音量

$ ossvol -i 2

更改采样率

更改输出采样率起初并不明显。采样率只能由 root 更改,并且在请求更改时 vmix 不能被任何程序使用。在执行任何这些步骤之前,请确保您是通过接收器/放大器连接并使用高质量扬声器,而不是简单的电脑扬声器。如果您只使用电脑扬声器,则无需更改此处的内容,因为您不会注意到任何区别。

默认采样率为 48000Hz。在某些情况下,您可能希望更改此设置。这完全取决于您的使用模式。您希望使用的采样率匹配您使用最多的媒体。如果您的计算机必须更改媒体的采样率以适应硬件,音频质量可能会(但不保证)有所下降。这在降采样(例如 96000Hz → 48000Hz)时最为明显。有一篇关于此问题的 Stereophile 文章,该文章已在 Apple 的 CoreAudio API 邮件列表中 讨论 过,如果您想了解更多关于此问题的信息。

本文或本章节已过时。

原因: Intel HD Audio 于 2004 年发布,现在大多数主板都提供它。(在 Talk:Open Sound System 中讨论)

一些示例采样率:

44100Hz
标准 Red Book 音频 CD 的采样率。
88000Hz
SACD 高清音频光盘/下载的采样率。您的主板很少支持此采样率。
96000Hz
大多数高清音频下载的采样率。如果您的主板是 AC'97 主板,这可能是您的最高比特率。
192000Hz
蓝光以及一些(极少数)高清下载的采样率。对外部音频接收设备的支援仅限于高端音频。并非所有主板都支持此功能。支持此功能的主板芯片组示例包括 HD Audio

要检查您当前的采样率设置,请运行:

$ ossmix | grep rate

您可能会看到 vmix0-rate <十进制值> (currently 48000) (Read-only)

本文或本章节已过时。

原因: Envy24 的特殊处理在 2003 年可能还有意义,但现在已经过去 20 年了……(在 Talk:Open Sound System 中讨论)

如果您看不到 vmix0-rate(或 vmix1-rate 等)输出,则可能意味着 vmix 已禁用。在这种情况下,OSS 将使用请求设备的程序的速率,因此本节不适用。Envy24(和 Envy24HT)卡是一个例外,它有一个特殊的设置 envy24.rate,具有类似的功能(请参阅 oss_envy24 手册页)。

更改您的采样率:

  1. 首先,确保您的声卡能够使用新的速率。运行 ossinfo -v2 并查看 Native sample rates 输出中是否包含所需的速率。
  2. 以 root 身份运行 /usr/lib/oss/scripts/killprocs.sh。请注意,这将关闭任何当前打开了音频通道的程序。
  3. 终止了所有占用 vmix 的程序后,以 root 身份运行:vmixctl rate /dev/dsp 96000,将速率替换为您想要的采样率(如果适用,还运行 ossmix envy24.rate 96000)。
  4. 运行 ossmix | grep rate 并检查 vmix0-rate <十进制值> (currently 96000) (Read-only) 是否显示,以查看您是否成功。
  5. 要使更改永久生效,请将以下内容添加到 soundon.user 文件中:
/usr/lib/oss/soundon.user
#!/bin/sh

vmixctl rate /dev/dsp 96000
# ossmix envy24.rate 96000 # uncomment if you have an Envy24(HT) card

exit 0

并使其 可执行

禁用虚拟混音和 COOKEDMODE 以减少失真

vmix 是一个虚拟混音器音频,可以混合多个音频流,但可能降低音质。简单地在 OSS Mixer GUI 中取消勾选 vmix-things 并不总是有用。

关闭 COOKEDMODE 以禁用所有应用程序和设备的格式转换。

编辑以下内容:

/usr/lib/oss/conf/osscore.conf
cooked_enable=0
vmix_disabled=1

如果遇到错误,请重启 oss.service 或您的计算机。

之后,您仍然可以通过 ossmixossxmix 控制音量。

启动时将 ossxmix 停靠到系统托盘

KDE

在您的本地应用程序启动器目录(~/.local/share/applications/)中创建一个名为 ossxmix.desktop 的应用程序启动器文件,内容如下:

~/.local/share/applications/ossxmix.desktop
[Desktop Entry]
Name=Open Sound System Mixer
GenericName=Audio Mixer
Exec=ossxmix -b
Icon=audio-card
Categories=Application;GTK;AudioVideo;Player;
Terminal=false
Type=Application
Encoding=UTF-8

要让它与您的系统一起自动启动,请将其添加到 System Settings > System Administration > Startup and Shutdown > Autostart 的列表中。

GNOME

以 root 身份创建一个文件 /usr/local/bin/ossxmix_bg,内容如下:

/usr/local/bin/ossxmix_bg
#!/bin/sh

exec /usr/bin/ossxmix -b

然后转到 System > Preferences > Start Up Applications 并:

  • 点击 Add,在 Name 字段中输入 OSSMIX,在 Command 字段中输入 /usr/local/bin/ossxmix_bg,然后点击 Add Button
  • 登录和注销以查看更改。

录制程序的音频输出

请参阅上游文章 Recording sound output of a program

挂起和休眠

OSS 不自动支持挂起,必须在挂起或休眠前手动停止,并在之后重新启动。

OSS 提供 soundonsoundoff 来启用和禁用 OSS,尽管它们仅在所有使用音频的进程终止后才停止 OSS。

以下脚本是一种相对基础的方法,可以在挂起前自动卸载 OSS,并在之后重新加载。

/usr/lib/systemd/system-sleep/50osssound.sh
#!/bin/sh
suspend_osssound()
{
    /usr/lib/oss/scripts/killprocs.sh
    /usr/bin/soundoff
}
 
resume_osssound()
{
    /usr/bin/soundon
}
 
case $1 in
    pre)
        suspend_osssound
 	;;
    post)
 	resume_osssound
 	;;
    *) exit $NA
 	;;
esac

将此脚本的内容(以 root 身份)保存到 /usr/lib/systemd/system-sleep/50osssound.sh 并使其 可执行

警告 此脚本相当基础,并且会终止任何直接访问 OSS 的应用程序。在挂起/休眠之前保存您的工作。

这样,您的所有应用程序都应该没问题。

更改默认音频输出

运行 osstest 时,第一个测试通道通过,但立体声或右通道不通过,声音会失真/嘶嘶作响。如果您的声音就是这样,则表示它设置为错误的输出。

*** Scanning sound adapter #-1 ***
/dev/oss/oss_hdaudio0/pcm0 (audio engine 0): HD Audio play front
- Performing audio playback test... 
<left> OK <right> OK <stereo> OK <measured srate 47991.00 Hz (-0.02%)> 

左声道听起来不错,右声道和立体声声道则有失真。

让测试继续,直到您获得可用的输出:

/dev/oss/oss_hdaudio0/spdout0 (audio engine 5): HD Audio play spdif-out 
- Performing audio playback test... 
<left> OK <right> OK <stereo> OK <measured srate 47991.00 Hz (-0.02%)> 

如果所有左、右和立体声通道的测试都通过,则继续下一步。

要更改默认输出的命令,请参阅上游的 Wiki 文章。将其更改为您适用的设置,例如:

# ln -sf /dev/oss/oss_hdaudio0/spdout0 /dev/dsp_multich

对于环绕声(4.0-7.1),请选择 dsp_multich;对于仅 2 声道,dsp 就足够了。有关所有可用设备,请参阅 此处

ALSA 模拟

本文或本节正考虑移除。

原因
  • 从旧系统开始并模拟当前系统很奇怪;人们可能更感兴趣的是如何在他们的系统上运行一些需要 OSS 的旧软件。
  • 这实际上并不是真正的模拟。这是一种让 ALSA 库配置使用 OSS 驱动程序而不是 ALSA 驱动程序的技巧。这在 25 年前可能有用,但现在肯定没用了。
  • 甚至 libsalsa 也已从 AUR 多年了
(在 Talk:Open Sound System#Emulation 中讨论)

您可以指示 alsa-lib 使用 OSS 作为其音频输出系统。这可以作为一种 ALSA 模拟。

但请注意,此方法可能会在您的音频输出中引入额外的延迟,并且模拟不完整,不能与所有应用程序一起使用。例如,它不能与尝试使用 ALSA 检测设备的程序一起使用。

因此,由于大多数应用程序直接支持 OSS,请仅将此方法作为最后的手段。

未来,可能会有更完整的模拟 ALSA 的方法,例如 libsalsacuckoo

操作指南

  • 如下编辑 /etc/asound.conf
pcm.oss {
   type oss
    device /dev/dsp
}

pcm.!default {
    type oss
    device /dev/dsp
}

ctl.oss {
    type oss
    device /dev/mixer
}

ctl.!default {
    type oss
    device /dev/mixer
}
注意 如果您不再想使用 OSS,请不要忘记恢复 /etc/asound.conf 中的更改。

特定驱动程序的设置

如果某些功能不起作用,则您的某些 OSS 设置可能特定于驱动程序,或者对于您的驱动程序来说是错误的。

要解决此问题:

  • 找出使用的驱动程序。
$ lspci -vnnd ::04xx
00:1e.2 Multimedia audio controller [0401]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller [8086:266e] (rev 03)
Subsystem: Hewlett-Packard Company NX6110/NC6120 [103c:099c]
Flags: bus master, medium devsel, latency 0, IRQ 21
I/O ports at 2100 [size=256]
I/O ports at 2200 [size=64]
Memory at d0581000 (32-bit, non-prefetchable) [size=512]
Memory at d0582000 (32-bit, non-prefetchable) [size=256]
Capabilities: <access denied>
Kernel driver in use: *oss_ich*
Kernel modules: snd-intel8x0
  • 在此处找到设备的配置文件:
# cd /usr/lib/oss/conf/
  • 尝试更改默认设置。只有少数设置,而且它们都一目了然。

例如,设置

ich_jacksense = 1 

oss_ich.conf 中启用 jack-sense(负责识别插入的耳机并静音扬声器)。有关 jack-sense 的其他设置可以在 hdaudio.conf 中找到,您需要更改 hdaudio_jacksense 变量。

  • 为使更改生效,请重启 oss.service

故障排除

故障排除 HD Audio 设备

理解问题

如果您有 HD Audio 声卡,那么在您的音频工作之前,很有可能需要调整一些混音器设置。

HD Audio 设备功能强大,因为它们可能包含许多小型电路(称为 widgets),这些电路可以随时通过软件进行调整。这些控件暴露给混音器,例如,它们可用于将耳机插孔转变为音频输入插孔而不是音频输出插孔。

然而,也存在一些不良副作用,主要原因是 HD Audio 标准比它应该的更灵活,并且供应商通常只关心让他们的官方驱动程序正常工作。

在使用 HD Audio 设备时,您经常会发现混音器控件混乱,默认情况下根本不起作用,并且您被迫尝试所有可能的混音器控件组合,直到它工作为止。

解决方案

打开 ossxmix 并尝试更改中间区域中的每个混音器控件,该区域包含声卡特定的控件,如 #音量控制混音器 部分所述。

您可能希望设置一个程序在后台连续录制/播放(例如,录制使用 ossrecord - | ossplay -,播放使用 osstest -lV),同时在前台更改 ossxmix 中的混音器设置。

  • 提高每个音量控制滑块。
  • 在每个选项框中,尝试更改选定的选项,尝试所有可能的组合。
  • 如果您听到噪音,请尝试降低和/或静音一些音量控件,直到找到噪音源。
  • 编辑 /usr/lib/oss/conf/oss_hdaudio.conf,取消注释并将 hdaudio_noskip=0 更改为 0-7 中的某个值,可以在 ossxmix 中获得更多插孔选项。
注意 如果修改此文件,请重启 oss 守护进程以使更改生效。

Totem 中的 MMS 音频破裂

如果在播放 MMS 流时在 Totem 中听到各种破裂声或奇怪的声音,您可以尝试使用其他后端,例如 FFmpeg。这不会解决 GStreamer 在播放 MMS 流时出现的某些问题,但它会为您提供以良好音质播放它的选项。在 MPlayer 中播放很简单:

# mplayer mmsh://yourstreamurl

麦克风通过输出通道播放

默认情况下,OSS 会通过扬声器播放麦克风。要在 ossxmix 中禁用此功能,请找到“Misc”部分并取消勾选每个“input-mix-mute”框。

添加额外的 HD Audio 声卡支持

本文或本章节的准确性存在争议。

原因:需要修改以避免引用手动编译:重建 ossAUR 应该被优先考虑,本节需要链接到自定义 AUR 包的相关页面。特别是,最后的注释过于笼统(依赖项应由 PKGBUILD 处理)。(在 Talk:Open Sound System 中讨论)

OSS 提供了一个“通用”编解码器驱动程序,该驱动程序应该能够解析 99% 的 HDAudio 编解码器。

如果设备未列在 oss_hdaudio.c 源文件中,请将它们添加到其中,重新编译并启动驱动程序。

要查找“Multimedia controller”设备类别的 设备/供应商 ID,请执行以下操作:

$ lspci -nnd ::04xx
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)

在此示例中,“Vendor ID”是“8086”,“Device ID”是“a170”。

在源文件中更改 5 行代码,以“最新源代码包”(目前是“oss-v4.2-build2020-src-gpl.tar.bz2”)为例:

oss-v4.2-build2020-src-gpl/devlists/Linux
oss_hdaudio     pci8086,a170    Intel High Definition Audio (PCH_C)
oss-v4.2-build2020-src-gpl/kernel/drv/oss_hdaudio/.devices
oss_hdaudio     pci8086,a170    Intel High Definition Audio (PCH_C)
oss-v4.2-build2020-src-gpl/kernel/drv/oss_hdaudio/oss_hdaudio.c
#define INTEL_DEVICE_PCH_C      0xa170
    case INTEL_DEVICE_PCH_C:		#Don't add it, it's already there

最好修改现有的“Controller”(在此示例中是 "PCH_C"),追加新的一行代码可能会失败。是否是 PCH_C 并不重要。

最后一行代码有点复杂。此示例是 ALC1150 声卡芯片。“ALC1150”的“Vendor_id”是“0x10ec0900”,您可以通过搜索引擎获取,或者尝试以下方法:

# cat /sys/class/sound/card0/device/hdaudioC0D0/vendor_id
0x10ec0900
# cat /sys/class/sound/card0/device/sound/card0/hwC0D0/vendor_id
0x10ec0900

对于不同制造商的声卡芯片,需要修改不同的段落。在示例中,是 Realtek 制造商的段落:

oss-v4.2-build2020-src-gpl/kernel/drv/oss_hdaudio/hdaudio_codecids.h
  {0x10ec0889, "ALC889", VF_ALC88X_HACK, (char **) &alc883remap}, 
  {0x10ec0900, "ALC1150", VF_ALC88X_HACK, (char **) &alc883remap}, 
  {0x10ec0899, "ALC899", VF_ALC88X_HACK, (char **) &alc883remap},

在示例硬件上,修改倒数第二行代码有效,但修改倒数第一行相同的代码则失败,这一点非常重要。您需要尝试在不同行上反复修改相同的代码,才能在您的硬件上成功。

例如,在倒数第四行尝试:

 {0x10ec0887, "ALC887", VF_ALC88X_HACK, (char **) &alc883remap}, 
 {0x10ec0900, "ALC1150", VF_ALC88X_HACK, (char **) &alc883remap}, 
 {0x10ec0889, "ALC889", VF_ALC88X_HACK, (char **) &alc883remap}, 
 {0x10ec0892, "ALC892", VF_ALC88X_HACK, (char **) &alc883remap}, 
 {0x10ec0899, "ALC899", VF_ALC88X_HACK, (char **) &alc883remap},

参见

© . This site is unofficial and not affiliated with Arch Linux.

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.