<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          HangoverLinux ARM64 的 Windows 兼容層

          聯(lián)合創(chuàng)作 · 2023-09-29 08:12

          Hangover 可用于在 aarch64/(ppc64le)/x86_64 Wine 上運(yùn)行 (x86_64)/x86_32 Windows 應(yīng)用程序。

          (括號內(nèi)的架構(gòu)暫不支持)

          1)它是如何工作的

          Hangover 使用 Wine 中的 WoW64 支持 + 一個(gè)模擬器來運(yùn)行,例如x86_64 上的 ARM32 ,或 ARM64 上的 i386。

          2)狀態(tài)

          雖然整體穩(wěn)定性得到改善,但預(yù)計(jì)會發(fā)生崩潰。

          3)如何構(gòu)建

          目前 Qemu 被構(gòu)建為一個(gè)在 Wine 中使用的庫。這是一個(gè)許可沖突,所以不會有二進(jìn)制文件可供下載。這將隨著其他模擬器而改變。

          3.1)Qemu

          要將 Qemu 構(gòu)建為庫,需要:

          • 構(gòu)建 qemu 的依賴項(xiàng)(特別是 glib)
          • 大約 1GB 的磁盤空間

          此處下載并解壓縮 5.2.0 版。

          在 qemu/ 下應(yīng)用此 repo 中提供的補(bǔ)?。?/span>

          $ patch -p1 < /path/to/your/patch

          像這樣構(gòu)建它:

          $ mkdir build $ cd build $ ../configure --target-list=arm-linux-user,i386-linux-user $ make

          如果編譯器警告 linux-user/ioctls.h 中的某些內(nèi)容,請刪除相應(yīng)的行并再次運(yùn)行 make。

          將生成的庫放在 /opt(默認(rèn))中或?qū)?HOLIB 設(shè)置為生成的庫的完整路徑。

          3.2) Wine

          要制作 Hangover Wine,您需要:

          • 構(gòu)建 64 位 Wine 的依賴項(xiàng)
          • 用于PE交叉編譯的 llvm-mingw
          • 大約 5GB 的磁盤空間

          還要確保您設(shè)置了子模塊:

          $ git submodule update --init

          在 x86-64 上:

          $ mkdir -p wine/build $ cd wine/build $ ../configure --enable-win64 --disable-tests --with-mingw --enable-archs=i386,x86_64,arm $ make

          在 ARM64 上:

          $ mkdir -p wine/build $ cd wine/build $ ../configure --disable-tests --with-mingw --enable-archs=i386,aarch64,arm $ make
          

          4)運(yùn)行 

          在關(guān)鍵部分問題解決之前,強(qiáng)烈建議使用“taskset -c 1”將執(zhí)行限制為 1 個(gè)核心:

          在 x86-64 上:

          $ taskset -c 1 ./wine64 yourapplication.exe

          在 ARM64 上:

          $ taskset -c 1 ./wine yourapplication.exe

          您可以添加以下環(huán)境變量:

          • HODLL 使用除 xtajit 或 wowarmhw 之外的其他 dll 運(yùn)行應(yīng)用程序。例如 HODLL=wow64cpu.dll 在 x86-64 上運(yùn)行它而不進(jìn)行仿真:
            xtajit.dll 用于 i386 仿真,wowarmhw.dll 用于 ARM 仿真,wow64cpu.dll 用于 x86_64 上的“本機(jī)”i386 模式
          • HOLIB 設(shè)置庫的完整路徑,例如 HOLIB=/path/to/libqemu-i386.so
          • QEMU_LOG 設(shè)置 Qemu 日志通道,在這里找到一些選項(xiàng)。

          5)待辦事項(xiàng)

          • 讓更多的應(yīng)用程序運(yùn)行
          • 調(diào)查 CriticalSection 問題(只是時(shí)間問題?)
          • 集成除 Qemu 之外的其他模擬器,如 Box32、 FEX / hex-emu
          瀏覽 37
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费啪啪啪网站 | 超碰人人人人人人 | 亚洲无码专区在线 | 三级视频无码在线观看 | 国产精品一区二区在线播放 |