• HomeBoards
  • RulesRules
  • HelpHelp
  • WikiWiki
  • Donate

Author Topic: C# Mono 3.2 now supports MIPS CPU  (Read 6909 times)

zezba9000 (OP)

  • Posts: 8
C# Mono 3.2 now supports MIPS CPU
« on: August 15, 2013, 06:03:31 am »
What would it take to ship Mono 3.2 with MIPS support on the GCW Zero??

I'm a C# dev and have a cross platform C# API I would like to port at some point to the GCW Zero for use with GLES2.
Mono has licence issues when you try to embed it on some platforms.  So for some that might know, how hard do you think it would be to get it running on the GCW Zero now that Mono supports MIPS?

My API is located here: https://github.com/reignstudios/ReignSDK
Its a personal project I hope to take further in the future.

Skyline969

  • Posts: 279
Re: C# Mono 3.2 now supports MIPS CPU
« Reply #1 on: August 15, 2013, 06:52:59 pm »
I'd be all for the Zero getting Mono support. I'm more confident in C# than any other language at this point, so I'd be more inclined to start developing applications for the Zero (as opposed to ones that work with the Zero).

mth

  • Posts: 319
Re: C# Mono 3.2 now supports MIPS CPU
« Reply #2 on: August 16, 2013, 10:39:09 am »
Getting it to cross compile would be the first step. I heard Mono wasn't easy to cross compile in the past, I don't know if that changed with the new release.

What license issues are you talking about? There were issues on iOS, but those were caused by Apple's restrictive rules for the iTunes Store, not by Mono itself. I'm not aware of other license issues.

There are also concerns about possible Microsoft patents. While software patents are certainly a problem, it is not clear to me that Mono is more vulnerable to this than other software. So unless the problems become concrete, I don't think this should block the inclusion of Mono.

zezba9000 (OP)

  • Posts: 8
Re: C# Mono 3.2 now supports MIPS CPU
« Reply #3 on: August 16, 2013, 06:04:38 pm »
"What license issues are you talking about?"
-- Ya I should not have said that as its not an issue on anything but phones that encrypt there packages... like iOS, or maybe even Android if you put DRM on the package file.
But LGPL should run on everything else: http://xamarin.com/licensing

"There are also concerns about possible Microsoft patents."
-- There really isn't any issue here, unless you have something specific in mind?  C# is an Open spec and almost everything about it is Open Source other then the MS .NET version of the CLR ect.  While MS is dumb for not getting with the times and making everything about it Open, there is nothing here that can effect a Linux distro like the one on the GCW Zero.  Almost all major distro's have Mono in the repositories.
Look at the docs under the header "Patents": http://www.mono-project.com/FAQ%3a_Licensing

Even Sony's PSVita supports Mono via PSM Indie dev program.  I would love to see C# able to run on the GCW Zero as Mono is pretty polished at this point.  There are just so many platforms that run C#, a lot of people would probably find it useful even if its not there primary language :)

Surkow

  • * Administrator
  • Posts: 686
Re: C# Mono 3.2 now supports MIPS CPU
« Reply #4 on: August 16, 2013, 06:54:57 pm »
Licensing won't be an issue. The issue will be speed. Many existing XNA/Monogame/Mono/C# games will have terrible performance on the GCW Zero. I'd recommend people to move out of their comfort zone and try to work with SDL, C, C++ or Python in combination with Pygame.

pcercuei

  • Posts: 1702
    • My devblog
Re: C# Mono 3.2 now supports MIPS CPU
« Reply #5 on: August 16, 2013, 07:18:26 pm »
Why would it be slow? If the JIT is good enough, it shouldn't be slow.

zezba9000 (OP)

  • Posts: 8
Re: C# Mono 3.2 now supports MIPS CPU
« Reply #6 on: August 16, 2013, 08:45:50 pm »
@Surkow "The issue will be speed."
-- This is 100% wrong if you know how to use C#.  Iv'e ported, ran and used Mono C# on a lot of platforms.  Iv'e done benchmarking on these platforms and it gets very good performance if you know how to code write.  Of course its not as fast as C++, but most apps don't need that and neither do mine.  Mono C# is much much faster then say Python and thats supported on the GCW Zero??  So your argument doesn't have much ground there.

Also MonoGame is a horrible example of how to get performance code with C#.  And C# is not some "comfort zone"... its a powerful portable and most importantly productive language and is the main reason I use it for my main code base over C++.  That doesn't mean I don't use C++ for components ect, it just means its not as productive for complex structures that I "personally" use and write.

I really really don't wan't this post to become some bash "C# vs C++", as this is such a old and frankly uneducated argument by those who make it in most cases.  I use C# for portability on the platforms I care about.  I don't find SDL useful and I don't care for how it is written.  This topic is men't for people who care about using "C#" on the GCW Zero, NOT why they shouldn't for performance reasons, as that point has no basis for argument in the context of how and why I or others use it.
« Last Edit: August 16, 2013, 08:47:42 pm by zezba9000 »

Surkow

  • * Administrator
  • Posts: 686
Re: C# Mono 3.2 now supports MIPS CPU
« Reply #7 on: August 16, 2013, 09:16:20 pm »
You mean I'm wrong while you don't even know what the performance is of Mono on the GCW Zero? It's not about C#, it's about Mono not scaling well on the GCW Zero. GLES is not even available to end-users at the moment. The current status of the MIPS port of Mono is that it's still in its infancy. Most XNA projects depending on physics libraries will not run very well. Monogame will depend on SDL2 if it will ever be ported to the GCW Zero.

Moehammered

  • Posts: 15
