はじめに
なぜWindowsのモデラーをわざわざLinuxで使いたいのか。WindowsのMetasequoiaには、Pythonスクリプトで色々仕事ができる機能があります。
今回、あこがれのレンダラーMentalrayのシーン記述をメタセコイアから出力しようと検証しているところで、Linux版のMentalray for maya standaloneフリー版を使いたく、WindowsのMetasequoiaをLinuxにインストールしようとして、うまくいかないところから始まりました。
LinuxのWineは、仮想化環境ではなく、素のWindowsアプリをLinux上で動かしてしまう技術です。6年前にWineを使ってmetasequoia3.16を解凍してLinux Lite4にインストールした経験を思い出し簡単に行くだろうと思っていたところでした。
Debian 12 (Bookworm) 上の Wine8.0環境において、最新のWindows版3Dモデラー(Metasequoia4.91 や Wings3D 2.4.1)のビューポートが真っ黒・フリーズ・あるいは画面が透けてしまう致命的な描画バグに直面し、そこから完全勝利するまでのトラブルシューティングの記録です。
同じように Linux 上でのモダン DirectX 11 / OpenGL アプリの描画エラーに悩む方の参考になれば幸いです。
🛑 直面した問題とエラーの本質
現象
- Metasequoia 4.9.1 (64bit): 起動はするものの、3Dビューポート(グリッド画面)が真っ黒、またはグレーのまま表示エラーになる。
- Wings3D: 同様に3D画面が表示されない。
- Metasequoia 3.1.6 (レガシー版): 「ソフトウェア表示(CPU描画)」なら映るが、Direct3D/OpenGLに切り替えると青い画面のままフリーズする。
原因の特定(ログの解析)
簡易3Dテストツール(d3d9test.exe)を実行した際、以下の致命的なエラーを観測しました。
GL_INVALID_FRAMEBUFFER_OPERATION in glClear(incomplete framebuffer)
winediag:wined3d_resource_allocate_sysmem Failed to allocate system memory.
GL_COLOR_ATTACHMENT0: 2d texture 11, 0x0, 0 samples
-
本質的な原因: Debian 12 標準の Wine 8.0 が持つ OpenGL/X11 翻訳エンジンが、Linux 側のグラフィックドライバ(Mesa/Radeon)と上手く噛み合わず、3D を描画するための裏画面(フレームバッファ)のサイズを
0x0(縦0×横0ピクセル) として要求してしまい、メモリ確保に失敗してフリーズしていました。 - 途中で
dxvk(Direct3DをVulkanに変換するライブラリ)の導入も試みましたが、新旧のDLLやレジストリが衝突し、内部で深刻な競合を起こす悪循環に陥りました。
🛠 解決に至ったアプローチ(3ステップ)
最終的な解決策は、「汚れた環境の完全リセット」「依存関係を壊さない Wine 9.0 へのアップグレード」「仮想デスクトップによる 0x0 バグの強制上書き」 の3つでした。
1. 依存関係を壊さず「WineHQ公式最新安定版」へ乗り換える
Debian 12 標準の Wine 8.0 に見切りをつけ、フレームバッファ周りが大幅に強化された Wine 9.0 以降の公式 Stable 版へアップグレードします。
# 旧バージョンの完全削除
sudo apt purge -y wine wine64 wine32 winetricks
sudo apt autoremove -y
# 32bitアーキテクチャの有効化
sudo dpkg --add-architecture i386
# WineHQ公式の署名鍵とDebian 12(bookworm)用リポジトリの追加
# 鍵を保存するフォルダを作成
sudo mkdir -pm755 /etc/apt/keyrings
# 公式の署名鍵をダウンロード
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
# Debian 12用の公式リポジトリ(ソースリスト)を追加
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bookworm/winehq-bookworm.sources
# パッケージリスト更新とインストール
sudo apt update
sudo apt install --install-recommends -y winehq-stable
2. 環境の完全クリーンリセット
これまでの実験で濁ってしまった WinePrefix(.wine)を一度完全に削除し、真っ新な Windows 10 環境を再生成します。
rm -rf ~/.wine
winecfg # Windows 10に設定されていることを確認して閉じる
3. 【最重要】仮想デスクトップの引数でウインドウサイズを固定起動
0x0 ピクセルバグを回避するため、Wine 本体の直後に解像度引数を渡し、仮想デスクトップの「四角い箱」のサイズを強制固定して起動します。
wine explorer /desktop=Metaseq,1280x768 "C:\Program Files\tetraface\Metasequoia4\Metaseq4.exe"
🎉 結果とまとめ
- 成果: Metasequoia 最新版 (Ver4) および Wings3D において、Direct3D 11 / OpenGL ともに完璧にグリッドが表示され、マウスドラッグによるビューポートの回転(カメラ連動)がヌルヌルと動作するようになりました!
-
教訓: 3D描画がおかしい時、個別の 3D アプリ側の設定やマニアックなDLL(
dxvkなど)を重ねがけするのではなく、「OSとWineを繋ぐ根底のパイプ(Wineのバージョン自体)」を見直すこと が最善の近道であると学びました。
💡 補足:環境構築後の仕上げ(日本語フォント)
新しい Wine 環境で日本語の文字化け(豆腐)を直すには、最新の winetricks を直接落として cjkfonts を流し込むのが確実です。
wget [https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks](https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks)
chmod +x winetricks
sudo mv winetricks /usr/local/bin/
# 日本語フォントのインストール
winetricks cjkfonts
これで Linux (Debian 12) 上に、モダンかつ実用的な 3D モデリング&スクリプト検証環境が完成しました!
感想
当初のwine8.0では、winecfgの設定がwindows7になっており、windows10に変更適用してから、メタセコイアをインストールしているとランタイムエラーになり、さらにランタイムを単独でインストールしようとすると、勝手にwindows7環境に変更されたりしました。
ネットの記事で見かけたwinetricks dxvkを入れてみたり、何回もwinecfgを立ち上げ、d3d関連ライブラリを削除したり、ダウングレードwinetricks dxvk1103を入れてみたり、全部削除して仕切り直し、古いdirect3dで動くかどうかためしていて、Wine8.0がだめということがわかり、debian12にWine最新バージョンをインストールするにあたって依存関係等心配になったところでした。Wineのサイトが対応していて助かりました。
Windowsの仮想環境をOS全体をインストールするよりは、今回の何回も手順を検討しながら、原因を突き止められたのは良かったです。OSインストールの待ち時間はなく、手順を検討していく作業そのものが面白いのかもしれません。諦めようと思ったところで、初心に戻る。一番確実な初めの一歩が大切ですね。ありがとうございます。
$ wine --version
wine-11.0
~$ wine explorer /desktop=Metaseq,1280x768 "C:\Program Files\tetraface\Metasequoia4\Metaseq4.exe"
