Linuxでもバ美肉したい!EX-1「Linuxでバ美肉する上での3つの壁」

なおです。現実世界で人生の分岐点に直面中?のためこっちに時間を割く余裕(精神面も含む)がなかったのですが、少し時間が余ったのでLinuxバ美肉のハードルについて書きます。

この記事は「Linuxでもバ美肉したい!」シリーズの番外編です。本編(第n回 n>=0)を読まなくても大丈夫なように配慮して執筆していますが、本編の内容と一部重複している可能性があります。気になったら本編も読んでみてください。
本編を含むマガジンはここから↓

※2022/05/06追記:まとめを本編に沿ったものに変更しました。

互換性の壁 -エミュレータを頼るか クロスプラットホームを頼るか-

Linuxでバ美肉する場合、最も成功率の高い安定受肉チャートはBlender→FaceVTuberの3D肉体&生声チャートである。なぜか。

それはLive2D Cubism EditorがLinuxでの動作保証外であるからだ。WINEというエミュレータのような動作をするラッパーソフトウェアを使ってもなお(私調べでは)文字化けした状態での作業を強いられる。FacerigなどのSteamで配布されているWindows向けソフトも同様だ。私の技術力ではFacerigを動作させることすらできなかったことが、本編の第0回にて記録されている。

美少女の声帯を得たい場合もこの問題はのしかかってくる。バ美声・恋声などの主要なボイスチェンジソフトウェアが使用できず、VSTプラグイン形式のボイスチェンジャーもそのほとんどがWindows向けであることを示すdll形式のみでの配布である。Graillon 2という例外こそあるものの、VSTを使うなら基本的にはラッパーをインストールし、使い方を覚える必要がある。LinuxとWindowsの双方に対応するDAWが少ない点も、VSTプラグインチャートの逆風のひとつだ。

バ美肉を支える多くのソフトウェアはWindows(とMac)のみに対する動作保証が行われているため、Linuxでバ美肉したい人はLinuxに対応するツールを使うか、WINE(またはSteamPlay)を用いて動かすしかないのだ。

ツールの壁 -少ない手札 貴重な情報源(英語)-

この記事を書く前に私は、Manjaro Linux上でWINEを用いてバ美声β版v0.402の動作検証を行った。起動できない場合に備えてTerminalから実行したところ、以下の膨大なログ(約5000字 読まなくていいよ)が得られ異常終了した。起動しなくなったのはv0.300のころからであり、その頃と同様の問題であると思われる。