Re: C# Mono 3.2 now supports MIPS CPU
« Reply #8 on: August 16, 2013, 09:56:40 pm »
While c# is a fine language I personally only find myself using it when I use unity. Every other time I'll use c++ and sdl. Why? The same reasons you stated, portability. Sdl is available on nearly everything and is efficient. C++ is portable in its very nature.

Mono on gcw would be awesome, more developers the better. Efficiency of it on the other hand will take a little while since the JIT would need to reach a standard at which point it is as you stated, effective code will run fine.

Though like already stated, if you're wanting to develop for it and are waiting solely for mono to be supported you're better off just using c++ and sdl. Otherwise well its just a matter of time and priorities. Mainly the GPU driver being fully implemented comes first :D
[Experience]
3 years C++ w/ SDL_GL, 2 years Java w/ LWJGL, 2 years UDK (Unreal Engine 3), 1 Year Unity (Unity3D)

[Consoles]
2 GB DMG-01, 1 GBC, 3 GB Pocket, GBA SP, JXD s601, PSP Slim, PS Vita, Open Pandora 1GHz Edition, annnd drumroll......... GCW ZERO SE!!!! :D

zezba9000 (OP)

  • Posts: 8
Re: C# Mono 3.2 now supports MIPS CPU
« Reply #9 on: August 16, 2013, 10:07:03 pm »
Why does C# equate to Monogame or XNA... I would never run a XNA backend on anything other then Xbox360 or WP7.

"it's about Mono not scaling well on the GCW Zero. "
-- That is totally context sensitive.... How do you even know what I wan't to port??

"The current status of the MIPS port of Mono is that it's still in its infancy"
-- Sooo your assumption is its going to run slow??  How on earth would you even know until testing is done.  By your "wrong" I mean in that "you think people should not be using Mono on the GCW Zero" is wrong.  Like I said, with that logic people should not be using Python either which is silly as it depends on what they want to make.  This is context sensitive and totally depends on what I wan't to port to the device.
And you can still use C++ backed physics engines with C#/Python or anything.... So I really don't understand what on earth your trying to argue here??

What is your point?  The only valid thing you said was GLES2 is not yet supported... if thats true, then i'll just put off the GCW Zero for a while as I need GLES2 support.  But others may still find Mono useful for tool apps ect.
If I sound frustrated its because I don't see the relevance of you being against  having the Mono runtime exist on the GCW Zero device???
« Last Edit: August 16, 2013, 10:21:15 pm by zezba9000 »

Surkow

  • * Administrator
  • Posts: 686
Re: C# Mono 3.2 now supports MIPS CPU
« Reply #10 on: August 16, 2013, 10:41:14 pm »
We do intend to support Mono (there are developers working on it). But right now we have mature alternatives which I recommend over something that isn't even working yet.

Why does C# equate to Monogame or XNA... I would never run a XNA backend on anything other then Xbox360 or WP7.

On Kickstarter a number of projects have announced GCW Zero ports of XNA/Unity games despite Mono/Monogame not being available. This is one of the reasons why we are trying to support Mono/Monogame.

zezba9000 (OP)

  • Posts: 8
Re: C# Mono 3.2 now supports MIPS CPU
« Reply #11 on: August 16, 2013, 11:13:46 pm »
@Surkow
"But right now we have mature alternatives"
-- That I totally understand.  While the engine I would use requires Mono, I agree that anyone else taking maybe a different approach then me and wants to support the GCW Zero would be far better off with the tools you suggest... at least until Mono is supported or there is good docs on how to build and embed it for the MIPS CPU depending on what they wan't to do.

"On Kickstarter a number of projects have announced GCW Zero ports of XNA/Unity games despite Mono/Monogame not being available"
-- That I didn't know and is interesting.  While I claim/agree MonoGame is a slow Engine in general, I would not use it as a way to judge Mono in general as iv'e looked at there source code and its seems to be a slow API approach.

Also the comment about not using XNA for anything but Xbox/WP7 was not men't to be derogatory to others, but rather me trying to emphasize that MonoGame is a slow API and should not be used as a measuring tool for Mono as i mention earlier.

I do have a question though... Any information on when GLES2 support might become available??  As that seems like a priority above some others I would think.

Moehammered

  • Posts: 15
Re: C# Mono 3.2 now supports MIPS CPU
« Reply #12 on: August 17, 2013, 12:12:42 am »
I do have a question though... Any information on when GLES2 support might become available??  As that seems like a priority above some others I would think.

From what I've been gathering the open source implementation is what the gcw aims to have. It's called project etnaviv they have a git repo. Seems like progress is being made but isn't exactly ready just yet.
[Experience]
3 years C++ w/ SDL_GL, 2 years Java w/ LWJGL, 2 years UDK (Unreal Engine 3), 1 Year Unity (Unity3D)

[Consoles]
2 GB DMG-01, 1 GBC, 3 GB Pocket, GBA SP, JXD s601, PSP Slim, PS Vita, Open Pandora 1GHz Edition, annnd drumroll......... GCW ZERO SE!!!! :D

zezba9000 (OP)

  • Posts: 8
Re: C# Mono 3.2 now supports MIPS CPU
« Reply #13 on: August 17, 2013, 01:12:31 am »
I notice the driver supports "DXT1 / DXT3 / DXT5".. thats very cool.
Looks like it might already be usable for a lot of projects.

elwing

  • Posts: 186
Re: C# Mono 3.2 now supports MIPS CPU
« Reply #14 on: August 19, 2013, 08:01:06 am »
Why would it be slow? If the JIT is good enough, it shouldn't be slow.

I can't speak about mono, but I'm always surprised with the performance of Ms JIT... the issue about C# performance is not related to the language, but rather linked to the fact that operation are so abstracted that novice developpers aren't able to identify costly operations...

 

Post a new topic
Post a new topic