From 70f2da8fdf313c22ffcb72d492cc7c865d6cb77e Mon Sep 17 00:00:00 2001 From: TSRBerry <20988865+TSRBerry@users.noreply.github.com> Date: Fri, 25 Nov 2022 18:40:44 +0100 Subject: [PATCH] ava: Fix invisible vulkan window on Linux (#3901) Co-authored-by: emmauss Co-authored-by: emmauss --- Ryujinx.Ava/Ui/Controls/EmbeddedWindow.cs | 6 ++++-- Ryujinx.Ava/Ui/Controls/VulkanEmbeddedWindow.cs | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Ryujinx.Ava/Ui/Controls/EmbeddedWindow.cs b/Ryujinx.Ava/Ui/Controls/EmbeddedWindow.cs index d9fae93a..f60ee7e0 100644 --- a/Ryujinx.Ava/Ui/Controls/EmbeddedWindow.cs +++ b/Ryujinx.Ava/Ui/Controls/EmbeddedWindow.cs @@ -6,8 +6,8 @@ using SPB.Graphics; using SPB.Platform; using SPB.Platform.GLX; using SPB.Platform.X11; +using SPB.Windowing; using System; -using System.Reflection; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Threading.Tasks; @@ -96,12 +96,14 @@ namespace Ryujinx.Ava.Ui.Controls [SupportedOSPlatform("linux")] IPlatformHandle CreateLinux(IPlatformHandle parent) { - X11Window = PlatformHelper.CreateOpenGLWindow(FramebufferFormat.Default, 0, 0, 100, 100) as GLXWindow; + X11Window = new GLXWindow(new NativeHandle(X11.DefaultDisplay), new NativeHandle(parent.Handle)); WindowHandle = X11Window.WindowHandle.RawHandle; X11Display = X11Window.DisplayHandle.RawHandle; + X11Window.Hide(); + return new PlatformHandle(WindowHandle, "X11"); } diff --git a/Ryujinx.Ava/Ui/Controls/VulkanEmbeddedWindow.cs b/Ryujinx.Ava/Ui/Controls/VulkanEmbeddedWindow.cs index d2c980dd..4954c882 100644 --- a/Ryujinx.Ava/Ui/Controls/VulkanEmbeddedWindow.cs +++ b/Ryujinx.Ava/Ui/Controls/VulkanEmbeddedWindow.cs @@ -20,7 +20,7 @@ namespace Ryujinx.Ava.Ui } else if (OperatingSystem.IsLinux()) { - _window = X11Window; + _window = new SimpleX11Window(new NativeHandle(X11Display), new NativeHandle(WindowHandle)); } else {