Coder Social home page Coder Social logo

orochimarufan / kawariki Goto Github PK

View Code? Open in Web Editor NEW
26.0 4.0 1.0 1.98 MB

Kawariki Linux game runtime/compatibility tool

License: GNU General Public License v3.0

JavaScript 24.99% Python 29.74% Ruby 36.28% TypeScript 8.94% Makefile 0.06%
rpgmakermv rpgmakermz steam-games nwjs rpgmakerxp rpgmakervxace linux

kawariki's Introduction

Kawariki runtime/compatibility tool

Kawariki is a Steam Play compatible tool for running games using different (usually newer) versions of their engine than they shipped with. This includes running games that only have a Windows build on a linux-native version.

Requires at least Python 3.8.

Usage

Steam Play

Just install it into compatibilitytools.d like a custom Proton release. You can then select it in the game properties dialog. You shouldn't set it globally in the settings dialog as it doesn't try to handle arbitrary Windows games.

Some environment variables are available to influence Kawariki. These can be used in the Steam launch options like with Proton. E.g. KAWARIKI_SDK=1 %command% See the runtime documentations for info.

CLI

The CLI brings some options for non-Steam games and developers:

  • ./kawariki run <path-to-game> will try to run a game through Kawariki (As trough Steam Play)
  • ./kawariki launcher <path-to-game> [filename] Will create a launcher script in the game folder that runs the game trough Kawariki

For more info see ./kawariki --help

Runtimes

Kawariki consists of a number of 'runtimes', each handling games built with a specific set of common engines.

NW.js

Games based on web technologies and bundled with the NW.js browser engine.

This includes games based on, among others:

  • RPGMaker MV
  • RPGMaker MZ
  • Tyrano Builder

README

MKXP-Z

There is experimental support for RPGMaker games based on RGSS using the mkxp-z project.

RPGMaker editions based on RGSS are:

  • RPGMaker XP (RGSS1)
  • RPGMaker VX (RGSS2)
  • RPGMaker VX Ace (RGSS3)

README

Ren'Py

Kawariki kan run Ren'Py games using the Ren'Py SDK.

README

Godot

There is also experimental support for running Godot games.

README

overlayns-static

To avoid modifying the game installation, Linux namespaces are used to 'overlay' the custom files over the install directory.

This requires unprivileged user namespaces to be enabled in the kernel For example, In some versions of Ubuntu/Debian it can be enabled with sysctl -w kernel.unprivileged_userns_clone=1

The overlayns binary works similarly to unshare(1) except it allows mounts to be specified on the commandline.

Source code

License

The code itself (kawariki) is GPL3+. Generated files like launcher scripts shall be CC0. NW.js, Greenworks and Steamworks have their respective licenses.

Some components, specifically patches to and ports of popular engine plugin scripts belong to their original authors and have their own license terms. If you are the original author of one of the included scripts and want it removed, please open an issue on GitHub.

kawariki's People

Contributors

orochimarufan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

luoluoqixi

kawariki's Issues

Allow to pre-fetch NW.js distributions

My proposal is:

  1. Verb to download all the entries from nwjs-versions.json without doing anything else.
  2. Introduce a directory to check for existing tar files before attemting to download

OMORI on Linux FPSMeter error during start (Steam Play)

By running OMORI with Kawariki 2.0 compat tool the game complains about missing FPSMeter plugin.

If I have to guess, it seems that it can't find the plugins folder correctly (which is inside the www game folder), or at least it can't find some of the plugins.

I tried running it with either the latest NWjs or with v0.54.1 using the env var (from steam launch command)

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.