Skip to content
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

macOS and Linux setup experience #8124

Open
8 of 12 tasks
mrhelmut opened this issue Jan 19, 2024 · 3 comments
Open
8 of 12 tasks

macOS and Linux setup experience #8124

mrhelmut opened this issue Jan 19, 2024 · 3 comments
Labels
Linux MacOS Setup Related to setuping a MonoGame project for the first time
Milestone

Comments

@mrhelmut
Copy link
Contributor

mrhelmut commented Jan 19, 2024

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)
@AristurtleDev
Copy link
Contributor

@mrhelmut

@AristurtleDev
Copy link
Contributor

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

@AristurtleDev
Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Linux MacOS Setup Related to setuping a MonoGame project for the first time
Projects
None yet
Development

No branches or pull requests

2 participants