[過去ログ] 今夜も Wine で乾杯! - 21本目 [無断転載禁止]©2ch.net (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
453: 2018/02/21(水)18:38 ID:SJPTXnf1(9/13) AAS
そうか、もともとは、dirty bit 方式じゃないから、flush_window_surfaces() を呼ぶと、
再計算する必要が無いのに必ず再計算されてしまうから、呼び出す頻度を下げるしか
高速化する方法が無いために、そんな風なコードになっているのかもしれない。
454: 2018/02/21(水)18:41 ID:SJPTXnf1(10/13) AAS
そして、flush_window_surfaces() のコードでは、最低でも 50 (ms) の時間が経っていない場合には
処理をスキップするコードになっている。とことん、flush() しないコードになってしまっている。
これらが原因か・・・。

void flush_window_surfaces( BOOL idle )
{
  static DWORD last_idle;
  DWORD now;
  struct window_surface *surface;

  EnterCriticalSection( &surfaces_section );
  now = GetTickCount();
省8
455
(1): 396 2018/02/21(水)18:58 ID:SJPTXnf1(11/13) AAS
元々の Windows では、LineTo などを実行すると瞬間的に実画面に反映される。
だから、そもそも Flush せずに見えないままの描画が残っているなんて時間は
ほぼ 0。

そう考えると、。Wine のこの実装はおかしいな・・・。

1. そもそもメッセージループを回している時しか flush される可能性が全くない
  実装になってしまっているらしい。

2. メッセージループを回していても、メッセージがキューに残っている時は、
  100回程度メッセージを読まない限り、flush されない。

Windows を「エミュレート」するのであれば、例えば、描いてから 50(ms) 経てば、
必ず flush する、という実装でなくてはならないはず。
省1
456: 2018/02/21(水)19:03 ID:SJPTXnf1(12/13) AAS
1. Windows (もちろん、NT系) の場合は、メッセージ・ループ長く帰ってこないプログラムも
 絶対ダメというわけではない。

2. そういうプログラムの場合、Wine 側は、描画を、一定時間間隔で、別スレッドの
  タイマー割り込みの中などで flush するようにしないと、 正しく、Emulation 出来
  ないはず。
457: 2018/02/21(水)19:05 ID:SJPTXnf1(13/13) AAS
割り込みなら、別スレッドを起こす必要が無かった。スマソ。

あと、誤字訂正:
誤: メッセージ・ループ長く帰ってこないプログラムも
正: メッセージ・ループに長く帰ってこないプログラムも
458: 2018/02/21(水)19:13 ID:iuEniYB2(3/5) AAS
うーん
これがボトルネックになっているようには見えない

申し訳ないんだけど描画が遅くなる条件をもう一度書いてもらっていいですか?
459: 396 2018/02/21(水)23:23 ID:4g3iPm6d(1/2) AAS
うーんと。それはまあちょっと置いておいて、、、。

MDI Child Wnd の TITLE BAR を Drag している最中、メッセージループは一つも
回ってないんじゃないかと思う。

だから、>>455 の「1.」に書いた「flushされる必要条件」が満たされてない。

そのため、surface の pixel配列の内容が実画面に反映されないのではなかろうか。
460: 396 2018/02/21(水)23:38 ID:4g3iPm6d(2/2) AAS
ドラッグ中にマウスを静止させてしばらく待っていると、 x11drv_surface_flush() と
flush_surface_region() の両方が呼び出された事が FIXME 出力で確認できた。
静止させずにマウスをドラッグし続けると、FIXME 出力が全くでない。
しかも、それを行った時間が長いと、マウスボタンを離した後も、非常に長い間
システム全体がハングアップした様な状態になる。そして、長い沈黙の後、FIXME出力が
出る。

この沈黙の時間は、それまでドラッグしていた時間に比例しているように思える。

なぜだろう??? これはどこかに「何かが溜まっている」時の現象の様に思える。
しかし、>>449 を見ると、message_cnt は、減らされるときは、一期に 0 になるのであって、
少しずつ減らされるわけではない。
省1
461: 2018/02/21(水)23:42 ID:iuEniYB2(4/5) AAS
単にイベントを送信する側でバッファリングしてるんじゃないの?
462: 2018/02/21(水)23:50 ID:iuEniYB2(5/5) AAS
まあ最初からマルチスレッド意識して書いた感じではないなと思うけど90年代から開発されてるわけだしそのへんはご愛嬌じゃない
463: 396 2018/02/22(木)00:35 ID:9+xI5ulA(1/17) AAS
AA省
464: 396 2018/02/22(木)00:45 ID:9+xI5ulA(2/17) AAS
あるいは、Peek されるだけで、一部のメッセージは取り残されるなら・・・。
465
(1): 396 2018/02/22(木)01:30 ID:9+xI5ulA(3/17) AAS
Wine で、MDI Child Wnd の TITLE BAR をドラッグしたときの処理について。

DEFWND_DefWinProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam )
-->case WM_NCLBUTTONDOWN
-->NC_HandleNCLButtonDown()
-->case HTCAPTION
-->SendMessageW( hwnd, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, lParam )
-->DEFWND_DefWinProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam )
-->case WM_SYSCOMMAND
-->NC_HandleSysCommand()
-->WINPOS_SysCommandSizeMove()
省15
466
(1): 396 2018/02/22(木)01:32 ID:9+xI5ulA(4/17) AAS
さらに次のような、枠だけを書くか、実際に動かしてしまうコードが続く :

