Comments (41)
So I managed to make a QT free Linux export, still beta but working already. Encryption still doesn't work, I'll have to debug that, but otherwise it is not that bad.
from gideros.
MetalMaxMX, the devs are on holidays smile
Oh, ok! Let 'em enjoy their holidays then. I was just updating since there are more resources to building Flatpaks with Qt6 since it is more common now! (the usage of Qt6 on open-source projects I mean)
from gideros.
All right it built! Yeah, it was that issue with pwd
from gideros.
I'll be honest in saying that I am more interested in being able to export Windows builds from a Linux box than macOS builds really. Would also be cool for Windows users of course if they were able to build Linux exports as well since both can benefit from this but my usage is about primarily Linux to Win here, which I think Gideros can do with templates.
I can see that cloud thing being beneficial if one wants to build macOS binaries too though.
from gideros.
there is this thread on the forum but gideros is going through a bit of a change. You can give it a try and ask on the forum :-)
https://forum.gideros.rocks/discussion/comment/66653/#Comment_66653
from gideros.
I still couldn’t find how to build a flatpak with qt6 dependency.
from gideros.
Hey! Thanks for answering you both. It seems that you need to install a Qt6 dependency before you're allowed to build and run this application. However, my distribution (Debian) does not provides base libraries from which to source repos that have Qt6 so I can see why the user mokalux went ahead with changes that make it possible to get it by running the installer from the qt site, though I'm also afraid it could play badly with other dependencies or the like. Still, thanks for the input here.
As for hgy29's question, well, I'm afraid I wasn't able to get much either but I did find some clues. It seems https://flathub.org/apps/details/io.qt.QtCreator (QtCreator) 7 is already on Flathub, 7 by default uses the newest Qt branch so it's possible that flatpak might've been built with it. There's a few links that give some pointers on how to deploy to Linux in some other formats (like AppImage) https://doc.qt.io/qt-6/linux-deployment.html and a Github project known as linuxdeployqt. And flatpak's docs are here https://docs.flatpak.org/en/latest/qt.html#
If flatpak proves too complex, I'd also appreciate an AppImage or heck even a Snap if necessary. If only so that Linux users could have it running and testing it one way or another.
Cheers!
MetalMaxMX
from gideros.
Hi! I am updating with some additional links I found, it seems https://invent.kde.org/packaging/flatpak-kde-runtime/-/tree/qt6.3 has proper instructions on how to get Qt6, specially as it is now bundled in more distros than ever before so it's easier to get.
This branch seems to be useful and helpful when it comes to building an app done with Qt6, so that's a step-forward I believe! This forum post also has instructions on adding Flatpaks, seems to be one-liners on a command line
https://forum.qt.io/topic/138867/create-a-flatpak-package-for-my-qt-app/2
Cheers once more!
MetalMaxMX
from gideros.
MetalMaxMX, the devs are on holidays 😄
from gideros.
Hi, yes I am still on holidays, but that’s great news. I can’t promise I will make a Linux version of Gideros studio though, because that’s a lot of time to spend to include a third platform in the building process.
from gideros.
Oh hey! I'd be just happy with at least building steps actually. As the ones from the site redirect to a Dropbox file that's probably outdated by now (http://giderosmobile.com/download) but if that isn't possible then that's also fair. I was just curious about this since the site did indicate that you could build this on your own and perhaps export binaries and all so that's why I raised the issue back then.
And enjoy your holidays!
from gideros.
Oh, if you just need building steps that’s easier, since it is mostly a matter of fixing current Linux build script if needed and finding prerequisites for the platform. I built it for Debian in my first attempt, I will try to repeat the procedure and document it on the wiki.
from gideros.
Yes! I happen to run Debian as well. Thanks! If you can also specify the versions of Debian and all that'd be helpful as well. Debian has gotten a new release this year that comes with Qt6 though older versions can also use it through backports and all.
Once again, thanks!
from gideros.
I managed to compile Gideros Studio and Player for Debian. I pushed a few changes to build scripts to achieve that.
Now you can follow the steps here: https://wiki.gideros.rocks/index.php/Compiling_Gideros_Source
- See Section 1.1 (LINUX) part
- Follow sections 1.3.1, 1.12.1 and 1.12.2 (see Linux/Debian part)
- Compile according to 1.12.4 and 2.1.1
- You should get GiderosStudio and GiderosPlayer binaries in Build.Linux folder
- You may need to launch GiderosPlayer or GiderosStudio with LC_ALL="C" environment variable set
from gideros.
@hgy29 Hi, thanks for answering my queries!
I'd like to ask. According to 2.1.1, I am meant to use make –f scripts/Makefile.gid qtapp.install and not make -f scripts/Makefile.gid? Because I am having issues with the latter in the form of:
mkdir -p ./Build.Linux/Plugins
mkdir -p ./Build.Linux/Templates/Qt/LinuxDesktopTemplate/Plugins
mkdir -p ./Build.Linux/All\ Plugins/lsqlite3/bin/Linux
R=; cd ./plugins/lsqlite3/source; if [ -d "linux" ]; then cd linux;
else if [ -d "Desktop" ]; then cd Desktop; fi; fi;
cp -P .so $R/./Build.Linux/Plugins;
cp -P .so $R/./Build.Linux/Templates/Qt/LinuxDesktopTemplate/Plugins;
cp -P .so $R/./Build.Linux/All\ Plugins/lsqlite3/bin/Linux
cp: target '/./Build.Linux/Plugins' is not a directory
cp: target '/./Build.Linux/Templates/Qt/LinuxDesktopTemplate/Plugins' is not a directory
cp: target '/./Build.Linux/All Plugins/lsqlite3/bin/Linux' is not a directory
make[1]: *** [/home/mega/gideros/scripts//GidQtLinux.mk:74: lsqlite3.qtplugin.install] Error 1
make[1]: Leaving directory '/home/mega/gideros'
make: *** [/home/mega/gideros/scripts//GidQtLinux.mk:159: qtplugins.install] Error 2
I was able to fetch all the repos and built everything needed for the tools so it's weird that this keeps happening. And if I go according to 2.1.1, I get: make: *** No rule to make target '–f'. Stop.
from gideros.
Actually, a bit of an update. It seems on the instruction repos you put – instead of - and that is why it wasn't working on the Linux repo, I suggest changing that. For now, it is compiling so I'll see where it goes (previous edit was me not giving it root permission to build. This is I believe the first game engine I compiled where I needed to give it root permissions for some reason?)
And nope, still ran into the same issue:
make[1]: Entering directory '/home/mega/gideros'
mkdir -p ./Build.Linux/Plugins
mkdir -p ./Build.Linux/Templates/Qt/LinuxDesktopTemplate/Plugins
mkdir -p ./Build.Linux/All\ Plugins/lsqlite3/bin/Linux
R=; cd ./plugins/lsqlite3/source; if [ -d "linux" ]; then cd linux;
else if [ -d "Desktop" ]; then cd Desktop; fi; fi;
cp -P .so $R/./Build.Linux/Plugins;
cp -P .so $R/./Build.Linux/Templates/Qt/LinuxDesktopTemplate/Plugins;
cp -P .so $R/./Build.Linux/All\ Plugins/lsqlite3/bin/Linux
cp: target '/./Build.Linux/Plugins' is not a directory
cp: target '/./Build.Linux/Templates/Qt/LinuxDesktopTemplate/Plugins' is not a directory
cp: target '/./Build.Linux/All Plugins/lsqlite3/bin/Linux' is not a directory
make[1]: *** [/home/mega/gideros/scripts//GidQtLinux.mk:74: lsqlite3.qtplugin.install] Error 1
make[1]: Leaving directory '/home/mega/gideros'
make: *** [/home/mega/gideros/scripts//GidQtLinux.mk:159: qtplugins.install] Error 2
from gideros.
You are right, there were some – instead of - throughout the document (it was first written as a word doc, and MS word substitutes - with –). That's fixed now. about your last error, it feels like a permission issue, as if you started the build as root but tried to launch it again as a normal user. The only parts the need to be run as root are 'apt install' stuff and 'qscintilla' and 'qlexilla' installation steps. It is easier to build everything as root though.
from gideros.
It's weird, I ran into that issue precisely during the root step. Hmm, could you give me an example makefile.def you used for the Linux build? I wonder if that has to do with it
from gideros.
Hey wait, I see 'R=;' in your log, where R should have been your current directory ($PWD). Could that be a shell issue ? I am using bash.
from gideros.
I am using Bash, yes. The default stock bash that comes with Debian 11, no updates or anything there
from gideros.
Hmmm, weird. Can you try to change line 74 of scripts/GidQtLinux.mk so that its reads R=pwd
instead of R=$(PWD) ?
from gideros.
I meant pwd surrounded by back quotes, seems like github processes them
from gideros.
Hi! Sorry it's taking me a bit long here to reply since I simulated all the steps once again and got to the same issue. I applied your back quote fix and now it seems to be compiling smoothly. It's taking awhile to build but I think that change fixed it, could probably add that to the script on the main repo
from gideros.
Ok so I'll list here some of the things that could be improved with Gideros documentation:
A) There's a lot of dropbox links at http://giderosmobile.com/download scattered around, even for hardware configurations like RPi 2/3 that no longer work, suggest replacing them all with the compiling wiki.
B) State to the user that sudo is necessary for some steps or otherwise the engine won't work properly, at least make a note of the relevant steps needed for that.
C) How does one exports projects from Linux? There is no option to export a Linux binary anywhere as it seems templates are required for just about anything.
from gideros.
for the C point, you'll need to grab the Templates from Mac or Win32 installer, and there is no official Linux export, although the Qt (desktop) based one is correctly built. It isn't referenced in the studio, and QT has licensing issues. I non QT Linux export would be great, and I'll probably need one soon.
from gideros.
All right, for now I am just happy that it built at all. I'll happily wait for a way to export Linux binaries from the IDE itself (Also, if possible. Would like a note or some steps on how to get the templates from the installers. I am assuming you have to open the executables as if they were a zip file or something?)
from gideros.
I have just updated a bit Linux support in Gideros, now QT-Based Linux export is supported and almost working (it doesn't work with encryption yet). Aboute templates, currently you would need to install either windows or mac app and copy the Template and "All plugins" folders from there to Linux. For next release, I'll put a zip of the Templates and Plugins on Github too
from gideros.
does this mean that we can export to linux from windows too? that would be amazingly useful as running apps using wine has issues.
from gideros.
In theory, if you had the Linux export template (which won’t be automatically built soon because I would need to have a dedicated Linux machine to do this), you could export a linux project. But I am not sure windows will handle symlinks correctly, and I am not sure the bi Aries will be portable
from gideros.
Oh, awesome that we have a Linux export now! I didn't understand what was the difference between a Qt export and a non-Qt export from the wording of your previous post but still cool that we can generate Linux binaries now! As for the templates, I see. But with those templates, you could have a working Linux setup that could cross-build to Windows and macOS from one OS? That's even better admittedly.
Will be waiting for news on what this non-Qt export is supposed to be + Template binaries on Github!
from gideros.
@MetalMaxMX If you build your game using Qt you are bound to the Qt license which is here https://www.qt.io/download-open-source
and it sucks because you have to share your code:
GPL
Basic Premises of the Qt Open Source Model
GPL – All users have the rights to obtain, modify and redistribute the full source code of your application. Your users are granted rights founded on the four freedoms of the GNU General Public License.
...
from gideros.
@mokalux Pretty sure that one had an LGPL or BSD kind of licensing scheme? Still, even if it was GPL, it wouldn't be a problem if you were to build an open-source project to begin with. Though I suppose commercial releases or the like on Steam might be more problematic I can see
from gideros.
I plan to work on a QT free Linux export, based on GLFW. Current HTML export is based on Linux coding style and APIs, so a lot of the work is already done.
from gideros.
I plan to work on a QT free Linux export, based on GLFW. Current HTML export is based on Linux coding style and APIs, so a lot of the work is already done.
Oh, awesome! Sounds good, and I imagine that export, once done, is going to be the default for Linux builds? (with Qt either disabled or hidden?)
from gideros.
Oh, nice! Just wondering. But all the platforms are Qt-free exports, right? (including Windows and macOS, I mean)
from gideros.
@MetalMaxMX yes all platforms are Qt free export except for Windows. To have a Windows free of Qt you have to export to win32 (64bits).
from gideros.
@MetalMaxMX yes all platforms are Qt free export except for Windows. To have a Windows free of Qt you have to export to win32 (64bits).
But then, Gideros supports templates, isn't? If I have a Linux setup, and I put the templates (once up on Github) inside the templates folder. The exports are all going to be Qt-free with the exception of Windows? Or are the templates something that can net you a win32 one? I am curious about that.
from gideros.
I am not the dev and my Linux knowledge is very limited 😞 so I believe templates will net you anything possible from a Linux. I am on windows 10 and cannot export to Mac for example (despite having the template on my machine). I don't know if you can export to Mac and Windows using a Linux OS!?
from gideros.
I mean, according to @hgy29. It should be possible if all the templates are in their respective folders. As for macOS, well, that sounds like a bug really. Could probably raise one (or wait until templates are up so you can try them, including the Linux one. I do think macOS is a bit more finicky due to it requiring authentication and stuff though anyway)
from gideros.
no you cannot build for mac on a windows machine, this is not a Gideros bug 😄 . That would be so cool if we could build for Linux on a windows machine 😲 ?
You can "rent" a mac on the cloud and build your project though, see: https://forum.gideros.rocks/discussion/comment/67074/#Comment_67074
from gideros.
I've just released Gideros 2023.8 which, I believe, will answer your question.
from gideros.
Related Issues (20)
- alertDialog bug with wacom tablet HOT 2
- Documentation is confusing HOT 4
- Add a watch command to gdrbridge HOT 2
- Add grab and drop feature
- Add plugin to convert image sequence (plus optional audio file?) to ogg video and av1 video
- TextField:setFont(font) does not work HOT 1
- Texturepack Enhancement HOT 2
- html5 alert dialog error HOT 2
- Move from Gideros Lua to Gideros Luau HOT 1
- mouse_hover event also when (wacom etc digitizer) pen is hovering HOT 1
- wintab driver on/off makes touch events disappear
- License HOT 6
- No platform plugin could be initialized. HOT 3
- Last version with Qt5? HOT 1
- There is no uninstaller registered to Windows HOT 1
- No download available HOT 3
- Issues running on macOS and no verification email from forum HOT 2
- macro "lua_pushcfunction" passed 3 arguments, but takes just 2 HOT 3
- ENHANCEMENT: extend "exclude from package" to other export platforms
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gideros.