Giter Site home page Giter Site logo

Comments (41)

hgy29 avatar hgy29 commented on June 18, 2024 4

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 avatar MetalMaxMX commented on June 18, 2024 2

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.

MetalMaxMX avatar MetalMaxMX commented on June 18, 2024 1

All right it built! Yeah, it was that issue with pwd

from gideros.

MetalMaxMX avatar MetalMaxMX commented on June 18, 2024 1

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.

mokalux avatar mokalux commented on June 18, 2024

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.

hgy29 avatar hgy29 commented on June 18, 2024

I still couldn’t find how to build a flatpak with qt6 dependency.

from gideros.

MetalMaxMX avatar MetalMaxMX commented on June 18, 2024

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.

MetalMaxMX avatar MetalMaxMX commented on June 18, 2024

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.

mokalux avatar mokalux commented on June 18, 2024

MetalMaxMX, the devs are on holidays 😄

from gideros.

hgy29 avatar hgy29 commented on June 18, 2024

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.

MetalMaxMX avatar MetalMaxMX commented on June 18, 2024

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.

hgy29 avatar hgy29 commented on June 18, 2024

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.

MetalMaxMX avatar MetalMaxMX commented on June 18, 2024

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.

hgy29 avatar hgy29 commented on June 18, 2024

@MetalMaxMX,

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.

MetalMaxMX avatar MetalMaxMX commented on June 18, 2024

@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.

MetalMaxMX avatar MetalMaxMX commented on June 18, 2024

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.

hgy29 avatar hgy29 commented on June 18, 2024

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.

MetalMaxMX avatar MetalMaxMX commented on June 18, 2024

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.

hgy29 avatar hgy29 commented on June 18, 2024

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.

MetalMaxMX avatar MetalMaxMX commented on June 18, 2024

I am using Bash, yes. The default stock bash that comes with Debian 11, no updates or anything there

from gideros.

hgy29 avatar hgy29 commented on June 18, 2024

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.

hgy29 avatar hgy29 commented on June 18, 2024

I meant pwd surrounded by back quotes, seems like github processes them

from gideros.

MetalMaxMX avatar MetalMaxMX commented on June 18, 2024

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.

MetalMaxMX avatar MetalMaxMX commented on June 18, 2024

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.

hgy29 avatar hgy29 commented on June 18, 2024

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.

MetalMaxMX avatar MetalMaxMX commented on June 18, 2024

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.

hgy29 avatar hgy29 commented on June 18, 2024

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.

keszegh avatar keszegh commented on June 18, 2024

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.

hgy29 avatar hgy29 commented on June 18, 2024

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.

MetalMaxMX avatar MetalMaxMX commented on June 18, 2024

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.

mokalux avatar mokalux commented on June 18, 2024

@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.

MetalMaxMX avatar MetalMaxMX commented on June 18, 2024

@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.

hgy29 avatar hgy29 commented on June 18, 2024

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.

MetalMaxMX avatar MetalMaxMX commented on June 18, 2024

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.

MetalMaxMX avatar MetalMaxMX commented on June 18, 2024

Oh, nice! Just wondering. But all the platforms are Qt-free exports, right? (including Windows and macOS, I mean)

from gideros.

mokalux avatar mokalux commented on June 18, 2024

@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 avatar MetalMaxMX commented on June 18, 2024

@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.

mokalux avatar mokalux commented on June 18, 2024

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.

MetalMaxMX avatar MetalMaxMX commented on June 18, 2024

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.

mokalux avatar mokalux commented on June 18, 2024

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.

hgy29 avatar hgy29 commented on June 18, 2024

I've just released Gideros 2023.8 which, I believe, will answer your question.

from gideros.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.