pkgs: Add working Minecraft on Wayland GLFW
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				CI / Check, build and cache Nix flake (push) Failing after 12m18s
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	CI / Check, build and cache Nix flake (push) Failing after 12m18s
				
			This commit is contained in:
		
							
								
								
									
										6
									
								
								pkgs/glfw-minecraft/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								pkgs/glfw-minecraft/default.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
{ lib, glfw-wayland-minecraft, ... }:
 | 
			
		||||
glfw-wayland-minecraft.overrideAttrs (o: {
 | 
			
		||||
  patches = [
 | 
			
		||||
    ./suppress-wayland-errors.patch
 | 
			
		||||
  ];
 | 
			
		||||
})
 | 
			
		||||
							
								
								
									
										43
									
								
								pkgs/glfw-minecraft/suppress-wayland-errors.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								pkgs/glfw-minecraft/suppress-wayland-errors.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,43 @@
 | 
			
		||||
diff --git a/src/wl_window.c b/src/wl_window.c
 | 
			
		||||
index 7c509896..db9a6451 100644
 | 
			
		||||
--- a/src/wl_window.c
 | 
			
		||||
+++ b/src/wl_window.c
 | 
			
		||||
@@ -2115,25 +2115,21 @@ 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)
 | 
			
		||||
 {
 | 
			
		||||
     // A Wayland client is not aware of its position, so just warn and leave it
 | 
			
		||||
     // as (0, 0)
 | 
			
		||||
-
 | 
			
		||||
-    _glfwInputError(GLFW_FEATURE_UNAVAILABLE,
 | 
			
		||||
-                    "Wayland: The platform does not provide the window position");
 | 
			
		||||
+    fprintf(stderr, "!!! Ignoring Error: Wayland: The platform does not provide the window position\n");
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 void _glfwSetWindowPosWayland(_GLFWwindow* window, int xpos, int ypos)
 | 
			
		||||
 {
 | 
			
		||||
     // A Wayland client can not set its position, so just warn
 | 
			
		||||
 
 | 
			
		||||
-    _glfwInputError(GLFW_FEATURE_UNAVAILABLE,
 | 
			
		||||
-                    "Wayland: The platform does not support setting the window position");
 | 
			
		||||
+    fprintf(stderr, "!!! Ignoring Error: Wayland: The platform does not support setting the window position\n");
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 void _glfwGetWindowSizeWayland(_GLFWwindow* window, int* width, int* height)
 | 
			
		||||
@@ -2359,8 +2355,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,
 | 
			
		||||
		Reference in New Issue
	
	Block a user