Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/amd_igpu_black_window.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
default: patch
---

# Fixed the launcher going black on Windows with AMD iGPUs
5 changes: 5 additions & 0 deletions .changeset/opaque_window_background.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
default: patch
---

# Cleared the window to opaque black instead of transparent
2 changes: 1 addition & 1 deletion packages/oneclient_app/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ fn main() {
.with_size(1200., 800.)
.with_min_size(800., 600.)
.with_transparency(false)
.with_background(Color::TRANSPARENT)
.with_background(Color::BLACK)
// A half-copied data folder is unrecoverable, so the window refuses to
// close while one is being moved; the move screen says as much
.with_on_close(|_, _| {
Expand Down
14 changes: 9 additions & 5 deletions packages/oneclient_app/src/platform.rs
Original file line number Diff line number Diff line change
Expand Up @@ -415,11 +415,15 @@ pub mod frame {
return;
};

match gpu_name.filter(|gpu| {
*graphics_driver == "OpenGL" && gpu.contains("Intel") && !gpu.contains("Arc")
}) {
Some(gpu) => install(hwnd, gpu),
None => decorate(window, hwnd),
let gpu = gpu_name.unwrap_or("an unknown GPU");
let composes_frame = *graphics_driver != "OpenGL"
|| gpu.contains("NVIDIA")
|| gpu.contains("Arc")
|| (gpu.contains(" RX ") && !gpu.contains("Vega"));
if composes_frame {
decorate(window, hwnd);
} else if gpu.contains("Intel") {
install(hwnd, gpu);
}
}
}
Expand Down
Loading