0024:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0024:fixme:ntdll:EtwEventRegister ({319dc449-ada5-50f7-428e-957db6791668}, 1002A1A0, 10082460, 10082478) stub.
0024:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 10003241, 28) stub
0024:fixme:ntdll:EtwEventRegister ({319dc449-ada5-50f7-428e-957db6791668}, 00D9B8F0, 012E1058, 012E1070) stub.
0024:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 00BB09AD, 28) stub
0024:fixme:kernelbase:QuirkIsEnabled3 (0031F4E0, FFFFFFFF) stub!
0024:fixme:heap:GetNumaHighestNodeNumber semi-stub: 0031FC14
0024:fixme:ntdll:EtwEventRegister ({e13c0d23-ccbc-4e12-931b-d9cc2eee27e4}, 00ED4330, 012E1100, 012EC108) stub.
0024:fixme:ntdll:EtwEventRegister ({763fd754-7086-4dfe-95eb-c01a46faf4ca}, 00ED4330, 012E2258, 012E22C8) stub.
0024:fixme:ntdll:EtwEventRegister ({a669021c-c450-4609-a035-5af59af4df18}, 00ED4330, 012EAC30, 012EC118) stub.
0024:fixme:ntdll:EtwEventRegister ({cc2bcbba-16b6-4cf3-8990-d74c2e8af500}, 00ED4330, 012E1220, 012E1288) stub.
0024:fixme:seh:WerRegisterRuntimeExceptionModule (L"C:\\windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscordacwks.dll", 00BA0000) stub
00bc:err:ole:CoGetContextToken apartment not initialised
0024:fixme:path:parse_url failed to parse L"PresentationFramework"
0024:fixme:path:parse_url failed to parse L"WindowsBase"
0024:fixme:path:parse_url failed to parse L"System.Core"
0024:fixme:path:parse_url failed to parse L"System"
0024:fixme:path:parse_url failed to parse L"System.Configuration"
0024:fixme:path:parse_url failed to parse L"System.Xml"
0024:fixme:path:parse_url failed to parse L"System.Numerics"
0024:fixme:path:parse_url failed to parse L"System.Security"
0024:fixme:path:parse_url failed to parse L"System.Xaml"
0024:fixme:path:parse_url failed to parse L"Accessibility"
0024:fixme:path:parse_url failed to parse L"PresentationCore"
0024:fixme:path:parse_url failed to parse L"UIAutomationTypes"
0024:fixme:path:parse_url failed to parse L"System.Windows.Input.Manipulations"
0024:fixme:path:parse_url failed to parse L"UIAutomationProvider"
0024:fixme:path:parse_url failed to parse L"System.Deployment"
0024:fixme:path:parse_url failed to parse L"ReachFramework"
0024:fixme:path:parse_url failed to parse L"PresentationUI"
0024:fixme:path:parse_url failed to parse L"System.Printing"
0024:fixme:path:parse_url failed to parse L"WindowsBase"
0024:fixme:path:parse_url failed to parse L"System.Core"
0024:fixme:path:parse_url failed to parse L"System"
0024:fixme:path:parse_url failed to parse L"PresentationCore"
0024:fixme:path:parse_url failed to parse L"System.Xaml"
0024:fixme:ntdll:EtwEventRegister ({e13b77a8-14b6-11de-8069-001b212b5009}, 05A27030, 05AFD008, 05B02F88) stub.
0024:fixme:nls:LCIDToLocaleName unsupported flags 8000000
0024:fixme:nls:get_dummy_preferred_ui_language (0x8 0031CE30 00000000 0031CE34) returning a dummy value (current locale)
0024:fixme:nls:get_dummy_preferred_ui_language (0x8 0031CE30 038BEC98 0031CE34) returning a dummy value (current locale)
0024:fixme:nls:CompareStringEx semi-stub behavior for flag(s) 0x8000000
0024:fixme:ntdll:EtwEventRegister ({6a7dfda1-a101-5a70-eade-2ecfec4034d8}, 05D302EE, 00000000, 016FA308) stub.
0024:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 016FA2C0, 64) stub
0024:fixme:path:parse_url failed to parse L"System.Configuration"
0024:fixme:path:parse_url failed to parse L"System.Xml"
0024:fixme:path:parse_url failed to parse L"System.Data.SqlXml"
0024:fixme:ntdll:NtQuerySystemInformation (0x000000ce,0x31db54,0x00000008,(nil)) stub
0024:fixme:bcrypt:BCryptGetFipsAlgorithmMode 0x31d984 - semi-stub
0024:fixme:ntdll:EtwEventRegister ({e13b77a8-14b6-11de-8069-001b212b5009}, 05D304BE, 00000000, 0031ECFC) stub.
0024:fixme:ntdll:EtwEventRegister ({2e5dba47-a3d2-4d16-8ee0-6671ffdcd7b5}, 05D30536, 00000000, 01743C0C) stub.
0024:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 01743BDC, 40) stub
0024:fixme:ntdll:EtwEventRegister ({8e9f5090-2d75-4d03-8a81-e5afbf85daf1}, 05D3055E, 00000000, 0174640C) stub.
0024:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 017463D0, 51) stub
0024:fixme:path:parse_url failed to parse L"babigoe_beta0402.resources"
0024:fixme:path:parse_url failed to parse L"babigoe_beta0402.resources"
0024:fixme:path:parse_url failed to parse L"NAudio"
0024:fixme:msg:ChangeWindowMessageFilter c02f 00000001
0024:fixme:dwmapi:DwmAttachMilContent (00010052) stub
00c0:fixme:driver:GdiEntry13 stub
info:  Game: babigoe_beta0402.exe
info:  DXVK: v1.7.1-7-g41a49a9
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
warn:  OpenVR: Failed to locate module
info:  Required Vulkan extension VK_KHR_surface not supported
terminate called after throwing an instance of 'dxvk::DxvkError'

abnormal program termination
00c0:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
00c0:fixme:ntdll:EtwEventUnregister (deadbeef) stub.

私にはこのログが示す問題点を正確に把握できない。「wine OpenVR」などで検索しようとすれば候補にwarnの行と同様のメッセージが出現し、検索して出てくるのは英語のページだけである。

ただでさえ選択肢が少ないのに、ツールの運用のための情報が英語でしかなかったり、特定分野の知識が求められたりする。最も安定している受肉チャートにあげたBlenderでさえ3Dモデリングの知識が必要なのだ。こうして選択肢が更に減っていき、なくなった人からLinuxでのバ美肉を諦めていくのである。

コンテンツの壁 -PC版あるよ え、Linux?何それ?-

これらの壁を超えた先にあるのは、互換性の壁とほぼ同じ材質のこれだ。特に「ゲームをプレイする」ことが活動・配信内容に含まれる場合の影響が大きいので、ゲームの場合で例えることにする。

一般的にPC版のゲームと言われた場合、対応するOSにWindowsが含まれることを前提とする人は多いだろう。Macが含まれることは割とあるが、その中にLinuxが含まれないことの方が多い。活動の準備において直面した問題が、活動内容の選択肢に影響する問題として再来するのだ。ここでもまた、ツールに頼るか諦めてWebブラウザで動作するゲームにするか選択する必要がある。

まとめ -Linuxだと苦労するよ-

ここまでLinuxでバ美肉する場合のハードルを語ってきたが、そのほとんどがLinuxに対して動作保証されていない点に起因する。特にバ美肉に使用される標準的なツールのほとんどが動作保証範囲外なのが痛すぎる。出来そうと思っていたチャートでも未だ受肉確認出来ておらず、私の中でもLinuxバ美肉の敷居の高さがやばい。
とはいえ、本編に更新があったように、Kalidofaceの登場により敷居が大きく下がった。新しくなった本編の結論をざっくり要約し最初の番外を終了しようと思う。ここまで読んでいただいてありがとうございました。

Linuxでバ美肉ぅ?出来なくはないけど…資質がないと後悔するぞ。覚悟、出来てんだろうな?

いいなと思ったら応援しよう!