パスワードを忘れた? アカウント作成
13532176 story
Windows

ARM版Windows 10の制約とは? 63

ストーリー by hylom
驚きはない 部門より
headless曰く、

MicrosoftがARM版Windows 10の制約を解説するドキュメントを公開した。その後ドキュメントは削除されたが、Internet Archiveにスナップショットが保存されている(NeowinThe VergeRegister)。

リストアップされていた制約は以下のようなものだ。

  • 使用できるドライバーはARM64版のみ
  • x64アプリは動作しない
  • OpenGL 1.1以降またはOpenGLのハードウェアアクセラレーションを使用するアプリは動作しない
  • 「アンチチート」ドライバーに依存するゲームは非サポート
  • ネイティブOSコンポーネントから非ネイティブコンポーネントを呼び出すことはできないため、x86版のIMEやユーザー支援技術、シェル拡張などは動作しない
  • モバイル版Windowsデバイスを想定したARMアプリは正常に動作しない可能性がある
  • Hyper-Vを使用するバーチャルマシンは動作しない

現在、同URLへアクセスすると、「Troubleshooting x86 desktop apps」というドキュメントへリダイレクトされる。内容としては似通っているが、制約をメインにしたものからx86アプリの問題解決をメインにしたものに変更されている。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2018年02月21日 14時46分 (#3365137)

    何も問題ないでしょう、x86でもx64でもないんだから。

    • by Anonymous Coward

      ARM64版シェル拡張がx86アプリでも動作するなら良いのですが

      • by Anonymous Coward

        x64版シェル拡張がx86アプリでも動作するなら良いのですが
        と言ってるようなものだな

      • by Anonymous Coward

        x86アプリからはx86版としてインストールされてるシェル拡張しか呼び出せない
        という認識なんだけど、x86版シェル拡張(やIME)のインストール自体もできないのかな

  • by Anonymous Coward on 2018年02月21日 14時57分 (#3365147)

    使用できるドライバーはARM64版のみ

    x64版でもそうでしたよね?

    x64アプリは動作しない

    去年発表済み

    OpenGL 1.1以降またはOpenGLのハードウェアアクセラレーションを使用するアプリは動作しない

    モバイル環境でOpenGL使うアプリなんか使いたいものか?

    「アンチチート」ドライバーに依存するゲームは非サポート

    使ってるゲームあんのかな、あれ

    ネイティブOSコンポーネントから非ネイティブコンポーネントを呼び出すことはできないため、x86版のIMEやユーザー支援技術、シェル拡張などは動作しない

    x64版でもそうでしたよね?

    モバイル版Windowsデバイスを想定したARMアプリは正常に動作しない可能性がある

    Windows 10 IoTに興味ない方面からすればArm版=Mobileだったから仕方ない

    Hyper-Vを使用するバーチャルマシンは動作しない

    CPUエミュレーターではないHyper-Vで何動かす気?

    • by Anonymous Coward on 2018年02月21日 15時16分 (#3365167)

      OpenGL 1.1以降またはOpenGLのハードウェアアクセラレーションを使用するアプリは動作しない

      モバイル環境でOpenGL使うアプリなんか使いたいものか?

      これは結構致命的かも知れないよ。
      最近は何気ないアプリまでGPU支援を使って動作負荷の低減や高速描画やってるようなのあるし。ブラウザとかもそう。ゲームなんかもそうだし。
      互換モード持っているだろうから動作しないと言うことは少ないかも知れないけど、バッテリーの持ちが悪くなるとかそう言う事は起きそう。

      親コメント
      • by Anonymous Coward

        それOpenGL使ってるの?

        • by Anonymous Coward on 2018年02月21日 18時38分 (#3365334)

          新しいアプリがVirtualBoxで表示が壊れることが増えたよ。
          描画性能とかそんなの関係なく普通の処理として使うのが増えた。

          MAGIXだと2016年版あたりから多くのソフトがそう。
          音楽系のアプリなんで画面周りは大して必要じゃないんだが。
          Cyberlinkのソフトも2年ぐらい前から多くのソフトがそうだし
          Corelのそんな感じ。

          ちょっとソフトを評価するのがとても面倒になった。
          VMware無料版はスナップショット周りをフリーソフトに頼るしかないし。
          無いよりましとはいえ使い勝手が格段に落ちるんだよな。

          親コメント
          • by Anonymous Coward

            それはそもそもスナドラ835程度のプロセッサ積んだPCで走らせるソフトウェアじゃないんじゃないですかね

            • by Anonymous Coward

              ちょっとしたメディアプレーヤー程度でも引っかかるのだけど。
              そんなソフトすら使えない環境って何の役に立つの?

              あと835って3Dゲームが結構普通に動く手持ちのandroidタブより何倍も3D性能いいぞ。
              宝の餅が腐りすぎだろう。

          • by Anonymous Coward

            それOpenGL使ってるの?Direct2DやらDirect3Dではなく?

      • by Anonymous Coward

        WebGL って OpenGL ES なので OpenGL 1.1 は関係ないんじゃないかな…?
        モバイルプロセッサで OpenGL ES が使えないということはありえないので普通にアクセラレーション聞くと思いますよ?

        • by Anonymous Coward

          WindowsでOpenGL ESがネイティブで動く事を期待してるアプリは無いと思いますよ。
          ちなみにChromeやFirefoxの初期のWebGLサポートはWebGLはESでないOpenGLで動いてましたが、Intelとかの内臓GPUのOpenGLサポートが酷いため、Direct3DでOpenGLESをエミュレーションするANGLEに変りました。
          IEとEdgeは自前のGLES互換レイヤーを持ってるみたいですが、EdgeはANGLEに変わりそう。

          だから、Direct3Dがx86エミュレーションでも動けば問題無いと思いますが、制限に書かれてないのでおそらく動くのでしょう。

        • by Anonymous Coward

          ブラウザの話はWebGLの話じゃなくて、普通のサイトの描画とかをGPU支援使ってやってるはず。そんで、クロスプラットフォームを意識している奴は、OpenGL系をデフォで使うんじゃないか。昔はWindowsが最初のターゲットだったけど、今はスマフォだし。アプリはWindowsしかなくても、使われている開発環境とか、ライブラリとかが引っかかったりとか。

          もちろん(ちゃんと作ってあれば)無くても動くはずだけど、パフォーマンスが落ちる。

          • by Anonymous Coward

            そういうのはANGLE使ってるでしょ

      • by Anonymous Coward

        MicrosoftがOSとしてサポートしているOpenGLは1.1までで、それより新しいのはサードパーティーのドライバーが必要だからこれ実は最初のやつのバリエーションな気がする。ARM64用のOpenGLドライバー開発がそもそもできないのかもしれないけど。

        用途によってはANGLEが使えるかもしれない(ARM64で動くのか知らんが)

    • by Anonymous Coward

      1) 32bit Windows原理主義者が不満を抱いても、それについては無視する、という意味
      2) 同上
      3) Minecraftのデスクトップ版はJava+OpenGLだが、これも無視するという意味(現行のストアアプリ版は問題ない)
      4) 基本無料の日中韓ネトゲ、一部の日本製ゲームでは効果に関わらず上必須となっていて、一種の死刑宣告になりうる
      5) まあ妥当
      6) まあ妥当
      7) Android Emulator、Docker for Windowsなどが動かなくなる

      全体的に「x86_64に深く依存するものは動かない」ということと「x86_64で許していたようなマルウェア的動作について、
      ARM版では必ずしもサポートせず、特別対応も行わない」という二点辺りを改めて明確化したものという印象があるかな。
      実際にこれで対応方法を知るというより方針を周知するのが目的ではないだろうか。

  • by Anonymous Coward on 2018年02月21日 15時24分 (#3365172)

    頭が切り替わってなかった。ARMがネイティブで、x86が非ネイティブ。
    で、ソースを見るとシェルエクステンション関連(右クリックメニューや、エクスプローラーのアイコンまで??)アクセスできなくなるから、それ系統のアプリは動作しないと。

    多機能な圧縮解凍ソフト、git用のGUIツールなども動作しなくなる感じかな。
    挙げられた中では一番大きな制約かも。

    • by Anonymous Coward

      本当に需要があればARM用に開発するんでないの?

    • by Anonymous Coward

      対処方法を見たかんじでは、ほとんどが「ARM用にコンパイルし直して」みたいだね。
      よほど変なことしてない限りソースレベルやAPIレベルで互換が取れているんじゃないかな。
      以前ストーリーにあった非公開APIを使用しているようなやつとか、もしかしたらAPIが廃止や非推奨のものとかは無理かも。

      • by Anonymous Coward

        ビルドし直さなくて動く!っていうのが売りなのに・・・

        • by Anonymous Coward on 2018年02月21日 19時13分 (#3365370)

          32bitWindowsと64bitWindowsのときとまったく同じ制限なので文句言い出すのが15年ぐらい遅かったですね

          親コメント
          • by Anonymous Coward

            32/64でもここまでの制限なかった記憶あるけどなぁ。シェル系使ってもx86ビルドで動かなくて困ることないし。そりゃドライバとか当然ダメだけどさ。

            • by Anonymous Coward

              64bit版Windowsに32bit版Windows用のシェル拡張系のアプリ入れたら動かないとかいっぱいあったじゃん

            • by Anonymous Coward

              シェル拡張系の、32bitと64bit はいまでも互換ないよ。
              両方のバイナリが必要。
              そもそもCOMのレベルで別々なのだから、両方で動く単一バイナリは実装不可能
              両方サポートするやつは、両方のバイナリ用意するか、32bit版を提供して、Proxy になるだけの64bit版バイナリ用意する。

    • by Anonymous Coward

      シェル拡張系はx86のWindowsからx64になったときでも動かないのとかあったし、
      有名どころはコンパイルし直したビルドがすぐ出てくるんじゃないかな

  • by Anonymous Coward on 2018年02月21日 15時53分 (#3365191)

    個人的な印象で申し訳ないが
    ・Windows成功の大きな要因はソフトウェアの互換性
    ・マイクロソフトがPC以外のデバイスに手を出すと失敗する
    と思ってるので成功する気がしない

    • Re:結局誰得なんだろう (スコア:2, すばらしい洞察)

      by Anonymous Coward on 2018年02月21日 15時57分 (#3365194)

      個人的な印象で申し訳ないが
      ・Windows成功の大きな要因はソフトウェアの互換性
      ・マイクロソフトがPC以外のデバイスに手を出すと失敗する
      と思ってるので成功する気がしない

      MSの出してたマウスやらキーボード、各種ゲーム用のコントローラみたいなデバイスは失敗してるようには見えないのですが...

      親コメント
      • by Anonymous Coward

        物事には例外というものが大抵あります

      • by Anonymous Coward

        言葉足らずでしたね
        「PC以外のデバイス用のOS」です
        ゲーム機が現役でそれなりに成功してるし
        結構前からPOSレジとかATMとか電光掲示板も中身がPCっぽいので的外れな印象かもしれませんが
        WindowsCE前後あたりの印象が強くて

        • by Anonymous Coward

          WindowsCEは他のハンドヘルド機がほとんど存在しないから成功の部類じゃない?
          WindowsPhoneになって駄目になったけど。

    • by Anonymous Coward

      .NET Frameworkへの移行も進んできたし、ビジネスアプリの互換性という点ではARM版もそれなりに需要あるんじゃないだろうか。

      というかWindows10 IoT CoreとかARMでもちゃんと動くしね。

      • by Anonymous Coward on 2018年02月21日 17時29分 (#3365261)

        .NETで書かれているクライアント側のアプリってどんだけ広く使われてるの?
        個人的には.NETアプリなんて2-3度しか見たことないが、ぱっと見ただけじゃ分からんので知らんところで浸透しているのかもしれない。

        親コメント
        • by Anonymous Coward on 2018年02月21日 22時43分 (#3365460)

          .NET はOSにランタイムがプリインストールされてるけど、VisualC++は、ユーザーが後からインストールが必要。

          開発してるPCだと、どうせVCランタイム入るから気にならんけど、アプリインストールになんらかのランタイムの追加を求められないものは、一部の例外のぞいて全部.NETアプリってことですよ。
          Qtみたいにアプリとランタイムを一緒に配布しちゃうのもあるから全てじゃないけど。

          親コメント
        • by Anonymous Coward on 2018年02月22日 5時53分 (#3365521)

          Win95の時代から存在しているような老舗ソフトは.NETに移行できずに旧式の技術で作られている可能性が高いが、
          Vista, 7あたりから出てきたようなものはほぼ.NET製と考えていいだろう。
          今はmacOSやLinuxで動く.NET(.NET Core)が存在するし、今後はWindows専用の.NETよりもマルチプラットフォームの.NET Coreに開発リソースを割いていく方針。

          親コメント
          • by Anonymous Coward

            ただ、.NETでアプリを作っても、結局Win32を呼ばざるを得ないことが多々あるので、一部の実装をC++に頼ったりすることはありますね。
            (サウンドがらみとか、.NET上の実装がヘボすぎて……)
            そういう意味で、x86エミュレーションが乗っているのは助かるのかも。

          • by Anonymous Coward

            画面周りのマルチはまだ.NETは満足に使えるレベルのはないから
            (ゲームならUnityがあるけど)
            市販でマルチOSのはC++のフルスクラッチかQTだね。ほぼ。

            仮面も含めたマルチOSが.NETで楽になれば最高なんだけどね。

        • by Anonymous Coward

          visual studio自体もC#の割合増えてるらしいよ。excelもそうだって聞いた。

        • by Anonymous Coward

          MS純正品を除けば、Java同様に業務用の方が多いからオフィスワーカーじゃなきゃそう見かけないでしょ

        • by Anonymous Coward

          .NETアプリ自体は結構あるけど
          下位レイヤーがネイティブなのも少なくないので
          ARM環境にそのまま適応できるのはそう多くないかもね。

        • by Anonymous Coward

          ハンディターミナルみたいな奴とか。

          MS以外だとRFCやIEEEにある用語まで独自の意味定義してて会話が成立しない(-_-#)とか。
          ある関数をリファレンスにあるパラメーター仕様どおりに渡すとエラーとか記載無い値渡さんとダメ(-_-#)とか。
          マジでふざけたレベルでブチ切れたから。

        • by Anonymous Coward

          ここ数年の市販ソフトは半分以上.NETになってるよ。
          見た目的には区別できないので、見たことないというより、気づいてないってことですよ。

        • by Anonymous Coward

          ぱっと見ただけじゃ分からんので知らんところで浸透しているのだよ
          システム屋の話だとしても、そういう仕事が無い(できる技術者がいない)会社しか知らないだけ

        • by Anonymous Coward

          今世に出ていて最近まで更新されているソフトの7~8割ぐらいは.NET製だろ。

    • by Anonymous Coward

      >Windows成功の大きな要因はソフトウェアの互換性
      これは時間が経つにつれて評価されてきた内容だからな。
      今回のも成功するか否かは「MSがいつまで我慢できるか」に掛かってる気がする。

typodupeerror

あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー

読み込み中...