if (!DragFullWindows)
draw_moving_frame( parent, hdc, &sizingRect, thickframe );
else {
RECT rect = sizingRect;
MapWindowPoints( 0, parent, (POINT *)&rect, 2 );
SetWindowPos( hwnd, 0, rect.left, rect.top,
rect.right - rect.left, rect.bottom - rect.top,
( hittest == HTCAPTION ) ? SWP_NOSIZE : 0 );
}
467: 396 2018/02/22(木)02:01 ID:9+xI5ulA(5/17) AAS
あー。

FIXMEを消してしまっていただけだった・・・。

update_surface_region() や、flush_window_surfaces() は、
ドラッグ中でも、マウスを静止してしばらくすると呼ばれるようです。
マウスを動かしつづけていると呼ばれないらしい。
468
(2): 396 2018/02/22(木)02:44 ID:9+xI5ulA(6/17) AAS
【やっと原因判明】

CMainFrame を WS_EX_LAYERED で透明化していて、今回の条件に当てはまる時に、
CMDIClientWnd のタイトルバー上でマウスの左ボタンを押し始め、そのまま
マウスをずっと動かし続けると、WINPOS_SysCommandSizeMove() の中の

if (!GetMessageW( &msg, 0, 0, 0 )) break;

の部分の GetMessageW() 関数の中で停止してしまう。詳細は、GetMessageW() の
中で、メッセージキューが空だった場合に呼び出されるところの、

wait_objects()    ;dlls/user32/message.c
-->wow_handlers.wait_message()
-->wait_message()  ;dll/user32/winproc.c
省5
469
(1): 396 2018/02/22(木)10:45 ID:9+xI5ulA(7/17) AAS
AA省
470: 396 2018/02/22(木)10:46 ID:9+xI5ulA(8/17) AAS
【通常時、WM_MOUSEMOVE がキューへ追加される時の実行経路】

X11DRV_MsgWaitForMultipleObjectsEx()
--> process_events()
---> call_event_handler( Display *display, XEvent *event )
---> handlers[event->type]( hwnd, event );
event->type = MotionNotify (6)
---> X11DRV_MotionNotify( HWND hwnd, XEvent *xev )
XMotionEvent *event = &xev->xmotion;
INPUT input;
---> send_mouse_input( hwnd, event->window, event->state, &input );
省21
471: 396 2018/02/22(木)10:47 ID:9+xI5ulA(9/17) AAS
AA省
472: 2018/02/22(木)15:16 ID:9+xI5ulA(10/17) AAS
頭に Msg が付かない方の WaitForMultipleObjecstEx() も
挙動がおかしい。 timeout に 0 を指定しても、無限に
待機してしまうことがある。
473: 396 2018/02/22(木)16:31 ID:9+xI5ulA(11/17) AAS
Msg が付く方の WaitXxxx で、usleep() で、0.3秒ほど停止しながら、
Polling (Loop) するようにしてから、FIXMEでメッセージを観察してみた。
普段は、usleep() 命令は、呼び出してから 0.3 秒で戻ってくる。
ところが、先日からの遅くなる条件でドラッグし続けた場合、単純な usleep() の
1命令が、呼び出してから、永久に戻ってこなくなる。ドラッグをやめると、
人間が長く感じるほどの長い時間が経過してから戻ってくる。

