[過去ログ] 今夜も Wine で乾杯! - 23本目 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
666: 2022/03/06(日)18:15 ID:uKLXplsS(1) AAS
最近Wineで動いたリストとか無いかな?
667: 2022/03/06(日)22:15 ID:Am7l6QcV(1) AAS
Fusion360が動くのが嬉しいw
668: 2022/03/12(土)13:26 ID:ifxPiYI0(1) AAS
The Wine development release 7.4 is now available.

What's new in this release:
- 'Light' theme enabled by default.
- Bundled vkd3d library.
- WineD3D, D3D12 and DXGI modules converted to PE.
- More large scale cleanups to support 'long' type.
- Various bug fixes.
669: 2022/03/29(火)19:44 ID:TVaWVC8Y(1) AAS
Office365が動かん・・・
Windows.Security.Authentication.OnlineId.OnlineIdSystemAuthenticatorでerrがでるな。
670: 2022/04/10(日)09:49 ID:k5EP0B7X(1) AAS
janestyleが wine 7.4.1あたりで動作不安定になったので
playonlinux のwine 6.17 x86に移行(今書き込んでます)

以前紹介のあったbottlesも試したけど
Janestyleを登録するところでbottlesが強制終了するので保留中
bottlesはまだ参考情報が少ないのが悩み
671
(2): 2022/04/17(日)07:19 ID:ONuqPY9B(1) AAS
Windows3.1時代の16bitアプリ動かない…
672
(2): 2022/04/17(日)07:35 ID:cYFH+4CE(1) AAS
16ビットプログラムは非対応でなかったかな
673
(3): 2022/04/17(日)08:51 ID:iZt/TDlj(1) AAS
>>671-672
WineはWindowsと違ってx86_64上でも16bitアプリに対応しているよ
ただしDOSBoxをインストールする必要あり

このSameGameで64bit Windows 10で動かないけどWine 7.0で動くことを確認済み
外部リンク[html]:www.vector.co.jp

16bitアプリはNT系Windowsではntvdmを利用していて、nvvdmはx86_64のlongモード非対応の
仮想8086モードを使用するので32bit Windowsでしか動作しないけど、Linuxの32bit Wineのwinevdmは
DOSBoxの8086、80286エミュレーション機能を自動的に利用するので16bitアプリも動作する

ちなみにWindowsに32bitアプリとしてWineとwinevdmを移植したものがあって
これを使うと64bit Windowsでも16bitアプリが動かせるはず
省1
674
(1): 2022/04/18(月)15:29 ID:FL8qeWrS(1/2) AAS
>>673
そのwinevdmをビルドしてみて?
675: 2022/04/18(月)15:48 ID:FL8qeWrS(2/2) AAS
>>674
汎用freewareレベルなら16bitアプリは確かに動くなしかしだから証明された訳でもない。
676
(1): 2022/04/19(火)00:09 ID:6BsM3YVq(1/2) AAS
>>673
16ビットと言っても
?DOS用で、リアルモードまたは仮想8086モード向けのコード
?Win3.x用で、16ビットプロテクトモードまたは16ビット互換モード向けのコード
の2種類あって、

i)32bitWindowsの場合、?は仮想8086モードに移行して直接動作(ntvdm)、?は16ビットプロテクトモードに移行して直接動作(wowexec)

ii)32bitlinux上のwineの場合、?は仮想8086モードに移行して直接動作(vm86システムコール利用)、?は16ビットプロテクトモードに移行して直接動作(modify_ldtシステムコール利用)

iii)64bitlinux上のwineの場合、?はDOSBoxのエミュレーション(longモードでは仮想8086モード非対応のため)、?は16ビット互換モードに移行して直接動作(32bitwineからmodify_ldtシステムコール利用)

iv)64bitWindowsの場合、?は非対応(longモードでは仮想8086モード非対応のため)、?も非対応(MSのやる気がないため)
省1
677: 2022/04/19(火)00:19 ID:6BsM3YVq(2/2) AAS
>>671-673
結局、Windows3.1向けの16ビットアプリケーションは64bit環境でも動作するが、
1) 32bitのWineをインストールしなければならない(32bitのWindowsアプリが動けばOK)
2) DOSBoxは不要(エミュレーションなしで動く)
3) modify_ldtシステムコールが禁止されていたりすると動かない
678
(2): 2022/04/19(火)10:24 ID:WRR9mRIv(1/2) AAS
>>676
> ii)32bitlinux上のwineの場合、?は仮想8086モードに移行して直接動作(vm86システムコール利用)
Wine4.0でvm86システムコールを利用するコードが削除され、以降はdosboxのCPUエミュレーションで
リアルモードのコードを実行するようになっているはず

