Skip to content

Latest commit

 

History

History
70 lines (52 loc) · 3.41 KB

File metadata and controls

70 lines (52 loc) · 3.41 KB

Silk.NET desktop app

General prerequisites

Requires a GPU with OpenGL drivers.

Compatibility Matrix

OS / Architecture x64 ARM64
Windows ✅ Works ❌ Not working
macOS ➖ N/A ✅ Works
Linux ⚠️ Works* ❌ Not working

*May require additional packages (see below)

Notes

Windows x64

Tested on Windows 11 (x64). No extra configuration.

Windows ARM64

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

Mac ARM64

Tested on MacBook Air M1, MacOS 26. No extra configuration.

Linux x64

Should work.

If running in VM it requires a HyperVisor that supports GPUs.

Linux via WSLg under Windows

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 libxkbcommon0

Linux ARM64

Tested 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()