1. Hey! Guest! The 35th GMC Jam will take place between November 28th, 12:00 UTC - December 2nd, 12:00 UTC. Why not join in! Click here to find out more!
    Dismiss Notice
  2. Hello Guest! It's with a heavy heart that we must announce the removal of the Legacy GMC Archive. If you wish to save anything from it, now's the time! Please see this topic for more information.
    Dismiss Notice

Linux Run the GMS2 IDE on Ubuntu 19.04

Discussion in 'Tutorials' started by Tthecreator, Jun 14, 2019.

Tags:
  1. Tthecreator

    Tthecreator Your Creator!

    Joined:
    Jun 20, 2016
    Posts:
    757
    GM Version: GMS2.2.2.413 (Runtime: v2.2.2.326)
    Target Platform: Ubuntu 19.04 (Other Linux versions may work as well)
    Download: N/A
    Links:
    Tested with:
    Ubuntu 19.04
    Linux Mint 19.1

    Summary:
    This tutorial tells you how to get GameMakerStudio2 to install, the IDE to run and get it to compile games.
    This is accomplished using wine and some fiddling around with .NET.

    Requirements:
    64x bit install of Ubuntu 19.04
    gms2 installer file: GameMakerStudio-Installer-2.2.2.413.exe (others may work as well)

    Todo:
    Fix GLX errors. (Wine openGL to X window manager doesn’t work correctly)
    Test Android support.

    OS images with all dependencies needed:
    If you don't have Linux installed yet, you can use this ISO image by @Samuel Venable to get gms2 running quickly:
    https://forum.yoyogames.com/index.php?threads/run-the-gms2-ide-on-ubuntu-19-04.64330/#post-405199
    It is based on Ubuntu with KDE Neon. Check out his post for more details.

    Tutorial:
    First install the latest version of wine using these commands:
    You need wine 4.10, earlier wine versions (like 4.2) will NOT work.

    add wine repo key:
    wget -nc https://dl.winehq.org/wine-builds/winehq.key && sudo apt-key add winehq.key

    add wine repository:
    sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ disco main'
    note: If you are on any other distribution, you might need use a different link.
    On Ubuntu 18.04 or Linux Mint 19.1 this is: (Thanks to @canoi)
    sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'​
    add repo for unmet dependency libfaudio0:
    sudo add-apt-repository ppa:cybermax-dexter/sdl2-backport

    update available packages:
    sudo apt update

    install wine:
    sudo apt install --install-recommends winehq-devel​
    If everything went correctly "wine --version" should return "wine-4.10¨

    Next up, we want to install q4wine. This is a usefull tool to manage prefixes, manage running processes and load up .exe files correctly.

    install q4wine:
    sudo apt install q4wine

    install winetricks:
    sudo apt install winetricks​


    We need to setup a wine prefix in q4wine:
    • Create a new gms2 folder in your home folder.
    • Open q4wine.
    • Run trough the q4wine setup process. (you can mostly click next)
    • Create a new prefix under 'prefixes'.
    • Name the prefix 'gms2'
    • Set the prefixpath to the previously created gms2 folder.
    • Set the arch to 64 bit.
    • Save the prefix

    Run the following command to initiate the prefix: (We're also going to uninstall mono)
    (if you chose a different wine prefix folder, don't forget to change it in these commands)
    run uninstaller and init the prefix:
    WINEPREFIX=~/gms2 WINEARCH="win64" wine64 uninstaller

    If you are asked to install wine mono click 'install'. Do the same for gecko.
    A wine GUI should open now. Select Mono and click uninstall. Both mono entries should have been deleted.​


    We need to install .NET now. use the following commands:
    Install .NET 4.5.2:
    WINEPREFIX=~/gms2/ winetricks dotnet452

    Run trough the installers.
    If you are given a warning about the windows update server, just continue.
    You don't have to restart your computer.​

    Install gms2:
    Now you want to download the gms2 installer .exe file.
    Open it with q4wine (right click the file and select 'open with other application' if q4wine is not the default)
    In q4wine select the gms2 prefix.

    Install gms2.
    If you see a "Turn Windows features on or off" message click okay.
    If a .NET 3.5 installer opens, cancel the installation.
    If a .NET 2.5.4 repair window opens, close it by going into Q4Wine into the processing tab and terminating "Setup.exe"​

    GMS2 IDE should now open automatically. (or it may not) If it does, close it.

    If you want to start it manually execute the following command:

    WINEPREFIX=~/gms2 WINEARCH="win64" wine64 "C:\Program Files\GameMaker Studio 2\GameMakerStudio.exe"​
    (thanks to @tijeseffff )

    In the IDE, login to your account and wait for the runtime to install.
    Start a new test project, make a room, an object and add a hello world message.

    Click run. Your game should now start.

    Compile a native linux executable:
    To compile for linux we are going to follow this guide:
    https://help.yoyogames.com/hc/en-us/articles/235186168
    For your ip, you can fill in localhost or '127.0.0.1'

    If that doesn't work you can try:
    https://www.yoyogames.com/blog/107/how-to-compile-to-linux-ubuntu

    There will be an extensive list of packages to install. However, not all of these packages are available anymore. This can be fixed by using:
    sudo apt-get install libssl1.1
    sudo apt-get install libbz2​
    and then 'hacking' libssl to look like libssl1.0.0:
    sudo cp /usr/lib/x86_64-linux-gnu/libssl.so.1.1 /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
    sudo cp /usr/lib/x86_64-linux-gnu/libssl.so.1.1 /usr/lib/libssl.so.1.0.0
    sudo cp /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
    sudo cp /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.0.0​
    Now follow the guide setting up your host to accept ssh connections.
    Eventually you should see a native Linux app running on your pc.

    Make a launcher shortcut
    Download and build AppEditor:
    sudo apt install valac libgranite-dev meson
    cd ~/
    git clone https://github.com/donadigo/appeditor.git
    cd appeditor

    Build AppEditor:
    meson build
    cd build
    meson configure -Dprefix=/usr
    ninja
    sudo ninja install

    Create startup script:
    cd ~/
    nano launchGMS2.sh

    Insert the following text:
    WINEPREFIX="/home/YOUR_USER_NAME_HERE/gms2" WINEARCH="win64" wine64 "C:\Program Files\GameMaker Studio 2\GameMakerStudio.exe"

    Press CNTRL+X to close nano. Type 'Y' to save.

    Launch AppEditor:
    cd ~/appeditor/build
    com.github.donadigo.appeditor

    GMS2/wine itself should have already made a launcher icon. We are going to edit that.
    Find it and:
    - set 'Show in Launcher' to true.
    - set the 'Category' to Programming
    - set 'Command Line' to /home/YOUR_USER_NAME_HERE/launchGMS2.sh
    - enable 'Launch in Terminal'​
    Now save and try the launch entry. (close any open IDE's beforehand)​

    Compile for android:
    Download latest jdk8 for Windows x64, and the latest jdk8 for Linux (.tar.gz):
    If you don't have an account you can make one with a temporary email service: https://temp-mail.org/en/view/3586d8b76358d93eabd0f0d53207bfc4
    note: I used jdk-8u211.

    Launch jdk-8u***-windows-x64.exe with q4wine in gms2 prefix.
    Some UI elements of the install will be broken.
    Check the box and press the left button.
    Click Next
    On the next broken screen press the left button again
    If the same message keeps popping up, click the right button.
    Go to your GMS2 android platform settings and set the JDK to: C:\Program Files\Java\jdk1.8.0_XXX (your directory may be different)
    (These steps are kind of vague, they may need to be written down more clearly. These were my notes and I didn't have enough time to walk trough the process again on my tutorial VM.)

    Download android studio for windows 64 bit:
    Run the installer in the correct prefix using q4wine.
    After the installation execute:
    WINEPREFIX=~/gms2 WINEARCH="win64" wine64 "C:\Program Files\Android\Android Studio\bin\studio64.exe"​
    Don't send usage statistics.
    Do a custom install.
    Set SDK path to C:\Android\SDK
    Don't install Intel HAXM
    Follow trough with the install. Android studio will start to download components.

    When you see the Android Studio welcome screen, click configure and then 'SDK Manager'
    Install the correct SDK platforms and the SDK tools. Use this tutorial as reference:
    Again, make sure not to install anything to do with HAXM.
    Install the components and accept all license agreements.

    Install android studio on your host machine with the exact same settings. On Ubuntu you can install android studio trough the Software center. When setting up android studio use linux kernel hardware acceleration module instead of HAXM. (This should be done by default)

    Open a terminal and do:
    Cd ~/Android/Sdk/platform-tools/
    ./adb --version​
    This should yield:
    Android Debug Bridge version 1.0.41
    Version 29.0.1-5644136
    Installed as /home/YOUR_USERNAME/Android/Sdk/platform-tools/adb
    Open a second terminal and do:
    WINEPREFIX=~/gms2 WINEARCH="win64" wine64 cmd​
    This will open a windows cmd prompt. Here you can execute:
    C:
    cd C:\Android\SDK\platform-tools
    adb --version​
    You should see something among the lines of:
    Android Debug Bridge version 1.0.41
    Version 29.0.1-5644136
    Installed as C:\Android\SDK\platform-tools\adb.exe
    It is okay if the version numbers between your setup and my setup differ, as long as the Windows and Linux Android Debug Bridge versions are the same.

    Luckily for us the ADB uses a separated client interface connected do a daemon server. We can actually run the server on Linux and the client on Windows.
    To do this, on your host execute: (In the same folder as last time)
    ./adb start-server
    adb devices​
    If you had your phone connected to your computer, you should see it identified by adb. If not, connect your phone or troubleshoot your usb connection.

    On cmd execute:
    adb devices​
    Your adb devices should show up in Windows.

    In GMS, go to the android device editor (open the targets menu, click Android and click on the pencil under devices). Click 'Detect Device'. Your device should show up.

    Go back to your android platform settings and generate (or import) a keystore file. This keystore file has to be in the root of your windows system. For example: C:\testProject.keystore. Keeping the keystore file in the root directory makes our life easier down the road and prevents our filename from having any spaces.

    Find out what the API level of your phone is and select that in GMS.
    Select the processor architecture of your phone. (I had to enable ARM64)

    Extract your java-8u***-linux-x64.tar.gz file into your home directory.
    Edit your /etc/profile file to set your java home correctly:
    sudo nano /etc/profile​
    Add the following four lines:
    JAVA_HOME=/home/thomas/jdk1.8.0_211
    PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
    export JAVA_HOME
    export PATH​
    Let Ubuntu know where our java is:
    sudo update-alternatives --install "/usr/bin/java" "java" "<Directory where JAVA has been extracted>/bin/java" 1
    sudo update-alternatives --install "/usr/bin/javac" "javac" "<Directory where JAVA has been extracted>/bin/javac" 1
    sudo update-alternatives --install "/usr/bin/javaws" "javaws" "<Directory where JAVA has been extracted>/bin/javaws" 1
    sudo update-alternatives --set java <Directory where JAVA has been extracted>/bin/java
    sudo update-alternatives --set javac <Directory where JAVA has been extracted>/bin/javac
    sudo update-alternatives --set javaws <Directory where JAVA has been extracted>/bin/javaws
    java -version should now return:
    java version "1.8.0_211"
    Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

    If you see something along the lines of OpenJDK 11, your gradle will not work.

    install gradle:
    sudo apt install gradle
    Create a new android build folder somewhere on your computer.
    Add a copy of your keystore to this folder and call it 'project.keystore'.
    Add the following python script called launchGMS2AndroidBuild.py:
    #launchGMS2AndroidBuild.py
    #Author TTheCreator https://forum.yoyogames.com/index.php?members/tthecreator.233/
    #This script looks for changes in GMS's cached android build output and will compile and run your android app when GM is done with it's business.

    import sys
    import time
    import logging
    import re
    import shutil
    import os
    from watchdog.observers import Observer
    from watchdog.events import LoggingEventHandler
    import distutils.dir_util

    windows_gms2CachePath = "/home/YOUR_USERNAME/gms2/drive_c/users/YOUR_USERNAME/Application Data/GameMakerStudio2/Cache/GMS2CACHE/testProjec_BCCB0FB7_367ADB89"

    host_gradleVersion = "2.3.3"
    host_sdkDir = "/home/thomas/Android/Sdk/"#Where your android sdk is located
    host_keyStore = os.getcwd() + "project.keystore" #The location of your keyfile on your host machine
    android_packageName = "com.company.game"#The packagename of your game
    host_cacheFile = "gms2cache"#The local folder on your host that is used to hold and manipulate the gms2 android compile cache
    last_changed_build_file_pattern = re.compile(".*build.sample") #What file game maker edits last when compiling for android.

    def cleanUp():
    print("cleaning up...")
    if(os.path.isdir(host_cacheFile)):
    shutil.rmtree(host_cacheFile)

    def copyCacheToHost():
    print("copying cache to host")
    distutils.dir_util._path_created = {}
    distutils.dir_util.copy_tree(windows_gms2CachePath, host_cacheFile)

    def changeProjectFileForHostCompatibility():
    setHostGradleVersion()
    setSdkSrcDir()
    setKeystoreFile()

    def setHostGradleVersion():
    #make sure we are using the correct gradleVersion
    print("Setting gradle version to:"+host_gradleVersion)
    with open (host_cacheFile+"/Android/default/build.gradle", 'r') as f:
    content = f.read()
    content_new = re.sub("gradle:.*'", "gradle:"+host_gradleVersion+"'", content)
    with open (host_cacheFile+"/Android/default/build.gradle", 'w') as f:
    f.write(content_new)

    def setKeystoreFile():
    #make sure we are using the correct gradleVersion
    print("Setting keystore file to:"+host_keyStore)
    with open (host_cacheFile+"/Android/default/"+android_packageName+"/build.gradle", 'r') as f:
    content = f.read()
    content_new = re.sub("C:/.*.keystore", host_keyStore, content)
    with open (host_cacheFile+"/Android/default/"+android_packageName+"/build.gradle", 'w') as f:
    f.write(content_new)

    def setSdkSrcDir():
    print("Setting sdk source directory to:"+host_sdkDir)
    with open (host_cacheFile+"/Android/default/local.properties", 'w') as f:
    f.write("sdk.dir="+host_sdkDir)

    def gradleCompile():
    print("Using Gradle to compile in:"+host_cacheFile+"/Android/default")
    os.system("cd "+host_cacheFile+"/Android/default && gradle installDebug && cd ../../../")

    def runOnDevice():
    print("Using adb to run the app on a device")
    os.system(host_sdkDir+"platform-tools/adb shell monkey -p "+android_packageName+" 1")

    class GMSEventHandler(LoggingEventHandler):
    def on_any_event(self, event):
    print("HI!")
    #print(event)
    print(event.src_path)
    if (last_changed_build_file_pattern.match(event.src_path)):
    print("build sample file has been edited")
    copyCacheToHost()
    changeProjectFileForHostCompatibility()
    gradleCompile()
    runOnDevice()
    cleanUp()

    if __name__ == "__main__":
    print("Started looking for changes to: "+windows_gms2CachePath)
    cleanUp()
    logging.basicConfig(level=logging.INFO,
    format='%(asctime)s - %(message)s',
    datefmt='%Y-%m-%d %H:%M:%S')
    event_handler = GMSEventHandler()
    observer = Observer()
    observer.schedule(event_handler, windows_gms2CachePath, recursive=True)
    observer.start()
    try:
    while True:
    time.sleep(1)
    except KeyboardInterrupt:
    observer.stop()
    observer.join()
    cleanUp()​

    You will need to edit this python file to make sure it runs on your machine. On the top of the files there are a bunch of settings you can change. This script only supports full system paths. '~/' is invalid and will not work. That's why you may need to inject your username into the script.

    To start the script open a terminal in the folder you created and execute:
    python3 launchGMS2AndroidBuild.py
    You might need to install the watchdog python module:
    pip3 install watchdog
    If you don't have python installed:
    sudo apt install python3
    sudo apt install python3-pip​
    To stop the script press CNTRL+Z

    From this point on my python script should take care of everything for you. Once it detects that build.sample has been updated, it will copy over the GMS2 android compile cache, change some settings and finally run gradle. Gradle will install the app for you on your phone after which the python script will launch it.​

    Known problems:
    Igor.exe invalid parameter:
    Make sure to launch GMS2 from the right prefix and from the terminal.
    Use a command like this:
    Code:
    Exec=gnome-terminal -- bash -c 'WINEPREFIX="/home/user/gms2" WINEARCH="win64" wine64 "C:\Program Files\GameMaker Studio 2\GameMakerStudio.exe"'
    
    Try adding --geometry 1x1+9999+9999 (COLUMNS x ROWS + X + Y) to the gnome-terminal command and it should make the window small and offscreen.

    Thanks to @Spectre216 and @Yal for this issue!​
    Font problems:
    Install fonts in wine:
    Code:
    WINEPREFIX=~/gms2 winetricks allfonts
    
    Thanks to @Binsk for this issue!​
    GLX Errors:
    If you see any of the following in your terminal while running GMS:
    - wine X Error of failed request: BadValue
    - Any error saying something with GLX​
    Do the following:
    - restart your pc
    - upgrade or reinstall your video drivers.​
    'This program encountered an error':
    In some cases wine might throw an error saying the program cannot be booted. When this happens is somewhat random and you might need to try launching GMS2 a few times before it finally works.​
    Wine screws up audio:
    In some specific configurations starting a wine program may cause your sound to become higher or lower. To fix this execute:
    pulseaudio --kill​
    Running gradle gives you a license error:
    open android studio on your host. Open the sdk manager and install the corresponding package. You may need to check 'Show Package Details'.

    Make sure you can compile an app (just an empty test project) in android studio on your host using the same build tools version and sdk version. You can change this in file>project structure

    Go into your android sdk directory on your host:
    cd ~/Android/Sdk/tools/bin​
    and:
    ./sdkmanager --licenses
    say 'y' to all​
    adb server version (41) doesn't match this client (39); killing...
    This error occurs when you are using multiple adb versions. Make sure the adb version of your host machine is the same as on your windows machine.

    Make sure you have your adb daemon running on your Linux host.

    On your host, make sure you are running the program adb in the platform-tools folder.
    Cd into this folder and use './adb'. The ./ is important.

    Make sure the package 'android-tools-adb' is NOT installed. Uninstall it with:
    sudo apt purge android-tools-adb​
    GameMAkerStudio.exe is running. Please close it first.
    This message may appear when updating/uninstalling GMS2.
    Unfortunately, this problem has not been solved.
    For now, you will have to start all over by creating a new prefix.


    Sources:

    http://ubuntuhandbook.org/index.php/2019/05/nstall-wine-4-8-ubuntu-19-04-18-04/
    https://wiki.winehq.org/Mono
    https://www.yoyogames.com/blog/107/how-to-compile-to-linux-ubuntu
    https://forum.winehq.org/viewtopic.php?f=8&t=14285
    https://linuxconfig.org/how-to-crea...ncher-on-ubuntu-18-10-cosmic-cuttlefish-linux
    https://www.omgubuntu.co.uk/2018/02/app-menu-editor-for-ubuntu-appeditor
    https://github.com/donadigo/appeditor
    https://stackoverflow.com/questions...d-to-notify-project-evaluation-listener-error
    https://developer.android.com/studio/build/building-cmdline
    https://stackoverflow.com/questions/4567904/how-to-start-an-application-using-android-adb-tools
    https://stackoverflow.com/questions...se-agreements-of-the-following-sdk-components
    https://github.com/oblador/react-native-vector-icons/issues/527
    https://www.guru99.com/how-to-install-java-on-ubuntu.html
    http://tipsonubuntu.com/2016/07/31/install-oracle-java-8-9-ubuntu-16-04-linux-mint-18/
    https://askubuntu.com/questions/620888/installing-jdk-with-wine
    https://stackoverflow.com/questions/37691070/cannot-install-jdk-8-on-wine-ubuntu
    https://help.yoyogames.com/hc/en-us/articles/216753498-GameMaker-Studio-Android-SDK-and-NDK-setup-


    special thanks to:

    The winehq team (For not making an emulator)
    @tijeseffff (For fixing a problem where the IDE was unable to start Igor.exe)
    @XSonicRU (For suggesting testing this with Android)
    @canoi (For testing Linux Mint 19.1)
    @Spectre216 (For fixing a problem where the IDE was unable to start Igor.exe)
    @Yal (For hiding terminals)
    @Binsk (For proposing a solution to some font issues)
    @Samuel Venable (For providing an easy to install distro with all required dependencies)
    @benway (For finding a bug where GMS2 can't be uninstalled or updated)
     
    Last edited: Oct 10, 2019
    benway, DaMuffin, Yal and 9 others like this.
  2. Mert

    Mert Member

    Joined:
    Jul 20, 2016
    Posts:
    416
    The only reason why I'm using Windows is games and game maker. I can play the same games on linux (Dota2 etc.), but I couldn't do it with Game Maker. It seems like now I can.
    Thanks
     
    Tthecreator likes this.
  3. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    1,297
    Actually I've been searching for a while how to install wine on Kubuntu, as KDE Plasma Discover doesn't seem to have it.

    Thanks for the terminal commands. :p
     
    Tthecreator likes this.
  4. 00.Archer

    00.Archer Member

    Joined:
    Jul 24, 2018
    Posts:
    56
    That's awesome! Have you tested it with GMS1.4?
     
  5. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    1,297
    Just a wild guess in regards to what this thread is about and what it does not cover
    no
     
    DaMuffin likes this.
  6. Tthecreator

    Tthecreator Your Creator!

    Joined:
    Jun 20, 2016
    Posts:
    757
    I've gotten gms1 running in some state, but due to the window skinning and some other problems I've given up on getting it to work. Gms2 has a platform aspecific code base because it has to run on MacOS as well.
     
    00.Archer likes this.
  7. tijeseffff

    tijeseffff Member

    Joined:
    Sep 15, 2018
    Posts:
    64
    How to fix Igor problem. (no need to run another cmd window)
    Launch your GMS2 using this command
    Code:
    WINEPREFIX=~/gms2 WINEARCH="win64" wine64 "C:\Program Files\GameMaker Studio 2\GameMakerStudio.exe"
    And done.
     
  8. HayManMarc

    HayManMarc Member

    Joined:
    Jun 21, 2016
    Posts:
    927
    F'n awesome, T!! I hope to have some time to try this out soon.
     
  9. XSonicRU

    XSonicRU Member

    Joined:
    May 2, 2019
    Posts:
    3
    What about android builds? Can someone test them?...
    If they're working then there's really no reason to use win for me
     
  10. Tthecreator

    Tthecreator Your Creator!

    Joined:
    Jun 20, 2016
    Posts:
    757
    I'm testing it right now but the odds don't seem to be in your favor.
    We need to get a JDK running on win, plus low level USB drivers. This is asking for trouble.
     
    XSonicRU and 00.Archer like this.
  11. 00.Archer

    00.Archer Member

    Joined:
    Jul 24, 2018
    Posts:
    56
    Just tested it. It mostly worked, but at some point it crashed pretty hard and somehow Wine removed the GMS2 install.
    Compiling and running was working.
    I tested GMS1.4 as well but kept have authentication problems (which, I believe, exist on Windows too). When I managed to load a project, I tried to compile it but GMAssetCompiler.exe was failing for some reason.

    Anyway, thanks again for tutorial. Hopefully Wine and Proton will keep making progress and compatibility will improve.
     
    Last edited: Jun 17, 2019
    XSonicRU and Tthecreator like this.
  12. canoi

    canoi Member

    Joined:
    Jun 11, 2017
    Posts:
    1
    OH GOOOOSH, it's working!! After a long time hahaha
    Finally i can use it without open a vm everytime!

    I'm using Linux Mint 19.1 (Based on Ubuntu 18.04, so it should work on Ubuntu too), and it's everything working.
    I first tried with wine 4.0, but it had issue on compile/build the game. So it really needs wine 4.10

    If anyone has doubts on how to install on 18.04, follow all the guide, but just change this part
    to this:
    Captura de tela_2019-06-20_19-51-10.png
     
  13. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    1,297
  14. Tthecreator

    Tthecreator Your Creator!

    Joined:
    Jun 20, 2016
    Posts:
    757
    It seems like I succeeded in compiling for Android. However, I still need to do a lot of work to streamline the process. Right now it requires copying over files an manually editing them.
    I'm going to write a script that can automatically detect when game maker updates files and then compile and run things for you. This way gradle, the sdk and adb can run on your host. Forget about running adb on wine.
     
    00.Archer and XSonicRU like this.
  15. Tthecreator

    Tthecreator Your Creator!

    Joined:
    Jun 20, 2016
    Posts:
    757
    There you go everybody, I've got the Android target platform running in a usable manner. It does require a little python script to be running all the time but that is only a small sacrifice.
     
  16. nacho_chicken

    nacho_chicken Member

    Joined:
    Jun 21, 2016
    Posts:
    410
    This is all really great work! I'm not going to be able to take advantage of this, but I really appreciate all the effort you put into this to help out other Linux users.
     
    canoi, XSonicRU and Tthecreator like this.
  17. SlightlyWind

    SlightlyWind Member

    Joined:
    Jun 29, 2019
    Posts:
    5
    I got stuck at the .net frame installation. Followed the tutorial, using wine 4.11, mint tara using the bionic package.

    It got stucks every time I tried to install. Remove the prefix, delete the entire prefix folder, reinstall. Stuck every time

    Did anyone encounter this?

    [​IMG]
     
    nacho_chicken likes this.
  18. Tthecreator

    Tthecreator Your Creator!

    Joined:
    Jun 20, 2016
    Posts:
    757
    @SlightlyWind did you execute the dotnet452 winetricks step correctly?
    The installer GM has embedded doesn't work. You need to end it. Close it by going into Q4Wine into the processing tab and terminating "Setup.exe"
     
  19. SlightlyWind

    SlightlyWind Member

    Joined:
    Jun 29, 2019
    Posts:
    5
    @Tthecreator I deleted the whole folder and prefix, installing them again. Now the dotnet452 terminal stayed like this for an hour or more already. Imma try again now. it's like 24h of this already XD
     

    Attached Files:

  20. Tthecreator

    Tthecreator Your Creator!

    Joined:
    Jun 20, 2016
    Posts:
    757
    It seems that winetricks is waiting for all wineprograms to be closed. Go into Q4Wine and terminate all wine programs.
     
    SlightlyWind likes this.
  21. SlightlyWind

    SlightlyWind Member

    Joined:
    Jun 29, 2019
    Posts:
    5
    @Tthecreator damn it successfully installed, thanks for the tutorial
     

    Attached Files:

    • a.png
      a.png
      File size:
      359.8 KB
      Views:
      6
  22. Tthecreator

    Tthecreator Your Creator!

    Joined:
    Jun 20, 2016
    Posts:
    757
    @SlightlyWind No problem. What eventually ended up fixing your problem? I'll add it to the known problems list.
     
    SlightlyWind likes this.
  23. SlightlyWind

    SlightlyWind Member

    Joined:
    Jun 29, 2019
    Posts:
    5
    btw wine doesn't really do the trick, the game runs at 60 fps, draw gui fps in game return 60 all the time but on screen it's like 25fps for some reason.
     
  24. SlightlyWind

    SlightlyWind Member

    Joined:
    Jun 29, 2019
    Posts:
    5
    I didn't saw that till now. Not sure what wine broke during the installation but after delete the folder and reinstall it just did the job.
     
  25. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    1,297
    For those of you who want a single runtime executable on Windows in GMS2:

    https://www.gamephase.net/gms-zip-to-exe/

    It requires Windows 7 for compatiblity with all Windows versions from Windows Vista to Windows 10.

    However, on topic here - after you build said EXE using your Windows system...

    ...a recent wine update fixed an issue with this. Single Executables made with this method previously did not work in wine.. it would just throw an error. But after I updated wine a few days ago, it appears that bug is fixed and single runtime EXE's now work under wine! This also means GMS 1.4 single runtime EXE's built on Windows 7 will also work, since both use the same system32 / sysWOW64 folder stuff to create the EXE's.

    Use the information in this tutorial to install wine, or link to this topic for any linux users who may want to try your game but don't have windows, and instruct them to skip all the unrelated steps regarding GMS2 development.

    Cheers!
     
    Tthecreator likes this.
  26. Dather32

    Dather32 Member

    Joined:
    Aug 17, 2019
    Posts:
    5
    So I can't run GMS2 without mono and .NET 3.5 sp1, according to my attempts today. Except mono doesn't want to install, either.

    YoyoGames really ought to listen to the crowd and make an AppImage, or even outsource someone to port this.
     
    Last edited: Aug 18, 2019
  27. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207

    YYG asked the question on various social media platforms a few years back. Turns out there is about 100 people on the planet who wants an IDE for GMS on Linux.

    Doesn't make financial sense to do it. The most cost for the smallest target.
     
  28. Dather32

    Dather32 Member

    Joined:
    Aug 17, 2019
    Posts:
    5
    I followed this tutorial which led to everything being installed:



    However, my last issue is a "Waiting on children" within xterm and closing when I try to run GMS2:

    [​IMG]
     
  29. Dather32

    Dather32 Member

    Joined:
    Aug 17, 2019
    Posts:
    5
    Since I'm not allowed to append to my last post, I've been able to get through the above issue by redoing the process, without Lutris. My problem now comes in with running BouncyCastle.Crypto.dll, which presents a "Bad EXE Format Error" when I try to run the game.

    My inclination is that BouncyCastle is a 32-bit DLL running on a 64-bit wine, and so it's incompatible. Any thoughts?

    Snippet:

    C:\ProgramData\GameMakerStudio2\Cache\runtimes\runtime-2.2.3.344/bin/GMAssetCompiler.exe /c /zpex /mv=1 /iv=0 /rv=0 /bv=0 /j=8 /gn="TestProj101" /td="C:\users\linuxmint\GameMakerStudio2\GMS2TEMP" /cd="C:\users\linuxmint\Application Data\GameMakerStudio2\Cache\GMS2CACHE\TestProj10_28EBB149_9E268EE5" /zpuf="C:\users\linuxmint\Application Data/GameMakerStudio2\ahoward73_2140356" /m=windows /tgt=64 /nodnd /cfg="default" /o="C:\users\linuxmint\GameMakerStudio2\GMS2TEMP\TestProj101_BA6FE59_VM" /sh=True /optionsini="C:\users\linuxmint\GameMakerStudio2\GMS2TEMP\TestProj101_BA6FE59_VM\options.ini" /cvm /baseproject="C:\ProgramData\GameMakerStudio2\Cache\runtimes\runtime-2.2.3.344\BaseProject\BaseProject.yyp" "C:\users\linuxmint\My Documents\GameMakerStudio2\TestProj101\TestProj101.yyp" /preprocess="C:\users\linuxmint\Application Data\GameMakerStudio2\Cache\GMS2CACHE\TestProj10_28EBB149_9E268EE5"
    -----------------------------------------------------------------------------
    System.BadImageFormatException: Could not load file or assembly 'BouncyCastle.Crypto.dll' or one of its dependencies. Bad EXE format for . (Exception from HRESULT: 0x800700C1)
    File name: 'BouncyCastle.Crypto.dll'
    at GMAssetCompiler.Program.”()
    at GMAssetCompiler.Program.(String[] )
    -----------------------------------------------------------------------------
    EXCEPTION FILE - C:\users\linuxmint\Temp\cde3f20fe00c44dab9f507765a8cfeaf.yyg.saencryptedreport
    -----------------------------------------------------------------------------
    C:\ProgramData\GameMakerStudio2\Cache\runtimes\runtime-2.2.3.344/bin/GMAssetCompiler.exe exited with non-zero status (-532462766)

    $ wine --version
    wine-4.0.1
     
  30. Tthecreator

    Tthecreator Your Creator!

    Joined:
    Jun 20, 2016
    Posts:
    757
    Try a newer (development) version of wine. The tutorial uses 4.10, the latest dev is 4.14.
    I have never gotten GMS2 to work with the wine version you are using.
     
  31. Sammi3

    Sammi3 Member

    Joined:
    Jun 20, 2016
    Posts:
    166
    Can't manage to get this to work on Pop OS 19.04 which is based on Ubuntu 19.04. WIne version 4.2. When installing dotnet452 I get a bunch of error messages in the terminal but the installation completes:

    Code:
    0049:err:richedit:ReadColorTbl malformed entry
    0049:err:richedit:ReadColorTbl malformed entry
    0049:err:richedit:ReadColorTbl malformed entry
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:richedit:ReadStyleSheet skipping optional destination
    0049:err:ntdll:RtlpWaitForCriticalSection section 0x7df1bc80 "window.c: win_data_section" wait timed out in thread 0049, blocked by 0144, retrying (60 sec)
    0199:err:ole:apartment_getclassobject DllGetClassObject returned error 0x80040111 for dll L"C:\\windows\\system32\\hnetcfg.dll"
    0199:err:ole:CoGetClassObject no class object {2c5bc43e-3369-4c33-ab0c-be9469677af4} could be created for context 0x1
    003f:err:ole:CoGetClassObject class {2b72133b-3f5b-4602-8952-803546ce3344} not registered
    003f:err:ole:CoGetClassObject no class object {2b72133b-3f5b-4602-8952-803546ce3344} could be created for context 0x1
    003f:err:ole:CoGetClassObject class {2b72133b-3f5b-4602-8952-803546ce3344} not registered
    003f:err:ole:create_server class {2b72133b-3f5b-4602-8952-803546ce3344} not registered
    003f:err:ole:CoGetClassObject no class object {2b72133b-3f5b-4602-8952-803546ce3344} could be created for context 0x15
    01fa:err:ole:CoGetClassObject class {2b72133b-3f5b-4602-8952-803546ce3344} not registered
    01fa:err:ole:CoGetClassObject no class object {2b72133b-3f5b-4602-8952-803546ce3344} could be created for context 0x1
    01fa:err:ole:CoGetClassObject class {2b72133b-3f5b-4602-8952-803546ce3344} not registered
    01fa:err:ole:create_server class {2b72133b-3f5b-4602-8952-803546ce3344} not registered
    01fa:err:ole:CoGetClassObject no class object {2b72133b-3f5b-4602-8952-803546ce3344} could be created for context 0x15
    0042:err:msi:ITERATE_Actions Execution halted, action L"CA_BlockOlderVersionInstall" returned 1603
    0044:err:msi:ITERATE_Actions Execution halted, action L"CA_BlockOlderVersionInstall" returned 1603
    011d:err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706be
    00aa:err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706ba
    00aa:err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706ba
    00aa:err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706ba
    

    That's just a snippet. If anyone wants to see the whole log, I'll update the post. Even though it finishes installing and so does GMS2, when I try to run a game I get:

    Code:
    elapsed time 00:00:00.1877560s for command "cmd" /c subst Y: /d started at 09/05/2019 18:40:05
    Saving project to: C:\users\endeva\My Documents\GameMakerStudio2\ARPS_DEV\ARPS_DEV.yyp
    "C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2.2.3.344/bin/Igor.exe"  -j=8 -options="C:\users\endeva\GameMakerStudio2\GMS2TEMP\build.bff" -v -- Windows Run
    
    Igor complete.
    -----------------------------------------------------------------------------
    System.IO.IOException: Invalid parameter.
    
       at ..(String[] )
    Which makes me suspect that it's an issue with dotnet. Any ideas anyone? I installed wine and winetricks from the pop shop and it didn't have mono included. Should I Install mono?
     
  32. Tthecreator

    Tthecreator Your Creator!

    Joined:
    Jun 20, 2016
    Posts:
    757
    You need to use wine 4.10, else it won't work. Follow the install instructions from the original forum post.
     
  33. elsi11

    elsi11 Member

    Joined:
    Sep 18, 2019
    Posts:
    13
    Hello!
    Epic post. Thanks for the effort!

    I was just wondering whether we could also explore the possibility of fixing GM2 in Steam. Proton is basically Wine, and it installs all the necessary stuff automatically. The only problem appears to be the .NET installation which crashes. I was wondering whether one could do some fiddling with the proton settings. I know there are lots of settings and recommended tweaks on the ProtonDB website https://www.protondb.com/app/271590, and there are some on the valve github https://github.com/ValveSoftware/Proton#runtime-config-options . I know I had the .NET problem with some game, but for the life of me, I can't find a solution or tutorial right now.

    I have MX Linux, which is based on Debian, so all the Ubuntu stuff, even if I somehow manage to get a 4.1 Wine (I currently have 1.8 for some reason), it will pull all the Ubuntu-specific dependencies with itself. Proton is just as good or better then Wine, so I think there may be a possibility of utilizing this.

    Please guys look into this if you can. I'm sure the "100 people worldwide" would be very grateful.

    Tnx!
     
    Tthecreator likes this.
  34. Spectre216

    Spectre216 Member

    Joined:
    Sep 24, 2019
    Posts:
    3
    Hello,

    I have GameMaker running on my Ubuntu but cannot get my projects to run. Here is my output.

    Windows Output
    Code:
    "cmd"  /c subst Y: "C:\users\jveronese\Application Data\GameMakerStudio2\Cache\GMS2CACHE"
    
    elapsed time 00:00:00.1762970s for command "cmd" /c subst Y: "C:\users\jveronese\Application Data\GameMakerStudio2\Cache\GMS2CACHE" started at 09/24/2019 10:33:40
    "cmd"  /c subst Y: /d
    
    elapsed time 00:00:00.1933588s for command "cmd" /c subst Y: /d started at 09/24/2019 10:33:40
    "cmd"  /c subst Y: "C:\users\jveronese\GameMakerStudio2\GMS2TEMP"
    
    elapsed time 00:00:00.2224826s for command "cmd" /c subst Y: "C:\users\jveronese\GameMakerStudio2\GMS2TEMP" started at 09/24/2019 10:33:40
    "cmd"  /c subst Y: /d
    
    elapsed time 00:00:00.2124786s for command "cmd" /c subst Y: /d started at 09/24/2019 10:33:40
    "cmd"  /c subst Y: "C:\ProgramData\GameMakerStudio2\Cache\runtimes\runtime-2.2.3.344"
    
    elapsed time 00:00:00.2047908s for command "cmd" /c subst Y: "C:\ProgramData\GameMakerStudio2\Cache\runtimes\runtime-2.2.3.344" started at 09/24/2019 10:33:41
    "cmd"  /c subst Y: /d
    
    elapsed time 00:00:00.2134354s for command "cmd" /c subst Y: /d started at 09/24/2019 10:33:41
    Saving project to: Z:\home\jveronese\GameDev\platformer\platformer\platformer.yyp
    "C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2.2.3.344/bin/Igor.exe"  -j=8 -options="C:\users\jveronese\GameMakerStudio2\GMS2TEMP\build.bff" -v -- Windows Run
    
    Igor complete.
    -----------------------------------------------------------------------------
    System.IO.IOException: Invalid parameter.
    
       at ..(String[])
    -----------------------------------------------------------------------------
    EXCEPTION FILE - C:\users\jveronese\Temp\c8fb2b247a4f4dd48758d5352fc33a47.yyg.saencryptedreport
    -----------------------------------------------------------------------------
    elapsed time 00:00:00.5677588s for command "C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2.2.3.344/bin/Igor.exe" -j=8 -options="C:\users\jveronese\GameMakerStudio2\GMS2TEMP\build.bff" -v -- Windows Run started at 09/24/2019 10:33:41
    "cmd"  /c subst C: /d
    
    elapsed time 00:00:00.2917730s for command "cmd" /c subst C: /d started at 09/24/2019 10:33:42
    "cmd"  /c subst C: /d
    
    elapsed time 00:00:00.2712596s for command "cmd" /c subst C: /d started at 09/24/2019 10:33:42
    "cmd"  /c subst C: /d
    
    elapsed time 00:00:00.3421048s for command "cmd" /c subst C: /d started at 09/24/2019 10:33:42
    FAILED: Run Program Complete
    
    
    Ubuntu Output
    Code:
    "cmd"  /c subst Y: "C:\users\jveronese\Application Data\GameMakerStudio2\Cache\GMS2CACHE"
    
    elapsed time 00:00:00.1664702s for command "cmd" /c subst Y: "C:\users\jveronese\Application Data\GameMakerStudio2\Cache\GMS2CACHE" started at 09/24/2019 10:27:20
    "cmd"  /c subst Y: /d
    
    elapsed time 00:00:00.1440872s for command "cmd" /c subst Y: /d started at 09/24/2019 10:27:20
    "cmd"  /c subst Y: "C:\users\jveronese\GameMakerStudio2\GMS2TEMP"
    
    elapsed time 00:00:00.1691739s for command "cmd" /c subst Y: "C:\users\jveronese\GameMakerStudio2\GMS2TEMP" started at 09/24/2019 10:27:20
    "cmd"  /c subst Y: /d
    
    elapsed time 00:00:00.1923501s for command "cmd" /c subst Y: /d started at 09/24/2019 10:27:21
    "cmd"  /c subst Y: "C:\ProgramData\GameMakerStudio2\Cache\runtimes\runtime-2.2.3.344"
    
    elapsed time 00:00:00.1660979s for command "cmd" /c subst Y: "C:\ProgramData\GameMakerStudio2\Cache\runtimes\runtime-2.2.3.344" started at 09/24/2019 10:27:21
    "cmd"  /c subst Y: /d
    
    elapsed time 00:00:00.1671398s for command "cmd" /c subst Y: /d started at 09/24/2019 10:27:21
    Saving project to: Z:\home\jveronese\GameDev\platformer\platformer\platformer.yyp
    "C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2.2.3.344/bin/Igor.exe"  -j=8 -options="C:\users\jveronese\GameMakerStudio2\GMS2TEMP\build.bff" -v -- Linux Run
    
    Igor complete.
    -----------------------------------------------------------------------------
    System.IO.IOException: Invalid parameter.
    
       at ..(String[])
    -----------------------------------------------------------------------------
    EXCEPTION FILE - C:\users\jveronese\Temp\6e1cefcbd0674e5cb4fdf38a59e73dbc.yyg.saencryptedreport
    -----------------------------------------------------------------------------
    elapsed time 00:00:00.3694126s for command "C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2.2.3.344/bin/Igor.exe" -j=8 -options="C:\users\jveronese\GameMakerStudio2\GMS2TEMP\build.bff" -v -- Linux Run started at 09/24/2019 10:27:21
    "cmd"  /c subst C: /d
    
    elapsed time 00:00:00.1442116s for command "cmd" /c subst C: /d started at 09/24/2019 10:27:21
    "cmd"  /c subst C: /d
    
    elapsed time 00:00:00.1868581s for command "cmd" /c subst C: /d started at 09/24/2019 10:27:22
    "cmd"  /c subst C: /d
    
    elapsed time 00:00:00.1769107s for command "cmd" /c subst C: /d started at 09/24/2019 10:27:22
    FAILED: Run Program Complete
    
    Using Wine Staging (4.16). I also cannot connect to my linux machine using my current IP or 127.0.0.1. If I could get either way working this would be great, but don't know where to start. Should I try an older version of wine, maybe purge and switch to the Dev channel instead of the Staging channel?
     
  35. Tthecreator

    Tthecreator Your Creator!

    Joined:
    Jun 20, 2016
    Posts:
    757
    The most annoying this is that I have had this problem myself, and I don't remember at all how I fixed it.
    Try using the same wine version, and maybe retry setting up .NET. Make sure mono isn't installed. (Basically a generic trouble shooting answer, but I don't have anything better for you at the moment)

    Cool idea, but I don't have the time to figure it out right now. Making it work would be pretty annoying. Steam will keep trying to install .NET but fail. You need to somehow install .NET while steam knows the right version of .NET is installed so steam in turn doesn't try to install .NET (and fail).
     
  36. Yal

    Yal GMC Memer GMC Elder

    Joined:
    Jun 20, 2016
    Posts:
    3,881
    This is a cool thread, GM is one of the big reasons I've not even tried moving over to Linux on my private computer so I'll keep an eye on this~
     
  37. Spectre216

    Spectre216 Member

    Joined:
    Sep 24, 2019
    Posts:
    3
    Figured out a workaround (or maybe the solution). I had to run the command with WINEPREFIX and WINEARCH. I changed the .desktop that WINE creates to do a bash command instead of trying to launch it. After that everything seems to be working correctly. After some troubleshooting with the Linux community on Reddit I just made it more like
    Code:
    Exec=gnome-terminal -- bash -c 'WINEPREFIX="/home/user/gms2" WINEARCH="win64" wine64 "C:\Program Files\GameMaker Studio 2\GameMakerStudio.exe"'
    Then pinned the favorite to my bar. It makes a terminal window while the program runs, but that doesn't really bother me since my terminal is usually open anyway.

    Also, thank you so much for finding a way to get this working and posting this tutorial. This was really the only piece of software outside of AAA games that kept me on Windows. Slowly getting off completely :)
     
    Last edited: Sep 26, 2019
  38. Yal

    Yal GMC Memer GMC Elder

    Joined:
    Jun 20, 2016
    Posts:
    3,881
    Try adding --geometry 1x1+9999+9999 (COLUMNS x ROWS + X + Y) to the gnome-terminal command and it should make the window small and offscreen. (NB: i'm not sure what the possible bounds are, haven't tested it)
     
  39. Binsk

    Binsk Member

    Joined:
    Jun 22, 2016
    Posts:
    606
    @Tthecreator

    After having run GMS2 through a VM for the past several months, running this through wine is heavenly. It's so fast. I had tried numerous times to get it running through WINE but never got past the IGOR issue. Thanks, man. I don't understand why it has to be launched through terminal to work? I literally wrote an sh script to launch it but I get IGOR if I launch it from the file browser but not if I run it through terminal. Never had that happen before.

    By the way, does anyone know what fonts GMS uses? I tried corefonts with no luck and just ended up installing them all (which fixed the fonts), but it'd be nice to just have the ones it actually requires.

    To those who don't know how, you just do it through winetricks (like everything else, really):
    Code:
    WINEPREFIX=~/gms2 winetricks allfonts
    
     
  40. Tthecreator

    Tthecreator Your Creator!

    Joined:
    Jun 20, 2016
    Posts:
    757
    @Binsk @Yal @Spectre216
    Proposed solutions have been added to the original post. Credits have also been added.
     
  41. Spectre216

    Spectre216 Member

    Joined:
    Sep 24, 2019
    Posts:
    3
    I forgot to add quotes around the C: path to the .exe file. Fixed my original post if you want to update the solution.

    Thanks!
     
    Tthecreator likes this.
  42. benway

    benway Member

    Joined:
    Jun 21, 2016
    Posts:
    10
    Hello!

    First of all, a BIG thank you to Tthecreator for the tutorial. I've managed to run GMS 2 on ubuntu without any problem... but the mouse! The mouse wheel doesn't work on GMS and that makes it impossible to navigate beetween different windows. The wheel do work on other windows sofware running under gms2 prefix, so I guess there may be any issue with GMS itself... Do any of you encountered this problem?
     
  43. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    1,297
    So I made a Linux Live ISO disk image that can be burned to a DVD-R with at least 4.7 GB of capacity, and then you may boot from that DVD into a temporary Linux session. See the readme.txt spoiler for more details, but it will make porting your game to Linux super easy if you don't have a Linux machine and don't really care to ever permanently install a Linux distro on your machine.

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    Thank you for downloading krapOS!

    Before you begin using krapOS, there are a few things to make note of.

    1) krapOS is a temporary session, meaning all data on it will be wiped and reset to all of its default files and settings upon shutdown and reboot. To avoid losing your work, back it up on removable media or upload the related files to an online backup service such as Google Drive or Dropbox. krapOS does not install anything on your computer, it does not modify any files on your computer, nor does it leave anything behind on your computer. It is 100% non-destructive to your computer and its data.

    2) krapOS is based on KDE neon 5.16 User Edition, which is based on Ubuntu 18.04 LTS Bionic Beaver. As such, software you download must be compatible with this version of Ubuntu which krapOS is based on. (GameMaker Studio 2 games 'just work').

    3) Microsoft Windows software will generally work out-of-the-box thanks to the software known as Wine. You may use Wine to run Windows programs with minimal hassle. Not all Windows software are compatible with Wine, so you don't technically know whether a specific application will work without testing it first. Try it! GameMaker Studio 2 can even be run under Wine. Check out this post: https://forum.yoyogames.com/index.php?threads/run-the-gms2-ide-on-ubuntu-19-04.64330/#post-405199

    4) After krapOS has finished booting up, you will notice a shortcut icon on the desktop that is labeled "Install krapOS". DO NOT open this file! I created this shortcut for testing purposes only, in attempt to make an option for the user to permanently install krapOS on their system, if they wanted to. Sadly, it does not work; it is guaranteed to crash in the middle of installation, after it has already created a partition for krapOS on your system, therefore greatly limiting the space on your filesystem. As long as you avoid running this installer entirely, your computer will be fine.

    <krapOS Login>
    rootuser: owner
    password: password

    Have fun!
    - Samuel Venable

    [Download krapOS]

    To install GameMaker Studio 2 on krapOS, you may skip all the dependency installation steps in the OP, i.e., start here instead:
     
    Last edited: Oct 14, 2019
    Tthecreator and Yal like this.
  44. Yal

    Yal GMC Memer GMC Elder

    Joined:
    Jun 20, 2016
    Posts:
    3,881
    Even if the Live DVD plan falls flat, just having all dependencies in one place for an installation DVD (to set up a dev machine from scratch) would be a good start for people that don't feel comfortable enough around *nix to fix all the dependencies from scratch.

    Considering how Elsi's "pls port GMS to Linux" thread crashed and burned I'm not quite sure how keen Yoyo will be to jump on this, it was stated several times that the main reason it's not ported isn't the original porting act, but because support is too much work because of distro differences.
     
    Samuel Venable likes this.
  45. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    1,297
    I left out a few dependencies in the current version. I'm uploading a new one right now and will edit this post when it is done uploading.

    @Yal that's a good idea. The only problem with that is it would require installation. This you could technically put on a flash drive and run it at a library or a friends house if you wanted to, without disrupting the computer or it's files. But I might do that as another option for those who want it.

    Edit: New version with the previously missing dependencies uploaded.
     
    Last edited: Oct 6, 2019
  46. Yal

    Yal GMC Memer GMC Elder

    Joined:
    Jun 20, 2016
    Posts:
    3,881
    As for the temporary nature... saving project files and stuff can be done by just mounting your existing HDDs, right? (Or more safely, using a removable drive). Could be worth having a note about that so people don't accidentally lose all their work if they forgot to save the project properly (which is probably going to sting more than losing preferences).
     
  47. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    1,297
    Yes. I just added that to my post. If yoyo is ok with it, and we'll be good to go, I can't be thankful enough for @Tthecreator's tutorial here or I would have no way to do this even potentially.
     
  48. Tthecreator

    Tthecreator Your Creator!

    Joined:
    Jun 20, 2016
    Posts:
    757
    Wow! thank you, this is amazing. I hope you get "the green card" from YoYoGames. I've added a paragraph to the original post. Let me know if you think it is okay.

    I'm not too sure why it doesn't work. I'm currently using windows again for a GMS1 project so if someone else could test it then that would be nice.
     
    Samuel Venable likes this.
  49. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    1,297
    What doesn't currently work? The tutorial or my ISO? I'm uploading a new version right now, which should fix some missing dependencies I forgot about. It will be available at the same link when it is done. It's not guaranteed to work on some computers - I edited my initial post about this and I mentioned that at the very bottom.

    Edit: thanks for the mention, that's perfect!

    Edit2: Ah, I see, you were talking to someone else there. My bad.

    Edit3: New version with the previously missing dependencies uploaded.
     
    Last edited: Oct 6, 2019
  50. Tthecreator

    Tthecreator Your Creator!

    Joined:
    Jun 20, 2016
    Posts:
    757

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice