diff --git a/internal/driver/glfw/window_desktop.go b/internal/driver/glfw/window_desktop.go index 21452ee897..9e34404217 100644 --- a/internal/driver/glfw/window_desktop.go +++ b/internal/driver/glfw/window_desktop.go @@ -307,14 +307,17 @@ func (w *window) getMonitorForWindow() *glfw.Monitor { func (w *window) detectScale() float32 { if build.IsWayland { // Wayland controls scale through content scaling - return 1.0 + return 1 } monitor := w.getMonitorForWindow() if monitor == nil { - return 1.0 + return 1 } - widthMm, _ := monitor.GetPhysicalSize() + widthMm, heightMm := monitor.GetPhysicalSize() + if runtime.GOOS == "linux" && widthMm == 60 && heightMm == 60 { // Steam Deck incorrectly reports 6cm square! + return 1 + } widthPx := monitor.GetVideoMode().Width return calculateDetectedScale(widthMm, widthPx)