An Anime Game Launcher variant written on Rust, GTK4 and libadwaita, using Anime Game Core library

Overview

An Anime Game Launcher GTK

The launcher variant written on Rust, GTK4 and libadwaita, using Anime Game Core library


You could also try the main branch


Documentation

I wrote small documentation here. It may contain some useful information

Download

Source Link
Native Releases page
AUR an-anime-game-launcher-gtk-bin
Pacstall an-anime-game-launcher-gtk-bin

Flatpak support

To install the launcher via flatpak you will first have to make sure that you have flathub's remote installed

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

After installing flathub's remote you install launcher.moe's remote

NOTE: You can install the repo on a per user base by appending --user after --if-not-exists (This is especially useful if on Steam Deck)

flatpak remote-add --if-not-exists launcher.moe https://gol.launcher.moe/gol.launcher.moe.flatpakrepo

Now the only thing remaining is to install the launcher

flatpak install launcher.moe moe.launcher.an-anime-game-launcher-gtk

Some additional configuration is possible when using the flatpak. For info about this, see this page

Chinese version support

This should be automatically enabled if you're using zh_cn (Chinese) as your system language. If you're not using it - you'll need to set China as your launcher.edition in the config.json file

Development

Folder Description
ui Blueprint UI files
ui/.dist UI files compiled by the blueprint
src Rust source code
target/release Release build of the app
blueprint-compiler Blueprint compiler
anime-game-core Anime Game Core library

Clone repo

git clone --recursive https://github.com/an-anime-team/an-anime-game-launcher-gtk

Run app

cargo run

Build app

