Skip to content

Windows Support and initial native GUI impl (wxWidgets)#14

Merged
SunightMC merged 4 commits intoAvdan-OS:native-rewritefrom
SunightMC:native-rewrite
Feb 24, 2026
Merged

Windows Support and initial native GUI impl (wxWidgets)#14
SunightMC merged 4 commits intoAvdan-OS:native-rewritefrom
SunightMC:native-rewrite

Conversation

@SunightMC
Copy link
Member

Adds native Windows support and a functional wxWidgets GUI. The core engine is now cross-platform and decoupled from the CLI, laying the groundwork for more advanced UI features in the future


Impl details:

Cross-Platform Port: Implemented raw disk access on Windows via Win32 CreateFileA and added a synchronous I/O bridge for compatibility across platforms

Drive Enumeration Utility: Added a cross-platform utility to fetch physical disk metadata (model names/capacities) and identify removable media via BusType (USB/SD/MMC) and sysfs

Asynchronous I/O: Integrated wxThread in the GUI implementation to ensure the main event loop remains responsive during long-running write and verification passes

64-bit Precision: Standardized all capacity reporting to 64-bit integers to prevent overflows on volumes larger than 512GB


Technical Changes:

Core Engine Decoupling: Refactored iso_operations.c and progress.c to use a callback-based progress system. This makes it so I can use the same C logic to power both the imager CLI and imager-gui

Build System: Updated CMakeLists.txt to automatically manage dependencies and handle both MSVC and MinGW-w64

Refactor to C++: Ported the GUI entry point (Used to be pure C in my previous prototype) to C++ to use wxWidgets' OO (ew) event system and thread management


Quick Note on the UI:

Please note that while the GUI is fully functional for writing and verifying, this is an initial implementation. The layout and overall aesthetics are not final and will be refined to match AvdanOS' branding in subsequent updates


P.S. Please ignore the weird commits in the history, I forgot to sync my fork before pushing these changes!

@SunightMC SunightMC requested a review from Sammy99jsp February 22, 2026 16:09
@SunightMC SunightMC merged commit c332a81 into Avdan-OS:native-rewrite Feb 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant