macOS and Linux setup experience
Opened this issue · 4 comments
I'm creating this issue to centralize all of the other issues to setup a MonoGame project on macOS or Linux.
It is a set of different issues degrading the setup experience on those systems. They are aggregated with the setup label, most of them being duplicates.
How to fix those:
- Build all native dependencies with
osx-arm64
support (this is currently being done by refactoring the dependencies into separate projects so that MonoGame can built it own native dependencies without relying on third-parties)- SDL
- FreeType (needs to be wired and tested with SharpFont)
- FreeImage
- ffmpeg/ffprobe
- assimp
- Replace ATI.TextureCompression, PVRTexLib and NVTT by more suitable texture compressors (candidates are compressanator on Windows/Linux, and TextureConverter on macOS)
- Fix
mgfxc_wine_setup.sh
- Change the .NET SDK link to .NET 8.0
- Update WineHelper.cs comments to .NET 8
- Check for Wine version requirement (there is a minimum version required)
- Enhance the script to support both 32 and 64 bit versions of Wine (some users have both installed and stuff got installed on the 32 bit version instead)
Enhance the script to support both 32 and 64 bit versions of Wine (some users have both installed and stuff got installed on the 32 bit version instead)
Ok so the problem seems to be that monogame assumes that the Linux user is using apt and installed wine64.
But if you install wine like normal using like winehq-staging, then you get both 32-bit and 64-bit support.
Setting the 64-bit support is just the WINE_ARCH flag.
The script would need to be changed to not check for the assumption of wine64 and instead just check for just plain wine, then carry on from there. But there needs to be a way to ensure that 64-bit support was also installed
Thoughts @mrhelmut @harry-cpp
dpkg -l | grep wine
will output
aristurtle@ubuntu-personal:~/ftp$ dpkg -l | grep wine
ii fonts-wine 5.0-3ubuntu1 all Windows API implementation - fonts
ii libwine:amd64 5.0-3ubuntu1 amd64 Windows API implementation - library
iU wine-staging 9.3~focal-1 amd64 WINE Is Not An Emulator - runs MS Windows programs
iU wine-staging-i386:i386 9.3~focal-1 i386 WINE Is Not An Emulator - runs MS Windows programs
ii wine64 5.0-3ubuntu1 amd64 Windows API implementation - 64-bit binary loader
iU winehq-staging 9.3~focal-1 amd64 WINE Is Not An Emulator - runs MS Windows programs
so the check for wine64 can be made there
So on this one:
Replace ATI.TextureCompression, PVRTexLib and NVTT by more suitable texture compressors (candidates are compressanator on Windows/Linux, and TextureConverter on macOS)
The decision the board made is finding one library we can add just for Mac and Linux. We will not currently be replacing the existing libs.
What are good candidates?