Vote for native Linux support

Monkey Archive Forums/Monkey Discussion/Vote for native Linux support

Richard(Posted 2012) [#1]
Hi,

After reading some of the comments in this forum it is clear a lot of people really like monkey, but want to work on Linux.

Also it seems that trans_linux can be build pretty easy but is not included in the package. Why?

People if you also want this please +1 this topic :-)

Richard

+1


matt(Posted 2012) [#2]
Yes please


Why0Why(Posted 2012) [#3]
One advantage of a port is that Monkey could be used on the Raspberry Pi, whose stated purpose is to teach kids programming. It could be a marketing coup for Blitz to be able to provide educational copies to schools using the Pi and Monkey.


slenkar(Posted 2012) [#4]
Plusone


DruggedBunny(Posted 2012) [#5]
The Pi is why I'd like to see it happen... particularly as my brother has one and mine has just been shipped!


Qcat(Posted 2012) [#6]
Yes still waiting for my pi would be cool to run monkey on it.


skid(Posted 2012) [#7]
I would rather see ARM support for BitzMax.


fsoft(Posted 2012) [#8]
I am actually using Monkey on Linux.

This is my toolbox:

- Editor: vim (with monkey syntax highlight I wrote)
- Compiler: trans_linux (compiled from stdcpp target)
- Build: make (I have a Makefile with various targets)

Supported targets: html5, stdcpp, glfw

It is *not* that difficult to have a standard Monkey port for Linux. Just wondering why it is taking so much time ... :-/


Richard(Posted 2012) [#9]
@fsoft - Compiler: trans_linux (compiled from stdcpp target)
How can we achieve this?
I have experience with cpp


fsoft(Posted 2012) [#10]
@Richard

mainly you need to do the following.

For the first time (when you don't have trans_linux on your machine)

1 - on Windows / OSX go to src/trans
2 - edit targets/targets.monkey. The first function ValidTargets ()
has some Ifs and valid.Push(). Remove all the Ifs, keeping only
the Push() lines.

3 - In trans dir, compile using Monk or command line. Target is stdcpp

4 - In trans.build/stdcpp you'll find main.cpp and main.h. Get these files
and copy them to your Linux machine

5 - compile using g++ main.cpp -o trans_linux

You have it! :-)

When a new version of Monkey is released, you only have to do the point (2) directly from your Linux box and launch trans_linux on the trans.monkey source code :-)

Hope it helps


slenkar(Posted 2012) [#11]
its that simple?
How about a tutorial for compiling monk please?

(also, would -03 make for faster compilings?)


therevills(Posted 2012) [#12]
With Step 2 (removal of the If statements in targets.monkey) it will allow you (to attempt) to compile to any current Monkey target, even if they are not set up correctly, if they arnt trans will fail.


AdamRedwoods(Posted 2012) [#13]
do you have mojo working in linux?


Soap(Posted 2012) [#14]
None of the game developers I know who support linux can say it was worth it financially to do so. Additionally, a majority of their support tickets are from linux users who have broken installs. You don't want to spend your time fixing people's computers for them.

I still want to try to support linux so I'm all for it.


gekkonier(Posted 2012) [#15]
Maybe it's getting better to monetize linux apps, as steam is working on a native, not emulated, client and games for linux.


Richard(Posted 2012) [#16]
Yep... it is that simple

To make it even easier here is the source for v58

https://docs.google.com/file/d/0B3nYrmeG4ByDOU9zSnhFSW9iQXM/edit

Download it and build :-)
5 - compile using g++ main.cpp -o trans_linux


fsoft(Posted 2012) [#17]
@therevills, you are right but on Linux it is harder to have *exactly* the same install on all systems.
With the modification I propose, at least trans will create the source file for the given target and you can compile it "by hand"


fsoft(Posted 2012) [#18]
@gekkonier, in my opinion the point is not monetize on Linux, but to develop on Linux. Linux (Unix, in fact) is *the* operating system for developers, there are so many tools, editors, languages available...

@AdamRedwoods Yes. Mojo works for Linux, at least in the targets I am using: html5, glfw. It does not work in stdcpp.


slenkar(Posted 2012) [#19]
nvm


slenkar(Posted 2012) [#20]
nvm


fsoft(Posted 2012) [#21]
@slenkar what C compiler are you using? It needs a GNU G++ compiler.
Mine is: g++ (Ubuntu/Linaro 4.5.2-8ubuntu4) 4.5.2


slenkar(Posted 2012) [#22]
I copied and pasted the code from google docs which gave an elipse,
my mistake oops

now im getting 'cant determing blitzmax version'


Aman(Posted 2012) [#23]
+1


simonh(Posted 2012) [#24]
The reason for no Linux version of Monkey is that it's too much hassle for one full-time developer to support and maintain a Linux version, when there are so many potential pitfalls. Better not to 'officially' support it, than claim to do so and have problems on x, y, z flavour of Linux forevermore.


Richard(Posted 2012) [#25]
@simonh The code seems simple enough as it uses shared libs. One could make a build deploy script when a new version comes out. My guess is that there are more developers that choose linux to develop then windows users... at least in my little world this is the case.


AdamRedwoods(Posted 2012) [#26]
One idea is to have an "unoffical" targets section on the forums. Linux could be in there as well as blitzmax target, ds targets, etc.


jondecker76(Posted 2012) [#27]
I'm also baffled that Linux isn't supported - especially since its so easy to get running on Linux. Hopefully it becomes official soon!


Shinkiro1(Posted 2012) [#28]
Unofficial targets section is a pretty good idea.
It would also be easier for Mark.


EdzUp(Posted 2012) [#29]
@simonh: The simple answer is to do what you did with BlitzMax and support a particular flavor of linux, I would vote Ubuntu :)

Or at least give a definite route to compile on nix that people can take maybe a blitzmax code base in a linux directory then its at the users discretion whether they use it or not. I for one have been eagerly awaiting the nix version for ages in some official capacity.


ReddoC(Posted 2012) [#30]
+1


semar(Posted 2012) [#31]
Me raising an hand for Linux support - OpenSuse would be ideal

Sergio


slenkar(Posted 2012) [#32]
I think I can solve this problem, you just have to use the right combination of words...

GIZ linux version

there you go, that should work.


Paul - Taiphoz(Posted 2012) [#33]
Linux is dead as a Primary OS, it will still be big in the Server, and Firmware markets it does those jobs really well, but lets face it, it's got no chance of EVER making a dent in Windows, or iOS, their both simply put far to dominant.

Linux had a real good run back in the days of windows 95 and shoddy Apple OS's but things on both those fronts have taken stellar leaps forward while Linux has remained nothing more than a Hobby OS run by volunteer's.

The Only Distribution that really stands out, and the one I moved to away from Slackware was and still is Ubuntu, its the closest complete package, and even then it's still light years behind the other two OS's in terms of support that its just a shame.

Linux Has its place, firmware, and server backends, running washing machines and microwaves, the one place I really think its got no place being any more is as a Primary OS ..

I know that's possibly inflammatory but its just my own personal opinion.


jondecker76(Posted 2012) [#34]
I have to completely disagree. I've been running Ubuntu for about 5 years. It is an absolutely great primary OS that I use daily. I've never had the OS crash, never had a virus, never had to defragment my drive. Since I'm the resident "computer geek" at work, I fix someone or another's windows machine at least a couple of times per month. My entire shift has switched over to Ubuntu as a matter of fact - and they all agree that its a perfect primary OS. It is in fact years ahead of Windows - linux has been using sandboxes and chroots for many years and has always been a true multi-user environment (something Windows is just now starting to get right). Compositing? Yep, again, this is another modern UI innovation that saw its first light under Linux. (I can't say much for OSX as I've never done any serious work with it)

It is very fair to say that linux is very far behind when it comes to video games - but this has nothing to do with being a primary OS for most people. I believe its a very viable target for Monkey. The adoption of linux is increasing by leaps and bounds thanks to distros like Ubuntu and there is plenty of potential for developers to want to port their games to run on Linux.

If MonkeyMax were to ever become official then Linux target support wouldn't be an issue(and why on earth would BRL not include their own language as a target is baffling to say the least).

Of course, everyone is entitled to their own opinions


Richard(Posted 2012) [#35]
@jondecker76 +1


Paul - Taiphoz(Posted 2012) [#36]
Sorry but I have to dissagree with you, and its uptake is not coming on leaps and bounds like you say, in fact linux users, and the people i used to meet from glasgows scotlug group used to all say the same thing, and that was near 10 years ago.

And yet over that 10 years if anything linux is dropping and has dropped in its userbase, and when I say userbase I am talking about the normal user, the 99% of users world wide.

I agree Ubuntu is a stunning OS and now the only distro I would even consider installing again, but even that is not enough to pull the OS as a whole out of the hole it finds itself in.

a few small victories that it has like yours is nothing in the global pool.

http://www.w3counter.com/globalstats.php

just over 1% in that gathering of stats, which is echoed, on my own sites stats and just about every other person you could possibly ask, now lets be clear, I dont hate Linux, I actually really like it, and the only reason I stopped using it as my main OS a few years ago was its utter lack of support when it came to big named brands, companies and games.

I know its hard to hear that something you really love is not doing as well as you want, but its the truth, and the sad thing is that those figures have not changed much over 10 years so I don't expect them to change any time soon.

if your a part of the 99% your going to be using Apple or Windows, if your part of or used to be part of the 1% like I was then you will be using Linux.


marksibly(Posted 2012) [#37]
Hi,

> Also it seems that trans_linux can be build pretty easy but is not included in the package. Why?

I'm OK with tweaking stuff here and there to get things building/running on Linux, but I don't want to get into releasing binary stuff on Linux right now.

Linux can be a bit of a headache to support, and having to do Linux builds/tests for every update would be a considerable hassle. I just feel it'd be stretching BRL resources a bit much to attempt it.

One option might be to add a MAKEFILE to the /src dir for Linux users (isn't that kind of the Linux way anyway?) and to leave the output C++ trans source in each update. If anyone can come up with such a MAKEFILE (there's also mserver/monk/ted to think about) I'll consider adding it - but it'll also remain officially 'unsupported'.

> why on earth would BRL not include their own language as a target is baffling to say the least

I really only wanted to concentrate on one native cross platform GL target, and in the end GLFW won out over bmx (and others) for several reasons:

* People didn't need to own bmx to be able to use it (or, I didn't have to start giving away bmx).

* I could reuse the C++ translator, ie: it was one less language translator I had to write. It also means I could reuse more native code, eg: the GL stuff in mojo.

* A C++ target would be 'nearest to the metal', both in terms of app performance and OS access.


slenkar(Posted 2012) [#38]
yesh makefile sounds good


EdzUp(Posted 2012) [#39]
Taiphoz: if linux is failing so much why the heck have they whacked it into Unity 4?


Paul - Taiphoz(Posted 2012) [#40]
Didn't say it was failing as such. It it's still sitting at about 1 or 2% and it's not going to grow any further so I would say its very stable.

It's simply not a growing or good home primary os.


Sledge(Posted 2012) [#41]
Taiphoz: if linux is failing so much why the heck have they whacked it into Unity 4?

That would honestly worry me if I had continued to license Unity -- it's hard to imagine its support not sucking up a disproportionate amount of Unity Technology's resources.


Maharg(Posted 2012) [#42]
I don't see any info on unity's site about removing linux support from unity 4.0

When I do searches for linux games I find several articles about how linux is a growing and viable platform thanks to ubuntu, the humble bundles and soon steam and unity.


EdzUp(Posted 2012) [#43]
The thing here is its a untapped area, one which Unity are moving into this will lend weight to the idea of Unity's write once deploy everywhere approach. Along with the flash target also coming in Unity 4 it will cover a hell of a lot of bases with Windows, OSX, Linux, XBox360, PS3, Android, iOS, Webplayer and Flash.


Paul - Taiphoz(Posted 2012) [#44]
They were saying that 10 years ago, and still nothing has happened, Gamer's drive the PC world, be they casual or hardcore, they drive the hardware, and they drive the OS's market, gaming is a bigger industry than hollywood these days and big companies know it.

The problem with Linux, and I don't see this EVER changing, is that its open source, has poor support , and sucks for games, even if developers were to make a move on its market, they would be entering a market where almost everything is open source and free, and yet they would be expecting their 39.99 for their game.

Their not going to waste development time on an unproven market, in a market that's predominantly open source and free, and on un supported hardware and fleet of varied linux OS's.

The only Hope for Linux to ever break out of this 1% or 2% market share, is if they drop all distributions but 1, they all get on board with it, and really push it as a viable alternative to Apple and Microsoft, only then will they have a chance.

And if you think I'm wrong just look at Apple's OSX, based on "UNIX" and now a massive part of our OS world, because apple got behind it and pushed it as the only option for apple computers, just like Micosoft did with windows.

Linux need's a single OS that beats the other distributions so bad they just give up and fade away, but, its never going to happen, its the thing that the people using linux based operating systems enjoy, so its hardly the thing their going to get rid of.