lubuntuでWineでfoobar20002020年03月15日 15:41

ESXi6.7でUSB Audioが使えなくなり、どうしたものかと。

とりあえず、古いWindowsXPのノートPCを引っ張りだし、foobar2000を動かして凌いだが、そのままにもしておけない。同じく古いノートPCだが、Linuxをセットアップして、Wineでfoobar2000を動かしてみる。

foobar2000をlubuntuで

古いPCなので、軽いものでと、Linuxはlubuntu。最初、18.04にしてみるが、ときどき音が割れ気味。やはり重いかと、16.04に落ち着く。
以下、セットアップ手順。18.04に比べると、16.04は少々面倒。

・CPUは、Pentium M。PAEは載っているらしいが、インストーラが判別できない。メッセージに従い、F6を押して、オプションを追加。末尾の"--"を"forcepae -- forcepae"にして、実行。

・リモートログインには、xrdpを設定。
lxdeでログインできないときは、mateでログインできる。mate-sessionをインストールして、 .xsessionにmate-sessionを記述。
または、/etc/xrdp/startxdm.shの最後にある、". /etc/X11/Xsession"を、"lxsession -s Lubuntu -e LXDE"にしてlxdeを貫く。
どちらの場合でも、lxdeのパッケージ群の追加インストールが必要かも。
ノートPCでは、電源設定を忘れない。蓋を閉じても落ちないようにする。

P.S. logind.confの設定が必要だった。

winecfg

・wine
漢字が出ないときは、"winetricks fakejapanese"でフォントをインストール。"winetricks allfonts"も必要かも。
winecfgでAudioタブを見て、Driverがwinealsa.drvになっていることを確認。なっていない場合は、winetricksをGUIで起動して、設定のページで、"sound=alsa"をチェック。

aplayで確認

・サウンドデバイスの確認
"/proc/asound"でOSが、鳴らしたいデバイスを認識しているかを確認。aplayやspeaker-testで鳴らしてみる
確認後、改めてwinecfgのAudioタブで、Output deviceの一覧からデバイスを選択。一覧に出てこない場合は、ログアウトしてログインし直す、再起動する、などで出てくるはず。ちょっとしたタイミングの問題がある。

・NAS上の音楽ファイルを鳴らすなら、cifs-utilsをセットアップして、mount。自分のHomeのMusicの下あたりでいい。必要に応じ、"/etc/fstab"の設定など。
NASにセットアップしたUPnPの楽曲管理サーバを参照するのでもいいが、ファームの更新などで参照名が変わり、playlistの更新が必要になることがあるので、フォルダ参照が楽。

・foobar2000のセットアップ
wineからインストーラを起動。UPnPで制御したいときは、UPnPのモジュールを追加。WASAPIで鳴らしたいときは、WASAPIのモジュールを追加。XPでは、WASAPIモジュールは未対応なので、一歩前進。
手許の環境では、DirectSound(DS)は、音量調整が効かず、WASAPIを設定。eventモードは動作せず、pushモードを選択。設定すると、排他が利いて変更できなくなる。再起動などで対処。
ASIOモジュールは、ドライバがないといわれ、設定不可。

P.S. 排他モードのWASAPIでは、再生できないMP3があり、sharedのWASAPIに入れ替え。VBR V0がうまくいかない。FLACに変換しても不可だった。

album list作成中は、音が割れたりと、CPUの能力不足気味だったが、落ち着くと、なんとか。CDをリッピングしたFLACの再生でCPU使用率30%くらい。とはいえ、lubuntu16.04もサポート切れ間近。1年くらいのうちには、機種更改をせねば。

P.S. wineのmemory leakが発生し、数日で止まる事態に。仕方ないので、18.04に更新。wineも3.0に更新。memory leakは止まったが、bit rateの高いFLACの再生はつらそう。