今夜も Wine で乾杯! - 22本目
■ このスレッドは過去ログ倉庫に格納されています
Linux上でWindowsのアプリを動作させるソフトウェア Wineに関する情報交換スレ。 前スレ 今夜も Wine で乾杯! - 21本目 http://mao.5ch.net/test/read.cgi/linux/1502540295/ Wine本家 http://www.winehq.org/ http://wiki.winehq.org/ 動作報告Wikiや過去ログなど http://www.2chlinux.org/index.php?FrontPage ここにパッチをうpするときはgzipやbzip2で圧縮した上で base64などでエンコードしてください。おながいします。 動作報告は>>2 のテンプレ使用を推奨。 ====Wine動作報告テンプレv1.0rc1==== アプリケーション名: アプリケーションのバージョン: Wineのバージョン: ディストリビューションとアーキテクチャ: レーティング: 動作の状態: /*バグ回避方法など詳しく書いてください*/ 動作には以下の作業が必要: /*起動に必要なファイル名の変更やレジストリ編集など*/ 以下のDLLオーバーライドが必要 [AppDefaults??実行ファイル名.exe??DllOverrides] "DLL名1" = "native" "DLL名2" = "native" /*レーティングについて http://appdb.winehq.org/help/?sTopic=maintainer_ratings より意訳 Pratinum: winecfg設定の変更やDLLオーバライドなしで完全動作 Gold: 完全動作するが、DLLオーバライドや、wineDoors,PlayOnLinux等設定ソフトの使用が必要 Silver: とりあえず基本機能は動く。 ゲームの一人プレイはできるがマルチプレイができない 等 Bronze: 起動はするが挙動がおかしい。画面表示の異常やfontの乱れ、動作が遅い 等 Garbage: インストールできない、起動できない、アプリケーションが使用に耐えない。*/ 2chlinux.orgが無いん(´・ω:;.:... >>1 乙です。 Wineのシステムフォントの設定ってMSフォントのままなんだね。 結局、レジストリにキー作って置き換えるしかないのか。 とりあえずこのキーの設定だけで間に合ってる。 HKEY_CURRENT_USER¥Software¥Wine¥Fonts¥Replacements ゲーム内のMPEG/WMV動画を再生可能にする手順 0. クリーンなWINEPREFIXを作る(1.でRegSvr32のエラーが出たら) 1. K-Lite Codec Pack - Basicをインストール https://codecguide.com/download_kl.htm 2. winetricksでquartzをインストール 3. winecfgでwinegstreamerを無効にする 4. K-Lite付属のCodec Tweak ToolでDirectVobSubを無効にする …Program Files/Program Files (x86)下、\K-Lite Codec Pack\Tools\CodecTweakTool.exe …Codec and Filter Management → DirectShow (x**) → DirectVobSubにチェック すぐにスレが落ちていたので、前スレ994を短く書き直して再投稿。詳細はそっち >>1 乙 Janeの次スレ検索でTestスレしかヒットしないからスレ無くなったままだと思ってたわ Steamのゲームに使われてるValve/ProtonがWineをブランチしたものだとか聞いたけど PUBGなんかは動かないし元からProton使ってないとWin専用ゲームをLinuxではプレイできないんじゃないの? >>17 Proton自体は、まだWine本家に正式に入ってない機能を色々入れたもので、 要は幾らかWineHQ側での確認やマージをまだ完了仕切れてない物の入ったWineらしいよ。 で、一番重要であろうDXVK(DirectX10以降をVulkanで再実装して、DirectX9も再実装されはじめてる)はいくつかのディストリのWineでもリンクされはじめてるよ。 manjaloの最新wineでコイカツが普通に動いた。すげぇ 20年くらい前のShockwave Directorで作られたゲームは最近のWineじゃ動かない。 2.xの頃は動いてたんだが「仮想記憶が足りない」ってエラーになる。 >>20 すっごいねソレ。ランス3とか10も動くようになるんかね? レガシー扱いのnvidiaボードだから wine-3.0.3なら動くのに wine-3.19だと動かないゲームが出てくるのかな >>23 OpenGLに翻訳したDirectXがあるから大抵は大丈夫だし、最悪の場合、 レジストリをいじってdirectxのレンダラーをgdiにすればどうにかできますよ。 但し、DirectX12でしか動かないゲームはわかりませんが。 >>24 動かないものはeveonlineなどです、eveはdirectx9が動くタイトル 他タイトルもいくつかあったけど失念 gdiで動かすには負荷率がちょっと心配? なので限界までwine-stableでしょうか どのみちDXVKやProtonを動かすのにnvidia-driver364以上が必要そうで レガシードライバではこれが動かないため直に買い替えを迫られそうです 無双シリーズみたいに動きの激しい奴でも動作するの? >>20 そいつはすげえや ウチのxubuntuはライブラリだ足りんて怒られたわ >>9 の方法で動画は再生られるけど 動画が点滅する、治す方法はない? 環境 wine 3.19 64bit manjaro xfce 64bit 金色ラブリッチェ >>27 起ちあがりはするし、BGMも進める事も出来るけど真っ暗なんよ。 安定版より最新版の方が動くと聞くから試してみようかな ちなubuntuのwine-3.0.3でランス03の体験版ね。 でもDirectX12が動くんだね >>29 体験版でテスト。ゲーム内フォルダにあるConfig.exeで "描写の際に、垂直同期を待つ"をオフにする The Wine development release 3.20 is now available. What's new in this release (see below for details): - Async interfaces and ACF files in the IDL compiler. - Support for substorage transforms in MSI. - RPC/COM marshalling fixes. - Support for Unicode requests in WinHTTP. - Shell Autocomplete optimizations. - Various bug fixes. >>31 製品版、体験版とwine64,32で試してみたけど 治らなかった。 wineのバージョンは何を使っているの? >>33 Ubuntu 16.04 64ビット, Wine-Staging 3.17 他の変更箇所は ・CSMTオフ ・仮想デスクトップをエミュレート ぐらい >>30 普通に動いたぞ。 特に設定はしていない Ubuntu18.10 amd64 Wine-development 3.18 32bit版 >>30 GPUやそのドライバがWineのいうDirectX10に対応していない気がする glxinfoの結果とかで何を使っているか共有してみたら? >>30 レジストリいじって、DirectXのレンダラをgdiにしたら動きそうだけど。 reactosとどっちがゲーム動作するん? steamみたいにdirectx9.0cは勿論11もバンバン動いてくれると嬉しいが Wineが圧倒的に動くはず。 今はDXVKとかあるし(設定が難儀だけど)。 >>39 ついでに聞きたいんだけどもWindowsみたいにあまりコマンド使わずに使えるディストリビューションって何かある? どうせならWindowsと同じ使用感で使いたいからさ Ubuntu使いだがコマンドなんか使った事は無いぞ。 Windowsではファイルチェックでコマンドを使った事はあるけど。 The Wine development release 3.21 is now available. What's new in this release (see below for details): - Typelib marshaller rewrite using NDR functions. - Graphics support on recent Android versions. - Support for memory font resources in DirectWrite. - Joystick support improvements. - Various bug fixes. >>43 Mageiaってどんな感じ?触った感触とか安定性とか。 ググってもMandrivaのフォークって事しか分からんかった。 質問です。DMMGamePlayerSetup.exeをインストールする際に最後辺りで「CoCreateInstance エラー: コード 0x80040154」 とエラーが出てOKをクリックすると下記のようなメッセージが出てきてインストールできません。 「JET RUNTIME HAS DETECTED UNRECOVERABLE ERROR:system exception 0x6c89c743 Please,contact the vendor of the application.Extra Information about error is saved inthe "jet err 43.rxt" file」 できればインストール成功させてPC版ぷよクエをプレイしたいのですがインストール出来る解決策はありますか? 環境はLinux Mint 19 Cinnamon wine-3.0です。 winetricks で MS Jet 4.0 ってのがあったはず Wineが提供するWinAPI群の入出力のログを取る機能って無いのかな? ファイルI/O周りだと思うんだけど理解に苦しむ動作をするので アプリケーションにどのようなデータが渡されているのか調べてみたい >>48 レスありがとうございます。 MS Jet 4.0インストールしてみたら無事dmmgameplayerをインストールできました。 ただショートカットをクリックしてもDMMGamePlayer.exeをwineで開いても起動しません。 windowsのバージョンを7にしたりdirectx9やMS .NET 3.5などをインストールしてもダメでした。 >>50 https://qiita.com/Yutaka_Aoki/items/bdc2ec3f09f7131329e2 この変に fprintf( stderr, ・・・ ); を使ってデバッグ表示する方法が載っている。 Wineのソースに書けばほぼどんな情報も見ることが出来る。 >>52 ありがとう。Wineを改造する必要があるのか まずはビルド環境の構築からか >>50 環境変数 WINEDEBUGに必要な機能を指定すると、コンソールにログ吐くよ。 >>54 そのやり方はお勧めしない。理由: ・自分の思ったとおりの情報が表示される方法がスイッチが用意されているとは限らない。 ・スイッチが多すぎてどれがどれか分からない。 ・仮に表示できたとしても不要な情報が多すぎて解読が難しいことが多い。 ・結局、自分で fprintf(stderr, ・・・) を使って実際に表示してみて、取捨選択するのが 楽。 ・if 文である条件のデータだけを出力するなどできるので効率も良い。 理由: >>55 が無能だから お前だけ使うのやめとけ >>55 とりあえずリダイレクトとteeかなんかでファイルに記録して、後からgrepすればいいのでは?(´・ω・`) >>58 そもそも欲しい情報が出力されない可能性も有る。 >>59 それは流石に、ログ調べた後の次の段階なんじゃ…(´・ω・`) >>59 が本当なら>>55 に書いておくべき 無能の上塗りにしかなってない w fprintf()埋め込みで必要な情報は出せるんだろうけど、そのためにはソースコード上のどの場所に目的の機能が埋め込まれているか理解しないといけない。 プログラム全体の流れと主要な変数、構造体、クラスなどを理解しないといけないので最初は流れを追うためのfprintf()を大量に埋め込む羽目になったりする。 しかも>>52 のリンク先の情報ではコンテキストで動作を切り替えるために関数ポインタを多用しているようなのでコードの字面を追っただけでは目的の場所は見つからないかもしれない。 まずは用意されているデバッグ情報に書かれていることを理解してから、目的の情報がなくても近い情報を出しているところを見つけるのが良いのかな? あとWinAPIで渡される情報を知りたいのなら目的とするAPIを組み込んだ簡単なテストコードをWindows上で作ってWindowsアプリ上で戻り値を見たほうが楽かもしれない。 レスありがとうございます。途中経過です 現象はアプリケーションをリモート(CIFS)に置くとエラー(例外で落ちるわけではない)を吐いて動かないけど ローカルに置くと起動するという物です。Winだとこの現象は再現しません ひとまずWineをいじらずにすむ>>54 の方法を試してみました ログを整理していくとGetDriveTypeWの直後から挙動が変わっているように見えます リモートだと4、ローカルだと3が返りMSDNを見る限り適切ぽくはあります これをWinで再現しようと試みましたがプログラムにデバッグを妨害する細工が されているようでステップ実行が行えず、ラッパーDLLを作るしか・・・な感じになっています The Wine development release 4.0-rc1 is now available. This is the first release candidate for the upcoming Wine 4.0. It marks the beginning of the code freeze period. There have been many last minute changes, so please give this release a good testing to help us make 4.0 as good as possible. What's new in this release (see below for details): - Preloader implemented on mac OS. - Mouse cursor support on Android. - Updates to the timezone database. - Vulkan support updated to the latest spec. - Stream I/O support in WebServices. - Better palette support in WindowsCodecs. - Synchronization objects support for kernel drivers. - Various bug fixes. Wine 開発リリース 4.0-rc1 が入手できます。 これは来る Wine 4.0 に向けての最初のリリース候補です。コードフリーズ期間 の開始になります。駆け込みで多数の変更があったので、我々が 4.0 をできる だけよくする手助けのため、このリリースを十分テストしてください。 このリリースの最新情報 (詳細は以下を参照[訳注:委細省略]): - mac OS 上のプリローダーを実装 - Android 上のマウスカーソルサポート - タイムゾーンデータベースの更新 - 最新の仕様にVulkanサポートを更新 - WebServices でのストリーム入出力のサポート - WindowsCodecs でのパレットサポートの改善 - カーネルドライバーでの同期オブジェクトのサポート - 様々なバグ修正 >>63 なんとなくそれはファイルのロックとかでコケてる感じがする。 マウントするファイル共有じゃなくて、Syncthingみたいなファイル同期ならうまくいくと思う。 途中経過です Wineのログが正しければGetDriveTypeWの引数はディレクトリのパスらしいので 似たプログラムを適当にでっち上げて実行してみると Win7(リモート)→DRIVE_NO_ROOT_DIR(1) Wine(リモート)→DRIVE_REMOTE(4) Wine(ローカル)→DRIVE_FIXED(3) 返値が全然違う。MSDNをよく見たらルートディレクトリを指定しろってあるのでWin7の動作が正解っぽい しょうがないので問題のアプリケーションでどうなっているかラッパーDLLを挟んで調べようとしたけど Win7(リモート)→GetDriveTypeWを呼んでいる形跡がない Wine→ >i386_set_ldt: Invalid argument >Did you reconfigure the kernel with "options USER_LDT"? と怒られて起動出来ない GetDriveTypeWより前の問題っぽいけどデバッガで追えないので何が起こっているのか判らないのがきつい・・・ >>66 アプリケーションをリモートに置いている理由は「ローカルストレージを圧迫したくないから」なので ローカルへコピーするのは無しでお願いします >>67 CIFSってどうやってマウントしてるの? WindowsかSambaのファイル共有をLinuxでマウントしてるんだろうけど、 mount -t cifs以外にも方法はあるので・・・ 一応環境を書いておきます OS:Lubuntu 18.04.1 amd64 Wine:3.0.3 OS:FreeBSD 11.2-R amd64 WM:Xfce 4.12 Wine:i386-3.0.1 ビデオドライバはどちらもnvidiaの340 CIFSの先はWin7 作業しているのはWineの動作状況がマシなFreeBSD 今調べている>>63 で書いた現象はLinuxでもFreeBSDでも発生します もう一本同条件で動作が変わるアプリケーションを見つけました ポータブルにしてあるfoobar2000をリモートから起動すると終了時に プレイリストを保存できないとか言い出して設定情報?が破損するようです これもローカルにコピーするとこの現象は発生しません こりゃWineのファイルアクセス権に関する制御がおかしいのか? だとするとファイルI/O関係APIの総点検になり大事になってしまうが・・・ >>68 $mount_smbfs -I 192.168.x.x -g user -u user -E UTF-8:CP932 //USER@HOST/SHARE01 /mnt/X こんな感じです。mount -t smbfsはなぜかマウントさせられなかったです これもパッチ当てるなりしてUnicodeのままマウントできるようにしないといけないのですが >>69 CIFS以外のリモートファイルシステム、例えばNFSが動く装置をでっち上げられるでしょうか? その装置を、件の待避ドライブの代わりに使ってあれこれやってみたらどうなりますか? あと、蛇足ですが大戦略パーフェクト4が動かせるのですが、セーブするデータが壊れやすくて、 あれこれやりとりしてメーカに故障したデータ送ってなかなか治らないで待っていたら、 類似ケースの書き込みがあって、 Win10上で遊んでる方がSSD上ではデータが同じく壊れ、WIN7のHDDにインストールしたら壊れない。 とPCゲーム板で書いてましたね(´・ω・`) 相当厄介な話かも知れませんよ。 棒読みちゃんとボイロは動くけど棒読みちゃんのVoiceroidTalkPlusプラグインは動かないのか NFSならセキュリティガバガバだけどいけるかもな。 WineとWinで同じデバッグ環境を用意できないし デバッグ妨害細工のおかげで出来ることが限られ こういう状況の打破に役立つ情報はネット上にもほとんど無い 実践的なリバースエンジニアリングに役立ちそうな情報と言ったらトラベシアと @ITのリバースエンジニアリング入門くらいしか知らないし しかも直接的には役立たない。っと愚痴っても進むわけではないのだがorz >>70 ,72 ありがとうございます。NFSですか・・・すぐには難しそうですが試してみたいと思います >相当厄介な話かも知れませんよ。 うへぇ・・・同期の問題だと非常にやっかいですよね 一応比較的お手軽かつ効果がありそうな方法として仮想ディスクを作ってそれに入れてしまう という手がありますが、メンテナンスが面倒になりますし最終手段ですね EK Switch HitterのWindows版 in Wine で キー入力を調べていたところ Pause/Break が何故か NumLock として認識されます xmodmap でも xev でもちゃんと Pause (+Ctrl で Break)となっているので Wine か EK Switch Hitter のどちらかで間違いがあるのではと考えられます おま環でないことの確認と Wine or EKSH のどちらが原因か知りたいので 生のWindows環境をお持ちのかた あるいは確認してくださるかた いらっしゃいましたらご協力いただけないでしょうか https://elitekeyboards.com/switchhitter.php >>74 やってみたら、WindowsだとPauseになる。だからWineが駄目 Windowsだと下の欄に「Pause (0x13, BIOS 0xE11D)」って出てくるけれど、 Wineだと同じ場所に「Num Lock (0x13, BIOS 0x45)」って表示される CTRL + _ (アンダースコア) も、多分おかしい可能性があるかも。 WzEditor ではこのキーにキー・マクロ記録開始命令が割り付けられているが、 Wine では動作しない。 >>76 Wineのバージョンは? Wine 3.14以降でも同じ? >>77 実験したのは、Wine 3.1 系。 それより新しいバージョンでは分からない。 >>76 キー関係は取れないね IMEでふりがな取れないのを調査しててわかった The Wine development release 4.0-rc2 is now available. What's new in this release (see below for details): - Bug fixes only, we are in code freeze. 4.0-rc? になってから docuworks viewer のメニューの日本語文字が薄くなった。 ウェイトの細いフォントを使っているのも関係しているかも知れないのだけど、 メニューの文字が*薄いグレー*で読み辛い。4.0 から fontconfig の設定を優先 してくれるのはありがたいんだが、フォントの表示を濃くするにはどこを見れば いいだろう。 xrdb -query | grep -vE 'Xft\.(anti|hint|rgba)' | xrdb とか >>82 サンキュ。自分は非推奨の .Xdefaults で設定しているんだが、 Xft.antialias: true Xft.rgba: rgb を追加したら治った。 HDC をプロセスの垣根を越えて渡せる、恐らく唯一の貴重な Win32 API であるところの PrintWindow() API が、Wine では働かないらしい: https://mevius.5ch.net/test/read.cgi/tech/1474384848/338-339 WineHQのリポジトリ昨日からエラーにならない? The WineHQ repository key was changed on 2018-12-19. あ、それが原因だったの? git clone してから、ローカルで色々いじって、初めて、git pull してみて エラーが出たので、こっちの問題だと思った。なんせ、生まれて初めての pull だったもんで。 >>84 実験してみたら、Wine では、PrintWindow() は実装されてないが、 WM_PRINTとWM_PRINTCLIENTは一応実装されてはいる。 しかし、本来 WM_PRINT では出力可能な、タイトルバーやスクロールバーなどの NON CLIENT 領域が出力できない(CLIENT 領域のみ出力できる)。 ただし、WM_PRINTxxxx で、実験したのは、同一プロセスの HWND に対してのみ。 なお、本家 Windows では、PrintWindow() では他プロセスの HWND からの 出力を自分の HDC に出力できるが。WM_PRINTxxxx については 本家でもそこまでは実験してないので不明。 WineのWindowsアプリからSambaのドライブへファイルをコピーしたらタイムスタンプが変わっちゃったんだけど、これって普通なの? >>90 LinuxとWindowsはLocalTimeが違うってことはよくある Windowsの時間設定でUTC Timeに変更すると解決 https://wiki.archlinux.jp/index.php/ 時刻#Windows_.E3.81.A7_UTC_.E3.82.92.E4.BD.BF.E3.81.86 wineのアプリケーションって最初の起動はすごく遅いのにそれ以降の起動は早いですよね。 Linuxが起動したときにwineの小さなアプリケーションを背後で(デーモンのように)稼動させて wineアプリケーションを早く起動する方法とかありませんかね。 システムが変わるたびにアプリの起動時間が気になるんだけど、 Zorin OS Liteに移行したら二度目以降の起動もほとんど速くならない。 IrfanViewの起動に毎回10秒近くかかる。 Zorin OS Liteは全体的にメモリ使用量が少ない気がするけど、 メモリ管理の仕方とか違うの? でもUbuntu16.04ベースだしそれもないか? プリインストールのWineでアプリがいくつかエラーで起動できなかったので、 WineHQのdevelopmentを入れ直してます。 そういえば、Win7だと、HDDの速度がもろにOSの体感速度に影響することがある。 多分、莫大なサイズのバイナリ・ファイル(ライブラリなど)をアプリの起動時に 読み込むからではないかと思う。実際、古いHDDにインストールしたWin7が 遅かったので、タスクマネージャーで色々と調べてみたら、アプリが なかなか起動してくれない間でも、CPUもメモリもた大して使ってないように思えた。 イチかバチか、PartedMagic の CD を起動して、速いほうのHDDの パーテョションをリサイズして、新しいパーティションを追加して、そこに Win7をインストールしなおしたら、嘘のようにOS全体の体感速度が上がった。 >>98 いや、その古い HDD は、HDBENCH で測定しても物凄く遅いので、 デフラグ関係ないと思う。 >>99 IDE?ATA60とか? だとしたらそんな古いもんを後生大事してる精神が理解できない。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.0 2024/04/24 Walang Kapalit ★ | Donguri System Team 5ちゃんねる