Basara Posted January 19 Share Posted January 19 I've manage to run the Intersect Server on Ubuntu Server using a Raspberry PI 4 64bit and Box64 as its wrapper. Is there any chance of compiling native dependencies for it? Â Â Its messy but it works. Link to comment Share on other sites More sharing options...
1 panda Posted January 20 Share Posted January 20 All platforms we support and build binaries for must be supported at minimum by the Client. Our upstream client dependencies (such as MonoGame) do not have dependencies compiled for ARM64. Given our complete lack of resources and full dependence on volunteer contribution, we do not have any resources to support compiled builds for ARM64. You are free to share how you compiled the server for ARM64 (something you didn't provide, so we could not include it in the repo anyway), but until our upstream client dependencies support compiling for ARM64 we will not be adding official binaries for it. Link to comment Share on other sites More sharing options...
0 Basara Posted January 19 Author Share Posted January 19 *Update, I manage to compile the source natively. Things run a lot more smoothly on ARM. I'm crossing fingers if the support for arm64 architecture will be added to the repo for easy updates. Â Link to comment Share on other sites More sharing options...
0 Basara Posted January 22 Author Share Posted January 22 On 1/20/2025 at 9:38 AM, panda said: All platforms we support and build binaries for must be supported at minimum by the Client. Our upstream client dependencies (such as MonoGame) do not have dependencies compiled for ARM64. Given our complete lack of resources and full dependence on volunteer contribution, we do not have any resources to support compiled builds for ARM64. You are free to share how you compiled the server for ARM64 (something you didn't provide, so we could not include it in the repo anyway), but until our upstream client dependencies support compiling for ARM64 we will not be adding official binaries for it. Thanks for replying! I was able to compile the server by installing .NET SDK for arm at this website: https://learn.microsoft.com/en-us/dotnet/iot/deployment . Then I followed the rest of the instructions provided the github page:https://github.com/AscensionGameDev/Intersect-Engine?tab=readme-ov-file . I used linux-arm64 arguments instead of linux-x64 to compile.  Thats unfortunate the MonoGame does not have dependencies for ARM64. I will run more test to see what I can do about that issue if I can, maybe I can find a source to compile it myself. I'll keep in touch!  UPDATE! Now this is interesting. I got monogame installed that came with the package of install mono-complete. It looks like its having trouble with Microsoft.Xna.Framework.Graphics.NoSuitableGraphicsDeviceException. I look into it more at a later time.  Here's the run down on the terminal command: Spoiler rpi4@pi:~/Desktop/Intersect-Engine/Intersect.Client/bin/Release/net8.0/linux-arm64/publish $ ./Intersect\ Client Resource: Intersect.Client.Resources.libopenal.so.1 Resource: Intersect.Client.Resources.libSDL2-2.0.so.0 Resource: Intersect.Client.Resources.openal32.dll Resource: Intersect.Client.Resources.MonoGame.Framework.dll.config Resource: Intersect.Client.Resources.MonoGame.Framework.dll [16:37:34 INF] Discovered service type: Intersect.Plugins.PluginService [16:37:34 WRN] Directory was specified as a plugin directory but does not exist: 'resources/plugins' [16:37:34 INF] Discovered 0 plugins: [16:37:35 WRN] Error occurred when trying to apply Harmony patch, this is not a fatal error System.NotImplementedException: The method or operation is not implemented. at HarmonyLib.PatchFunctions.UpdateWrapper(MethodBase original, PatchInfo patchInfo) at HarmonyLib.PatchProcessor.Patch() at HarmonyLib.Harmony.Patch(MethodBase original, HarmonyMethod prefix, HarmonyMethod postfix, HarmonyMethod transpiler, HarmonyMethod finalizer) at Intersect.Client.MonoGame.IntersectGame.MonoGameRunner.Start(IClientContext context, Action postStartupAction) in /home/rpi4/Desktop/Intersect-Engine/Intersect.Client.Core/MonoGame/IntersectGame.cs:line 568 [16:37:36 WRN] Error occurred while loading strings System.IO.FileNotFoundException: Could not find file '/home/rpi4/Desktop/Intersect-Engine/Intersect.Client/bin/Release/net8.0/linux-arm64/publish/resources/client_strings.json'. File name: '/home/rpi4/Desktop/Intersect-Engine/Intersect.Client/bin/Release/net8.0/linux-arm64/publish/resources/client_strings.json' at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirError) at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode, Boolean failForSymlink, Boolean& wasSymlink, Func`4 createOpenException) at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, UnixFileMode openPermissions, Int64& fileLength, UnixFileMode& filePermissions, Boolean failForSymlink, Boolean& wasSymlink, Func`4 createOpenException) at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode, Func`4 createOpenException) at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode) at System.IO.StreamReader.ValidateArgsAndOpenPath(String path, Encoding encoding, Int32 bufferSize) at System.IO.File.ReadAllText(String path, Encoding encoding) at Intersect.Client.Localization.Strings.Load() in /home/rpi4/Desktop/Intersect-Engine/Intersect.Client.Core/Localization/Strings.cs:line 110 warning: queue 0x556ee9af60 destroyed while proxies still attached: wl_callback#32 still attached wl_surface#31 still attached warning: queue 0x556ee3f400 destroyed while proxies still attached: wl_callback#32 still attached wl_surface#33 still attached [16:37:38 INF] Acquiring context lock... (0ms) [16:37:38 INF] Acquired. (3ms) [16:37:38 INF] Beginning context dispose. (0ms) [16:37:38 INF] GC.SuppressFinalize (2ms) [16:37:38 INF] InternalDispose() completed. (3ms) [16:37:38 INF] Clearing instance... (10ms) [16:37:38 INF] Releasing context lock... (11ms) [16:37:38 INF] Released. (12ms) [16:37:38 ERR] Failed to start application context Microsoft.Xna.Framework.Graphics.NoSuitableGraphicsDeviceException: Failed to create graphics device! ---> System.NullReferenceException: Object reference not set to an instance of an object. at MonoGame.OpenGL.GL.GetString(StringName name) at MonoGame.OpenGL.GL.LoadExtensions() at MonoGame.OpenGL.GL.LoadEntryPoints() at MonoGame.OpenGL.GraphicsContext..ctor(IWindowInfo info) at MonoGame.OpenGL.GL.PlatformCreateContext(IWindowInfo info) at MonoGame.OpenGL.GL.CreateContext(IWindowInfo info) at Microsoft.Xna.Framework.Graphics.GraphicsDevice.PlatformSetup() at Microsoft.Xna.Framework.Graphics.GraphicsDevice.Setup() at Microsoft.Xna.Framework.Graphics.GraphicsDevice..ctor(GraphicsAdapter adapter, GraphicsProfile graphicsProfile, Boolean preferHalfPixelOffset, PresentationParameters presentationParameters) at Microsoft.Xna.Framework.GraphicsDeviceManager.CreateDevice(GraphicsDeviceInformation gdi) at Microsoft.Xna.Framework.GraphicsDeviceManager.CreateDevice() --- End of inner exception stack trace --- at Microsoft.Xna.Framework.GraphicsDeviceManager.CreateDevice() at Microsoft.Xna.Framework.GraphicsDeviceManager.Microsoft.Xna.Framework.IGraphicsDeviceManager.CreateDevice() at Microsoft.Xna.Framework.Game.DoInitialize() at Microsoft.Xna.Framework.Game.Run(GameRunBehavior runBehavior) at Microsoft.Xna.Framework.Game.Run() at Intersect.Client.MonoGame.IntersectGame.MonoGameRunner.Start(IClientContext context, Action postStartupAction) in /home/rpi4/Desktop/Intersect-Engine/Intersect.Client.Core/MonoGame/IntersectGame.cs:line 576 at Intersect.Client.Core.ClientContext.InternalStart() in /home/rpi4/Desktop/Intersect-Engine/Intersect.Client.Core/Core/ClientContext.cs:line 41 at Intersect.Core.ApplicationContext`2.Start(Boolean lockUntilShutdown) in /home/rpi4/Desktop/Intersect-Engine/Intersect (Core)/Core/ApplicationContext`2.cs:line 232 rpi4@pi:~/Desktop/Intersect-Engine/Intersect.Client/bin/Release/net8.0/linux-arm64/publish $ ./Intersect\ Client Resource: Intersect.Client.Resources.libopenal.so.1 Resource: Intersect.Client.Resources.libSDL2-2.0.so.0 Resource: Intersect.Client.Resources.openal32.dll Resource: Intersect.Client.Resources.MonoGame.Framework.dll.config Resource: Intersect.Client.Resources.MonoGame.Framework.dll [16:40:58 INF] Discovered service type: Intersect.Plugins.PluginService [16:40:58 WRN] Directory was specified as a plugin directory but does not exist: 'resources/plugins' [16:40:58 INF] Discovered 0 plugins: [16:40:59 WRN] Error occurred when trying to apply Harmony patch, this is not a fatal error System.NotImplementedException: The method or operation is not implemented. at HarmonyLib.PatchFunctions.UpdateWrapper(MethodBase original, PatchInfo patchInfo) at HarmonyLib.PatchProcessor.Patch() at HarmonyLib.Harmony.Patch(MethodBase original, HarmonyMethod prefix, HarmonyMethod postfix, HarmonyMethod transpiler, HarmonyMethod finalizer) at Intersect.Client.MonoGame.IntersectGame.MonoGameRunner.Start(IClientContext context, Action postStartupAction) in /home/rpi4/Desktop/Intersect-Engine/Intersect.Client.Core/MonoGame/IntersectGame.cs:line 568 [16:41:01 WRN] Missing strings, overwriting strings file: Chatbox.ChatTabButtons (string dictionary) warning: queue 0x55784a8a40 destroyed while proxies still attached: wl_callback#32 still attached wl_surface#31 still attached warning: queue 0x5578488b40 destroyed while proxies still attached: wl_callback#32 still attached wl_surface#33 still attached [16:41:03 INF] Acquiring context lock... (0ms) [16:41:03 INF] Acquired. (3ms) [16:41:03 INF] Beginning context dispose. (0ms) [16:41:03 INF] GC.SuppressFinalize (2ms) [16:41:03 INF] InternalDispose() completed. (3ms) [16:41:03 INF] Clearing instance... (10ms) [16:41:03 INF] Releasing context lock... (11ms) [16:41:03 INF] Released. (12ms) [16:41:03 ERR] Failed to start application context Microsoft.Xna.Framework.Graphics.NoSuitableGraphicsDeviceException: Failed to create graphics device! ---> System.NullReferenceException: Object reference not set to an instance of an object. at MonoGame.OpenGL.GL.GetString(StringName name) at MonoGame.OpenGL.GL.LoadExtensions() at MonoGame.OpenGL.GL.LoadEntryPoints() at MonoGame.OpenGL.GraphicsContext..ctor(IWindowInfo info) at MonoGame.OpenGL.GL.PlatformCreateContext(IWindowInfo info) at MonoGame.OpenGL.GL.CreateContext(IWindowInfo info) at Microsoft.Xna.Framework.Graphics.GraphicsDevice.PlatformSetup() at Microsoft.Xna.Framework.Graphics.GraphicsDevice.Setup() at Microsoft.Xna.Framework.Graphics.GraphicsDevice..ctor(GraphicsAdapter adapter, GraphicsProfile graphicsProfile, Boolean preferHalfPixelOffset, PresentationParameters presentationParameters) at Microsoft.Xna.Framework.GraphicsDeviceManager.CreateDevice(GraphicsDeviceInformation gdi) at Microsoft.Xna.Framework.GraphicsDeviceManager.CreateDevice() --- End of inner exception stack trace --- at Microsoft.Xna.Framework.GraphicsDeviceManager.CreateDevice() at Microsoft.Xna.Framework.GraphicsDeviceManager.Microsoft.Xna.Framework.IGraphicsDeviceManager.CreateDevice() at Microsoft.Xna.Framework.Game.DoInitialize() at Microsoft.Xna.Framework.Game.Run(GameRunBehavior runBehavior) at Microsoft.Xna.Framework.Game.Run() at Intersect.Client.MonoGame.IntersectGame.MonoGameRunner.Start(IClientContext context, Action postStartupAction) in /home/rpi4/Desktop/Intersect-Engine/Intersect.Client.Core/MonoGame/IntersectGame.cs:line 576 at Intersect.Client.Core.ClientContext.InternalStart() in /home/rpi4/Desktop/Intersect-Engine/Intersect.Client.Core/Core/ClientContext.cs:line 41 at Intersect.Core.ApplicationContext`2.Start(Boolean lockUntilShutdown) in /home/rpi4/Desktop/Intersect-Engine/Intersect (Core)/Core/ApplicationContext`2.cs:line 232   Link to comment Share on other sites More sharing options...
Question
Basara
I've manage to run the Intersect Server on Ubuntu Server using a Raspberry PI 4 64bit and Box64 as its wrapper. Is there any chance of compiling native dependencies for it?
Â
Â
Its messy but it works.
Link to comment
Share on other sites
3 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now