How to install Monogame 3.2 in Ubuntu 14.04?

Hi!

I heard about MonoGame on Floss Weekly and thought it sounded really cool!
I’d really like to try out Monogame 3.2 for a simple game concept I have, but I can’t find any guides on how to install it in Ubuntu 14.04/Monodevelop (I’m new to both .NET/Mono/Monodevelop which doesn’t help).

Monogame 3.0.1 was easy to get working using the Xamarin-mpack but I can’t seem to find something similar for 3.2 and Linux. I have cloned the latest source from github but I don’t know where to go from there.
In short; Has anyone succeeded in getting 3.2 working in Ubuntu 14.04 who could give some pointers on how to go by installing it?

Thanks
Magnus

1 Like

First off you will need to run this in terminal:

sudo apt-get install libsdl2-dev libsdl2-mixer-2.0-0 libopenal-dev libsdl-mixer1.2

Than I’m guessing you have monodevelop 4 installed. You can check your version of monodevelop by going Help > About. Here, I compiled this 5 mins. ago, hope no bug occurs:

https://mega.co.nz/#!6IQS2bzI!kEc7qGjzGq1I-q5B7liizODFLfNZ7Jr5_MyhsXTIt38

Also if you have monodevelop 5 installed, here:


https://mega.co.nz/#!PIgmAKBZ!c0bORDfdTs5uvC98aqVemWjodvrS8FqYol3DgmuuYaQ

PS. This is the newest version of monogame, not 3.2 but newer, also don’t use any templates other than linux, I haven’t updated them yet.

2 Likes

Wow thank you that’s incredibly nice, works fine :slight_smile:

You’re right about running Monodevelop 4 (4.0.12 from Ubuntus standard repos). Would I benefit from upgrading to MD5 you think?

I see now that I misunderstood things; I thought that 3.2 included the content pipeline and that was the reason I tried to upgrade from 3.0.1 to 3.2. Is the content pipeline in 3.2, just that I need some more addin for Monodevelop in order to get it in its GUI? Or is the content pipeline a separate install altogether?

Once again, thanks for helping.
Magnus

No problem.

I see no benefit in upgrading to monodevelop 5, it just looks better :P.

From what I know monogame 3.2 doesn’t include Content Pipeline. There are 2 monogame extensions for monodevelop, project templates and content extension. The one above is just project templates, I’ll try to compile the content extension later today and if I manage to do something, I’ll post it here.

Great, thanks!

Trying to get a grip on how to build MonoGame I checked out the latest code as well as MonoGame.Dependencies and managed to build all the Linux solutions without error (using xbuild). It seems I now have a bunch of dll-files in each subprojects bin-directory but I can’t find any mpack-files for MonoDevelop.
Grep:ing around in the files I found the following in ~/MonoGame/IDE/MonoDevelop/default.build:

<if test="${directory::exists(mdtooldir)}">
    <exec program="mdtool " basedir="${mdtooldir}" workingdir="." commandline="setup pack MonoDevelop.MonoGameContent\MonoDevelop.MonoGameContent\bin\Release\MonoDevelop.MonoGameContent.dll"/>
    <move file="MonoDevelop.MonoGameContent_3.0.0.mpack" todir="Linux" overwrite="true"/>
  </if>

But I can’t seem to find any information on how to use the default.build-files (or are they automatically picked up by xbuild when building the solutions?). Are the mpack-files manually built or are they generated by some script?
Am I far off or on the right track? :slight_smile:

Regards
Magnus

To build mpack files just do:
mdtool setup pack MonoDevelop.MonoGame.dll
from terminal. The dll file is found in /IDE/MonoDevelop/MonoDevelop.MonoGameContent/MonoDevelop.MonoGameContent/bin/Debug/ There is also an addin builder extension for monodevelop, but I don’t like using it. I’ll try to build the content addin right now, so wish me luck.

Monogame Content addin for monodevelop 4:
Fixed Version Bellow

Monogame Content addin for monodevelop 5:
Fixed Version Bellow

An error will occur durning the installation, but it will install the addin. Enjoy

