~/.asoundrc

~/.asoundrc

そこで、私は次のように動作するマルチライブラリ設定を持っています。スラックブック手順。私は、32 ビット Windows プログラム (Skyrim および Deus Ex: Human Revolution) で wine を正常に動作させています。また、ネイティブ 64 ビット プログラム用に pulseaudio を正常にインストールして構成しています。通常、pulseaudio --killwine を使用する前に pulseaudio を強制終了します。そうせずに何かを実行すると、起動元のターミナルに次のポップアップが表示されるためです。

fixme:win:EnumDisplayDevicesW ((null),0,0x33f7d8,0x00000000), stub!
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused

この次の部分は、 Slackbook の multilib ページで必要だと気づいたexport ARCH=i486後にを追加することで解決し. /etc/profile.d/32dev.shました。この修正により、少なくとも json-c と speex (slackbuilds.org の pulseaudio の指定された依存関係) を i486 パッケージとしてコンパイルし、次に convertpkg-compat32 を使用して compat32 パッケージに変換してインストールすることができました。

推奨されているものを試してみました

# . 32 ビットの 32 ビット ファイルシステムをサポートします。

を実行する前に sbopkg -b pulseaudio、 を実行しましたが、結果として得られるパッケージは i486 パッケージではなく x86-64 パッケージのままになります。また、Slackware のディストリビューションには pulseaudio がネイティブに含まれておらず、Alienbob の slackbuilds リポジトリにもコンパイル済みバージョンがないため、実行できる 32 ビット バイナリ パッケージを見つけることができませんでしたconverpkg-compat32

しかし、残る問題は、これらの依存関係をコンパイルするために使用したのと同じ方法を使用して pulseaudio をコンパイルしようとすると、次の結果になることです。

daemon/pulseaudio-caps.o: In function `pa_drop_caps':
/tmp/SBo/pulseaudio-5.0/src/daemon/caps.c:85: undefined reference to `cap_init'
/tmp/SBo/pulseaudio-5.0/src/daemon/caps.c:86: undefined reference to `cap_clear'
/tmp/SBo/pulseaudio-5.0/src/daemon/caps.c:87: undefined reference to `cap_set_proc'
/tmp/SBo/pulseaudio-5.0/src/daemon/caps.c:88: undefined reference to `cap_free'
collect2: error: ld returned 1 exit status
make[3]: *** [pulseaudio] Error 1

この次の問題は、libcap と GConf を compat32 パッケージとしてインストールし、pulseaudio.Slackbuild スクリプトを再実行することで修正しました (この場合も、上記のパッケージと同様に 32dev 環境で実行します)。

これは、Slackbuilds.org に記載されていない、依存関係としてインストールする必要があるライブラリが不足しているという問題でしょうか? このような状況に遭遇するのは初めてではありませんが、必要なライブラリを探す場合、通常、私のエラーの方が少し役立ちます。

pulseaudio をインストールしたら、 を実行してwinecfgサウンドをテストしました (注: の両方でこれを試しましたが/usr/bin/pulseaudio --start、うまくいかなかったので、サーバーを強制終了して で試しました/usr/bin/32/pulseaudio --start。どちらも同じ結果になりました)。結果として、次のエラー メッセージが表示されました。

ALSA lib dlmisc.c:252:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib64/alsa-lib/libasound_module_pcm_pulse.so
ALSA lib dlmisc.c:252:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib64/alsa-lib/libasound_module_pcm_pulse.so
libgcc_s.so.1 must be installed for pthread_cancel to work

/usr/lib64/alsa-lib/libasound_module_pcm_pulse.so をバックアップし、その場所に /usr/lib/alsa-lib/libasound_module_pcm_pulse.so へのシンボリックリンクを作成し、ファイルをコピーしてみましたが、どちらも表示されるエラーメッセージにはまったく影響しませんでした。また、環境変数をALSA_MIXER_SIMPLE_MODULESに設定してみましたが/usr/lib/alsa-lib、それでも効果はありませんでした。アイデアが尽き始めています。

Slackware では、ほとんどのユーザーがこれを使用することに興味がないようで、これはかなり未知の領域であることは承知していますが、実行できない理由はないので、このパッケージをコンパイルしてインストールするための賢明なアドバイスを誰かが持っているかどうか知りたいだけです。誰かがこの状況を直接経験したことがあるなら、なおさらです。

答え1

したがって、各ステップの後にテストを行うことが、この問題の大きな原因となっているようですwinecfg(それでも、編集の最後の質問で発生したのと同じエラーが発生します)。重要なことは、その過程で、実際に wine で win32 アプリケーションを使用すると、動作し始めたことです。

今後これに関心を持つ人にとって関連のある情報は次の通りだと思います:

  1. のいずれかを使用する前、または .Slackbuild スクリプトを実行するexport ARCH=i486前に、 に加えて を必ず実行する必要があります。これは実際には Slackbook の説明に記載されていますが、見落としやすいようです (少なくとも、私は個人的に見落としていました) ので、念のためここに記載します。. /etc/profile.d/32dev.shsbopkg -b
  2. およびcompat32 形式の が必要なことに加えて、および compat32 形式の も必要ですjson-cが、これは Slackware (Slackware64 ではなく) から両方のパッケージを取得することで実現できます。speexlibcapGConf「L」パッケージセットに含まれています。他alsa-pluginsにもいくつかのパッケージが必要ですが、これらはすべて、マルチライブラリSlackbook の指示。
  3. 当然、適切な場所に送信するには、適切な ALSA 構成ファイルが必要になります。これは私が遭遇した問題ではありませんが、以下に私の作業用の ~/.asoundrc ファイルを記載します。
  4. 最後に、winecfg のようなものではなく、実際の win32 プログラムで動作しているかどうかを確認します。winecfg では、前回の質問で報告したのと同じエラーが引き続き発生しますが、オーディオ設定を「システム デフォルト」に設定したままにしておいても問題は発生しません。wine は pulseaudio を直接サポートしておらず、ALSA 互換性レイヤーを通じてのみ使用しているため、この動作が心配するほどのものではないと思います。

~/.asoundrc

pcm.!default {
    type pulse
}
ctl.!default {
    type pulse
}

pcm.phononpulse
{
   type plug

   slave.pcm
   {
      type pulse
   }

   hint
   {
      show on
      description "PulseAudio"
   }
}

pcm.pulse {
    type pulse
    hint {
        show on
        description "PulseAudio"
    }
}

いずれにせよ、これが、私の後にこの問題に遭遇する人にとって良い参考資料となることを願っています。そうでない場合は、新しいシステムをセットアップするたびに、必ずこれを参照する必要があるでしょう。

関連情報