diff --git a/README.md b/README.md index c1b3595..b898751 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,28 @@ -# How to connect your Wii remotes +# README + +## Table of Contents + +- [How to connect your Wii remotes](#how-to-connect-your-wii-remotes) +- [Passthrough a Bluetooth adapter](#passthrough-a-bluetooth-adapter) +- [Emulate the Wii's Bluetooth adapter](#emulate-the-wiis-bluetooth-adapter) +- [How to enable motion controls on non-Wii controllers](#how-to-enable-motion-controls-on-non-wii-controllers) +- [Permissions Used](#permissions-used) + - [device=all](#deviceall) + - [filesystem=host:ro](#filesystemhostro) + - [socket=pulseaudio](#socketpulseaudio) + - [env=QT_QPA_PLATFORM=xcb](#envqt_qpa_platformxcb) + - [socket=x11](#socketx11) + - [share=network](#sharenetwork) + - [share=ipc](#shareipc) + - [allow=bluetooth](#allowbluetooth) + - [filesystem=xdg-run/app/com.discordapp.Discord:create](#filesystemxdg-runappcomdiscordappdiscordcreate) + - [talk-name=org.freedesktop.ScreenSaver](#talk-nameorgfreedesktopscreensaver) +- [dolphin-tool](#dolphin-tool) +- [Update Frequency](#update-frequency) + - [Official Releases](#official-releases) + - [Development Releases](#development-releases) + +## How to connect your Wii remotes Dolphin offers three different methods to play your games using real Wii remotes. @@ -15,7 +39,7 @@ This method gives the most accurate results, including audio support on the cont - Requires a custom udev rule - Hardware compatibility is limited to a few models. -There's no practical way of installing a udev rule from within a flatpak (at least not without going against flathub rules), so the user must do this manually. +There's no practical way of installing a udev rule from within a Flatpak (at least not without going against flathub rules), so the user must do this manually. The project's wiki has information on how to set up the udev rule: @@ -29,9 +53,9 @@ https://wiki.dolphin-emu.org/index.php?title=Bluetooth_Passthrough#Adapter_test_ This method isn't as accurate as passthrough, but it has much better hardware compatibility and doesn't require installing any udev rules. -It only requires ```bluez``` which is bundled with the flatpak, and ```allow=bluetooth``` which is enabled by default in the manifest. Coupled with the improved compatibility this means it should work outside the box for most users. +It only requires ```bluez``` which is bundled with the Flatpak, and ```allow=bluetooth``` which is enabled by default in the manifest. Coupled with the improved compatibility this means it should work outside the box for most users. -# How to enable motion controls on non-wii controllers +## How to enable motion controls on non-Wii controllers Some popular controllers such as those on the nintendo switch and ps4/ps5 feature motion sensors that can be used to approximate some Wii remote features. @@ -41,35 +65,35 @@ Even though his bundle already ships with the necessary dependencies, depending Fedora users should place this rule under ```/etc/udev/rules.d/```, it should also be the same in most other systems but it could also have slight variations from one distribution to another. -# Permissions used: +## Permissions Used -## device=all +### device=all This is required in order for arbitrary gamepads to work, as well as GPU acceleration. If you don't like this and don't want gamepad support it is possible to change this to ```device=dri``` so that OpenGl will still work. -## filesystem=host:ro +### filesystem=host:ro Grants read-only access to the host file system. Dolphin requires this in order to display the contents of your games directory on the main window when running on distributions shipping old libraries (tested on debian 10). You can safely disable this on reasonably modern distributions. -## socket=pulseaudio +### socket=pulseaudio Dolphin needs this to play audio. -## env=QT_QPA_PLATFORM=xcb +### env=QT_QPA_PLATFORM=xcb This env variable fixes a hypothetical case that could prevent Dolphin from running if it were set to wayland, it's unlikely but we keep it just in case. Usually this would only happen if the user had globally set the variable in order to force qt applications to run on native wayland mode, otherwise it is safe to drop. -## socket=x11 +### socket=x11 Necessary in order to display the window, Dolphin has no wayland support at this point. -## share=network +### share=network It's required by some features to work, such as netplay, firmware updates and the optional telemetry. @@ -79,40 +103,52 @@ It's safe to disable if you don't want those features. Graphical applications will run slowly without this. -## allow=bluetooth +### allow=bluetooth Only necessary when using "Real Wii remotes" in conjunction with the feature labeled "Emulate the Wii's Bluetooth adapter". It's safe to disable if that feature is not in use, generic bluetooth gamepads will still work without it. Actual Wii remotes can also work without this option when using the separate passthrough feature. -## filesystem=xdg-run/app/com.discordapp.Discord:create +### filesystem=xdg-run/app/com.discordapp.Discord:create Necessary for discord (a nonfree messaging service) integration. Can be safely dropped if discord is not used. -## filesystem=xdg-run/gamescope-0:ro +### filesystem=xdg-run/gamescope-0:ro Necessary for HDR10 support through gamescope. At the moment the only realistic usage case for this are HDR10 filters if you have an oled steam deck, it can safely be dropped in most other cases. -## talk-name=org.freedesktop.ScreenSaver +### talk-name=org.freedesktop.ScreenSaver Required for screensaver inhibition during gameplay. It can be disabled but your screensaver might trigger during gameplay depending on your input device and screensaver configuration. -# dolphin-tool +## dolphin-tool -Some cli iso manipulation tasks can be achieved with `dolphin-tool`, it is bundled with the flatpak but not exposed to the outside. +Some cli iso manipulation tasks can be achieved with `dolphin-tool`, it is bundled with the Flatpak but not exposed outside of the Flatpak sandbox. It can be accessed through the `--command` option in `flatpak run`, for instance, checking a game's header would be achieved in this way: `flatpak run --command=dolphin-tool org.DolphinEmu.dolphin-emu header -i /path/to/file` -# Update frequency +## Update Frequency -We update on beta releases and dolphin progress reports (these usually happen at the same time). +### Official Releases -We avoid development releases because netplay requires versions to match exactly for two users to play together. There can be several dev releases in any given day, this would make it difficult for players to match versions. +The Flatpak updates in accordance to the official "Releases" on the [Dolphin website](https://dolphin-emu.org/download/) and [Dolphin progress reports](https://dolphin-emu.org/blog/) (these usually happen at the same time). + +### Development Releases + +The Flatpak pushes "Development" releases regularly to the Flathub Beta repository. These versions are in accordance to the "Development" releases on the [Dolphin website](https://dolphin-emu.org/download/). Note that even though these versions may release frequently, the Flatpak will not update on every "Development" release. + +For instructions on how to add the Flathub Beta repository, see [https://docs.flathub.org/docs/for-users/installation/](https://docs.flathub.org/docs/for-users/installation/). If you would like to use netplay, it is highly recommended you use the official "Release" build instead. The "Development" build updates frequently making it difficult for players to match versions. + +If you have both the official "Release" and the "Development" release installed simultaneously, you may set the active version with the following command (Beta referring to the "Development" branch and Stable referring to the official "Releases"): + +``` +flatpak make-current org.DolphinEmu.dolphin-emu +``` \ No newline at end of file diff --git a/SDL2/SDL2-no-libdecor.json b/SDL2/SDL2-no-libdecor.json new file mode 100644 index 0000000..672ac0f --- /dev/null +++ b/SDL2/SDL2-no-libdecor.json @@ -0,0 +1,22 @@ +{ + "name": "SDL2", + "buildsystem": "autotools", + "config-opts": ["--disable-static"], + "sources": [ + { + "type": "archive", + "url": "https://github.com/libsdl-org/SDL/releases/download/release-2.30.6/SDL2-2.30.6.tar.gz", + "sha256": "c6ef64ca18a19d13df6eb22df9aff19fb0db65610a74cc81dae33a82235cacd4" + } + ], + "cleanup": [ "/bin/sdl2-config", + "/include", + "/lib/libSDL2.la", + "/lib/libSDL2main.a", + "/lib/libSDL2main.la", + "/lib/libSDL2_test.a", + "/lib/libSDL2_test.la", + "/lib/cmake", + "/share/aclocal", + "/lib/pkgconfig"] +} diff --git a/detectflatpak.patch b/detectflatpak.patch deleted file mode 100644 index 60dd1a2..0000000 --- a/detectflatpak.patch +++ /dev/null @@ -1,34 +0,0 @@ -From f2d3b349d8487cf0ee50b36ba024ac513d36f826 Mon Sep 17 00:00:00 2001 -From: Carles Pastor -Date: Sat, 20 Aug 2022 13:35:32 +0200 -Subject: [PATCH] Detect we are running inside a flatpak sandbox - ---- - Source/Core/UICommon/UICommon.cpp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Source/Core/UICommon/UICommon.cpp b/Source/Core/UICommon/UICommon.cpp -index 8d9dc2abb8..8a9d39a3d5 100644 ---- a/Source/Core/UICommon/UICommon.cpp -+++ b/Source/Core/UICommon/UICommon.cpp -@@ -348,7 +348,7 @@ void SetUserDirectory(std::string custom_path) - // -> Use GetExeDirectory()/User - // 2. $DOLPHIN_EMU_USERPATH is set - // -> Use $DOLPHIN_EMU_USERPATH -- // 3. ~/.dolphin-emu directory exists -+ // 3. ~/.dolphin-emu directory exists, and we're not in flatpak - // -> Use ~/.dolphin-emu - // 4. Default - // -> Use XDG basedir, see -@@ -381,7 +381,7 @@ void SetUserDirectory(std::string custom_path) - { - user_path = home_path + "." DOLPHIN_DATA_DIR DIR_SEP; - -- if (!File::Exists(user_path)) -+ if (File::Exists("/.flatpak-info") || !File::Exists(user_path)) - { - const char* data_home = getenv("XDG_DATA_HOME"); - std::string data_path = --- -2.37.1 - diff --git a/nodirtyversion.patch b/nodirtyversion.patch deleted file mode 100644 index 583edbb..0000000 --- a/nodirtyversion.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMake/ScmRevGen.cmake b/CMake/ScmRevGen.cmake -index aacf7491ce..503791cda8 100644 ---- a/CMake/ScmRevGen.cmake -+++ b/CMake/ScmRevGen.cmake -@@ -7,7 +7,7 @@ if(GIT_FOUND) - OUTPUT_VARIABLE DOLPHIN_WC_REVISION - OUTPUT_STRIP_TRAILING_WHITESPACE) - # defines DOLPHIN_WC_DESCRIBE -- execute_process(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} describe --always --long --dirty -+ execute_process(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} describe --always --long - OUTPUT_VARIABLE DOLPHIN_WC_DESCRIBE - OUTPUT_STRIP_TRAILING_WHITESPACE) - diff --git a/org.DolphinEmu.dolphin-emu.appdata.xml b/org.DolphinEmu.dolphin-emu.metainfo.xml similarity index 56% rename from org.DolphinEmu.dolphin-emu.appdata.xml rename to org.DolphinEmu.dolphin-emu.metainfo.xml index 81b4807..0be28fe 100644 --- a/org.DolphinEmu.dolphin-emu.appdata.xml +++ b/org.DolphinEmu.dolphin-emu.metainfo.xml @@ -3,7 +3,9 @@ org.DolphinEmu.dolphin-emu Dolphin Emulator - dolphin-emu team + + Dolphin Emulator Project + GameCube / Wii / Triforce Emulator CC-BY-SA-3.0 GPL-2.0+ @@ -11,10 +13,22 @@

