Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: brunodev85/winlator
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: longjunyu2/winlator
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Can’t automatically merge. Don’t worry, you can still create the pull request.

Commits on Jun 12, 2024

  1. Copy the full SHA
    239983b View commit details
  2. Copy the full SHA
    37a33f5 View commit details
  3. Copy the full SHA
    03e4b00 View commit details
  4. Copy the full SHA
    de85dab View commit details

Commits on Jul 13, 2024

  1. Copy the full SHA
    e74199b View commit details

Commits on Jul 14, 2024

  1. remove assert

    longjunyu2 committed Jul 14, 2024
    Copy the full SHA
    3991b02 View commit details
  2. Copy the full SHA
    3149eac View commit details

Commits on Jul 16, 2024

  1. Copy the full SHA
    15cd07e View commit details

Commits on Jul 17, 2024

  1. Copy the full SHA
    9a65008 View commit details
  2. Copy the full SHA
    708beec View commit details

Commits on Aug 3, 2024

  1. add glibc env support

    longjunyu2 committed Aug 3, 2024
    Copy the full SHA
    d80353d View commit details
  2. Copy the full SHA
    92470ea View commit details

Commits on Aug 4, 2024

  1. Copy the full SHA
    97b8e0a View commit details
  2. Copy the full SHA
    6e07a81 View commit details
  3. dxvk: change defalut dxvk version to 2.3.1, add dxvk-2.4 and dxvk-gpl…

    …async-2.4, add dxvk config to enable async.
    longjunyu2 committed Aug 4, 2024
    Copy the full SHA
    ad7a7f9 View commit details
  4. Copy the full SHA
    4d2b20b View commit details
  5. Copy the full SHA
    a68797b View commit details
  6. Copy the full SHA
    7cb079e View commit details

Commits on Aug 5, 2024

  1. dxvk: move async options to the top, avoid being hide because of the …

    …limitation of dialog size.
    longjunyu2 committed Aug 5, 2024
    Copy the full SHA
    9dc5fec View commit details
  2. Copy the full SHA
    8b9af62 View commit details
  3. Copy the full SHA
    edef9b5 View commit details
  4. Copy the full SHA
    26b93e6 View commit details
  5. Copy the full SHA
    cae178e View commit details

Commits on Aug 6, 2024

  1. Copy the full SHA
    27683f3 View commit details
  2. Copy the full SHA
    23e96b3 View commit details
  3. gh: add issue templates

    longjunyu2 committed Aug 6, 2024
    Copy the full SHA
    5220432 View commit details

Commits on Aug 7, 2024

  1. Copy the full SHA
    681b1ff View commit details

Commits on Aug 8, 2024

  1. Copy the full SHA
    207989d View commit details

Commits on Aug 9, 2024

  1. Copy the full SHA
    3ea9d07 View commit details
  2. Copy the full SHA
    98f0e21 View commit details
  3. strings: Replace '...' with ellipsis character, change 'copy' to '_co…

    …py' to avoid overwritting androidx resourse
    longjunyu2 committed Aug 9, 2024
    Copy the full SHA
    1e2dd29 View commit details
  4. rc: make the intent clear

    longjunyu2 committed Aug 9, 2024
    Copy the full SHA
    11f007d View commit details
  5. Copy the full SHA
    dcc872b View commit details
  6. Copy the full SHA
    66b563e View commit details
  7. Copy the full SHA
    1fdb223 View commit details
  8. Copy the full SHA
    9700cf3 View commit details
  9. Copy the full SHA
    89294a6 View commit details
  10. Merge pull request #13 from longjunyu2/try-fix-gradle-file

    gradle: fixed gradle file
    longjunyu2 authored Aug 9, 2024
    Copy the full SHA
    d17556e View commit details
  11. Copy the full SHA
    b93e735 View commit details
  12. Copy the full SHA
    2acd0a5 View commit details

Commits on Aug 10, 2024

  1. Copy the full SHA
    02c7a36 View commit details
  2. Copy the full SHA
    392bba9 View commit details

Commits on Aug 11, 2024

  1. Copy the full SHA
    60c7a03 View commit details
  2. Copy the full SHA
    5c3ff27 View commit details
  3. Copy the full SHA
    2abf16f View commit details
  4. Copy the full SHA
    7fbb3f8 View commit details
  5. Copy the full SHA
    92462cb View commit details
  6. Copy the full SHA
    a5e7095 View commit details

Commits on Aug 12, 2024

  1. Copy the full SHA
    f142d47 View commit details
  2. Copy the full SHA
    eeda55e View commit details
Showing with 15,383 additions and 697 deletions.
  1. +38 −0 .github/ISSUE_TEMPLATE/bug_report.en.md
  2. +38 −0 .github/ISSUE_TEMPLATE/bug_report_zh.md
  3. +9 −0 .gitignore
  4. +3 −0 .gitmodules
  5. +26 −0 LICENSE
  6. +5 −44 README.md
  7. +1 −0 app/.gitignore
  8. +0 −3 app/.gitmodules
  9. +36 −21 app/build.gradle
  10. +13 −0 app/libs/MidiSynth/LICENSE.txt
  11. BIN app/libs/MidiSynth/MidiSynth.jar
  12. +9 −7 app/proguard-rules.pro
  13. +14 −1 app/src/main/AndroidManifest.xml
  14. +2 −0 app/src/main/assets/.gitattributes
  15. +3 −1 app/src/main/assets/box64_env_vars.json
  16. BIN app/src/main/assets/box86_64/box64-0.2.8.tzst
  17. BIN app/src/main/assets/box86_64/box64-0.2.9.tzst
  18. +3 −0 app/src/main/assets/box86_64/box64-0.3.0.tzst
  19. BIN app/src/main/assets/box86_64/box86-0.3.2.tzst
  20. BIN app/src/main/assets/box86_64/box86-0.3.7.tzst
  21. +1 −0 app/src/main/assets/box86_64/rcfiles/box86_64rc-1.rcp
  22. +1 −1 app/src/main/assets/common_dlls.json
  23. BIN app/src/main/assets/container_pattern.tzst
  24. BIN app/src/main/assets/dxwrapper/cnc-ddraw-6.6/ddraw.tzst
  25. BIN app/src/main/assets/dxwrapper/d8vk-1.0.tzst
  26. BIN app/src/main/assets/dxwrapper/dxvk-0.96.tzst
  27. BIN app/src/main/assets/dxwrapper/dxvk-1.10.3.tzst
  28. BIN app/src/main/assets/dxwrapper/dxvk-2.3.1.tzst
  29. +3 −0 app/src/main/assets/dxwrapper/dxvk-2.4-gplasync.tzst
  30. +3 −0 app/src/main/assets/dxwrapper/dxvk-2.4.tzst
  31. BIN app/src/main/assets/dxwrapper/vkd3d-2.12.tzst
  32. +3 −0 app/src/main/assets/dxwrapper/vkd3d-2.13.tzst
  33. BIN app/src/main/assets/graphics_driver/turnip-24.1.0.tzst
  34. BIN app/src/main/assets/graphics_driver/virgl-23.1.9.tzst
  35. BIN app/src/main/assets/graphics_driver/zink-22.2.5.tzst
  36. +2 −2 app/src/main/assets/imagefs.txz
  37. BIN app/src/main/assets/imagefs_patches.tzst
  38. BIN app/src/main/assets/pulseaudio.tzst
  39. +3 −0 app/src/main/assets/soundfonts/wt_210k_G.sf2
  40. +319 −0 app/src/main/assets/soundfonts/wt_210k_G_LICENSE.txt
  41. +4 −2 app/src/main/cpp/CMakeLists.txt
  42. +1 −1 app/src/main/cpp/OpenXR-SDK
  43. +12 −0 app/src/main/cpp/patchelf/CMakeLists.txt
  44. +4,268 −0 app/src/main/cpp/patchelf/src/elf.h
  45. +2,698 −0 app/src/main/cpp/patchelf/src/patchelf.cc
  46. +298 −0 app/src/main/cpp/patchelf/src/patchelf.h
  47. +84 −0 app/src/main/cpp/winlator/patchelf_wrapper.cpp
  48. +1 −1 app/src/main/cpp/xr/engine.c
  49. +11 −11 app/src/main/cpp/xr/engine.h
  50. +6 −16 app/src/main/cpp/xr/framebuffer.c
  51. +0 −1 app/src/main/cpp/xr/framebuffer.h
  52. +2 −2 app/src/main/cpp/xr/main.c
  53. +9 −1 app/src/main/cpp/xr/renderer.c
  54. +715 −0 app/src/main/java/com/winlator/Box86_64RCFragment.java
  55. +184 −25 app/src/main/java/com/winlator/ContainerDetailFragment.java
  56. +31 −6 app/src/main/java/com/winlator/ContainersFragment.java
  57. +344 −0 app/src/main/java/com/winlator/ContentsFragment.java
  58. +1 −0 app/src/main/java/com/winlator/ControlsEditorActivity.java
  59. +1 −3 app/src/main/java/com/winlator/ExternalControllerBindingsActivity.java
  60. +23 −1 app/src/main/java/com/winlator/MainActivity.java
  61. +123 −6 app/src/main/java/com/winlator/SettingsFragment.java
  62. +62 −1 app/src/main/java/com/winlator/ShortcutsFragment.java
  63. +282 −102 app/src/main/java/com/winlator/XServerDisplayActivity.java
  64. +80 −103 app/src/main/java/com/winlator/XrActivity.java
  65. +17 −0 app/src/main/java/com/winlator/box86_64/Box86_64PresetManager.java
  66. +132 −0 app/src/main/java/com/winlator/box86_64/rc/RCField.java
  67. +127 −0 app/src/main/java/com/winlator/box86_64/rc/RCFile.java
  68. +68 −0 app/src/main/java/com/winlator/box86_64/rc/RCGroup.java
  69. +49 −0 app/src/main/java/com/winlator/box86_64/rc/RCItem.java
  70. +234 −0 app/src/main/java/com/winlator/box86_64/rc/RCManager.java
  71. +93 −7 app/src/main/java/com/winlator/container/Container.java
  72. +23 −7 app/src/main/java/com/winlator/container/ContainerManager.java
  73. +8 −0 app/src/main/java/com/winlator/container/Shortcut.java
  74. +34 −0 app/src/main/java/com/winlator/contentdialog/ContentDialog.java
  75. +76 −0 app/src/main/java/com/winlator/contentdialog/ContentInfoDialog.java
  76. +27 −0 app/src/main/java/com/winlator/contentdialog/ContentUntrustedDialog.java
  77. +107 −12 app/src/main/java/com/winlator/contentdialog/DXVKConfigDialog.java
  78. +56 −0 app/src/main/java/com/winlator/contentdialog/ImportGroupDialog.java
  79. +78 −0 app/src/main/java/com/winlator/contentdialog/NavigationDialog.java
  80. +98 −16 app/src/main/java/com/winlator/contentdialog/ShortcutSettingsDialog.java
  81. +75 −0 app/src/main/java/com/winlator/contentdialog/VKD3DConfigDialog.java
  82. +62 −0 app/src/main/java/com/winlator/contents/ContentProfile.java
  83. +397 −0 app/src/main/java/com/winlator/contents/ContentsManager.java
  84. +66 −0 app/src/main/java/com/winlator/contents/Downloader.java
  85. +8 −0 app/src/main/java/com/winlator/core/AppUtils.java
  86. +2 −2 app/src/main/java/com/winlator/core/DefaultVersion.java
  87. +95 −44 app/src/main/java/com/winlator/core/FileUtils.java
  88. +66 −0 app/src/main/java/com/winlator/core/PatchElf.java
  89. +5 −1 app/src/main/java/com/winlator/core/ProcessHelper.java
  90. +6 −1 app/src/main/java/com/winlator/core/TarCompressorUtils.java
  91. +1 −1 app/src/main/java/com/winlator/core/WineInfo.java
  92. +2 −4 app/src/main/java/com/winlator/core/WineUtils.java
  93. +312 −0 app/src/main/java/com/winlator/core/WinlatorFilesProvider.java
  94. +3 −1 app/src/main/java/com/winlator/inputcontrols/Binding.java
  95. +12 −4 app/src/main/java/com/winlator/inputcontrols/ControlElement.java
  96. +34 −4 app/src/main/java/com/winlator/inputcontrols/ExternalController.java
  97. +6 −2 app/src/main/java/com/winlator/inputcontrols/GamepadState.java
  98. +178 −0 app/src/main/java/com/winlator/midi/MidiHandler.java
  99. +135 −0 app/src/main/java/com/winlator/midi/MidiManager.java
  100. +11 −0 app/src/main/java/com/winlator/midi/RequestCodes.java
  101. +28 −7 app/src/main/java/com/winlator/renderer/GLRenderer.java
  102. +1 −1 app/src/main/java/com/winlator/renderer/Texture.java
  103. +40 −3 app/src/main/java/com/winlator/widget/InputControlsView.java
  104. +72 −6 app/src/main/java/com/winlator/widget/TouchpadView.java
  105. +32 −13 app/src/main/java/com/winlator/winhandler/WinHandler.java
  106. +22 −5 app/src/main/java/com/winlator/xenvironment/ImageFs.java
  107. +3 −4 app/src/main/java/com/winlator/xenvironment/ImageFsInstaller.java
  108. +229 −0 app/src/main/java/com/winlator/xenvironment/components/GlibcProgramLauncherComponent.java
  109. +4 −0 app/src/main/java/com/winlator/xserver/ClientOpcodes.java
  110. +21 −0 app/src/main/java/com/winlator/xserver/XClientRequestHandler.java
  111. +23 −0 app/src/main/java/com/winlator/xserver/requests/CursorRequests.java
  112. +21 −0 app/src/main/java/com/winlator/xserver/requests/WindowRequests.java
  113. BIN app/src/main/jniLibs/arm64-v8a/libltdl.so
  114. BIN app/src/main/jniLibs/arm64-v8a/libproot-loader32.so
  115. BIN app/src/main/jniLibs/arm64-v8a/libpulse.so
  116. BIN app/src/main/jniLibs/arm64-v8a/libpulseaudio.so
  117. BIN app/src/main/jniLibs/arm64-v8a/libpulsecommon-13.0.so
  118. BIN app/src/main/jniLibs/arm64-v8a/libpulsecore-13.0.so
  119. BIN app/src/main/jniLibs/arm64-v8a/libsndfile.so
  120. BIN app/src/main/jniLibs/armeabi-v7a/libltdl.so
  121. BIN app/src/main/jniLibs/armeabi-v7a/libpulse.so
  122. BIN app/src/main/jniLibs/armeabi-v7a/libpulseaudio.so
  123. BIN app/src/main/jniLibs/armeabi-v7a/libpulsecommon-13.0.so
  124. BIN app/src/main/jniLibs/armeabi-v7a/libpulsecore-13.0.so
  125. BIN app/src/main/jniLibs/armeabi-v7a/libsndfile.so
  126. BIN app/src/main/res/drawable-hdpi/icon_list_item_expanded.png
  127. BIN app/src/main/res/drawable-hdpi/icon_list_item_folded.png
  128. BIN app/src/main/res/drawable-xxhdpi/icon_shortcut.png
  129. +5 −0 app/src/main/res/drawable/folded_expended_selector.xml
  130. +3 −0 app/src/main/res/drawable/hidden_pointer_arrow.xml
  131. BIN app/src/main/res/drawable/null_bitmap.png
  132. +16 −0 app/src/main/res/layout/about_dialog.xml
  133. +136 −0 app/src/main/res/layout/box86_64_rc_fragment.xml
  134. +46 −0 app/src/main/res/layout/box86_64_rc_group_fragment.xml
  135. +85 −0 app/src/main/res/layout/box86_64_rc_group_list_item.xml
  136. +22 −0 app/src/main/res/layout/box86_64_rc_groups_dialog.xml
  137. +42 −0 app/src/main/res/layout/box86_64_rc_list_item.xml
  138. +43 −0 app/src/main/res/layout/box86_64_rc_var.xml
  139. +230 −1 app/src/main/res/layout/container_detail_fragment.xml
  140. +6 −0 app/src/main/res/layout/container_list_item.xml
  141. +17 −9 app/src/main/res/layout/content_dialog.xml
  142. +24 −0 app/src/main/res/layout/content_file_list_item.xml
  143. +107 −0 app/src/main/res/layout/content_info_dialog.xml
  144. +63 −0 app/src/main/res/layout/content_list_item.xml
  145. +27 −0 app/src/main/res/layout/content_untrusted_dialog.xml
  146. +66 −0 app/src/main/res/layout/contents_fragment.xml
  147. +49 −0 app/src/main/res/layout/dxvk_config_dialog.xml
  148. +42 −30 app/src/main/res/layout/input_controls_dialog.xml
  149. +17 −0 app/src/main/res/layout/navigation_dialog.xml
  150. +177 −0 app/src/main/res/layout/settings_fragment.xml
  151. +117 −7 app/src/main/res/layout/shortcut_settings_dialog.xml
  152. +100 −95 app/src/main/res/layout/task_manager_dialog.xml
  153. +33 −0 app/src/main/res/layout/vkd3d_config_dialog.xml
  154. +5 −3 app/src/main/res/layout/xserver_display_activity.xml
  155. +1 −0 app/src/main/res/menu/container_popup_menu.xml
  156. +5 −0 app/src/main/res/menu/content_popup_menu.xml
  157. +2 −0 app/src/main/res/menu/main_menu.xml
  158. +5 −0 app/src/main/res/menu/rc_group_menu.xml
  159. +5 −0 app/src/main/res/menu/rc_new_menu.xml
  160. +1 −0 app/src/main/res/menu/shortcut_popup_menu.xml
  161. +1 −0 app/src/main/res/menu/xserver_menu.xml
  162. +308 −0 app/src/main/res/values-zh-rCN/strings.xml
  163. +55 −11 app/src/main/res/values/arrays.xml
  164. +167 −34 app/src/main/res/values/strings.xml
  165. +13 −0 app/src/main/res/values/styles.xml
  166. +4 −0 build.gradle
  167. +13 −0 content/metadata.json
  168. +22 −0 gradle.properties
  169. +26 −0 gradle/libs.versions.toml
  170. BIN gradle/wrapper/gradle-wrapper.jar
  171. +6 −0 gradle/wrapper/gradle-wrapper.properties
  172. +185 −0 gradlew
  173. +89 −0 gradlew.bat
  174. +23 −0 settings.gradle
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Bug Report
about: Report a bug to help us improve
title: "[BUG]"
labels: bug
assignees: ''
---

