Merge branch 'master' of https://github.com/flathub/org.DolphinEmu.dolphin-emu
Some checks failed
Build dolphin Artifacts for RetroDECK / Building_RetroDECK-dolphin (push) Has been cancelled

This commit is contained in:
XargonWan 2024-10-29 10:04:05 +09:00
commit 084f0a1c58
6 changed files with 121 additions and 101 deletions

View file

@ -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. 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 - Requires a custom udev rule
- Hardware compatibility is limited to a few models. - 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: 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. 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. 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. 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. 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. 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). 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. You can safely disable this on reasonably modern distributions.
## socket=pulseaudio ### socket=pulseaudio
Dolphin needs this to play audio. 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. 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. 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. 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. 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. 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". 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. 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. Necessary for discord (a nonfree messaging service) integration.
Can be safely dropped if discord is not used. 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. 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. 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. 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. 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: 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` `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 <beta|stable>
```

View file

@ -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"]
}

View file

@ -1,34 +0,0 @@
From f2d3b349d8487cf0ee50b36ba024ac513d36f826 Mon Sep 17 00:00:00 2001
From: Carles Pastor <cpbadosa@gmail.com>
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

View file

@ -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)

View file

@ -3,7 +3,9 @@
<component type="desktop-application"> <component type="desktop-application">
<id>org.DolphinEmu.dolphin-emu</id> <id>org.DolphinEmu.dolphin-emu</id>
<name>Dolphin Emulator</name> <name>Dolphin Emulator</name>
<developer_name>dolphin-emu team</developer_name> <developer id="org.dolphin-emu">
<name>Dolphin Emulator Project</name>
</developer>
<summary>GameCube / Wii / Triforce Emulator</summary> <summary>GameCube / Wii / Triforce Emulator</summary>
<metadata_license>CC-BY-SA-3.0</metadata_license> <metadata_license>CC-BY-SA-3.0</metadata_license>
<project_license>GPL-2.0+</project_license> <project_license>GPL-2.0+</project_license>
@ -11,10 +13,22 @@
<!-- Descriptions taken from Dolphin Homepage --> <!-- Descriptions taken from Dolphin Homepage -->
<description><p>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!</p></description> <description><p>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!</p></description>
<screenshots> <screenshots>
<screenshot type="default"><image>https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/1.png</image></screenshot> <screenshot type="default">
<screenshot><image>https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/2.png</image></screenshot> <caption>Dolpin's main window</caption>
<screenshot><image>https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/3.png</image></screenshot> <image type="source">https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/1.png</image>
<screenshot><image>https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/4.png</image></screenshot> </screenshot>
<screenshot>
<caption>In-game</caption>
<image type="source">https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/2.png</image>
</screenshot>
<screenshot>
<caption>Grapics configuration</caption>
<image type="source">https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/3.png</image>
</screenshot>
<screenshot>
<caption>Controller configuration</caption>
<image type="source">https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/4.png</image>
</screenshot>
</screenshots> </screenshots>
<launchable type="desktop-id">dolphin-emu.desktop</launchable> <launchable type="desktop-id">dolphin-emu.desktop</launchable>
<provides> <provides>
@ -22,8 +36,9 @@
<id>dolphin-emu.desktop</id> <id>dolphin-emu.desktop</id>
</provides> </provides>
<releases> <releases>
<release version="2407-68" date="2024-07-16"/> <release version="2409" date="2024-09-04">
<release version="2407-64" date="2024-07-15"/> <description></description>
</release>
<release version="2407" date="2024-07-02"/> <release version="2407" date="2024-07-02"/>
<release version="5.0-21460" date="2024-04-29"/> <release version="5.0-21460" date="2024-04-29"/>
<release version="5.0-21264" date="2024-03-26"/> <release version="5.0-21264" date="2024-03-26"/>
@ -38,9 +53,12 @@
<release version="5.0-17210" date="2022-08-19"/> <release version="5.0-17210" date="2022-08-19"/>
</releases> </releases>
<url type="homepage">https://dolphin-emu.org</url> <url type="homepage">https://dolphin-emu.org</url>
<url type="help">https://forums.dolphin-emu.org</url>
<url type="faq">https://dolphin-emu.org/docs/faq</url>
<url type="translate">https://www.transifex.com/projects/p/dolphin-emu</url>
<url type="bugtracker">https://bugs.dolphin-emu.org/projects/emulator/issues</url> <url type="bugtracker">https://bugs.dolphin-emu.org/projects/emulator/issues</url>
<url type="faq">https://dolphin-emu.org/docs/faq/</url>
<url type="help">https://dolphin-emu.org/docs/guides/</url>
<url type="translate">https://www.transifex.com/projects/p/dolphin-emu</url>
<url type="contact">https://dolphin-emu.org/docs/faq/#ive-got-idea-make-dolphin-better-how-should-i-tell</url>
<url type="vcs-browser">https://github.com/dolphin-emu/dolphin</url>
<url type="contribute">https://github.com/dolphin-emu/dolphin/blob/master/Contributing.md</url>
<update_contact>b@bpiotrowski.pl</update_contact> <update_contact>b@bpiotrowski.pl</update_contact>
</component> </component>

View file

@ -49,8 +49,8 @@ modules:
- -Ddocumentation=disabled - -Ddocumentation=disabled
sources: sources:
- type: archive - type: archive
url: https://www.freedesktop.org/software/libevdev/libevdev-1.13.2.tar.xz url: https://www.freedesktop.org/software/libevdev/libevdev-1.13.3.tar.xz
sha256: 3eca86a6ce55b81d5bce910637fc451c8bbe373b1f9698f375c7f1ad0de3ac48 sha256: abf1aace86208eebdd5d3550ffded4c8d73bb405b796d51c389c9d0604cbcfbf
x-checker-data: x-checker-data:
type: anitya type: anitya
project-id: 20540 project-id: 20540
@ -65,6 +65,9 @@ modules:
url: https://github.com/Unrud/xdg-screensaver-shim/archive/0.0.2.tar.gz url: https://github.com/Unrud/xdg-screensaver-shim/archive/0.0.2.tar.gz
sha256: 0ed2a69fe6ee6cbffd2fe16f85116db737f17fb1e79bfb812d893cf15c728399 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 - name: dolphin-emu
buildsystem: cmake-ninja buildsystem: cmake-ninja
config-opts: config-opts:
@ -77,34 +80,22 @@ modules:
- /share/man - /share/man
post-install: post-install:
- install -D -t ${FLATPAK_DEST}/bin/ dolphin-emu-wrapper - install -D -t ${FLATPAK_DEST}/bin/ dolphin-emu-wrapper
- install -Dm644 -t ${FLATPAK_DEST}/share/appdata/ org.DolphinEmu.dolphin-emu.appdata.xml - install -Dm644 -t ${FLATPAK_DEST}/share/metainfo/ org.DolphinEmu.dolphin-emu.metainfo.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
- desktop-file-edit --set-key=Exec --set-value='/app/bin/dolphin-emu-wrapper' - desktop-file-edit --set-key=Exec --set-value='/app/bin/dolphin-emu-wrapper'
/app/share/applications/dolphin-emu.desktop /app/share/applications/dolphin-emu.desktop
sources: sources:
- type: git - type: git
url: https://github.com/dolphin-emu/dolphin.git url: https://github.com/dolphin-emu/dolphin.git
commit: cc3ff347b437fd80f3a2880d1bbc7ba2d5f191f4 commit: 3c4d4fcd09173ea070dc812ab5d64ca3a3af5f29
# x-checker-data: x-checker-data:
# type: json type: json
# url: https://dolphin-emu.org/update/latest/beta url: https://dolphin-emu.org/update/latest/beta
# commit-query: .hash commit-query: .hash
# version-query: .shortrev version-query: .shortrev
# timestamp-query: .date timestamp-query: .date
# is-main-source: true 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
- type: file - type: file
path: org.DolphinEmu.dolphin-emu.appdata.xml path: org.DolphinEmu.dolphin-emu.metainfo.xml
- type: script - type: script
commands: commands:
- | - |