これは、WINEの問題ではなく、Linux Kernel の問題だろうか???
474: 396 2018/02/22(木)16:45 ID:9+xI5ulA(12/17) AAS
AA省
475: 396 2018/02/22(木)17:29 ID:9+xI5ulA(13/17) AAS
かなり色々やったつもりだけど、ちょっとこれ以上深入りは難しいので、もう諦めようかも。
以下の上京からするとLinuxカーネルの問題かも知れない:

1. タスクバーも操作不能になる。
2. 単純な usleep() も無限に帰ってこない。
476: 396 2018/02/22(木)17:39 ID:9+xI5ulA(14/17) AAS
Wineでは、昔の MSDN Library の CD もインストールは出来ただが見られなかった。
hh.exe が xxx.COL ファイルを開けないと言ってくる。
yyy.CHM ファイルは、開くことはできたが、右のペーンだけが見えて、左側の目次や
検索のぺーンには何も表示されない。

今回 WINEのソースを見て思うのは、意外とちゃんと書かれていないということ。
MsgWaitXxxx にも、戻り値が明らかに間違っている部分を発見した。
また、TRUE (1)を引数に渡す必要があるところで、1ではない非0 の値を渡している
箇所も見つかった。そのようなコードは後々問題を来すかも知れない。
それに、MsgWaitXxx もちゃんと書かれていない。同時に待機するのは、アプリ・プログラマ
がどんだけ頑張ってもかけないから API が用意されているのだが、そこに明らかな
省3
477: 396 2018/02/22(木)18:45 ID:9+xI5ulA(15/17) AAS
usleep() の部分を setitimer(), pause() に変えてみたら、そこは指定した
時間でちゃんと帰ってくるようになった。でも、Linux全体が停止に近い状態に
なる症状は変わらない。端末内の FIXME の表示が途中の文字まで書かれた状態で
改行までいく前に長い間停止する現象が起きてしまっている。
478: 396 2018/02/22(木)23:32 ID:9+xI5ulA(16/17) AAS
X Window System は、Server と Client で通信を行っているから、Client側では処理が
一瞬で帰って来ているように見えても、Server側では処理に凄く時間がかかっている可能性
があるかもしれない。だから Client側で、関数の呼び出しの前後の時間を計測をしても
それは単にServer にコマンドを送る処理の時間を計測しているに過ぎないのかも
知れない。イメージのバイト数が多いいときには、通信時のデータ・コピーに時間がかかる
から多少時間がかかるかも知れないが、それはまだ表面上の時間に過ぎず、Server 側は
Shapeのくり抜き処理(?)や重ね合わせの処理に膨大な時間がかかっている可能性も否定できない。

だから、XCreateBitmapFromData(), XShapeCombineMask(), XPutImage() の前後の時間を
計測しているだけでは速く見えても、見えない場所でCPUパワーを全開にしてがんばっても
まだ処理を終えてないのかもしれない。
省5
479: 396 2018/02/22(木)23:41 ID:9+xI5ulA(17/17) AAS
そういえば、update_surface_region() が呼び出されたことを示すデバッグ文字列は、後からまとめて
ドドッと出てくる。それは、文字列が「出てない」間には関数が呼ばれてないことを意味する
訳ではなく、実は呼ばれてはいるが、文字列が flush されてないか、または、flush
されていても、端末に CPU リソースが割り当てられないから、文字表示だけが行われずに
文字列がバッファに溜まった状態になってしまっている・・・・。

こう考えれば辻褄が合うかも。
480: 396 2018/02/23(金)00:00 ID:rGoiNTvu(1/9) AAS
本家の Windowsでは、描画処理が重いときには、OnPaint や OnDraw の関数が終わるまで
の時間も長い。だから、メッセージがたくさんたまっているのに描画が追いついていない事は、
メッセージ・キューに残っているメッセージの個数が多い事で大体の判断が付く。だから、
InvalidateRect(NULL)をしておけば、描画が追いついてない場合は、メッセージループ
が WM_PAINTメッセージを送るタイミングを自動的に後回しにしてくれる。

ところが、X Window System の場合、実際の描画がまだ終わってない場合でも、
「描画関数」自体は一瞬にして戻ってきてしまうから、上記のアルゴリズムが「勘違い」を
起こしてしまうことがある・・・。

