XMIR grid migrated from PostgreSQL to MySQL and updated to run OpenSim with dotnet v.6

Geir Nøklebye

World Builder
Staff member
PostgreSQL support in OpenSim has been long in the tooth for a long time where it really did not work at all with PostgresSQL versions 12 and higher (15 is current). In addition Apple Silicon (AS) support is only available for versions 14 and higher. So for now the entire grid had to be moved to a MySQL 8.0.32 database running on AS; an undertaking that in itself was challenging given the difference in SQL syntax between the two database managers.

The solution was to migrate all the data except the region data using Navicat and their excellent XML export and import wizards, and move the database tables over one by one after the OpenSim database structure was initialized with empty tables. That initialization involved to run the OpenSim database migrations manually as queries, extracting the SQL from the OpenSim source code.

After the data was moved over, each simulator was started, and the previously exported oar per region was applied. The only thing that did not transfer was the maturity setting for the regions, but that was a quick fly around to set them in-world.


Dotnet rather than mono
After Microsoft took over the mono project, mono did not receive anything but a couple bug fixes and is essentially a dead end product.

With this realization Ubit set out to port OpenSim to Microsoft's dotnet alternative, and the current OpenSim dotnet6 development is sufficiently stable that it is safe(ish) to use.


As the case with PostgreSQL above, mono on Apple Silicon would run under Rosetta2 emulation, but that's just about it.

Microsoft not only provides dotnet 6 and 7 SDKs and runtimes for Apple Silicon, but also ship Visual Studio 2022 for macOS on both Intel and AS, so after quite a bit of testing and deliberations on macOS on both Intel and AS, it was decided to move the XMIR grid and test regions to the dotnet6 version of OpenSim.

The grid is now successfully up and running with all simulators on macOS with Intel processors.

Robust on Debian 11
Robust for the grid was at the same time migrated from mono to dotnet 6 running on Debian 11 with the same code changes as the simulators, and accessing the MySQL database that runs on macOS.


What about Raspberry PI?
dotnet 6 most likely runs on 64-bit Raspberry PI (untested), but to make OpenSim actually run under it all the libraries also needs to be compiled for 64-bit Raspbian OS, and we will not take that battle for now.

Part of the reason is that Raspberry PIs are almost impossible to be had these days after the company was disproportionately hit by supply constraints due to Covid and the fallout after. There is little point in pursuing OpenSim on this platform before we see that the supply situation significantly improves.

Those machines, while performing absolutely fine with OpenSim on mono 32-bit, are no screamers compared to even other ARM based SBC alternatives out there, let alone the Apple Silicon machines, which for a new system can be had for less than $600 in many locations.

Finally EEP also on XMIR
With all these updates, EEP is finally available on the XMIR grid, which was also a missing block for properly testing of the Dayturn Viewer 3.0 for OpenSim.


The grid is open for visitors at the usual address grid.xmir.org:8002. Enjoy!
 
Last edited:

Members online

No members online now.
Back
Top