**Device Information**
- Device Model: [e.g., Samsung Galaxy S21]
- Device Processor Model: [e.g., Exynos 2100]
- Android Version: [e.g., 11]
- Kernel Version: [e.g., 4.19.112]

**Application Configuration Information**
- App Version: [e.g., 7.1.1]
- Display Driver: [e.g., Turnip-24.1.0]
- dxwrapper: [e.g., DXVK-2.3.1]
- box64 Version: [e.g., 0.3.0]
- box64 Preset: [e.g., Compatibility]

**Description of the Issue**
Please provide a clear and concise description of the problem. For example, "The app crashes when I try to open the settings menu."

**Steps to Reproduce**
Please describe the steps to reproduce the issue:
1. step 1
2. step 2
3. step 3

**Expected Behavior**
Please describe what you expected to happen. For example, "I expected to see the advanced settings without the app crashing."

**Screenshots**
If applicable, add screenshots to help explain your problem. You can attach screenshots here.

**Additional Information**
Please provide any other relevant information or context. For example, "This issue started happening after updating to version 1.2.3."
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report_zh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Bug反馈
about: 反馈Bug以帮助我们改进
title: "[BUG]"
labels: bug
assignees: ''
---

**设备信息**
- 设备型号: [例如, 三星 Galaxy S21]
- 设备处理器型号: [例如, Exynos 2100]
- 安卓版本: [例如, 11]
- 内核版本: [例如, 4.9.112]