そらに悪い事に、WINEが、内部で Surface を持っているときには、LineTo 関数自体は高速に
処理を終えるのに、アプリが予想もしないタイミングで、時間の掛かる flush の処理が行われ
省7
481: 396 2018/02/23(金)00:09 ID:rGoiNTvu(2/9) AAS
さらに、>>465-466 >>468 に書いた、WINPOS_SysCommandSizeMove() は、
CWinApp などとは別の、独自のメッセージループを持っている。
そこでは、さらに、WM_PAINT が不適切に大量に発生してしまっている
可能性がある。

だんだん分かってきたかも。
482: 396 2018/02/23(金)00:23 ID:rGoiNTvu(3/9) AAS
原因は推定できてきたけど、さて、どうやってこれを解決すればいいか・・・。
483
(1): 2018/02/23(金)09:55 ID:o5jNB0tx(1/6) AAS
ライセンスの関係でややこしいことに成る可能性が存在するから
5chへソースコードは書かないで
github使ったほうがいい
484: 2018/02/23(金)10:10 ID:53V98ywt(1) AAS
粒度の低いパッチをちょこちょこアップすると良いのでは。
論理値のあやまりを直すやつとか。
485
(1): 396 2018/02/23(金)12:30 ID:rGoiNTvu(4/9) AAS
>>483
それでは、日本人の自分に取って手も足もでない状況になってしまうので、とても
困ります。
486
(2): 2018/02/23(金)12:34 ID:o5jNB0tx(2/6) AAS
>>485
なぜ?
ココに書けば問題が生じる可能性もあるのに
487: 396 2018/02/23(金)12:36 ID:rGoiNTvu(5/9) AAS
協力しにくくしにくくなるように仕向けられて、どうしようもない状態になってる気もする。
make時の表示の無駄が多すぎて、特に警告が出ていても見逃しやすいし、HDDも膨大に
消費するし、ダウンロードやアップロードにも莫大な時間がかかるし。

なんだか、アメリカと北欧の社会的環境以外ではとっても負担が大きいかも、
488
(1): 396 2018/02/23(金)12:36 ID:rGoiNTvu(6/9) AAS
>>486
意味が分かりません。
489
(1): 2018/02/23(金)12:38 ID:o5jNB0tx(3/6) AAS
>>488
ここにソースコードを書けば5chが権利を主張する恐れがある
あなたが書いたものであっても
それは問題でしょう?
490
(1): 396 2018/02/23(金)12:41 ID:rGoiNTvu(7/9) AAS
MSのやり方に困った人が集まってくるのがLinux。
でも、Linuxのやり方にもまた困る。UbuntuのUpdateも自分には出来ない。
なぜなら、HDDのパーティションの容量が足りないのと、DLに時間がかかりすぎるからと、
クリーンインストールしなきゃならないから、せっかく入れた Wine や Wz, VC++ などの再
インストールに莫大な時間がかかってしまうのとで。それでやっとの思いでなんとか協力
したいと思っているのに、また、ライセンスがどうのこうのとか。

わけが分からない。LinuxやUbuntuのバグに悩まされて、しょっちゅう Logout と Login
を繰り返しながら、やっとの思いでやってます。
491: 2018/02/23(金)12:42 ID:k4GWhlfR(1) AAS
MacでWine使ってるけど似たようんだもんだわ。
492: 2018/02/23(金)12:42 ID:o5jNB0tx(4/6) AAS
OSSやLinuxの問題ではなくて
5chのライセンス扱いの問題
493
(1): 396 2018/02/23(金)12:43 ID:rGoiNTvu(8/9) AAS
>>489
そんな心配はないはずです。

自分は権利を放棄するつもりでやってますし、法的には Wine の LGPL が優先されて、
5ch は権利は主張できないハズ。もし、権利を主張するなら、5ch自体が人が来なくなって、
閉鎖されるでしょう。
494: 2018/02/23(金)12:46 ID:o5jNB0tx(5/6) AAS
>>493
OSSのソースコードを5chに書き写したらライセンスが移るかというとそうではないと思うけど
問題にされる可能性が存在する
新規のソースコードだった場合など、5chが権利を主張してOSSで扱えない可能性が出てくる
495: 2018/02/23(金)12:49 ID:l6yAbvNG(1) AAS
>>490
Linux板でそういうこと言っても住人を不快にさせるだけだよ
誰も頼んでないのに愚痴言われてもさ
ブログか何かに書けば?
496
(1): 2018/02/23(金)12:50 ID:FG6aVYHX(1) AAS
とはいっても、勝手に転載するな、の主張は現在進行でバンバンやってますからねえ…
497: 2018/02/23(金)12:52 ID:o5jNB0tx(6/6) AAS
>>496
他所が権利を主張するコードの利用をOSS側が許すかという問題にかかわってきて
それは5chとは別になるね
498: 396 2018/02/23(金)13:42 ID:rGoiNTvu(9/9) AAS
【ついに出来た】

