Jump to content

[TOPIC: topicViewTemplate]
[GLOBAL: userSmallPhoto]
Photo

Welcome to Linux builds closed beta
Started by Rob Miracle Sep 18 2018 06:13 AM

6 replies to this topic
[TOPIC CONTROLS]
[/TOPIC CONTROLS]
[modOptionsDropdown]
[/modOptionsDropdown]
[reputationFilter]
[TOPIC: post.html]
#1

Rob Miracle

[GLOBAL: userInfoPane.html]
Rob Miracle
  • Moderator

  • 24,838 posts
  • Corona Staff

We have been working on Linux builds. You still need to use macOS or Windows to build, but we can now output builds that should run on Linux. This is a closed beta. Please give it a try if you have access to Linux to test builds on and report issues here.
 
To get it rolling, type in command line:
macOS: `defaults write com.coronalabs.Corona_Simulator enableLinuxBuild -bool YES`
Windows: `reg add "HKEY_CURRENT_USER\software\ansca corona\corona simulator\preferences" /v ShowLinuxBuild /t reg_dword /f /d 1`
 
You should use daily build 2018.3350 or later with the latest daily build recommended.
 
This will output both a .tar.gz and .deb package for generic x86-64 Linux platforms.
 
Rob

  • Appletreeman, sieler2, vlads and 1 other like this

[TOPIC: post.html]
#2

richard11

[GLOBAL: userInfoPane.html]
richard11
  • Contributor

  • 185 posts
  • Corona SDK

This is actually genuinely exciting.

 

I'm stuck using Windows at the moment, and have been for a few months now frustratingly (long story), but I've actually used Gentoo GNU/Linux exclusively for about 15 years and absolutely can't wait to get back into my Gentoo environment. As soon as I'm back in there, I'll do some testing for sure.

 

It would be brilliant to one day run the Corona simulator within GNU/Linux too, but just being able to compile for it is in itself a major leap forwards. Thanks for working on this!


  • vlads likes this

[TOPIC: post.html]
#3

marcar

[GLOBAL: userInfoPane.html]
marcar
  • Enthusiast

  • 42 posts
  • Corona SDK

This is really great news. It would be a perfect match for us, if this would also (in the final version) support Linux on ARM, i.e. Raspberry Pi, etc. Are there any plans for that?



[TOPIC: post.html]
#4

Rob Miracle

[GLOBAL: userInfoPane.html]
Rob Miracle
  • Moderator

  • 24,838 posts
  • Corona Staff

Hi @marcar, we are considering other architectures like ARM. We think Raspberry Pi could be a great platform to provide support for. Creating new platforms are time-consuming and I don't know when we will get to this, but it's something we want to do.

 

Rob 



[TOPIC: post.html]
#5

schizoid2k

[GLOBAL: userInfoPane.html]
schizoid2k
  • Contributor

  • 547 posts
  • Corona SDK

This is pretty cool.. thanks Rob and Corona Team!

 

I am assuming documentation updates will follow soon?  It's a bit trial and error for some things, other things more difficult to know what is needed.  For example:

 

What's returned in system.getInfo("platform"), etc.

Any specific build.settings "things" needed in order to utilize excludeFiles, plugins, etc tables appropriately

 

I think my game(s) will compile successfully if this info is known... right now I'm getting errors when I attempt to build due to this.

 

--john



[TOPIC: post.html]
#6

Rob Miracle

[GLOBAL: userInfoPane.html]
Rob Miracle
  • Moderator

  • 24,838 posts
  • Corona Staff

Yes, documentation updates will come later.

 

system.getInfo("platform") should return "linux".

 

Currently, there are no specific "linux" build.setting values to set. I'm not 100% sure if we are processing the "window" table (used my macOS, Win32 and HTML5 to control window width, height, full screen, windowed, window name, etc.) yet. In theory, excludeFiles should work, but don't hold me to that.

 

Plugins are not supported yet. Hopefully, there will be some plugin support coming soon. Now I do want to be 100% clear here. Plugins that depend on third-party SDK's like all ad providers, analytics providers, etc. are likely never going to be available because those SDK's just don't exist for Linux and there isn't much in financial incentives to get them to make Linux SDKs. What you're likely going to  see is plugins like bit, zip, etc. those that are pure C++ and Lua based plugins being made available. Likewise, there may be some Linux specific plugins created, sort of like we have HTML5 specific plugins, but I can't initially think what they might ben.

 

In porting one of my games, I've had to do things like I did here for GameAnalytics:


myData.GAgameKey = nil
myData.gameanalytics = nil

if myData.platform ~= "ios" or myData.platform ~= "android" then
	return
end

myData.gameanalytics = require("plugin.gameanalytics_v2")

if "ios" == myData.platform then
	myData.GAgameKey = "iOS key goes here"
	myData.GAgameSecret = "iOS secret goes here"
elseif "android" == myData.platform then
	myData.GAgameKey = "Android key goes here"
	myData.GAgameSecret = "Android secret goes here"
end

And when I need to use GA, I do:

	if myData.gameanalytics then
		myData.gameanalytics.addProgressionEvent {
			progressionStatus = "Fail",
			progression01 = string.format("campaign%02d", myData.settings.currentCampaign),
			progression02 = string.format("stage%02d", myData.currentLevel),
		}
	end

I basically store the handle to the plugin in my fake global table. If it's nil, I don't do anything. If it's been initialized then I can call it.

 

Rob



[TOPIC: post.html]
#7

schizoid2k

[GLOBAL: userInfoPane.html]
schizoid2k
  • Contributor

  • 547 posts
  • Corona SDK

Thanks for the clarification Rob... this does look promising, and I will play around a bit more.

 

For plugins, I do understand what you are saying, and I did expect that those types of plugins would not be available.  I have a few plugins in the Marketplace (Data Cabinet, Language Cabinet) that are Lua Plugins and don't rely on third-parties, and I would hope/expect those will work.

 

--john




[topic_controls]
[/topic_controls]