Update Flatpak manifest
Signed-off-by: Dallas Strouse <dastrouses@gmail.com>
(cherry picked from commit 2eff1de560)
			
			
This commit is contained in:
		 Dallas Strouse
					Dallas Strouse
				
			
				
					committed by
					
						![github-actions[bot]](/assets/img/avatar_default.png) github-actions[bot]
						github-actions[bot]
					
				
			
			
				
	
			
			
			![github-actions[bot]](/assets/img/avatar_default.png) github-actions[bot]
						github-actions[bot]
					
				
			
						parent
						
							bab7105820
						
					
				
				
					commit
					7baaf83f1d
				
			
							
								
								
									
										22
									
								
								flatpak/libdecor.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								flatpak/libdecor.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| { | ||||
|   "name": "libdecor", | ||||
|   "buildsystem": "meson", | ||||
|   "config-opts": [ | ||||
|     "-Ddemo=false" | ||||
|   ], | ||||
|   "sources": [ | ||||
|     { | ||||
|       "type": "git", | ||||
|       "url": "https://gitlab.freedesktop.org/libdecor/libdecor.git", | ||||
|       "commit": "73260393a97291c887e1074ab7f318e031be0ac6" | ||||
|     }, | ||||
|     { | ||||
|       "type": "patch", | ||||
|       "path": "patches/weird_libdecor.patch" | ||||
|     } | ||||
|   ], | ||||
|   "cleanup": [ | ||||
|     "/include", | ||||
|     "/lib/pkgconfig" | ||||
|   ] | ||||
| } | ||||
| @@ -5,13 +5,6 @@ sdk: org.kde.Sdk | ||||
| sdk-extensions: | ||||
|   - org.freedesktop.Sdk.Extension.openjdk17 | ||||
|   - org.freedesktop.Sdk.Extension.openjdk8 | ||||
| add-extensions: | ||||
|   com.valvesoftware.Steam.Utility.gamescope: | ||||
|     version: stable | ||||
|     add-ld-path: lib | ||||
|     no-autodownload: true | ||||
|     autodelete: false | ||||
|     directory: utils/gamescope | ||||
|  | ||||
| command: prismlauncher | ||||
| finish-args: | ||||
| @@ -26,21 +19,31 @@ finish-args: | ||||
|     # Mod drag&drop | ||||
|   - --filesystem=xdg-download:ro | ||||
|  | ||||
| cleanup: | ||||
|   - /lib/libGLU* | ||||
|  | ||||
| modules: | ||||
|   # Might be needed by some Controller mods (see https://github.com/isXander/Controlify/issues/31) | ||||
|   - shared-modules/libusb/libusb.json | ||||
|  | ||||
|   # Needed for proper Wayland support | ||||
|   - libdecor.json | ||||
|  | ||||
|   - name: prismlauncher | ||||
|     buildsystem: cmake-ninja | ||||
|     builddir: true | ||||
|     config-opts: | ||||
|       - -DLauncher_BUILD_PLATFORM=flatpak | ||||
|       - -DCMAKE_BUILD_TYPE=Debug | ||||
|       - -DCMAKE_BUILD_TYPE=RelWithDebInfo | ||||
|       - -DLauncher_QT_VERSION_MAJOR=5 | ||||
|     build-options: | ||||
|       env: | ||||
|         JAVA_HOME: /usr/lib/sdk/openjdk17/jvm/openjdk-17 | ||||
|         JAVA_COMPILER: /usr/lib/sdk/openjdk17/jvm/openjdk-17/bin/javac | ||||
|     sources: | ||||
|         - type: dir | ||||
|           path: ../ | ||||
|     builddir: true | ||||
|       - type: dir | ||||
|         path: ../ | ||||
|  | ||||
|   - name: openjdk | ||||
|     buildsystem: simple | ||||
|     build-commands: | ||||
| @@ -49,14 +52,45 @@ modules: | ||||
|       - mv /app/jre /app/jdk/17 | ||||
|       - /usr/lib/sdk/openjdk8/install.sh | ||||
|       - mv /app/jre /app/jdk/8 | ||||
|     cleanup: [/jre] | ||||
|     cleanup: | ||||
|       - /jre | ||||
|  | ||||
|   - name: glfw | ||||
|     buildsystem: cmake-ninja | ||||
|     config-opts: | ||||
|       - -DCMAKE_BUILD_TYPE=RelWithDebInfo | ||||
|       - -DBUILD_SHARED_LIBS:BOOL=ON | ||||
|       - -DGLFW_USE_WAYLAND=ON | ||||
|     sources: | ||||
|       - type: git | ||||
|         url: https://github.com/glfw/glfw.git | ||||
|         commit: 3fa2360720eeba1964df3c0ecf4b5df8648a8e52 | ||||
|       - type: patch | ||||
|         path: patches/0003-Don-t-crash-on-calls-to-focus-or-icon.patch | ||||
|       - type: patch | ||||
|         path: patches/0005-Add-warning-about-being-an-unofficial-patch.patch | ||||
|       - type: patch | ||||
|         path: patches/0007-Platform-Prefer-Wayland-over-X11.patch | ||||
|     cleanup: | ||||
|       - /include | ||||
|       - /lib/cmake | ||||
|       - /lib/pkgconfig | ||||
|  | ||||
|   - name: xrandr | ||||
|     buildsystem: autotools | ||||
|     sources: | ||||
|       - type: archive | ||||
|         url: https://xorg.freedesktop.org/archive/individual/app/xrandr-1.5.1.tar.xz | ||||
|         sha256: 7bc76daf9d72f8aff885efad04ce06b90488a1a169d118dea8a2b661832e8762 | ||||
|     cleanup: [/share/man, /bin/xkeystone] | ||||
|         url: https://xorg.freedesktop.org/archive/individual/app/xrandr-1.5.2.tar.xz | ||||
|         sha256: c8bee4790d9058bacc4b6246456c58021db58a87ddda1a9d0139bf5f18f1f240 | ||||
|         x-checker-data: | ||||
|           type: anitya | ||||
|           project-id: 14957 | ||||
|           stable-only: true | ||||
|           url-template: https://xorg.freedesktop.org/archive/individual/app/xrandr-$version.tar.xz | ||||
|     cleanup: | ||||
|       - /share/man | ||||
|       - /bin/xkeystone | ||||
|  | ||||
|   - name: gamemode | ||||
|     buildsystem: meson | ||||
|     config-opts: | ||||
| @@ -67,19 +101,56 @@ modules: | ||||
|       # post-install is running inside the build dir, we need it from the source though | ||||
|       - install -Dm755 ../data/gamemoderun -t /app/bin | ||||
|     sources: | ||||
|       - type: git | ||||
|         url: https://github.com/FeralInteractive/gamemode | ||||
|         tag: "1.7" | ||||
|         commit: 4dc99dff76218718763a6b07fc1900fa6d1dafd9 | ||||
|       - type: archive | ||||
|         archive-type: tar-gzip | ||||
|         url: https://api.github.com/repos/FeralInteractive/gamemode/tarball/1.7 | ||||
|         sha256: 57ce73ba605d1cf12f8d13725006a895182308d93eba0f69f285648449641803 | ||||
|         x-checker-data: | ||||
|           type: json | ||||
|           url: https://api.github.com/repos/FeralInteractive/gamemode/releases/latest | ||||
|           version-query: .tag_name | ||||
|           url-query: .tarball_url | ||||
|           timestamp-query: .published_at | ||||
|     cleanup: | ||||
|       - /include | ||||
|       - /lib/pkgconfig | ||||
|       - /lib/libgamemodeauto.a | ||||
|  | ||||
|   - name: glxinfo | ||||
|     buildsystem: meson | ||||
|     config-opts: | ||||
|       - --bindir=/app/mesa-demos | ||||
|       - -Degl=disabled | ||||
|       - -Dglut=disabled | ||||
|       - -Dosmesa=disabled | ||||
|       - -Dvulkan=disabled | ||||
|       - -Dwayland=disabled | ||||
|     post-install: | ||||
|       - mv -v /app/mesa-demos/glxinfo /app/bin | ||||
|     sources: | ||||
|       - type: archive | ||||
|         url: https://archive.mesa3d.org/demos/mesa-demos-9.0.0.tar.xz | ||||
|         sha256: 3046a3d26a7b051af7ebdd257a5f23bfeb160cad6ed952329cdff1e9f1ed496b | ||||
|         x-checker-data: | ||||
|           type: anitya | ||||
|           project-id: 16781 | ||||
|           stable-only: true | ||||
|           url-template: https://archive.mesa3d.org/demos/mesa-demos-$version.tar.xz | ||||
|     cleanup: | ||||
|       - /include | ||||
|       - /mesa-demos | ||||
|       - /share | ||||
|     modules: | ||||
|       - shared-modules/glu/glu-9.json | ||||
|  | ||||
|   - name: enhance | ||||
|     buildsystem: simple | ||||
|     build-commands: | ||||
|       - mkdir -p /app/utils/gamescope | ||||
|       - install -Dm755 prime-run /app/bin/prime-run | ||||
|       - mv /app/bin/prismlauncher /app/bin/prismrun | ||||
|       - install -Dm755 prismlauncher /app/bin/prismlauncher | ||||
|     sources: | ||||
|       - type: file | ||||
|         path: ../flatpak/prime-run | ||||
|         path: prime-run | ||||
|       - type: file | ||||
|         path: ../flatpak/prismlauncher | ||||
|         path: prismlauncher | ||||
|   | ||||
| @@ -0,0 +1,24 @@ | ||||
| diff --git a/src/wl_window.c b/src/wl_window.c | ||||
| index 52d3b9eb..4ac4eb5d 100644 | ||||
| --- a/src/wl_window.c | ||||
| +++ b/src/wl_window.c | ||||
| @@ -2117,8 +2117,7 @@ void _glfwSetWindowTitleWayland(_GLFWwindow* window, const char* title) | ||||
|  void _glfwSetWindowIconWayland(_GLFWwindow* window, | ||||
|                                 int count, const GLFWimage* images) | ||||
|  { | ||||
| -    _glfwInputError(GLFW_FEATURE_UNAVAILABLE, | ||||
| -                    "Wayland: The platform does not support setting the window icon"); | ||||
| +    fprintf(stderr, "!!! Ignoring Error: Wayland: The platform does not support setting the window icon\n"); | ||||
|  } | ||||
|   | ||||
|  void _glfwGetWindowPosWayland(_GLFWwindow* window, int* xpos, int* ypos) | ||||
| @@ -2361,8 +2360,7 @@ void _glfwRequestWindowAttentionWayland(_GLFWwindow* window) | ||||
|   | ||||
|  void _glfwFocusWindowWayland(_GLFWwindow* window) | ||||
|  { | ||||
| -    _glfwInputError(GLFW_FEATURE_UNAVAILABLE, | ||||
| -                    "Wayland: The platform does not support setting the input focus"); | ||||
| +    fprintf(stderr, "!!! Ignoring Error: Wayland: The platform does not support setting the input focus\n"); | ||||
|  } | ||||
|   | ||||
|  void _glfwSetWindowMonitorWayland(_GLFWwindow* window, | ||||
| @@ -0,0 +1,17 @@ | ||||
| diff --git a/src/init.c b/src/init.c | ||||
| index 06dbb3f2..a7c6da86 100644 | ||||
| --- a/src/init.c | ||||
| +++ b/src/init.c | ||||
| @@ -449,6 +449,12 @@ GLFWAPI int glfwInit(void) | ||||
|      _glfw.initialized = GLFW_TRUE; | ||||
|   | ||||
|      glfwDefaultWindowHints(); | ||||
| + | ||||
| +    fprintf(stderr, "!!! Patched GLFW from https://github.com/Admicos/minecraft-wayland\n" | ||||
| +         "!!! If any issues with the window, or some issues with rendering, occur, " | ||||
| +         "first try with the built-in GLFW, and if that solves the issue, report there first.\n" | ||||
| +         "!!! Use outside Minecraft is untested, and things might break.\n"); | ||||
| + | ||||
|      return GLFW_TRUE; | ||||
|  } | ||||
|   | ||||
							
								
								
									
										20
									
								
								flatpak/patches/0007-Platform-Prefer-Wayland-over-X11.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								flatpak/patches/0007-Platform-Prefer-Wayland-over-X11.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| diff --git a/src/platform.c b/src/platform.c | ||||
