Linux šŸ§ Running GMS2 Beta on Arch linux (and possibly other distros too)

GMWolf

aka fel666
āš This makes use of an early beta meant to run on ubuntu. Needless to say this is not supported by YYG and results may vary āš 

Installing and running the new GMS2 beta on Arch linux

I will cover:
  • How to install the beta on arch linux
  • How to run games from the IDE on arch linux
Prerequisites:
  • Some linux experience.
  • Some make experience.
  • yay (but of course you can just use pacman if you like)
  • an x server or wayland.
  • clang (although you can probably modify the make files to use gcc instead, i didn't try)
Installing the beta
  1. Download the beta from http://gms.yoyogames.com/GameMakerStudio2-Beta-23.1.1.329.deb
  2. Install debtap
    1. yay -S debtap
  3. Create the arch package
    1. cd <where you downloaded game maker>
    2. sudo debtap -u
    3. debtap GameMakerStudio2-Beta-23.1.1.329.deb
  4. Install the arch package
    1. sudo pacman -U gamemakerstudio2-beta-23.1.1.329-1-any.pkg.tar.zst
  5. Done! Game maker should show up along with all your other applications.The IDE should pretty much just work out of the box.
Running your game
  1. Switch to YYC
  2. Navigate to your games build directory tmp/yyc/<project name>
  3. Create a new file called GNUmakefile. add the following:
  4. Code:
    b: a
    mv <PROJECT_NAME> _app
    cp run_app <PROJECT_NAME>
    a:
        make -f makefile COMPILEOPTS=-no-pie LINUX_LIBDIR_USR=/usr/lib

  5. Replace <PROJECT_NAME> with your project name
  6. create a new file called run_app with the following:
    Code:
    #!/bin/bash
    export DISPLAY=:0
    ./_app
  7. make the file runnable:
    chmod u+x run_app
  8. Good to go! launching the game from the IDE should work.

How it works:
First of all we want to override some of the options found in the default makefile. To do this we create the GNUmakefile which has higher priority over the default makefile.​
We run make on the original makefile with a couple variables overridden to ensure we dont use PIE and use the correct library directory.​
Game maker will try to run our compiled application but doesnt export the right enviroment variables. So we will instead inject our own script to call it correctly.​
We do this by replacing renaming our compiled application, and then substituting it with our own launch script.​
The launch script exports the right display and just runs the app.​


Hope you find this useful, let me know if you have any questions or issues!
 
Last edited:
S

Sam (Deleted User)

Guest
Probably worth noting wayland is not required but an x compositor actually is as the games are written in x11 and the ide as well if I had to guess.
 
S

Sam (Deleted User)

Guest
Also thought I'd mention, installing on non-Ubuntu-20.04-LTS derived distro's will very likely break native library extensions. If you intend to use extensions of any kind on unofficially supported Linux distro's, then ask the developer of said extension for access to the source code and steps to build the library from scratch, as that will in most cases be needed to get it working depending on the binary compatibility and dependency versions used. My extensions are open source, if anyone needs help with this from me in specific feel free to shoot me a message.
 

gnysek

Member
If we were at Hogwart, you would just get 100 points for Gryffindor. I'm not using Arch linux, but that part with GNUmakefile is clever, and solves a problem which could look not solvable without YYG.
 
Last edited:
Was wondering if anyone has a solution. I keep getting the error that there is no runtime install when I launch the IDE. I tried installing dependencies from the page for Ubuntu, but no dice. Any thoughts? Currently running EndeavorOS
 

Hugar

Member
āš This makes use of an early beta meant to run on ubuntu. Needless to say this is not supported by YYG and results may vary āš 

Installing and running the new GMS2 beta on Arch linux

I will cover:
  • How to install the beta on arch linux
  • How to run games from the IDE on arch linux
Prerequisites:
  • Some linux experience.
  • Some make experience.
  • yay (but of course you can just use pacman if you like)
  • an x server or wayland.
  • clang (although you can probably modify the make files to use gcc instead, i didn't try)
Installing the beta
  1. Download the beta from http://gms.yoyogames.com/GameMakerStudio2-Beta-23.1.1.329.deb
  2. Install debtap
    1. yay -S debtap
  3. Create the arch package
    1. cd <where you downloaded game maker>
    2. sudo debtap -u
    3. debtap GameMakerStudio2-Beta-23.1.1.329.deb
  4. Install the arch package
    1. sudo pacman -U gamemakerstudio2-beta-23.1.1.329-1-any.pkg.tar.zst
  5. Done! Game maker should show up along with all your other applications.The IDE should pretty much just work out of the box.
Running your game
  1. Switch to YYC
  2. Navigate to your games build directory tmp/yyc/<project name>
  3. Create a new file called GNUmakefile. add the following:
  4. Code:
    b: a
    mv <PROJECT_NAME> _app
    cp run_app <PROJECT_NAME>
    a:
        make -f makefile COMPILEOPTS=-no-pie LINUX_LIBDIR_USR=/usr/lib

  5. Replace <PROJECT_NAME> with your project name
  6. create a new file called run_app with the following:
    Code:
    #!/bin/bash
    export DISPLAY=:0
    ./_app
  7. make the file runnable:
    chmod u+x run_app
  8. Good to go! launching the game from the IDE should work.

How it works:
First of all we want to override some of the options found in the default makefile. To do this we create the GNUmakefile which has higher priority over the default makefile.​
We run make on the original makefile with a couple variables overridden to ensure we dont use PIE and use the correct library directory.​
Game maker will try to run our compiled application but doesnt export the right enviroment variables. So we will instead inject our own script to call it correctly.​
We do this by replacing renaming our compiled application, and then substituting it with our own launch script.​
The launch script exports the right display and just runs the app.​


Hope you find this useful, let me know if you have any questions or issues!
first let me say i love your work! i used to be Gamemaker fan until YoYo took over for a lot of reasons but that is another subject for another time. I was able to start up using your instructions but
1.. screen resolution is too high where text is also illegible. How can i lower the res.
2. I get this error "Unable to access the Runtime feed and no local Runtime installed. Please check your internet connection and start Gamemaker 2 again.'Screenshot_2021-10-06_19-08-56.png
n.b this the actual size of the screenshot.
Oh and I am using EndeavourOS with a dual display
16gb of Ram
Nvidia Geforce 1650 video card
500gb NVE Drive
AMD Ryzen I3 3100 Cpu
 
Last edited:
S

Sam (Deleted User)

Guest
first let me say i love your work! i used to be Gamemaker fan until YoYo took over for a lot of reasons but that is another subject for another time. I was able to start up using your instructions but
1.. screen resolution is too high where text is also illegible. How can i lower the res.
2. I get this error "Unable to access the Runtime feed and no local Runtime installed. Please check your internet connection and start Gamemaker 2 again.'View attachment 43454
n.b this the actual size of the screenshot.
Oh and I am using EndeavourOS with a dual display
16gb of Ram
Nvidia Geforce 1650 video card
500gb NVE Drive
AMD Ryzen I3 3100 Cpu
I had the same issue on Raspberry Pi OS. Russell said in another topic this is a problem with the transition from OpenTK to SDL2 for font rendering, and there is no easy solution. I hate to say it, but the best we can do at this point while waiting for this to be fixed is distro hop until we find one that works.
 
S

Sam (Deleted User)

Guest
I haven't seen this myself but others have reported it. I'm sorry I don't know how you could fix that.
Did you try this on vanilla arch or manjaro? Or something else? That would help give them an idea of what distro they could switch to and see if that solves anything
 

Hugar

Member
I haven't seen this myself but others have reported it. I'm sorry I don't know how you could fix that.
there was a post on reddit where it was advised to not use the wine-gecko version on Mono but rather the one from Mono-project.com what do u think?
 

Aldran

Member
I created an account just for this. I ran into the issue while running on Manjaro. The error I got seems to be revolved around SSL certification failing to authenticate and download the runtimes.
I followed this guide: https://github.com/KSP-CKAN/CKAN/wiki/SSL-certificate-errors#arch. Just follow the "Importing System Certificate", "Importing Mozilla's certificates", and "Removing expired Let's Encrypt certificates" headings.

Imho I think the last two are the ones that fixed it.

I am however failing at finding the YYC fix to be able to run the program. I cannot find tmp/yyc/<project name>. Or I should say I am finding many yyc locations but none seem to work.
 
Last edited:

thennothing

Member
IDE fails to load for me on Arch, some kind of font rendering issue. It freezes and completely uses one of my cores, and gives this font error:
Code:
####################################
Break in ExtendStorage (FontFreeType:515)
Reason: Font glyphs per page is 0
####################################
--------------------------------------------------------------------------------
IDE Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: Sequence contains no elements
  at System.Linq.Enumerable.Last[TSource] (System.Collections.Generic.IEnumerable`1[T] source) [0x00010] in <12a367fbcf0c479d847b16f5c2ea4c2d>:0
  at YoYoStudio.Graphics.FontTTF.GetGlyph (System.UInt32 _chr, System.Boolean _updateTextureSlotCache, System.Boolean _allowReplacements) [0x00054] in <e641182686a64dca889d9a72b18ae46b>:0
  at YoYoStudio.Graphics.FontTTF.UpdateGlyphs (System.UInt32[] _requestedChars, System.Boolean _allowReplacements) [0x003dc] in <e641182686a64dca889d9a72b18ae46b>:0
  at YoYoStudio.Graphics.FontTTF.RequestCharacters (System.UInt32[] _requestedChars, System.Boolean _allowReplacements) [0x00008] in <e641182686a64dca889d9a72b18ae46b>:0
  at YoYoStudio.Graphics.FontTTF.GetGlyph (System.UInt32 _chr, System.Boolean _updateTextureSlotCache, System.Boolean _allowReplacements) [0x0000e] in <e641182686a64dca889d9a72b18ae46b>:0
  at Graphics.IconTTF.GetGlyph () [0x00040] in <e641182686a64dca889d9a72b18ae46b>:0
  at YoYoStudio.GUI.Gadgets.Image.UpdateFontIcon (System.Boolean _force) [0x0008a] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Gadgets.Image.set_VectorIconSize (YoYoStudio.GUI.GUIAlignmentInput value) [0x0001e] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at (wrapper managed-to-native) System.Reflection.RuntimeMethodInfo.InternalInvoke(System.Reflection.RuntimeMethodInfo,object,object[],System.Exception&)
  at System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0006a] in <62b430b945fa49a19a75382ef03e7bed>:0
   --- End of inner exception stack trace ---
  at System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00083] in <62b430b945fa49a19a75382ef03e7bed>:0
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <62b430b945fa49a19a75382ef03e7bed>:0
  at YoYoStudio.GUI.Styles.StyleManager.ApplyStyleValue (System.Object _obj, System.Reflection.PropertyInfo p, YoYoStudio.GUI.Styles.StyleManager+StyleValue _styleValue) [0x00073] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Styles.StyleManager.Set (System.Object _obj, System.Collections.Generic.List`1[T] _style, System.Boolean _fromLayout) [0x0013a] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Styles.StyleManager.Set (System.Object _obj, System.String _stylename) [0x00012] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Styles.GUIStyle.Set (System.String _name) [0x00015] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Styles.GUIStyle.set_StyleName (System.String value) [0x00000] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Layout.LayoutManager.LoadStyleAttributes[T] (T _gadget, System.Xml.XmlElement _xmlNode) [0x0006e] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Layout.LayoutManager.BasicLoad[T] (T _gadget, System.Xml.XmlElement _xmlNode) [0x00000] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Gadgets.Image.Load (System.Xml.XmlElement _node) [0x00000] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Layout.LayoutManager.CreateGadget (System.Xml.XmlElement _xmlNode, YoYoStudio.GUI.Layout.LayoutInstanceID _ownerLayout) [0x00029] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Layout.LayoutManager.CreateGadgets (YoYoStudio.GUI.GUIBase _g, System.Xml.XmlElement _xmlNode, YoYoStudio.GUI.Layout.LayoutInstanceID _ownerLayout) [0x00020] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Layout.LayoutManager.AddGadgets (YoYoStudio.GUI.GUIBase _g, System.Xml.XmlElement _listNode, YoYoStudio.GUI.Layout.LayoutInstanceID _ownerLayout, System.Action`1[T] _addAction) [0x00000] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Layout.LayoutManager.BasicAddLayout[T] (T _gadget, System.Xml.XmlElement _xmlNode, YoYoStudio.GUI.Layout.LayoutInstanceID _ownerLayout, System.Boolean _attachContextRightClick) [0x0009b] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Gadgets.ScrollPanel.AddLayout (System.Xml.XmlElement _node, YoYoStudio.GUI.Layout.LayoutInstanceID _instance) [0x00000] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Layout.LayoutManager.BasicLoad[T] (T _gadget, System.Xml.XmlElement _xmlNode) [0x00019] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Gadgets.ScrollPanel.Load (System.Xml.XmlElement _node) [0x00000] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Gadgets.Grid.ProcessCell (System.Xml.XmlElement _cell, YoYoStudio.GUI.Layout.LayoutInstanceID _ownerLayout) [0x00050] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Gadgets.Grid.AddLayout (System.Xml.XmlElement _node, YoYoStudio.GUI.Layout.LayoutInstanceID _instance) [0x0005c] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Layout.LayoutManager.BasicLoad[T] (T _gadget, System.Xml.XmlElement _xmlNode) [0x00019] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Gadgets.Grid.Load (System.Xml.XmlElement _node) [0x00000] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Layout.LayoutManager.CreateGadget (System.Xml.XmlElement _xmlNode, YoYoStudio.GUI.Layout.LayoutInstanceID _ownerLayout) [0x00029] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Layout.LayoutManager.CreateGadgets (YoYoStudio.GUI.GUIBase _g, System.Xml.XmlElement _xmlNode, YoYoStudio.GUI.Layout.LayoutInstanceID _ownerLayout) [0x00020] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.GUI.Layout.LayoutManager.CreateLayout (System.String _layoutID) [0x0001a] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.IDE.Initialise (System.String[] _args, System.Int32 _initialWidth, System.Int32 _initialHeight) [0x00b16] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
  at YoYoStudio.IDE.Execute (System.String[] _args, System.Int32 _initialWidth, System.Int32 _initialHeight) [0x00038] in <b9f61ee56a6f4f11bfcb950e5b32e277>:0
--------------------------------------------------------------------------------
####################################
Break in FatalErrorWarning (IDE:3685)
####################################
I had a look through what could be wrong with my fonts but I don't really know where to start, aside from removing the fonts I copied over from windows, which didn't help.
 
Last edited:

Hugar

Member
Greetings all. This is a follow up on.
so i went back to try solving this problem. The progress i made is to change a 'DPI' setting in the 'General Settings' of the Preferences segment. This will handle the small fonts issue.
Unfortunately i set mine too high and now everything is HUGE........:D
which now is another problem because i am not able to set it back or lower it.
I had removed and re-installed GMS2 but this did not fix the problem.

so with some work and patience, i finally got it working.:D:D

Screenshot_2022-09-19_08-41-16.png
Screenshot_2022-09-19_08-42-40.png

needless to say i cannot guarantee this will work on all editions of Arch.
my setup is
1663592182028.png
RebornOS is the distro i am using with XFCE 4.1.

so this is how i able solve it...........
i have a single monitor/tv display
I had to go into my native Display app and set the resolution to a low setting.........800x600 would be a good setting. If you have a multiple monitor setup, it would be better to disable one. At this time it should be readable enough to set the custom dpi setting for GMS2
1663593200848.png
as you can see i have mine set at 109........which is perfect for me as i normally has my resolution at 1360x768
however, you can u can set yours to 100 and see if that works for you.. After that you click on the 'Apply' button to save.

After that is sorted out, it is just a matter of setting back your native resolution using the 'Display' app on your computer.

Hopefully this has helped out others with the same problem.
 

Riedler

Member
it seems like they went and released a wholly new version for ubuntu, which doesn't work on arch at all anymore. The old version doesn't seem to be able to login anymore, either. Would be great if anyone knew some more. If I get it to work, I'll create an AUR package for this.
 

blaiddx64

Member
Thank you GMWolf for the guide!

I tested on endeavourOS and it's currently working fine.

1. Install mono (https://www.mono-project.com/download/stable/#download-lin):
sudo pacman -S mono
2. Install steamruntime, linuxdeploy and appimage following this guide https://help.yoyogames.com/hc/en-us/articles/235186168-Setting-Up-For-Ubuntu
3. Download game maker beta ubuntu release (.deb) from https://gms.yoyogames.com/ReleaseNotes-NuBeta.html
4. Follow Installing the beta

Just setting the target to TEST (or ubuntu if you have license) > VM, allows you to start the game directly from IDE by just clicking on play button (F5).

Your game sprites may be kinda bugged, to fix it, open the Game Options (cog icon at same line of save and play buttons) > Platform Settings > Ubuntu > Graphics > Options > Uncheck "Interpolate Colours Between Pixels".

Another bug you may experience is the game maker not opening when there's a new release, to fix it you should disconnect from internet > open game maker > connect again (I guess it breaks something when try to self update to new release).
 
Last edited:

TA418

Member
Thank you GMWolf for the guide!

I tested on endeavourOS and it's currently working fine.

1. Install mono (https://www.mono-project.com/download/stable/#download-lin):
sudo pacman -S mono
2. Install steamruntime, linuxdeploy and appimage following this guide https://help.yoyogames.com/hc/en-us/articles/235186168-Setting-Up-For-Ubuntu
3. Download game maker beta ubuntu release (.deb) from https://gms.yoyogames.com/ReleaseNotes-NuBeta.html
4. Follow Installing the beta

Just setting the target to TEST (or ubuntu if you have license) > VM, allows you to start the game directly from IDE by just clicking on play button (F5).

Your game sprites may be kinda bugged, to fix it, open the Game Options (cog icon at same line of save and play buttons) > Platform Settings > Ubuntu > Graphics > Options > Uncheck "Interpolate Colours Between Pixels".

Another bug you may experience is the game maker not opening when there's a new release, to fix it you should disconnect from internet > open game maker > connect again (I guess it breaks something when try to self update to new release).

Following your guide and the original, I am able to get the IDE to launch, but I am running into an issue.

Code:
rsync -ap "/tmp/GameMakerStudio2-Beta/GMS2TEMP/Project_Dreamcatcher_7D73B10_YYC/Game/" "/home/maddi/GameMakerStudio2/yyc/FromPC/Project_Dreamcatcher/Game/"
System.ComponentModel.Win32Exception (2): An error occurred trying to start process 'rsync' with working directory '/opt/GameMaker-Beta/x86_64'. No such file or directory
   at System.Diagnostics.Process.ForkAndExecProcess(ProcessStartInfo startInfo, String resolvedFilename, String[] argv, String[] envp, String cwd, Boolean setCredentials, UInt32 userId, UInt32 groupId, UInt32[] groups, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd, Boolean usesTerminal, Boolean throwOnNoExec)
   at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at Igor.Command.ExecuteCommandSync(String _command, String _args, Boolean _fail_on_error, String _cwd, YYDictionary`2 _env, Boolean as_admin, String timingKey, Boolean _fQuiet)
   at Igor.LocalSSH.pscp(String local, String remote, Boolean recursive)
   at Igor.LinuxBuilder.pscp(String local, String remote, Boolean recursive)
   at Igor.LinuxBuilder.LinuxSendAndBuildMakefile(String _dir)
   at Igor.LinuxBuilder.Run()
Igor complete.
elapsed time 00:00:01.6998208s for command "/home/maddi/.local/share/GameMakerStudio2-Beta/Cache/runtimes/runtime-2023.800.0.429/bin/igor/linux/x64/Igor" -j=8  -options="/tmp/GameMakerStudio2-Beta/GMS2TEMP/build.bff" -v -- Linux Run started at 08/31/2023 09:23:25
FAILED: Run Program Complete
I did check, and the /opt/GameMaker-Beta/x86_64 directory does exist so im a bit at a loss. I was hoping to get it to work so I could test it out on Arch

1693492112293.png

If anyone has some advice that would be super cool!

OS Information below


1693492210659.png

*EDIT*

I did figure this issue out. It was because I didn't have rsync installed. But I am running into a new issue


Code:
unshare -mUprf sh -c 'mount -o bind "$1" "$2/tmp/" && PATH="$PATH:/usr/local/sbin:/usr/sbin:/sbin" chroot "$2" sh -c "cd /tmp/ && make -C /tmp/ -j `nproc --all`"' -- /home/maddi/GameMakerStudio2/yyc/Project_Dreamcatcher /opt/steam-runtime
System.Exception: command 'unshare -mUprf sh -c 'mount -o bind "$1" "$2/tmp/" && PATH="$PATH:/usr/local/sbin:/usr/sbin:/sbin" chroot "$2" sh -c "cd /tmp/ && make -C /tmp/ -j `nproc --all`"' -- /home/maddi/GameMakerStudio2/yyc/Project_Dreamcatcher /opt/steam-runtime' failed with exit status 127
   at Igor.LinuxBuilder.plink_async(String command, Boolean fail_on_error)
   at Igor.LinuxBuilder.LinuxSendAndBuildMakefile(String _dir)
   at Igor.LinuxBuilder.Run()
Igor complete.
If/when I figure it out, I will update
 
Last edited:

nulshift

Member
Code:
unshare -mUprf sh -c 'mount -o bind "$1" "$2/tmp/" && PATH="$PATH:/usr/local/sbin:/usr/sbin:/sbin" chroot "$2" sh -c "cd /tmp/ && make -C /tmp/ -j `nproc --all`"' -- /home/maddi/GameMakerStudio2/yyc/Project_Dreamcatcher /opt/steam-runtime
System.Exception: command 'unshare -mUprf sh -c 'mount -o bind "$1" "$2/tmp/" && PATH="$PATH:/usr/local/sbin:/usr/sbin:/sbin" chroot "$2" sh -c "cd /tmp/ && make -C /tmp/ -j `nproc --all`"' -- /home/maddi/GameMakerStudio2/yyc/Project_Dreamcatcher /opt/steam-runtime' failed with exit status 127
   at Igor.LinuxBuilder.plink_async(String command, Boolean fail_on_error)
   at Igor.LinuxBuilder.LinuxSendAndBuildMakefile(String _dir)
   at Igor.LinuxBuilder.Run()
Igor complete.
If/when I figure it out, I will update
Yeah the way linux builds are made have changed since this thread was posted. For some reason, Arch and Ubuntu handle 'chroot'ing into the steam-runtime differently. Might have something to do with PATH or something.
But anyway, the way around this is to navigate into the /opt/steam-runtime directory, then either link or copy the following functions: bin/sh bin/dash bin/cat bin/ls bin/mkdir, into usr/bin
You can do this with the following commands in the terminal:
Code:
cd /opt/steam-runtime
sudo cp bin/sh bin/dash bin/cat bin/ls bin/mkdir usr/bin
Looking at my terminal history, I also installed fuse2, I'm not sure if this was important or not.

Thanks to Airgeadlamh for helping me out with this one.
 

blaiddx64

Member
Following your guide and the original, I am able to get the IDE to launch, but I am running into an issue.

Code:
rsync -ap "/tmp/GameMakerStudio2-Beta/GMS2TEMP/Project_Dreamcatcher_7D73B10_YYC/Game/" "/home/maddi/GameMakerStudio2/yyc/FromPC/Project_Dreamcatcher/Game/"
System.ComponentModel.Win32Exception (2): An error occurred trying to start process 'rsync' with working directory '/opt/GameMaker-Beta/x86_64'. No such file or directory
   at System.Diagnostics.Process.ForkAndExecProcess(ProcessStartInfo startInfo, String resolvedFilename, String[] argv, String[] envp, String cwd, Boolean setCredentials, UInt32 userId, UInt32 groupId, UInt32[] groups, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd, Boolean usesTerminal, Boolean throwOnNoExec)
   at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at Igor.Command.ExecuteCommandSync(String _command, String _args, Boolean _fail_on_error, String _cwd, YYDictionary`2 _env, Boolean as_admin, String timingKey, Boolean _fQuiet)
   at Igor.LocalSSH.pscp(String local, String remote, Boolean recursive)
   at Igor.LinuxBuilder.pscp(String local, String remote, Boolean recursive)
   at Igor.LinuxBuilder.LinuxSendAndBuildMakefile(String _dir)
   at Igor.LinuxBuilder.Run()
Igor complete.
elapsed time 00:00:01.6998208s for command "/home/maddi/.local/share/GameMakerStudio2-Beta/Cache/runtimes/runtime-2023.800.0.429/bin/igor/linux/x64/Igor" -j=8  -options="/tmp/GameMakerStudio2-Beta/GMS2TEMP/build.bff" -v -- Linux Run started at 08/31/2023 09:23:25
FAILED: Run Program Complete
I did check, and the /opt/GameMaker-Beta/x86_64 directory does exist so im a bit at a loss. I was hoping to get it to work so I could test it out on Arch

View attachment 57174

If anyone has some advice that would be super cool!

OS Information below


View attachment 57175

*EDIT*

I did figure this issue out. It was because I didn't have rsync installed. But I am running into a new issue


Code:
unshare -mUprf sh -c 'mount -o bind "$1" "$2/tmp/" && PATH="$PATH:/usr/local/sbin:/usr/sbin:/sbin" chroot "$2" sh -c "cd /tmp/ && make -C /tmp/ -j `nproc --all`"' -- /home/maddi/GameMakerStudio2/yyc/Project_Dreamcatcher /opt/steam-runtime
System.Exception: command 'unshare -mUprf sh -c 'mount -o bind "$1" "$2/tmp/" && PATH="$PATH:/usr/local/sbin:/usr/sbin:/sbin" chroot "$2" sh -c "cd /tmp/ && make -C /tmp/ -j `nproc --all`"' -- /home/maddi/GameMakerStudio2/yyc/Project_Dreamcatcher /opt/steam-runtime' failed with exit status 127
   at Igor.LinuxBuilder.plink_async(String command, Boolean fail_on_error)
   at Igor.LinuxBuilder.LinuxSendAndBuildMakefile(String _dir)
   at Igor.LinuxBuilder.Run()
Igor complete.
If/when I figure it out, I will update
based on response code 127, it looks like that you doesn't have "unshare" binary on your machine, try to install it and check if it solves the issue
 

Rudboys

Member
That's Fine! Can we say for Android GMS2 is Near? Because if you look Android's Basic is Linux. I don't know is it be stable but if this be real one day. I'll Verry Happy that day. Of Course, YYG Support this?. This is real serious Question.
If this can be real... Using GM2 to mobile phone(Smart Phone), This is A fascinating dream. Portable GM2 PERFECT!

I don't know maybe it's impossible. We Wait and See...

Actually, i was wanted open thread to learn everybody's thing about this Dream but i see that thread and i want to write.
I think that thread and my dream have a connect.
I'm sorry for Long Write.
Good Working!
 

blaiddx64

Member
That's Fine! Can we say for Android GMS2 is Near? Because if you look Android's Basic is Linux. I don't know is it be stable but if this be real one day. I'll Verry Happy that day. Of Course, YYG Support this?. This is real serious Question.
If this can be real... Using GM2 to mobile phone(Smart Phone), This is A fascinating dream. Portable GM2 PERFECT!

I don't know maybe it's impossible. We Wait and See...

Actually, i was wanted open thread to learn everybody's thing about this Dream but i see that thread and i want to write.
I think that thread and my dream have a connect.
I'm sorry for Long Write.
Good Working!
I think there's no relationship, linux runs elf binaries, android applications are basically java apps zipped as .apk.
If yoyogames have plans to launch gamemaker on android they will need to build it from scratch.
 
Top