x11drv_surface_flush() の中で、

update_surface_region( surface );

を実行後、

XPutImage(・・・);
XFlush( gdi_display );
XSync( gdi_display, TRUE );
XSynchronize( gdi_display, True );
省14
499: 2018/02/23(金)17:33 ID:HLL3Qr1p(1) AAS
日本語でパッチの記述を書いてくれれば、英訳してくれる奴がスレにいると思うな。

最悪ぐぐる翻訳でも。

あとは日本人でwineにコミットしてる人を探してパッチを仲介してもらうとか…
500
(1): 2018/02/24(土)00:28 ID:zOhbGEn1(1) AAS
だいぶ前のレスだけれど、 >>439 は信じるなよ。
Wineに修正を送る方法はgit format-patchで整形したパッチを
wine-devel@winehq .orgにメールする方法だからな。(前近代的に感じるかもしれないけれど)
他にも要件がいろいろあるから、 外部リンク:wiki.winehq.org を一読した方がいいと思う。
501: 396 2018/02/24(土)02:46 ID:OWf5FxmD(1/3) AAS
>>500
WINE 本家に正式採用されなくてもいいなら、github にプルリクエストを送る、なんて
事は可能なんでしょうか。

ライセンス上は、修正した箇所のソースの断片でも、どこでもいいからネット上のどこかに
アップロードしておけば良いんだと思うんですが。

ネットの回線が遅いから、自分が全く修正してない部分まで全部アップロードというのは
かなり困ります。
502
(1): 396 2018/02/24(土)02:53 ID:OWf5FxmD(2/3) AAS
要は、著作権が発生するようなソースを書かなければいいんですね。

WINE で、WS_EX_LAYERED の場合に、現状の様に XShape を使わずに、
XCreateWindow の depth に 32 を指定して、ARGB カラーを使うようにして
透明化を実験して見たところ、高速になったようです。

まだ、中途半端ですが。
503: 396 2018/02/24(土)03:51 ID:OWf5FxmD(3/3) AAS
透明化、完全に上手く行きました。速度は劇的に向上。
システムの(事実上の)ハングアップも全く起きません。

現状で Windows との非互換な部分は、透明部分をクリックしても、下にある Window
にマウスメッセージが送られない、という一点だけです。
504: 2018/02/24(土)14:18 ID:cjPOAqRo(1) AAS
wineならぬmace出ないかな
505: 2018/02/24(土)14:34 ID:lC3bqhkw(1) AAS
ダーウィン
506
(1): 2018/02/25(日)07:00 ID:gMY/XOlZ(1) AAS
>>502
>要は、著作権が発生するようなソースを書かなければいいんですね。

そうそう
wine本家にマージさせるためにどこかにあげてというのでなく
自分のwebsiteでもgithubでもgooglecodeでも、問題がなさそうな場所へ
507: 2018/02/25(日)19:49 ID:klqr3sXG(1) AAS
>>506
Qiita にソースをULするのは、著作権的に問題ありそうですか?
508: 2018/02/25(日)20:01 ID:dPUju/W+(1) AAS
外部リンク:ptech.g.hatena.ne.jp
509: 2018/02/26(月)04:48 ID:AjOMcg+3(1) AAS
ソースコードの投稿は厄介そう
510
(1): 2018/02/26(月)19:35 ID:uvsc9Ei6(1) AAS
アップ始まったかな?

外部リンク:qiita.com
511
(2): 396 2018/02/27(火)17:20 ID:fxlvg2HV(1/3) AAS
Linux の X Window の XShape と、 Win32 の WS_EX_LAYERED は相性が悪いために
単に Win32 を Emulateしようとすると、多分、どうやっても遅くなってしまうと思うんです。