cargo build --release
Comments
  • 无法打开 can not open

    无法打开 can not open

    logs

    '/home/whtrys/下载/anime-game-launcher' 
    /home/whtrys/下载/anime-game-launcher: symbol lookup error: /home/whtrys/下载/anime-game-launcher: undefined symbol: adw_entry_row_get_type, version LIBADWAITA_1_0
    
    opened by whtrys 6
  • Fix #3

    Fix #3

    Instead of panicking when the folder for dxvk or wine isn't found, return a list containing empty versions. The user can then go to the settings an select a version to download.

    Signed-off-by: Pascal Jäger [email protected]

    opened by Schievel1 4
  • panic when clicking on settings at first launch

    panic when clicking on settings at first launch

    When I click on the cog after first launching the launcher, it crashes and get this log:

    ❯ RUST_BACKTRACE=full anime-game-launcher
    [main] [set_state] state: WineNotInstalled
    [main] [update] action: OpenPreferencesPage
    [general page] [update] action: UpdateWineComboRow
    [general page] [update] action: UpdateDxvkComboRow
    thread 'main' panicked at 'Failed to list downloaded DXVK versions: Os { code: 2, kind: NotFound, message: "No such file or directory" }', src/ui/preferences/general.rs:455:26
    stack backtrace:
       0:     0x55792aec8067 - <unknown>
       1:     0x55792adb958c - <unknown>
       2:     0x55792ae9dc44 - <unknown>
       3:     0x55792aeca3d6 - <unknown>
       4:     0x55792aecb466 - <unknown>
       5:     0x55792aecaf02 - <unknown>
       6:     0x55792aecae76 - <unknown>
       7:     0x55792aecae32 - <unknown>
       8:     0x55792ac6bb02 - <unknown>
       9:     0x55792ac6bd82 - <unknown>
      10:     0x55792ad0e447 - <unknown>
      11:     0x55792ad0693f - <unknown>
      12:     0x7f57308eef36 - g_main_context_dispatch
      13:     0x7f57308ef418 - <unknown>
      14:     0x7f57308ef4cf - g_main_context_iteration
      15:     0x7f5730b100ad - g_application_run
      16:     0x55792ac87e9a - <unknown>
      17:     0x55792ad79163 - <unknown>
      18:     0x55792ac8b142 - <unknown>
      19:     0x7f57305d234a - <unknown>
      20:     0x7f57305d23fc - __libc_start_main
      21:     0x55792ac75281 - <unknown>
      22:                0x0 - <unknown>
    

    distro is gentoo, I installed launcher via the ebuild i have written. The launcher is in /usr/bin/ if that matters.

    opened by Schievel1 4
  • Fedora packaging

    Fedora packaging

    I'd love to have packaging for Fedora. Packaging for Fedora and packaging for Debian are very similar, so you should be able to knock out two birds with one stone.

    opened by ryleu 2
  • Mention ebuild repo on release page

    Mention ebuild repo on release page

    I added the anime game gtk version to our ebuild repository. (https://github.com/an-anime-team/aagl-ebuilds) It would be great if you added a link to it on the release page.

    opened by Schievel1 2
  • [Flatpak] use portals for filepicker dialogs(that respect the current desktop) and getting directories

    [Flatpak] use portals for filepicker dialogs(that respect the current desktop) and getting directories

    Using this, the application gains the the file picker dialog that works best for the respective desktop environment. It also allows the user to easily give the application access to a location outside of the sandbox without compromising the sandbox or having to deal with Flatseal. This is mostly useful in the launcher setup where a file prompt appears if you decide to for example change the install location of the game.

    opened by SViN24 2
  • Failed to run game

    Failed to run game

    The game was successfully downloaded and patched.But it failed to run and shows:"Telemetry server is not disabled: log-upload.mihoyo.com" and the game won't start. Or somehow it managed to get into the login screen but everything seems like a connection lost

    opened by v21cesc 1
  • fps unlocker conflicts with borderless window

    fps unlocker conflicts with borderless window

    the launcher hard writes the config for the FPS unlocker, which breaks borderless fullscreen. one fix is to tie PopupWindow in the FPS unlocker config to the borderless option in the regular config, i.e. when borderless is enabled, set PopupWindow to true in fps_config.json

    opened by nerd 1
  • Can't save edited config

    Can't save edited config

    Hi, thanks for your hardwork! So I accidentally pressed the button to download eng voicepack, eventhough I don't need it. Now I have this "en-us" in the config file. I just want to erase this line but it always failed as it says: image I tried to manually edit the config from nano with sudo. But nano can't read anything in that file. image What should I do? I downloaded the entire eng voicepack last night, and after logged in, I remove them from within the game menu. Now AAG requesting to download the voicepack again to launch the game.

    opened by frnmz 1
  • --run-game not working

    --run-game not working

    It just exits after this

    ~ $ an-anime-game-launcher --run-game
    [main] [set_state] state: Launch
    [main] [update] action: PerformButtonEvent
    

    Launching after opening the launcher works fine

    opened by saikat0511 1
  • Launcher creates dxvk and lutris dirs with 666 permissions

    Launcher creates dxvk and lutris dirs with 666 permissions

    When installing the Lutris and DXVK downloads will fail due to extracting both the lutris and DXVK directories with 666 permissions.

    Possibly related that I am using custom directories and not the default ones,

    I was able to get past this by spamming:

    find ./runners/ ./dxvks/  -type d -exec chmod 744 {} \;
    

    While the installation was running, which causes the error to happen from the dxvk install it seems: image

    config.json

    Click to expand log
    {
      "launcher": {
        "language": "en-us",
        "temp": "/run/media/mmcblk0p1/Genshin/temp",
        "speed_limit": 0,
        "repairer": {
          "threads": 4,
          "fast": false
        },
        "edition": "Global"
      },
      "game": {
        "path": "/run/media/mmcblk0p1/Genshin/game",
        "voices": [
          "ja-jp"
        ],
        "wine": {
          "prefix": "/run/media/mmcblk0p1/Genshin/prefix",
          "builds": "/run/media/mmcblk0p1/Genshin/runners",
          "selected": "lutris-GE-Proton7-29-x86_64",
          "sync": "FSync",
          "language": "System",
          "borderless": false,
          "virtual_desktop": {
            "enabled": false,
            "width": 1920,
            "height": 1080
          }
        },
        "dxvk": {
          "builds": "/run/media/mmcblk0p1/Genshin/dxvks"
        },
        "enhancements": {
          "fsr": {
            "strength": 2,
            "enabled": false
          },
          "gamemode": false,
          "hud": "None",
          "fps_unlocker": {
            "path": "/run/media/mmcblk0p1/Genshin/fps-unlocker",
            "enabled": false,
            "config": {
              "fps": 120,
              "power_saving": false,
              "fullscreen": false,
              "priority": 3
            }
          },
          "gamescope": {
            "enabled": false,
            "game": {
              "width": 0,
              "height": 0
            },
            "gamescope": {
              "width": 0,
              "height": 0
            },
            "framerate": {
              "focused": 0,
              "unfocused": 0
            },
            "integer_scaling": true,
            "fsr": false,
            "nis": false,
            "window_type": "Borderless"
          }
        },
        "environment": {},
        "command": null
      },
      "patch": {
        "path": "/run/media/mmcblk0p1/Genshin/patch",
        "servers": [
          "https://notabug.org/Krock/dawn",
          "https://codespace.gay/Maroxy/dawnin"
        ],
        "root": false
      }
    }
    
    
    opened by Renari 1
  • Can't Update Flatpak on Steam Deck

    Can't Update Flatpak on Steam Deck

    I can't install the latest flatpak update on Steam Deck through the Discover store. It says that it can't find org.gnome.Platform/x86_64/43, but the terminal tells me org.gnome.Platform/x86_64/43 is already installed. If I try updating the launcher through the terminal, it's telling me moe.launcher.an-anime-game-launcher-gtk isn't installed, even though it clearly is.

    opened by Ponjen 0
  • Launcher doesn't ask to download dxvk

    Launcher doesn't ask to download dxvk

    When I first started up the launcher, the blue button went from download and install wine, then to download the game, patch the game and launch. It never asked me to download dxvk and tried to launch the game although no dxvk was set in the settings. Game crashed then, of course.

    System is gentoo, installed the launcher via the ebuild as a native program

    opened by Schievel1 1
  • OS error 2 with existing wine prefix and game installation

    OS error 2 with existing wine prefix and game installation

    The default configuration works (removing the config file to restore defaults), but as soon as I try to use my already existing wine prefix at ~/games/genshin-impact together with the installed game I get greeted with an error message without a lot of details.

    The following changes to my config file are enough to trigger the issue:

    --- /home/fichte/.local/share/anime-game-launcher/config.json	Fri Aug 26 22:20:00 2022
    +++ /home/fichte/.local/share/anime-game-launcher/config.json	Fri Aug 26 22:20:09 2022
    @@ -9,12 +9,12 @@
         "edition": "Global"
       },
       "game": {
    -    "path": "/home/fichte/.local/share/anime-game-launcher/game/drive_c/Program Files/Genshin Impact",
    +    "path": "/home/fichte/games/genshin-impact/drive_c/Program Files/Genshin Impact",
         "voices": [
           "en-us"
         ],
         "wine": {
    -      "prefix": "/home/fichte/.local/share/anime-game-launcher/game",
    +      "prefix": "/home/fichte/games/genshin-impact",
           "builds": "/home/fichte/.local/share/anime-game-launcher/runners",
           "selected": null,
           "sync": "FSync",
    

    When I don't have a wine runner selected in the config (null), I can reach the stage where I download wine, but trying to open the preferences yields "Failed to update preferences" and the error message after pressing on the dialog is the standard "No such file or directory (os error 2)". Nothing on stdout.

    When I add a wine prefix from to the config file, I am immediately greeted with "Failed to get initial launcher state" and the same error message.

    opened by FichteFoll 7
Releases(1.2.4)
Owner
An Anime Team
An Anime Team
Unofficial Linux QQ client, based on GTK4 and libadwaita, developed with Rust and Relm4.

GTK QQ (WIP) Unofficial Linux QQ client, based on GTK4 and libadwaita, developed with Rust and Relm4. Screenshots Light Dark Note The two screenshots

Lomírus 198 Dec 24, 2022
Neovim GUI written in Rust, using relm4 and gtk4-rs

Reovim Neovim GUI written in Rust, using relm4 and gtk4-rs. Thanks Neovide Configuration To setup font add next line to init.vim set guifont=Cascadia\

songww 70 Dec 13, 2022
A simple note taking application written in Rust and GTK4

Rnote A simple note taking application written in Rust and GTK4. Rnote aims to be a simple but functional note taking application for freehand drawing

Felix Zwettler 3.4k Jan 5, 2023
An idiomatic GUI library inspired by Elm and based on gtk4-rs

An idiomatic GUI library inspired by Elm and based on gtk4-rs. Relm4 is a new version of relm that's built from scratch and is compatible with GTK4 an

Aaron Erhardt 722 Dec 31, 2022
Unsafe bindings and a safe wrapper for gtk4-layer-shell, automatically generated from a .gir file

gtk4-layer-shell: gtk4-layer-shell-sys: gtk4-layer-shell This is the safe wrapper for gtk4-layer-shell, automatically generated from its .gir file. Fo

null 3 Apr 30, 2023
A Modern, Open Source GTK4 ebook manager powered by Rust.

Bookx An MVP in progress: An ebook reader with .epub support Context menu for each book (delete, rename book, info) On click switch the carousal to th

Anurag Dhadse 12 Dec 28, 2022
Rust bindings to Core Foundation and other low level libraries on Mac OS X and iOS

core-foundation-rs Compatibility Targets macOS 10.7 by default. To enable features added in macOS 10.8, set Cargo feature mac_os_10_8_features. To hav

Servo 685 Jan 2, 2023
Test bed for gtk-rs-core experiments

Rust GObject Experiments class macro #[gobject::class(final)] mod obj { #[derive(Default)] pub struct MyObj { #[property(get, set)]

Jason Francis 2 May 28, 2022
Provides core language-agnostic functionality for LiveView Native across platforms

LiveView Native Core This repository contains an implementation of the LiveView Native core library, which is intended to handle all the details which

LiveView Native 35 Dec 27, 2022
autogen website (with Deno Core)

Kurit Static website generator ?? Warning WIP: It is still under development, so some of the features may not be developed. Project Structures graph T

null 11 Oct 16, 2023
Egui node graph is a featureful, customizable library to create node graph applications using egui

Egui node graph is a featureful, customizable library to create node graph applications using egui. The library takes care of presenting a node graph to your users, and allows customizing many aspects of the interaction, creating the semantics you want for your specific application.

null 367 Jan 8, 2023
An easy-to-use, 2D GUI library written entirely in Rust.

Conrod An easy-to-use, 2D GUI library written entirely in Rust. Guide What is Conrod? A Brief Summary Screenshots and Videos Feature Overview Availabl

PistonDevelopers 3.3k Jan 1, 2023
Idiomatic, GTK+-based, GUI library, inspired by Elm, written in Rust

Relm Asynchronous, GTK+-based, GUI library, inspired by Elm, written in Rust. This library is in beta stage: it has not been thoroughly tested and its

null 2.2k Dec 31, 2022
SwiftUI Inspired UI Library written in rust

Mule (Definitely a Work in Progress) The night I started this project I was on the couch drinking a Moscow Mule.

null 40 Jun 22, 2022
A fast, zbus-based, permissively licensed AT-SPI library written in pure Rust!

AT-SPI for Rust Higher level, asynchronous Rust bindings to AT-SPI2, using zbus. Part of the Odilia screen reader project. Design Fully documented, wi

Odilia 12 Dec 31, 2022
An example of searching iBeacon using gtk-rs and btleplug.

Beacon Searcher Screenshot Compile & Run Install GTK 3 dev packages: macOS: $ brew install gtk+3 $ brew install gnome-icon-theme Debian / Ubuntu: $ s

Ling, Wei-Cheng 0 Dec 21, 2021
A demo of using JavaScript in a Rust program, via the "deno_core" crate.

js-in-rs created by Austin Poor A demo of using JavaScript in a Rust program, via the deno_core crate. Usage js-in-rs is a sample grep-like applicatio

Austin Poor 32 Jun 12, 2023
An easy to use command line project manager for projects using the ReCT programming language

☢️ A powerful project manager for the ReCT programming language! ☢️ ReCTx makes your projects easier to manage by allowing you to configure everything

Remy 1 Nov 28, 2022
A Vulkan renderer for egui using Ash.

egui-ash-renderer A Vulkan renderer for egui using Ash. This is meant to add support for egui in your existing Vulkan/ash applications. Not a full efr

Adrien Bennadji 4 Apr 10, 2024