**应用程序配置信息**
- Winlator 版本: [例如, 7.1.1]
- 显示驱动: [例如, Turnip-24.1.0]
- Dx Wrapper: [例如, DXVK-2.3.1]
- box64 版本: [例如, 0.3.0]
- box64 预设: [例如, Compatibility]

**描述错误**
请详细描述你遇到的问题。

**重现步骤**
请描述重现问题的步骤:
1. 步骤 1
2. 步骤 2
3. 步骤 3

**预期行为**
请描述你期望发生的情况。

**截图**
如果有相关截图,请附上。

**附加信息**
如果有其他任何相关信息,请提供。
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
*.iml
.gradle
/local.properties
/.idea/
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "app/src/main/cpp/OpenXR-SDK"]
path = app/src/main/cpp/OpenXR-SDK
url = https://github.com/KhronosGroup/OpenXR-SDK.git
26 changes: 26 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,3 +1,29 @@
GPLv3/MIT License

The code added or modified in this fork is subject to the GPLv3 license.
The code from the upstream repository is licensed under the MIT license.

---

GPLv3 License

Copyright (C) 2024 longjunyu2, lvonasek

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.

---

MIT License

Copyright (c) 2023 BrunoSX
49 changes: 5 additions & 44 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,9 @@
<p align="center">
<img src="logo.png" width="376" height="128" alt="Winlator Logo" />
</p>
# Winlator-Glibc

