Ari (Hamid) Zare
07e9e5c344
Fix typos in documentation ( #4629 )
...
Signed-off-by: Hamid Zare <[email protected] >
2026-10-29 16:37:25 +01:00
Yang Liu
74ee4280db
[DYNAREC] Added callret=3 and move in_used tracking to it ( #4609 )
...
Also removed the leafcall optimization from LoongArch.
2026-10-26 16:12:23 +01:00
Yang Liu
c61543e47b
[DYNAREC] Removed the secondary entry points ( #4464 )
2026-09-27 17:51:14 +02:00
Yang Liu
92527ded34
[DYNAREC] Added dynablock in_used tracking and removed DYNAREC_PURGE ( #4405 )
...
With DYNAREC_CALLRET>1, a callee returns directly into the caller block. If that block is invalidated and its JIT memory reused before all pending returns are done, the returning thread jumps into random data. in_used is now tracked and the deferred free only recycles blocks with in_used==0.
DYNAREC_PURGE and tick tracking were removed, they were marked as legacy and now it's a good time to remove.
2026-09-17 09:32:51 +02:00
Yang Liu
77fdc0bafb
[STEAM] Added ondemand SteamUI to save memory ( #4397 )
2026-09-16 09:02:34 +02:00
Yang Liu
36738670ee
[LA64_DYNAREC] Added leaf call inline optimization ( #4376 )
...
* [LA64_DYNAREC] Added leaf call inline optimization
* Review
2026-09-14 09:20:11 +02:00
Luke Short
d79d0efad8
Add install bundle option ( #4344 )
...
* [BUNDLE] add '--install' option
* [BUNDLE] add '--debug' option
and disable it by default.
Also require '--build' option now so the intent is explicit.
* [CMAKE] add BUNDLE_X86_LIBS options
to automatically install the tarball from the GitHub Release.
* [BUNDLE] support DESTDIR
2026-09-02 22:43:25 +02:00
Luke Short
12636eb321
[CORE] Add MIT license header to all relevant source files ( #4287 )
...
to all relevant source files.
Resolves #484
2026-08-31 19:50:21 +02:00
ptitSeb
951808acd1
[CI] Fixed NOBOX64 use for WOWBOX64 build and added doc in COMPILE.md
2026-08-27 11:27:37 +02:00
Yang Liu
ddd3bd602f
[WRAPPER][ENV] Removed crashhandler handling completely ( #4191 )
2026-08-05 12:43:04 +02:00
ptitSeb
2f130fab1d
Bumped version to v0.4.4
2026-08-02 11:31:59 +02:00
Luke Short
0f6b8ccc68
[DOCS] Recommend SteamRT3/SteamRT64 ( #4157 )
...
when Box86 is unavailable.
2026-07-31 08:56:12 +02:00
Mikura Kyouka
0cec433211
[DYNAREC] Added BOX64_DYNAREC_DISASM for Zydis disassembly in dynarec dump ( #4049 )
2026-07-20 17:32:01 +02:00
Yang Liu
894a183180
[DYNAREC][ENV] Disabled SEP by default ( #4045 )
...
* [DYNAREC][ENV] Disabled SEP by default
Now that we have callret enabled by default, I noticed SEP causes the branch misprediction by an order of magnitude in coremark, while the memory-saving effect is almost imperceptible.
```
ksco@steel [ coremark@main ] $ BOX64_LOG=0 BOX64_NOBANNER=1 BOX64_DYNACACHE=0 BOX64_DYNAREC_SEP=0 perf stat -e task-clock,cycles,instructions,branches,branch-misses -- taskset -c 2 box64 ./coremark.exe_x64 0 0 0x66 200000 7 1 >/dev/null
Performance counter stats for 'taskset -c 2 box64 ./coremark.exe_x64 0 0 0x66 200000 7 1':
16,339.65 msec task-clock:u
35,828,022,082 cycles:u
118,528,644,489 instructions:u
12,994,274,457 branches:u
36,068,961 branch-misses:u
16.348269274 seconds time elapsed
16.331188000 seconds user
0.009995000 seconds sys
ksco@steel [ coremark@main ] $ BOX64_LOG=0 BOX64_NOBANNER=1 BOX64_DYNACACHE=0 BOX64_DYNAREC_SEP=1 perf stat -e task-clock,cycles,instructions,branches,branch-misses -- taskset -c 2 box64 ./coremark.exe_x64 0 0 0x66 200000 7 1 >/dev/null
Performance counter stats for 'taskset -c 2 box64 ./coremark.exe_x64 0 0 0x66 200000 7 1':
18,571.57 msec task-clock:u
40,721,222,650 cycles:u
118,523,943,716 instructions:u
12,993,208,645 branches:u
383,363,320 branch-misses:u
18.581470637 seconds time elapsed
18.564061000 seconds user
0.008996000 seconds sys
ksco@steel [ coremark@main ] $ perf stat -e task-clock,cycles,instructions,branches,branch-misses -- taskset -c 2 ./coremark.exe 0 0 0x66 200000 7 1 >/dev/null
Performance counter stats for 'taskset -c 2 ./coremark.exe 0 0 0x66 200000 7 1':
9,757.79 msec task-clock:u
21,407,080,976 cycles:u
62,785,977,365 instructions:u
11,852,476,157 branches:u
18,851,352 branch-misses:u
9.762550998 seconds time elapsed
9.757495000 seconds user
0.000999000 seconds sys
```
* Update docs
* Enable SEP on SAVE_MEM build
2026-07-15 13:09:32 +02:00
Mikura Kyouka
900d327aa1
[DOCS] Add Chinese version of WINE.md ( #4042 )
2026-07-14 09:14:11 +02:00
Yang Liu
32f966210b
[DYNAREC] Added a compat mode to dynarec dump ( #4024 )
2026-07-10 11:11:04 +02:00
Yang Liu
86a850cfcd
[DYNAREC] Made callret=2 the default ( #4017 )
2026-07-09 09:11:03 +02:00
ptitSeb
d6e43153db
Introducing BOX64_SKIPCPU to skip N first cores, (to avoid little cores in big.LITTLE SoC)
2026-07-05 16:32:47 +02:00
Zhijin Zeng
dd180478f1
[TRACE] Support configuring trace address list through BOX64_TRACE ( #3998 )
...
Format: BOX64_TRACE=0x1000:0x2000:0x3000
Just trace the address 0x1000,0x2000 and 0x3000
2026-06-30 17:47:28 +02:00
Yang Liu
915a28f84c
[CONFIG] Added KDE propertiesplugin integration ( #3985 )
2026-06-24 13:03:42 +02:00
Yang Liu
75c0edc100
[CONFIG] Added often-used group and BOX64_PROFILE support ( #3984 )
...
* [CONFIG] Added often-used group
* [CONFIG] Added BOX64_PROFILE support
2026-06-24 09:32:12 +02:00
Mikura Kyouka
15cced707b
[DOCS] Corrected some typos in the usage documentation ( #3973 )
2026-06-21 10:13:38 +02:00
Yang Liu
83a3b787e6
[DYNACACHE] Added 2 more env vars to dynacache ( #3954 )
...
* [DYNACACHE] Added 2 more env vars to dynacache
* reformat
2026-06-16 09:48:48 +02:00
Yang Liu
4f5d171032
[ENV] Added box64-configurator GUI tool ( #3946 )
2026-06-12 12:57:23 +02:00
Yang Liu
8d7f6a54d7
[ENV] Moved dynacache out of fragile and reduced minimum cache file size to 30KiB ( #3942 )
2026-06-11 16:54:20 +02:00
Yang Liu
5b7308fecf
[ENV] Enabled AVX by default on LoongArch ( #3907 )
...
* [ENV] Enabled AVX by default on LoongArch
* update docs
2026-05-29 11:14:38 +02:00
ptitSeb
e2186c1e8e
[DYNACACHE] Enabled dynacache by default
2026-05-29 10:14:15 +02:00
Yang Liu
7d3b1dfbfb
[DYNACACHE] Created dynacache.c ( #3865 )
...
* [DYNACACHE] Created dynacache.c
This is pure code moving
* Update
* Fixed a typo
2026-05-15 11:48:51 +02:00
ptitSeb
5e472e3963
[DYNACACHE] Changed default compression of dynacache to fastest
2026-05-15 10:56:26 +02:00
ptitSeb
b6b23e63f4
[DYNACACHE] Added file compression for dynacache (enabled by default, but can be changed with BOX64_DYNACACHE_COMPRESS)
2026-05-15 09:40:54 +02:00
Yang Liu
f9fc55cf36
[DYNACACHE] Added a new option to limit cache folder size ( #3860 )
2026-05-13 12:36:09 +02:00
Yang Liu
56cdd9f732
[DOCS] Mark certain options as fragile or legacy ( #3836 )
2026-05-09 13:06:19 +02:00
Yang Liu
961dc21f69
[RCFILE] Added global shared entry support ( #3828 )
2026-05-07 10:41:03 +02:00
Yang Liu
234105ff8d
[DOCS] Added Chinese translation to the usage document ( #3817 )
2026-05-01 18:30:09 +02:00
Yang Liu
c6418bc3fd
[DOCS] Corrected typos in usage document ( #3815 )
2026-04-30 12:07:23 +01:00
ptitSeb
7eeb501649
Bumped version to v0.4.2
2026-04-20 18:33:09 +02:00
Luke Short
f29572a3d2
[BUNDLE] Mention AlmaLinux Vault repository ( #3628 )
...
instead of the normal repository that gets rotated out.
2026-03-09 09:00:10 +01:00
ptitSeb
79052e9df9
Introduce BOX64_NOVULKANOVERLAY to disabled x64 Vulkan Overlay
2026-03-03 22:08:01 +01:00
7e5310b260
cpuid: Enable Invariant TSC bit for Intel CPU type ( #3579 )
...
* cpuid: Enable Invariant TSC bit for Intel CPU type
The Invariant TSC bit (CPUID leaf 0x80000007, EDX bit 8) was already
enabled for AMD CPU type but was commented out for Intel CPU type.
ARM64 provides an invariant system counter via CNTPCT_EL0, so
advertising Invariant TSC capability is correct on ARM64 hardware
regardless of the emulated CPU vendor.
Some applications (notably World of Warcraft and VanillaFixes) check
this bit and refuse to run or crash when it is not set.
Fixes #2485
* Gate Invariant TSC behind BOX64_RDTSC_INV env var
Software often reports the timer clock as the CPU clock, which
is incorrect under Box64. Make the Invariant TSC bit in CPUID
leaf 0x80000007 opt-in for the Intel CPU type path via
BOX64_RDTSC_INV=1 (disabled by default).
The AMD CPU type path already reports this bit unconditionally.
* cpuid: fix BOX64_RDTSC_INV availability in WowBox64.dll and sanitize comments
- Set wine flag to 1 so BOX64_RDTSC_INV is parseable and initialised
correctly when compiled as WowBox64.dll (_WIN32 context)
- Remove verbose comment annotation; env var name is evident from code
Co-Authored-By: Claude Sonnet 4.6 <[email protected] >
---------
Co-authored-by: Joe <[email protected] >
Co-authored-by: Claude Sonnet 4.6 <[email protected] >
2026-03-03 20:23:00 +01:00
Luke Short
92e52c0b77
Bundle emulated libs list ( #3600 )
...
* [BUNDLE] Update non-emulated libs link
from the Box64 tag v0.3.6 to v0.4.0.
* [BUNDLE] Link to emulated libraries
2026-03-01 10:17:43 +01:00
ptitSeb
388d9c88a4
[DYNAREC] Rework SEP, fixing a speed regression from b07e2ea9d7 and introducing BOX64_DYNAREC_SEP to control them
2026-02-28 18:04:55 +01:00
Yang Liu
d8bb64b147
[ENV] Added a new env. var. BOX64_FORCE_LD_PRELOAD ( #3514 )
2026-02-14 12:56:39 +01:00
Luke Short
0f38d9d02e
[BUNDLE] Better explain why it is needed ( #3509 )
2026-02-13 18:27:08 +01:00
Yang Liu
ea503d4559
[DYNAREC] Added STRONGMEM=4 ( #3491 )
...
For paper's evaluation.
2026-02-11 14:58:30 +01:00
airidosas252
a0dfa80005
Snapdragon 8 Elite Gen 5 optimization flags ( #3489 )
...
* Add support for Snapdragon 8 Elite Gen 5 with appropriate optimization flags
* Add support for Snapdragon 8 Elite Gen 5 with appropriate optimization flags
* [COMPILE.md] Add instructions for targeting Snapdragon 8 Elite Gen 5
2026-02-11 10:55:27 +01:00
Yang Liu
808e22f183
[ENV] Added a new option for debugging, and made it default ( #3444 )
2026-02-02 08:53:05 +01:00
Yang Liu
4fd547d7b1
[RCFILE] Revealed a secret ( #3433 )
2026-01-29 13:23:32 +01:00
ptitSeb
dae0917c47
Bumped version to v0.4.0
2026-01-03 16:50:53 +01:00
Yang Liu
8e4a17f851
[RCFILE] Removed some obsolete env. var. ( #3311 )
...
These are specific to Linux Steam, but they're not needed anymore.
2025-12-27 16:12:41 +01:00
Yang Liu
59b35d49e2
[RCFILE] Added a new option BOX64_PROFILE ( #3280 )
...
* [RCFILE] Added a new option BOX64_PROFILE
* Warn on unknown
2025-12-15 15:50:40 +01:00