だから、Wine 専用に Windows には無いフラグや関数を定義して、ある新定義の
独自APIを呼んだタイミングでだけ、XShapeを呼び出す仕様にすればいいと思うん
です。それを呼び出さなくても、中の図形や透明部分は自由に変えられると。
で、メッセージが下(Desktopなど)まで届く部分を指定したい場合(外形を変えた
い場合等)だけは、その関数を呼ぶと。例えば、透明を使った一般のアプリでも、
輪郭は楕円にしておいて、中の絵だけを高速に変えたいような需要はあると思う
んです。それは、今の Wineでは出来ません。でも、今述べた方法なら可能になり
ます。
省8
512: 396 2018/02/27(火)17:21 ID:fxlvg2HV(2/3) AAS
>>510
早速、ここでの話を受けて、 Qiita に書いてみてます。
513
(1): 2018/02/27(火)18:55 ID:glf1pFGh(1) AAS
>>511
問題のアプリのサンプル(ソースコード込み)と修正した一連のコードをパッチにして
外部リンク:forum.winehq.org
に送ってみたら?
514: 2018/02/27(火)19:35 ID:fxlvg2HV(3/3) AAS
>>513

>>511のような内容を英語で正確にやりとりするのに、とても精神的負担を感じます。
ちゃんと理解してもらえなくて、徒労に割りそうな予感も。
515
(1): 2018/02/27(火)22:28 ID:SXflemsb(1) AAS
新定義の独自APIとか言い出したら正確に伝わっても賛同されるか疑問だ
516
(1): 396 2018/02/28(水)01:21 ID:nqkdrNZG(1/5) AAS
結論的には、Wineを改造しても Windows API の仕様を変える訳ではありませんので、
もし、Wineの一部であっても、Windows API だけを使った dll の部分は、Wineの
バージョンが変わっても、原則的には自由に入れ替え可能な可能性があるのです。

kernel32.dll, gdi32.dll, user32.dll, ntdll.dll の4つの dll 以外のdllは、
WINEの内部がどのように実装されているかには依存していない可能性があると
いうことです。もしそうであれば、Wine のソースを改造してもこれらのdll.so以外は、
本家Wineが今後発表する新バージョンのものを、改造 Wine のバイナリファイル群に
後から上書きしても、互換性が保たれ続けるんじゃないかな、と思いました。つまり、
以下の 4つの dll.so だけを配布すれば、かなり長い間、独自の Wine として動作
できる可能性があるのではないかと。loader.c を修正した libswine.so.1.0 を配布
省9
517: 396 2018/02/28(水)01:22 ID:nqkdrNZG(2/5) AAS
>>516
その際、「wine server」の「server request」の仕様を変更さえしなければ、
標準の Wine を使ったアプリと、まさに同時実行も可能ではないかと。
実際、自分が実験する限り、標準の Wine を使った VC++ と Wz が、
特に問題なく独自 Wine の自前アプリと同時実行で来ているように見えますので。

なんというか、例えば、Wineの実装の構造体にメンバ変数を独自に追加した場合、
それが直接見えているソースは、同一の構造体の他のメンバの相対アドレス、構造体の
サイズが変わるために再コンパイルが必要です。しかし、それを直接見ているのは、
上の 4つの dllのdll.soファイルだけではないかと。そして、その他のdllは、その
構造体を直接見てないのではないかと。それで、カプセルの様にブラックボックスの
省3
518: 396 2018/02/28(水)01:33 ID:nqkdrNZG(3/5) AAS
「dll.so」ではなく「drv.so」ですが、

/wine/dlls/winex11.drv/winex11.drv.so 1,797,340

も配布が必要ですので、合計20MB程度。圧縮すれば 10MB程度のはず。
だから、アプリ本体のバイナリと同時に 10MBを配布すれば独自修正 Wineが
配布できるかと。
519: 396 2018/02/28(水)01:52 ID:nqkdrNZG(4/5) AAS
>>515
やはり、そう思われますか。

一部の透明アプリに取っては、改造Wineの方がWindowsとの互換性がかなり上がりますが、
他の透明アプリに取っては下がる、見たいな状態になるので、意見が分かれるかな、と思って
たんです。でも、恩恵を受けるアプリもあります。
520: 2018/02/28(水)02:06 ID:b2U8RIm2(1) AAS
派生版みたいなのが乱立しそうで恐い
まあ、現状も最新版が必ずしも良いとは言えないから複数バージョンを使い分けるなんてことはやられているが
521: 2018/02/28(水)04:17 ID:ojsBE0jk(1) AAS
これは大変更過ぎて厳しいだろ
フォークして勝手にやってと言われる可能性大
522: 2018/02/28(水)05:20 ID:zhVHYdgK(1) AAS
取り敢えず改変した物もしくはそれが置いてあるURLを本家に晒して反応を様子見かね
523: 396 2018/02/28(水)15:05 ID:nqkdrNZG(5/5) AAS
MSDN Library の CD-ROM 版を、Wineにインストール出来ました。

