{"id":13820197,"url":"https://github.com/samdze/godot-launcher","last_synced_at":"2025-04-04T13:30:09.453Z","repository":{"id":180473170,"uuid":"355217801","full_name":"samdze/godot-launcher","owner":"samdze","description":"Alternative launcher for single-board computers","archived":false,"fork":false,"pushed_at":"2021-06-08T19:16:59.000Z","size":21815,"stargazers_count":143,"open_issues_count":4,"forks_count":9,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-11-19T19:44:06.736Z","etag":null,"topics":["gameshell","godot-launcher","launcher","linux","orangepi","raspberry-pi","raspberrypi","single-board-computers","window-manager","xorg"],"latest_commit_sha":null,"homepage":"","language":"GDScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/samdze.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-06T14:24:18.000Z","updated_at":"2024-09-28T00:33:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"a6333d52-4ee0-451f-a686-1c10320554c8","html_url":"https://github.com/samdze/godot-launcher","commit_stats":null,"previous_names":["samdze/godot-launcher"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samdze%2Fgodot-launcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samdze%2Fgodot-launcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samdze%2Fgodot-launcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samdze%2Fgodot-launcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samdze","download_url":"https://codeload.github.com/samdze/godot-launcher/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247184709,"owners_count":20897827,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gameshell","godot-launcher","launcher","linux","orangepi","raspberry-pi","raspberrypi","single-board-computers","window-manager","xorg"],"created_at":"2024-08-04T08:00:59.370Z","updated_at":"2025-04-04T13:30:09.407Z","avatar_url":"https://github.com/samdze.png","language":"GDScript","funding_links":[],"categories":["GDScript"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"https://i.imgur.com/u8BYcwf.gif\" /\u003e\n\u003c/p\u003e\n\n# Modular Launcher for Linux devices and Single-Board Computers\nAn alternative, console-like, launcher for single-board computers. Made with Godot and GDNative.\u003cbr\u003e\nThe launcher is primarily made to run on the GameShell portable console but can also run on other sbcs thanks to modules.\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"https://i.imgur.com/BgUXz5O.gif\" /\u003e\n\u003c/p\u003e\n\n**BETA VERSION**\n\nTo explore the launcher code and tweak it as you wish, open the project.godot file with Godot 3.2.3.\u003cbr\u003e\nRemember to reimport the launcher and to transfer the .import folder too to apply your changes.\u003cbr\u003e\nReimporting the project from the GameShell itself is not supported at the moment.\n\n**NOTE**: the 512 MB or ram version of the GameShell is known to have issues with Godot using the lima driver.\u003cbr\u003e\nFbturbo should work ok but performances will be worse.\n\n## Why\nThe stock launcher found in the GameShell lacks a few fundamental features when it comes to window management, multitasking and tweakability.\nThis launcher aims to fix all those issues and to add other nice features.\n\n\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"https://i.imgur.com/WiazXsL.png\" /\u003e\n\t\u003cimg src=\"https://i.imgur.com/g2naCtR.png\" /\u003e\n\u003c/p\u003e\n\n## Installation\nThe precompiled binaries in the repository are for armv7 devices only.\nFuture releases may include prepackaged binaries for other architectures too.\n\n#### GameShell\nOn the GameShell: ssh into the cpi home directory and run:\n```\ngit clone https://github.com/samdze/godot-launcher.git\nsed -i s/launcher/godot-launcher/g /home/cpi/.bashrc\n```\nRestart the GameShell and you should boot into the Godot launcher.\u003cbr\u003e\nYou can rollback to the stock launcher selecting \"Switch Launcher\" inside the Settings app.\n\n#### Other Linux Devices\nOn other sbcs, start an X session executing the .xinitrc file.\u003cbr\u003e\nInstall the required shared libraries and clone the launcher in your home directory.\u003cbr\u003e\nRun the launcher as a normal user, root access/privileges should not be necessary.\n```\nsudo apt install libconfig9 libxcursor1 libpulse-dev\ngit clone https://github.com/samdze/godot-launcher.git\nstartx /home/\u003cuser\u003e/godot-launcher/.xinitrc -- -nocursor\n```\nThe launcher is quite untested on devices other than the GameShell, and features like Wi-Fi settings, sound volume settings, brightness settings are not expected to work.\nTesting and feedbacks are very welcome.\u003cbr\u003e\nPlease open an issue if you find bugs or non-functioning features.\n\nBetter documentation will be available in the future.\n\n## Troubleshooting\nBy default, the launcher generates a file called godot-launcher.log inside your /tmp folder if an execution attempt was successful but the launcher crashed for some reason.\u003cbr\u003e\nIf no file is to be found, check your files directories, the files execute permissions and to have the required shared libraries installed.\u003cbr\u003e\nThere could be other libraries currently not listed here that are necessary to run the launcher.\u003cbr\u003e\nBe sure to have support for OpenGL ES2.\n\n## Documentation\n\n\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"https://i.imgur.com/Qw2MiJb.gif\" /\u003e\n\u003c/p\u003e\n\nThe first time you open the launcher, the first boot setup will let you map your inputs and choose the language.\n\nOn the GameShell, press SELECT (or any other button you mapped) at any time when an app is open to show the launcher widgets.\u003cbr\u003e\nIn this state, you can then exit the app, go back to the app, see the time, the approximate remaining battery and the Wi-Fi connection status, tweak screen brightness and audio volume.\n\nThe default Settings app lets you change a few things about the launcher, including input mappings.\nThis launcher is made to be modular and custom settings can be added by other modules.\n\nThis is an early version of the launcher, some games and apps may not be shown and there's no way to configure bluetooth, graphics drivers etc.\n\nIf your device isn't a GameShell, the launcher isn't quite ready to be fully usable, although it can run with a few tweaks.\u003cbr\u003e\n\nE.g. the launcher expects to find apps and games in the `/home/cpi/apps/Menu` directory.\u003cbr\u003e\nThis can be changed modifying the `menu_directory` variable here:\u003cbr\u003e\nhttps://github.com/samdze/godot-launcher/blob/main/modules/default/launcher/launcher.gd#L18\n\nThe default launcher application looks for apps and games the same way the GameShell stock launcher does.\nShell scripts will appear by default, binaries have to be placed inside a folder with the same name.\n\n### Default input mapping\n|   A | B   | X   |   Y |Right| Up  | Left| Down|START| MENU| HOME|\n| :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: |\n| K | J | I | U | Right | Up | Left | Down | Enter | Escape | KP Add |\n\n```\n/home/cpi/\n├── apps\n│   ├── emulators\n│   └── Menu\n│\n├── godot-launcher \t\t\u003c- Here we are\n│   ├── .import\t\t\tImported files, this needs to be generated and updated when you modify the launcher\n│   ├── apps\t\t\tUtilities and app launchers, you can tweak them or also add your own\n│   ├── library\t\t\tNative libreries used to create and handle the window manager of the launcher\n│   ├── system\t\t\tSystem files and base infrastructure to build the launcher\n│   ├── modules\t\t\tFolder containing modular parts of the launcher\n│   │   ├── default\t\tThe stock module, implements the default widgets, apps, themes, etc.\n│   │   └── ...\t\t\tYou can add your own modules here!\n│   ├── project.godot\t\tThe launcher project file, open it to edit the launcher with the Godot editor\n│   ├── godot\t\t\tThe Godot Engine executable, used to run the launcher\n│   ├── compton\t\t\tThe compositor, this should run together with the launcher\n│   ├── settings.conf\t\tLauncher settings using a INI-style formatting\n│   └── version.json\t\tVersion info, useful when checking for updates\n│\n├── games\n│   ├── FreeDM\n│   ├── MAME\n│   ├── nxengine\n│   └── ...\n├── music\n└── ...\n```\n\n## Compiling native libraries\nA SCons 3.5+ installation is needed.\u003cbr\u003e\nThe steps below are assumed to be performed on a GameShell (armv7) device.\n\nBuild the Godot GDNative bindings found in library/godot-cpp inside the repository:\u003cbr\u003e\nhttps://github.com/godotengine/godot-cpp/tree/3.2#compiling-the-c-bindings-library\n\nThen compile the native window manager library; inside the library directory:\n```\nscons -j4\n```\n\nTo compile Godot itself, check out my repository, works on other arm devices too:\u003cbr\u003e\nhttps://github.com/samdze/godot-gameshell\n\nCompton is compiled directly from the repository:\u003cbr\u003e\nhttps://github.com/chjj/compton","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamdze%2Fgodot-launcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamdze%2Fgodot-launcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamdze%2Fgodot-launcher/lists"}