Hi! First of all, thank you for all the work on Box64. It is an impressive project, and I really appreciate the effort that goes into keeping x86_64 software usable on ARM devices.
I wanted to share an idea with Proton/Wine 11 in mind, especially because Proton is based on Wine, and Wine 11.0 now includes major changes such as NTSYNC support and the completed new WoW64 architecture. I think this makes it a good moment to think about a performance-oriented path for heavy games on ARM handhelds.
This is especially relevant for Snapdragon 8 Gen 2-class handhelds with around 8GB of RAM, which are becoming more common in portable gaming devices.
For demanding games like Elden Ring — one of my favorites — the bottleneck is often not only compatibility itself, but the accumulated overhead from:
Proton/Wine translation layers
Box64 dynarec and wrappers
thread synchronization
memory pressure
per-session runtime overhead
Even small improvements in frametime stability and CPU overhead can make a big difference in the experience.
Goal
A performance-oriented direction for this class of devices, focusing on:
lowering hot-path overhead
improving thread handling and dynarec efficiency
reducing memory churn
keeping the graphics pipeline as lean as possible
preserving compatibility with Proton/Wine 11’s newer synchronization and WoW64 paths
Success metrics
better frametime consistency
less stutter
lower CPU saturation
improved playability in heavy titles
Possible technical directions
introduce lock-free or low-lock structures in dynarec
explore tiered JIT compilation for hot paths
add runtime profiling to identify frequently executed blocks
improve block linking to reduce dispatcher overhead
implement fast-path tables for frequent wrapper/syscall patterns
add awareness of DXVK usage patterns
explore HugePages for dynarec memory
introduce basic frametime instrumentation
Additional proposal: per-game runtime data system
To better understand performance in real-world workloads, especially through Proton/Wine, a lightweight per-game runtime system could help.
Possible approach:
create a per-game directory based on executable name, hash, or AppID
store session-based logs and lightweight metrics
save data automatically at the end of execution
keep it optional through an environment variable or debug flag
Possible data:
frametime statistics
dynarec cache behavior
CPU usage patterns
memory pressure indicators
The goal is not heavy logging, but structured and reusable data that helps:
identify bottlenecks
compare performance across versions
support future optimizations, including profile-guided improvements
This could be especially useful for constrained devices like 8GB RAM handhelds.
Thanks again for the amazing project, and sorry if this is not the perfect place for the suggestion. I just wanted to share this as someone who really likes Box64 and would love to see it continue improving.
Hi! First of all, thank you for all the work on Box64. It is an impressive project, and I really appreciate the effort that goes into keeping x86_64 software usable on ARM devices.
I wanted to share an idea with Proton/Wine 11 in mind, especially because Proton is based on Wine, and Wine 11.0 now includes major changes such as NTSYNC support and the completed new WoW64 architecture. I think this makes it a good moment to think about a performance-oriented path for heavy games on ARM handhelds.
This is especially relevant for Snapdragon 8 Gen 2-class handhelds with around 8GB of RAM, which are becoming more common in portable gaming devices.
For demanding games like Elden Ring — one of my favorites — the bottleneck is often not only compatibility itself, but the accumulated overhead from:
Proton/Wine translation layers
Box64 dynarec and wrappers
thread synchronization
memory pressure
per-session runtime overhead
Even small improvements in frametime stability and CPU overhead can make a big difference in the experience.
Goal
A performance-oriented direction for this class of devices, focusing on:
lowering hot-path overhead
improving thread handling and dynarec efficiency
reducing memory churn
keeping the graphics pipeline as lean as possible
preserving compatibility with Proton/Wine 11’s newer synchronization and WoW64 paths
Success metrics
better frametime consistency
less stutter
lower CPU saturation
improved playability in heavy titles
Possible technical directions
introduce lock-free or low-lock structures in dynarec
explore tiered JIT compilation for hot paths
add runtime profiling to identify frequently executed blocks
improve block linking to reduce dispatcher overhead
implement fast-path tables for frequent wrapper/syscall patterns
add awareness of DXVK usage patterns
explore HugePages for dynarec memory
introduce basic frametime instrumentation
Additional proposal: per-game runtime data system
To better understand performance in real-world workloads, especially through Proton/Wine, a lightweight per-game runtime system could help.
Possible approach:
create a per-game directory based on executable name, hash, or AppID
store session-based logs and lightweight metrics
save data automatically at the end of execution
keep it optional through an environment variable or debug flag
Possible data:
frametime statistics
dynarec cache behavior
CPU usage patterns
memory pressure indicators
The goal is not heavy logging, but structured and reusable data that helps:
identify bottlenecks
compare performance across versions
support future optimizations, including profile-guided improvements
This could be especially useful for constrained devices like 8GB RAM handhelds.
Thanks again for the amazing project, and sorry if this is not the perfect place for the suggestion. I just wanted to share this as someone who really likes Box64 and would love to see it continue improving.