外部リンク:qiita.com

なお、確か、MSDN Library 2008 の ISO イメージは、無料で DL 出来たと思います。
524: 2018/02/28(水)19:42 ID:Rd3IONev(1) AAS
wine下で動くspider.exeがやたらと速いんだが
delayが効いてないだけな気がしなくもない
525: 2018/03/01(木)22:49 ID:fYfWMlBV(1) AAS
Ctrl+Insertでコピーできるようにしたいんだけど
何か方法ある?
526: 2018/03/01(木)23:36 ID:j/zFLdIr(1) AAS
そんなショートカットあったなあ
最近使ってなかったから忘れてた
527: 2018/03/02(金)01:05 ID:Bl3AZi1p(1) AAS
155 名前:login:Penguin [sage]: 2018/03/01(木) 23:01:33.07 ID:fYfWMlBV
Ctrl+Insertでコピーしたいんだけどショートカット設定する方法ありますか?
528: 2018/03/02(金)20:50 ID:KIYBEbwH(1) AAS
ReactOSの人が興味があるみたい>>wine高速化の人

2chスレ:os
529: 2018/03/02(金)20:55 ID:U359uzwU(1) AAS
片山をReactOSの人と言うのはどういう悪意があってのことなのか
530: 2018/03/03(土)06:56 ID:tG6ima8j(1) AAS
「ReactOSの人」ワロタw
531: 396 2018/03/03(土)10:25 ID:YW+cC+A2(1/4) AAS
「片山 ReactOS」でGoogle検索した時に一番上に表示したページが、
ウイルス感染している事を、BitDefender Traffic Light が報告したので注意
してください。

これは煽りや虚偽ではありません。
532: 2018/03/03(土)11:48 ID:cwR/oIIZ(1/3) AAS
virustotalで確認
アドレスは現状BitDefenderだけ
ソフトウェア全部は見たわけではないのですが
スクリーンセーバーでひとつだけ他のベンダーが反応>CMC
ぐぐるとアドウェアとして

MZさん、面倒かもしれないけど全部virustotalにぶち込んで
反応してしまったら各ベンダーに報告をほねがいします

IPAに相談したほうが早いかも
533: 2018/03/03(土)11:52 ID:e1SsLOIJ(1) AAS
ひでえwフイタww
534: 2018/03/03(土)13:34 ID:YW+cC+A2(2/4) AAS
外部リンク[com]:www.virustotal.com

↑を見ると、ScreenSaver の他に、例えば、

Detect 6/55, Data Scaned 2014-08-29, calch_setup.exe
Detect, 9/55, Data Scaned 2014-11-19, file-7704712_exe
と出ます。他に roumaji.zip なども。

多分、BitDefender や CMC だけでなく、過去に(?)、9 つの Security Soft で検出されたということでは?
535: 2018/03/03(土)13:37 ID:YW+cC+A2(3/4) AAS
sage
536
(1): 2018/03/03(土)13:44 ID:YW+cC+A2(4/4) AAS
そのサイトには
「d4178884156e93779603fe5d33d3fc8f749fd2280a199b19d5d218bb8548b6b1」という変な名前のファイルがあり、
9つの Security Soft でウイルスを検知したようです。

外部リンク:www.virustotal.com

9 engines detected this file
SHA-256 d4178884156e93779603fe5d33d3fc8f749fd2280a199b19d5d218bb8548b6b1
File name d4178884156e93779603fe5d33d3fc8f749fd2280a199b19d5d218bb8548b6b1
File size 668.72 KB
Last analysis 2014-08-25 00:08:58 UTC

1. Ad-Aware; Gen:Variant.Graftor.50154
省8
537: 2018/03/03(土)15:15 ID:cwR/oIIZ(2/3) AAS
外部リンク[aspx]:www.isthisfilesafe.com
過去に何かがあった時はきちんとそれを説明するページを残して置かないと
538: 2018/03/03(土)16:20 ID:cwR/oIIZ(3/3) AAS
>>536
外部リンク:www.virustotal.com
外部リンク:www.virustotal.com
Fake7Booting
2chスレ:tech
404Error
539: 2018/03/03(土)22:11 ID:V9+0Qzt3(1) AAS
The Wine development release 3.3 is now available.

What's new in this release (see below for details):
- Beginnings of Vulkan support.
- Direct3D multi-threaded command stream enabled by default.
- Multisample textures enabled by default.
- Support for game controllers through SDL.
- Support for loading CIL-only .Net binaries.
- Various bug fixes.

