Requires a GPU with OpenGL drivers.
| OS / Architecture | x64 | ARM64 |
|---|---|---|
| Windows | ✅ Works | ❌ Not working |
| macOS | ➖ N/A | ✅ Works |
| Linux | ❌ Not working |
*May require additional packages (see below)
Tested on Windows 11 (x64). No extra configuration.
Tested on Windows 11 (ARM64) running in VM on a M1 Mac. Not working.
The app starts but the menu overlay (ImGui) is not rendered correctly. Buttons and Combo boxes are blank with no text. Cannot start a emulator. Not investigated further.
Also exception below occurred at leasts once at start.
Failed to create Silk.NET window: Couldn't find a suitable window platform. (GlfwPlatform - not applicable) https://dotnet.github.io/Silk.NET/docs/hlu/troubleshooting.html
Stack trace: at Silk.NET.Windowing.Window.Create(WindowOptions options)
at Program.<Main>$(String[] args) in C:\Users\highbyte\source\repos\dotnet-6502\src\apps\Highbyte.DotNet6502.App.SilkNetNative\Program.cs:line 94
Tested on MacBook Air M1, MacOS 26. No extra configuration.
Should work.
If running in VM it requires a HyperVisor that supports GPUs.
Tested on Ubuntu 22.04.5 (x64).
Installing Mesa and Wayland packages was required when running on WSLg (Ubuntu 22.04.5) on Windows 11 (x64).
sudo apt install mesa-utils
sudo apt install libwayland-client0 libwayland-cursor0 libwayland-egl1 libxkbcommon0Tested on Ubuntu 25.10. NOT working.
Several exceptions like below. Seems related to the ImGui native library. Is ImGui missing support for ARM64 platform?
Exception in SilkNetHostApp.OnLoad(): Unable to load shared library 'cimgui' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable:
/home/highbyte/source/repos/dotnet-6502/src/apps/Highbyte.DotNet6502.App.SilkNetNative/publish/linux-arm64/cimgui.so: cannot open shared object file: No such file or directory
/home/highbyte/source/repos/dotnet-6502/src/apps/Highbyte.DotNet6502.App.SilkNetNative/publish/linux-arm64/libcimgui.so: cannot open shared object file: No such file or directory
/home/highbyte/source/repos/dotnet-6502/src/apps/Highbyte.DotNet6502.App.SilkNetNative/publish/linux-arm64/cimgui: cannot open shared object file: No such file or directory
/home/highbyte/source/repos/dotnet-6502/src/apps/Highbyte.DotNet6502.App.SilkNetNative/publish/linux-arm64/libcimgui: cannot open shared object file: No such file or directory
Stack trace: at ImGuiNET.ImGuiNative.igCreateContext(ImFontAtlas* shared_font_atlas)
at ImGuiNET.ImGuiNative.igCreateContext(ImFontAtlas* shared_font_atlas)
at ImGuiNET.ImGui.CreateContext()
at Silk.NET.OpenGL.Extensions.ImGui.ImGuiController.Init(GL gl, IView view, IInputContext input)
at Silk.NET.OpenGL.Extensions.ImGui.ImGuiController..ctor(GL gl, IView view, IInputContext input, Nullable`1 imGuiFontConfig, Action onConfigureIO)
at Silk.NET.OpenGL.Extensions.ImGui.ImGuiController..ctor(GL gl, IView view, IInputContext input)
at Highbyte.DotNet6502.App.SilkNetNative.SilkNetHostApp.InitImGui()
at Highbyte.DotNet6502.App.SilkNetNative.SilkNetHostApp.OnLoad()