MIT License

项目介绍

samdze/godot-launcher 是一个托管在 GitHub 上的开源项目,主要使用 GDScript 编写,采用 MIT License 许可证,目前获得 146 个 Star、10 次 Fork。

仓库全名
samdze/godot-launcher
开源许可证
MIT License
Star 数
146
Fork 数
10
未关闭 Issue
4

README 摘要

Modular Launcher for Linux devices and Single-Board Computers An alternative, console-like, launcher for single-board computers. Made with Godot and GDNative. The launcher is primarily made to run on the GameShell portable console but can also run on other sbcs thanks to modules. BETA VERSION To explore the launcher code and tweak it as you wish, open the project.godot file with Godot 3.2.3. Remember to reimport the…

完整内容见 GitHub 原始 README 或本页 。

常见问题

godot-launcher 用什么语言开发?

主要使用 GDScript 编写,采用 MIT License 许可证,目前有 146 个 Star。

godot-launcher 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 godot-launcher 的源码?

可以直接克隆仓库:git clone https://github.com/samdze/godot-launcher.git,默认分支为 main;安装与运行步骤见仓库 README。

godot-launcher 最近还在维护吗?

仓库最近一次更新为 2021年6月9日,当前有 4 个未关闭 Issue;Star 数为 146,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

Alternative launcher for single-board computers

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
170
价值分
90
活跃状态
活跃

语言占比

C++
GDScript
Python
Shell

贡献者

README

Modular Launcher for Linux devices and Single-Board Computers

An alternative, console-like, launcher for single-board computers. Made with Godot and GDNative.
The launcher is primarily made to run on the GameShell portable console but can also run on other sbcs thanks to modules.

BETA VERSION

To explore the launcher code and tweak it as you wish, open the project.godot file with Godot 3.2.3.
Remember to reimport the launcher and to transfer the .import folder too to apply your changes.
Reimporting the project from the GameShell itself is not supported at the moment.

NOTE: the 512 MB or ram version of the GameShell is known to have issues with Godot using the lima driver.
Fbturbo should work ok but performances will be worse.

Why

The stock launcher found in the GameShell lacks a few fundamental features when it comes to window management, multitasking and tweakability. This launcher aims to fix all those issues and to add other nice features.

Installation

The precompiled binaries in the repository are for armv7 devices only. Future releases may include prepackaged binaries for other architectures too.

GameShell

On the GameShell: ssh into the cpi home directory and run:

git clone https://github.com/samdze/godot-launcher.git
sed -i s/launcher/godot-launcher/g /home/cpi/.bashrc

Restart the GameShell and you should boot into the Godot launcher.
You can rollback to the stock launcher selecting “Switch Launcher” inside the Settings app.

Other Linux Devices

On other sbcs, start an X session executing the .xinitrc file.
Install the required shared libraries and clone the launcher in your home directory.
Run the launcher as a normal user, root access/privileges should not be necessary.

sudo apt install libconfig9 libxcursor1 libpulse-dev
git clone https://github.com/samdze/godot-launcher.git
startx /home/<user>/godot-launcher/.xinitrc -- -nocursor

The 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. Testing and feedbacks are very welcome.
Please open an issue if you find bugs or non-functioning features.

Better documentation will be available in the future.

Troubleshooting

By 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.
If no file is to be found, check your files directories, the files execute permissions and to have the required shared libraries installed.
There could be other libraries currently not listed here that are necessary to run the launcher.
Be sure to have support for OpenGL ES2.

Documentation

The first time you open the launcher, the first boot setup will let you map your inputs and choose the language.

On the GameShell, press SELECT (or any other button you mapped) at any time when an app is open to show the launcher widgets.
In 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.

The default Settings app lets you change a few things about the launcher, including input mappings. This launcher is made to be modular and custom settings can be added by other modules.

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

If your device isn’t a GameShell, the launcher isn’t quite ready to be fully usable, although it can run with a few tweaks.

E.g. the launcher expects to find apps and games in the /home/cpi/apps/Menu directory.
This can be changed modifying the menu_directory variable here:
https://github.com/samdze/godot-launcher/blob/main/modules/default/launcher/launcher.gd#L18

The default launcher application looks for apps and games the same way the GameShell stock launcher does. Shell scripts will appear by default, binaries have to be placed inside a folder with the same name.

Default input mapping

A B X Y Right Up Left Down START MENU HOME
K J I U Right Up Left Down Enter Escape KP Add
/home/cpi/
├── apps
│   ├── emulators
│   └── Menu
│
├── godot-launcher 		<- Here we are
│   ├── .import			Imported files, this needs to be generated and updated when you modify the launcher
│   ├── apps			Utilities and app launchers, you can tweak them or also add your own
│   ├── library			Native libreries used to create and handle the window manager of the launcher
│   ├── system			System files and base infrastructure to build the launcher
│   ├── modules			Folder containing modular parts of the launcher
│   │   ├── default		The stock module, implements the default widgets, apps, themes, etc.
│   │   └── ...			You can add your own modules here!
│   ├── project.godot		The launcher project file, open it to edit the launcher with the Godot editor
│   ├── godot			The Godot Engine executable, used to run the launcher
│   ├── compton			The compositor, this should run together with the launcher
│   ├── settings.conf		Launcher settings using a INI-style formatting
│   └── version.json		Version info, useful when checking for updates
│
├── games
│   ├── FreeDM
│   ├── MAME
│   ├── nxengine
│   └── ...
├── music
└── ...

Compiling native libraries

A SCons 3.5+ installation is needed.
The steps below are assumed to be performed on a GameShell (armv7) device.

Build the Godot GDNative bindings found in library/godot-cpp inside the repository:
https://github.com/godotengine/godot-cpp/tree/3.2#compiling-the-c-bindings-library

Then compile the native window manager library; inside the library directory:

scons -j4

To compile Godot itself, check out my repository, works on other arm devices too:
https://github.com/samdze/godot-gameshell

Compton is compiled directly from the repository:
https://github.com/chjj/compton

评论

暂无评论