# Winlator
![image](https://github.com/user-attachments/assets/f355574f-af5b-45be-8afc-641ab297da34)

Winlator is an Android application that lets you to run Windows (x86_64) applications with Wine and Box86/Box64.
It's been a few months since the lead developer `longjunyu2` has been online. He originally mentioned studying and planned to return in 2025, but after October 15, 2024, the level of communication with him went to zero.

# Installation
Development of this project is on hold and will not resume until `longjunyu2` returns.

1. Download and install the APK (Winlator_9.0.apk) from [GitHub Releases](https://github.com/brunodev85/winlator/releases)
2. Launch the app and wait for the installation process to finish

----

[![Play on Youtube](https://img.youtube.com/vi/ETYDgKz4jBQ/3.jpg)](https://www.youtube.com/watch?v=ETYDgKz4jBQ)
[![Play on Youtube](https://img.youtube.com/vi/9E4wnKf2OsI/2.jpg)](https://www.youtube.com/watch?v=9E4wnKf2OsI)
[![Play on Youtube](https://img.youtube.com/vi/czEn4uT3Ja8/2.jpg)](https://www.youtube.com/watch?v=czEn4uT3Ja8)
[![Play on Youtube](https://img.youtube.com/vi/eD36nxfT_Z0/2.jpg)](https://www.youtube.com/watch?v=eD36nxfT_Z0)

----

# Useful Tips

- If you are experiencing performance issues, try changing the Box64 preset to `Performance` in Container Settings -> Advanced Tab.
- For applications that use .NET Framework, try installing `Wine Mono` found in Start Menu -> System Tools.
- If some older games don't open, try adding the environment variable `MESA_EXTENSION_MAX_YEAR=2003` in Container Settings -> Environment Variables.
- Try running the games using the shortcut on the Winlator home screen, there you can define individual settings for each game.
- To display low resolution games correctly, try to enabling the `Force Fullscreen` option in the shortcut settings.
- To improve stability in games that uses Unity Engine, try changing the Box64 preset to `Stability` or in the shortcut settings add the exec argument `-force-gfx-direct`.

# Information

This project has been in constant development since version 1.0, the current app source code is up to version 7.1, I do not update this repository frequently precisely to avoid unofficial releases before the official releases of Winlator.

# Credits and Third-party apps
- Ubuntu RootFs ([Focal Fossa](https://releases.ubuntu.com/focal))
- Wine ([winehq.org](https://www.winehq.org/))
- Box86/Box64 by [ptitseb](https://github.com/ptitSeb)
- PRoot ([proot-me.github.io](https://proot-me.github.io))
- Mesa (Turnip/Zink/VirGL) ([mesa3d.org](https://www.mesa3d.org))
- DXVK ([github.com/doitsujin/dxvk](https://github.com/doitsujin/dxvk))
- VKD3D ([gitlab.winehq.org/wine/vkd3d](https://gitlab.winehq.org/wine/vkd3d))
- D8VK ([github.com/AlpyneDreams/d8vk](https://github.com/AlpyneDreams/d8vk))
- CNC DDraw ([github.com/FunkyFr3sh/cnc-ddraw](https://github.com/FunkyFr3sh/cnc-ddraw))

Many thanks to [ptitSeb](https://github.com/ptitSeb) (Box86/Box64), [Danylo](https://blogs.igalia.com/dpiliaiev/tags/mesa/) (Turnip), [alexvorxx](https://github.com/alexvorxx) (Mods/Tips) and others.<br>
Thank you to all the people who believe in this project.
This repository was also home to WinlatorXR. The XR version is planned to be rebased on the original Winlator.
1 change: 1 addition & 0 deletions app/.gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
/.cxx
/build
/release
3 changes: 0 additions & 3 deletions app/.gitmodules

This file was deleted.

57 changes: 36 additions & 21 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,46 +1,61 @@
apply plugin: 'com.android.application'
plugins {
alias(libs.plugins.android.application)
}

android {
compileSdk 30
namespace 'com.winlator'
compileSdk 34

defaultConfig {
applicationId 'com.winlator'
minSdkVersion 26
targetSdkVersion 28
versionCode 16
versionName "7.1"
applicationId "com.winlator"
minSdk 26
targetSdk 28
versionCode 21
versionName "7.1.5-glibc"
externalNativeBuild {
cmake {
cppFlags ''
}
}

ndk {
abiFilters 'arm64-v8a'
}
}

buildTypes {
debug {
minifyEnabled true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

ndk {
abiFilters 'arm64-v8a', 'armeabi-v7a'
}
}
}

lintOptions {
checkReleaseBuilds false
}

ndkVersion '22.1.7171670'
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}

externalNativeBuild {
cmake {
path file('src/main/cpp/CMakeLists.txt')
version '3.22.1'
path 'src/main/cpp/CMakeLists.txt'
}
}
}

dependencies {
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.preference:preference:1.1.1'
implementation 'com.google.android.material:material:1.4.0'
implementation 'com.github.luben:zstd-jni:1.5.2-3@aar'
implementation 'org.tukaani:xz:1.7'
implementation 'org.apache.commons:commons-compress:1.20'
}
implementation libs.appcompat
implementation libs.material
implementation libs.preference
implementation libs.xz
implementation libs.commons.compress
testImplementation libs.junit
androidTestImplementation libs.ext.junit
androidTestImplementation libs.espresso.core
implementation(libs.zstd.jni) { artifact { type = 'aar' } }
implementation files('libs/MidiSynth/MidiSynth.jar')
}
13 changes: 13 additions & 0 deletions app/libs/MidiSynth/LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Copyright 2015, KyoSherlock

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Binary file added app/libs/MidiSynth/MidiSynth.jar
Binary file not shown.
16 changes: 9 additions & 7 deletions app/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in C:\tools\adt-bundle-windows-x86_64-20131030\sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html

# Add any project specific keep options here:

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

-dontobfuscate
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
15 changes: 14 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -22,6 +22,8 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>

<application
android:icon="@mipmap/ic_launcher"
@@ -68,11 +70,22 @@
<activity android:name="com.winlator.ControlsEditorActivity"
android:exported="false"
android:theme="@style/AppThemeFullscreen"
android:screenOrientation="sensorLandscape" />
android:screenOrientation="sensor" />

<activity android:name="com.winlator.ExternalControllerBindingsActivity"
android:theme="@style/AppTheme"
android:exported="false"
android:screenOrientation="sensor" />

<provider
android:name=".core.WinlatorFilesProvider"
android:authorities="com.winlator.core.WinlatorFilesProvider"
android:exported="true"
android:grantUriPermissions="true"
android:permission="android.permission.MANAGE_DOCUMENTS">
<intent-filter>
<action android:name="android.content.action.DOCUMENTS_PROVIDER" />
</intent-filter>
</provider>
</application>
</manifest>
2 changes: 2 additions & 0 deletions app/src/main/assets/.gitattributes
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
*.txz filter=lfs diff=lfs merge=lfs -text
*.tzst filter=lfs diff=lfs merge=lfs -text
*.sf2 filter=lfs diff=lfs merge=lfs -text
4 changes: 3 additions & 1 deletion app/src/main/assets/box64_env_vars.json
Original file line number Diff line number Diff line change
@@ -7,5 +7,7 @@
{"name" : "BOX64_DYNAREC_STRONGMEM", "values" : ["0", "1", "2", "3"], "defaultValue" : "0"},
{"name" : "BOX64_DYNAREC_FORWARD", "values" : ["0", "128", "256", "512", "1024"], "defaultValue" : "128"},
{"name" : "BOX64_DYNAREC_CALLRET", "values" : ["0", "1"], "toggleSwitch" : true, "defaultValue" : "1"},
{"name" : "BOX64_DYNAREC_WAIT", "values" : ["0", "1"], "toggleSwitch" : true, "defaultValue" : "1"}
{"name" : "BOX64_DYNAREC_WAIT", "values" : ["0", "1"], "toggleSwitch" : true, "defaultValue" : "1"},
{"name" : "BOX64_AVX", "values" : ["0", "1", "2"], "defaultValue" : "0"},
{"name" : "BOX64_UNITYPLAYER", "values" : ["0", "1"], "toggleSwitch" : true, "defaultValue" : "1"}
]
Binary file modified app/src/main/assets/box86_64/box64-0.2.8.tzst
Binary file not shown.
Binary file removed app/src/main/assets/box86_64/box64-0.2.9.tzst
Binary file not shown.
3 changes: 3 additions & 0 deletions app/src/main/assets/box86_64/box64-0.3.0.tzst
Git LFS file not shown
Binary file removed app/src/main/assets/box86_64/box86-0.3.2.tzst
Binary file not shown.
Binary file removed app/src/main/assets/box86_64/box86-0.3.7.tzst
Binary file not shown.
1 change: 1 addition & 0 deletions app/src/main/assets/box86_64/rcfiles/box86_64rc-1.rcp
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"id":1,"name":"Default","groups":[{"name":"Steam","desc":"","enabled":true,"items":[{"processName":"steam.exe","desc":"","vars":{"BOX64_ARGS":"-cef-disable-breakpad -cef-disable-d3d11 -cef-disable-delaypageload -cef-force-occlusion -cef-disable-sandbox -cef-disable--seccomp-sandbox -no-cef-sandbox -disable-winh264 -cef-disable-gpu -vgui -oldtraymenu -cef-single-process","BOX64_DYNAREC_BIGBLOCK":"3","BOX64_DYNAREC_CALLRET":"1","BOX64_DYNAREC_SAFEFLAGS":"0"}},{"processName":"steamwebhelper.exe","desc":"","vars":{"BOX64_DYNAREC_STRONGMEM":"1"}}]},{"name":"Flatout","desc":"","enabled":true,"items":[{"processName":"flatout.exe","desc":"","vars":{"BOX64_DYNAREC_BIGBLOCK":"3","BOX64_DYNAREC_CALLRET":"1"}}]}]}
Loading