| index c5966ae7..3e7442f9 100644 | ||||
| --- a/src/platform.c | ||||
| +++ b/src/platform.c | ||||
| @@ -49,12 +49,12 @@ static const struct | ||||
|  #if defined(_GLFW_COCOA) | ||||
|      { GLFW_PLATFORM_COCOA, _glfwConnectCocoa }, | ||||
|  #endif | ||||
| -#if defined(_GLFW_X11) | ||||
| -    { GLFW_PLATFORM_X11, _glfwConnectX11 }, | ||||
| -#endif | ||||
|  #if defined(_GLFW_WAYLAND) | ||||
|      { GLFW_PLATFORM_WAYLAND, _glfwConnectWayland }, | ||||
|  #endif | ||||
| +#if defined(_GLFW_X11) | ||||
| +    { GLFW_PLATFORM_X11, _glfwConnectX11 }, | ||||
| +#endif | ||||
|  }; | ||||
|   | ||||
|  GLFWbool _glfwSelectPlatform(int desiredID, _GLFWplatform* platform) | ||||
							
								
								
									
										40
									
								
								flatpak/patches/weird_libdecor.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								flatpak/patches/weird_libdecor.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| diff --git a/src/libdecor.c b/src/libdecor.c | ||||
| index a9c1106..1aa38b3 100644 | ||||
| --- a/src/libdecor.c | ||||
| +++ b/src/libdecor.c | ||||
| @@ -1391,22 +1391,32 @@ calculate_priority(const struct libdecor_plugin_description *plugin_description) | ||||
|  static bool | ||||
|  check_symbol_conflicts(const struct libdecor_plugin_description *plugin_description) | ||||
|  { | ||||
| +	bool ret = true; | ||||
|  	char * const *symbol; | ||||
| +	void* main_prog = dlopen(NULL, RTLD_LAZY); | ||||
| +	if (!main_prog) { | ||||
| +		fprintf(stderr, "Plugin \"%s\" couldn't check conflicting symbols: \"%s\".\n", | ||||
| +					plugin_description->description, dlerror()); | ||||
| +		return false; | ||||
| +	} | ||||
| + | ||||
|   | ||||
|  	symbol = plugin_description->conflicting_symbols; | ||||
|  	while (*symbol) { | ||||
|  		dlerror(); | ||||
| -		dlsym (RTLD_DEFAULT, *symbol); | ||||
| +		dlsym (main_prog, *symbol); | ||||
|  		if (!dlerror()) { | ||||
|  			fprintf(stderr, "Plugin \"%s\" uses conflicting symbol \"%s\".\n", | ||||
|  					plugin_description->description, *symbol); | ||||
| -			return false; | ||||
| +			ret = false; | ||||
| +			break; | ||||
|  		} | ||||
|   | ||||
|  		symbol++; | ||||
|  	} | ||||
|   | ||||
| -	return true; | ||||
| +	dlclose(main_prog); | ||||
| +	return ret; | ||||
|  } | ||||
|   | ||||
|  static struct plugin_loader * | ||||
| @@ -5,7 +5,7 @@ for i in {0..9}; do | ||||
|     test -S "$XDG_RUNTIME_DIR"/discord-ipc-"$i" || ln -sf {app/com.discordapp.Discord,"$XDG_RUNTIME_DIR"}/discord-ipc-"$i"; | ||||
| done | ||||
|  | ||||
| export PATH="${PATH}${PATH:+:}/app/utils/gamescope/bin:/usr/lib/extensions/vulkan/MangoHud/bin" | ||||
| export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}${LD_LIBRARY_PATH:+:}/usr/lib/extensions/vulkan/MangoHud/\$LIB/" | ||||
| export PATH="${PATH}${PATH:+:}/usr/lib/extensions/vulkan/gamescope/bin:/usr/lib/extensions/vulkan/MangoHud/bin" | ||||
| export VK_LAYER_PATH="/usr/lib/extensions/vulkan/share/vulkan/implicit_layer.d/" | ||||
|  | ||||
| exec /app/bin/prismrun "$@" | ||||
|   | ||||
							
								
								
									
										1
									
								
								flatpak/shared-modules
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								flatpak/shared-modules
									
									
									
									
									
										Submodule
									
								
							 Submodule flatpak/shared-modules added at 45094ca570
									
								
							
		Reference in New Issue
	
	Block a user