Thanks! Installation worked great (except from the little error you mentioned).
I now have the option to create a content-project from File->New->Solution

I’m probably doing something wrong, but following http://www.demonixis.net/blog/utilisation-du-plugin-monogame-monodevelop-sous-linux/ I have the option to add a SpriteFont, but I can’t get it to process say a png-file (not an option in Add->New file, and when adding a png-file and right clicking it and clicking Properties I don’t get any more options than before :confused: )

Well well, will look into it more later. Once again, thank you very much :slight_smile:

So I actually have an error to fix… Well anyway, for now you can use this extension, I think… : http://teamcity.monogame.net/repository/download/MonoGame_DevelopWin/2674:id/Linux/MonoDevelop.MonoGameContent_3.0.0.mpack

It’s the official monogame content extension. Also it never actually worked for me, I just used xnb and png files(placed them in folder Content, set build action to content, and set copy to output directory to only when newer).

I forgot to include a dependency, here fixed(installation error still occurs):

Monogame Content addin for monodevelop 4:
https://mega.co.nz/#!bIAzgaDI!-aomQYJYr-sQt_4cNAGC_OOmC0rcRkn1n7dBFzHjUHg

Monogame Content addin for monodevelop 5:
https://mega.co.nz/#!iRQhXbTA!ERp3z_psUQHNBKgM-_9lATU6Q3vT8tirwX_mFBRgtqc

3 Likes

Now it works! Great

If I understand your png/xnb setup correctly, I think we’re doing something similar. I did something like:

  • One solution with my MonoGame Linux-project as well as a content-project.
  • I add my png:s to my content-project and in the png:s properties I set it to compile and use TextureProcessor.
  • In my MonoGame-project I choose to “Add files” to its Content-folder, selects the resulting xnb-file from the content-project and adds it as a link instead of a copy. I then select “Copy when newer” like you did.

Something like below

  • MyContentProject

    • Content
      • img.png (TextureProcessor, Compile)
  • MyMonoGameProject

    • Content
      • img.nxb (Link to MyContentProject’s resulting xnb-file)

Seems to work just fine :slight_smile:
Thanks
Magnus

@harry-cpp
Can you please re-upload the Monodevelop 5.x add-in for Monogame 3.2? Thanks!

Thanks for notifying me that links didn’t work. I switched to MEGA and forgot to leave monogame folder behind on dropbox, now it’s fixed.

I always used my PNGs the same way (set to content and copy if newer). So my question is why would I need to use anything else like using the content template for MonoDevelop?

The only reason that I know of why textures should be compiled is so that players cannot modify them.

Ah that makes sense, thank you for answering my question

I’ve manually compiled MGCB for linux and added/changed some code for Fonts and 3D Models to work. I’ve also added a GUI tool called “ContentProcessor.exe” so that you don’t have to compile from terminal.

Link to download: https://mega.co.nz/#!qAwBCBaZ!msP736fZGQNI3PeHUyQtbIRT3jriFXMd3Tv0UoSzb5U

PS. To use 3d models from blender, download blender from the website, open it, go File > Export > Autodesk FBX, on the left panel select FBX 7.4 binary as version and export it wherever you want.

Monodevelop 5.7 broke everything. If your monodevelop isn’t starting delete all the folders in ~/.local/share/MonoDevelop-5.0/LocalInstall/Addins. Also addin for monodevelop 5.7: https://mega.co.nz/#!iIhklRyS!Vhgbc0Jn9AIdTevBvyiv_4hP8P5Rg_kBMn_zC8n0DIM

Many thanks for posting this and your earlier work! I have been using your mpacks. Have a question about your MGCB with the GUI. It mostly works for me, except my *.x models do not have any material or texture properties. I use the ModelProcessor and Ximporter. I have been using AC3D 6.1 to make models and export them as *.x files. Its an older simple Windows based modeler. This worked well for XNA and for MonoGames 3.2 with Visual Studio. I’ve tried many export settings all with same result. Any suggestions or settings to try?

Monogame Pipeline Tool for Linux: https://mega.co.nz/#F!yEIHGLjS!OvjruaOdTQmgmTY4RvXLZw

1 Like