日本人っぽい名前が2つに増えているね
540: 396 2018/03/04(日)11:19 ID:bPq1RsH0(1/3) AAS
Wine において HTML HELP (CHM) を表示時、リンク先へ飛べない場合の原因が分かって来ました。

外部リンク:qiita.com

飛べる場合 :  リンクに Java Script を使ってない。
飛べない場合 : リンクに Java Script を使っている。

Java Script の実行が上手く行ってないのではないでしょうか。どなたかにさらに原因を追求して
不具合を直していただければ幸です。
541: 396 2018/03/04(日)11:21 ID:bPq1RsH0(2/3) AAS
なお体験から言えば、リンク先のHTMLのファイル名に日本語が使われている場合も、
リンク先へ飛べないことがあるようです。
542: 2018/03/04(日)20:03 ID:GmjVYsG4(1) AAS
なるほど。CHMがセキュリティ的にまずい理由がなんとなくわかった
543: 396 2018/03/04(日)21:46 ID:bPq1RsH0(3/3) AAS
[HTML HELP (MSDN Library) 関連]

nativeなDLLの組み合わせを根気よく実験したところ、上手く行く組み合わせが見つかり、
飛べなかったリンクへも飛べるようになりました。詳しくは、上のリンク先を見てください。
544: 2018/03/09(金)14:42 ID:eOG+axBG(1) AAS
自分の環境(RTKernel)だとKindleを起動した時に
四角の枠だけ表示されて止まる
LowLatencyKernelだと正常に表示される
545: 2018/03/17(土)03:08 ID:P07T+/HF(1) AAS
OSで設定したカーソルのサイズとWineアプリ上のカーソルのサイズが違うけど
自動で設定同期してほしいわ
546: 2018/03/17(土)13:20 ID:g7ZklgHW(1) AAS
The Wine development release 3.4 is now available.

What's new in this release (see below for details):
- More Vulkan support, including integration with the X11 driver.
- Better handling of privileged instructions on x86-64.
- Hex edit dialog improvements in RegEdit.
- Assortment of patches merged from wine-staging.
- Various bug fixes.
547: 2018/03/19(月)02:22 ID:WTX2WgE6(1) AAS
Wine3.4
548: 2018/03/19(月)23:31 ID:AsNkNJNy(1) AAS
>>486
pastebin.com にコード本体(と著作権者表示)を貼って、
そこへのリンクと解説などをこちらに書くようにすれば、解決しますよ。限定的だけど。
549: 2018/03/25(日)14:03 ID:CLQjm7Sy(1/9) AAS
WineでMFCで書かれたアプリを実行した場合、MSに著作権的に何かモンク言われたり
するんだろうか?
550: 2018/03/25(日)14:23 ID:CLQjm7Sy(2/9) AAS
↑は、特に、static link している場合について。
mfc**.dll などに dynamic link (dll) している場合は、その mfc**.dll がクリーン開発
されていれば問題ないと思う。だから、Linux用には dynamic link でアプリをビルド
し直せば大丈夫のはずだとは思う。問題は、クリーン開発された mfc**.dll にちゃんと
互換性があるかということになる。mfcのソースを見ずに mfc をちゃんと実装するのは
意外に難しい。なぜならちゃんとドキュメントされていない事が多いから。だから、
困った事になるかも・・・。
551: 2018/03/25(日)14:37 ID:qcf1Qsxr(1) AAS
ダイナミックリンクして再配布パッケージをwinetricksで入れとけばいいが、
種類が多すぎてこまる・・・

外部リンク:tyawanmushi.hatenablog.com
552: 2018/03/25(日)14:52 ID:CLQjm7Sy(3/9) AAS
外部リンク:wiki.winehq.org

↑によると、MFCのソース(MS自らがVSに付属)を見た人は、MFCの互換ライブラリを
作る事はできないんだそうだ(Wine陣営の方針)。↓

Q: Who can't contribute to Wine?
A: Some people cannot contribute to Wine because of potential copyright violation.
  This would be anyone who has seen Microsoft Windows source code (stolen,
  under an NDA, disassembled, or otherwise). There are some exceptions for
  the source code of add-on components (ATL, MFC, msvcrt); see the next question.

Q: Can I contribute if I've only seen the source to ATL, MFC, and/or msvcrt?
A: Yes, but not on those components. Also please state on the mailing list
省10
1-
あと 450 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.362s