Dolphin is an emulator for two recent Nintendo video game consoles: the GameCube and the Wii. It allows PC gamers to enjoy games for these two consoles in full HD (1080p) with several enhancements: compatibility with all PC controllers, turbo speed, networked multiplayer, and even more!

- https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/1.png - https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/2.png - https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/3.png - https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/4.png + + Dolpin's main window + https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/1.png + + + In-game + https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/2.png + + + Grapics configuration + https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/3.png + + + Controller configuration + https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/4.png + dolphin-emu.desktop @@ -22,8 +36,9 @@ dolphin-emu.desktop - - + + + @@ -38,9 +53,12 @@ https://dolphin-emu.org - https://forums.dolphin-emu.org - https://dolphin-emu.org/docs/faq - https://www.transifex.com/projects/p/dolphin-emu https://bugs.dolphin-emu.org/projects/emulator/issues + https://dolphin-emu.org/docs/faq/ + https://dolphin-emu.org/docs/guides/ + https://www.transifex.com/projects/p/dolphin-emu + https://dolphin-emu.org/docs/faq/#ive-got-idea-make-dolphin-better-how-should-i-tell + https://github.com/dolphin-emu/dolphin + https://github.com/dolphin-emu/dolphin/blob/master/Contributing.md b@bpiotrowski.pl
diff --git a/org.DolphinEmu.dolphin-emu.yml b/org.DolphinEmu.dolphin-emu.yml index 1103dda..6d37be4 100644 --- a/org.DolphinEmu.dolphin-emu.yml +++ b/org.DolphinEmu.dolphin-emu.yml @@ -49,8 +49,8 @@ modules: - -Ddocumentation=disabled sources: - type: archive - url: https://www.freedesktop.org/software/libevdev/libevdev-1.13.2.tar.xz - sha256: 3eca86a6ce55b81d5bce910637fc451c8bbe373b1f9698f375c7f1ad0de3ac48 + url: https://www.freedesktop.org/software/libevdev/libevdev-1.13.3.tar.xz + sha256: abf1aace86208eebdd5d3550ffded4c8d73bb405b796d51c389c9d0604cbcfbf x-checker-data: type: anitya project-id: 20540 @@ -65,6 +65,9 @@ modules: url: https://github.com/Unrud/xdg-screensaver-shim/archive/0.0.2.tar.gz sha256: 0ed2a69fe6ee6cbffd2fe16f85116db737f17fb1e79bfb812d893cf15c728399 + # The kde runtime bundles 2.28.5 but current dolphin versions require 2.30.6 + - SDL2/SDL2-no-libdecor.json + - name: dolphin-emu buildsystem: cmake-ninja config-opts: @@ -77,34 +80,22 @@ modules: - /share/man post-install: - install -D -t ${FLATPAK_DEST}/bin/ dolphin-emu-wrapper - - install -Dm644 -t ${FLATPAK_DEST}/share/appdata/ org.DolphinEmu.dolphin-emu.appdata.xml - - sed -i -e 's/viewBox="0 0 1024.02 571.29"/viewBox="0 -285.645 1024 1024" width="2048" - height="2048"/g' /app/share/icons/hicolor/scalable/apps/dolphin-emu.svg + - install -Dm644 -t ${FLATPAK_DEST}/share/metainfo/ org.DolphinEmu.dolphin-emu.metainfo.xml - desktop-file-edit --set-key=Exec --set-value='/app/bin/dolphin-emu-wrapper' /app/share/applications/dolphin-emu.desktop sources: - type: git url: https://github.com/dolphin-emu/dolphin.git - commit: cc3ff347b437fd80f3a2880d1bbc7ba2d5f191f4 - # x-checker-data: - # type: json - # url: https://dolphin-emu.org/update/latest/beta - # commit-query: .hash - # version-query: .shortrev - # timestamp-query: .date - # is-main-source: true - # detects whether dolphin is running in a flatpak sandbox - # and makes it use xdg directories if it is. - # prevents dolphin from attempting to write conf files - # in non-writable paths, typically happens when a user - # has leftover files from a previous non-flatpak install - - type: patch - path: detectflatpak.patch - # version strings must match exactly for online multiplayer - - type: patch - path: nodirtyversion.patch + commit: 3c4d4fcd09173ea070dc812ab5d64ca3a3af5f29 + x-checker-data: + type: json + url: https://dolphin-emu.org/update/latest/beta + commit-query: .hash + version-query: .shortrev + timestamp-query: .date + is-main-source: true - type: file - path: org.DolphinEmu.dolphin-emu.appdata.xml + path: org.DolphinEmu.dolphin-emu.metainfo.xml - type: script commands: - |