dosboxを利用するコードが入ったのはWine1.4

Wineのコードをgrep vm86して確認してみて

> ?は16ビットプロテクトモードに移行して直接動作(modify_ldtシステムコール利用)

自分もこう動いているように思っていたんだけど実際のwineでmodify_ldtを使っている箇所は
外部リンク[c]:source.winehq.org
外部リンク[c]:source.winehq.org
省6
679
(1): 2022/04/19(火)10:33 ID:WRR9mRIv(2/2) AAS
あとWine7.0のANNOUNCEで32bitWineなしでも実行できる新しいWOW64を実装したっていっているけど
実際はまだ32bit<->64bitのコードが実装されていない気がするんだけど

wow64cpuでmodify_ldtを使うと思うんだけどそんなコード入っていないように見える
外部リンク:source.winehq.org

この辺にもない
外部リンク:source.winehq.org
外部リンク:source.winehq.org

Wine7.6でも変わらない
680: 2022/04/20(水)00:54 ID:s2MtO61K(1/2) AAS
>>678
今は32bit環境がないからdosプログラムがどうなっているかはすぐには確認できないけど、Win3.x向けプログラムはWine7.6でもmodify_ldtを使っている(少なくとも俺環では)
strace -f wine <win16app.exe> |& grep modify_ldt
で一杯出る
あと、64bitのlinux環境では32bit用セグメントが常にGDTに用意されていたと思うから、32bit互換モードにはfar jmp一発で移れる(アセンブリで試しに書いたら動いた)
681
(1): 2022/04/20(水)03:25 ID:s2MtO61K(2/2) AAS
>>678
外部リンク[h]:source.winehq.org
を見る限り、MacとAndroidの場合に16bit用のLDT関連がobsoleteになるっぽい
確かにMacは今や32bit互換モードも含めてobsoleteだし、Androidはセキュリティのためseccompで多くの不要なシステムコールを禁止している

あと、外部リンク[c]:source.winehq.org
の144行とかにfar jmpがあるから、ここでモード移行かな
これはWindowsのHeaven's Gateと同じ方式
不要になるのは32bitのlinuxのライブラリ(/usr/libとか/usr/lib32にある.so)であって、Wineの32bitライブラリ(syswow64にあるやつ)は必要
682: 2022/04/20(水)11:44 ID:+KfR7A8M(1) AAS
>>681
>>679は根本的な部分で勘違いしていた

Wineは5.0辺りからずっとリファクタリングを進めていて、wineserver等のELFなLinux側とkernel32.dllや
user32.dll等のPEなWindows側に完全に分離する作業が行われている

modify_ldtとかi386_set_ldtはLinuxやBSDの機能で、Linux側のwineserverでmodify_ldtを使うのは
いいんだけど、wow64cpu.dllはWindows側だからmodify_ldtを使ってはいけない
だから最初からdlls以下のwow64関連コードにmodify_ldtが存在するはずがない

x86_64 Linuxには32bitユーザーモードコードを動かすためのセグメントディスクリプタがGDTにあって
それを使って32bitコードを動かしているんだから、wow64cpuの側ではfar jmpでセグメント切り替え
ジャンプをすることで64bit<->32bitの切り替えを行うことができる、ということでいいのかな
683: 2022/05/04(水)10:10 ID:qKePorg5(1) AAS
うん
684: 2022/05/23(月)02:57 ID:cid6qQlb(1/2) AAS
ほぼ何にも設定してないwineでsteam使いたいんだけど、ログインのときの認証コード入れるポップアップ?が出てこないんだけどどうすればいい
685: 2022/05/23(月)03:50 ID:cid6qQlb(2/2) AAS
すまんwinetricks steamでとりあえずいつもの画面までは行けた真っ黒だけど
sha256sumが違うから、/usr/bin/winetricksの中のsteamのチェックサムを~/.cache/winetricks/steam/にある現物に書き換えてインスコさせた
1-
あと 317 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.011s