New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Errors compiling the latest revision in ArchLinux #1
Comments
Looks like you're trying to build it with mono, but this project uses .NET Core. At the moment you'd also need to clone and build veldrid and veldrid-spirv, or edit the packages file to reference them from NuGet. It's not really in a release-ready state as yet (hence the total lack of documentation). |
Oh, that's fine. Are you planing to include veldrid-* as a git submodule or as NuGet packages? |
NuGet most likely, just been cloning them for ease of debugging so far. |
I've updated it to fall back to NuGet if the veldrid repos aren't currently present, should get a lot closer to building. You'll need a copy of Albion if you want to run it, and then configure data/config.json to point to the files (by default it expects them in an "albion" directory in the main repo dir). Haven't tested it on my Linux install yet, but I had it working on there before. There's not much in the way of gameplay yet, but most file formats have been reversed and the 2D and 3D maps render mostly OK. Once I've added a conversation system, a few map / script events and the right-click interaction menu it should be a lot more interesting, but that'll all likely take a few weeks yet. Edit: Oh, and check run.sh for how to invoke dotnet core to actually compile and run it. |
Thanks a lot. I will re-try later today. When you have a minute, can you also create a README explaining the state of this neat reimplementation and maybe some screenshots? (even early ones will help) |
Did you have another go at getting it to compile? I've added a GitHub action to build on win, mac and ubuntu and it says everything's passing so I'd expect it would work on arch if you grab .NET core. |
Hi, I know I'm not the original author of the post, but I have managed to successfully compile, but not run the application, using Manjaro Linux (I'm also testing on an Arch Linux VM using Vagrant to double-check) I installed .NET Core 3.1.100 using Microsoft's own script (dotnet-install.sh: !(https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script), specifying the version using the --version flag. Build Reproduction
I'm in the process of creating a Vagrantfile for this project, hopefully I can get compilation at least tested for Arch Linux this way and make it easier for more knowledgeable people to perform packaging workflows for the platform. Here's my back-trace logfile for posterity: Let me know if there's anything else I can to to help. Will |
From the backtrace file, it looks like you're running it under wine? It should run fine natively on Linux, no need for wine. Also, the backtrace doesn't really tell me much as most of the code is JITed, if there's an error it should print out a managed stack trace to stdout along with the error message, or you could use lldb with SOS to debug: https://devblogs.microsoft.com/premier-developer/debugging-net-core-with-sos-everywhere/ |
My dotnet installation on ArchLinux (using packages, not a manual installation as described by @mrwillbarnz ) also calls wine. Perhaps it is a bug in the package? Anyway, the log is here:
As you can see, it fails to find the correct files. Are you testing with the GOG release of Albion? |
You'll need to set XldPath to wherever the XLDs and SLAB file live - I'm not sure how the GOG version is laid out, but there should be an XLDLIBS directory somewhere with at least 60 files, plus subdirectories named ENGLISH and INITIAL (and possibly GERMAN or FRENCH), it may be inside a CD directory. If you find an XLDLIBS directory that just contains CURRENT and INITIAL subdirectories and only two files (PALETTE.000 and PALETTE0.XLD) then that's not the right one. Regarding wine, interesting... maybe they haven't gotten the fully native version working on Arch yet so the script runs it with wine? In any case, I can see it's starting up with the Direct3D11 backend which probably won't work. Try running it via dotnet run --project ualbion -- -vk to use Vulkan or OpenGL. |
Amazing! Thanks for the advice all, it is now working using the Vulkan backend! I know I haven't converted all the assets, just wanted to get it working for now. try using my manual install method @neuromancer to compare. OpenGL didn't render anything, I can send a dump of that when I work out debugging in VSCode! UAlbion(VK backend): https://imgur.com/29KiBlh.png As for the mono issue; It could be a packaging bug, but I'm not very experienced in Linux packaging so I can't comment on that. I only used a manual installation as that was Microsoft's recommended route for installation for generic Linux-x64 systems that aren't Ubuntu 16-04 or 18-04. Perhaps adding 'linux-x64' as a RID would alleviate the issue? (I've been trying it on my own fork, but I couldn't get the graphics backend to work until @csinkers suggested the previous dotnet commands. |
I believe #4 should fix all these issues. |
Just to be clear, everything after -- in an invocation to dotnet is passed through to UAlbion itself, so -vk and -gl are UAlbion options. You can also put --help -h etc and it should show you all the available options. As far as GL not working, so far it's been by far the buggiest backend, and even in Windows there's a bunch of graphical artifacts, so not too surprised. D3D and Vulkan seem to behave themselves a lot better, or at least tolerate whatever mistakes I'm making with more patience. Haven't tried with Metal at all yet, as I don't have any suitable hardware. |
The text was updated successfully, but these errors were encountered: