{"record":{"id":"3708fc30c7e8ad73","repo":"stride3d/stride","slug":"none-of-the-graphics-profiles-notsupportedprofiles-are","errorCode":null,"errorMessage":"None of the graphics profiles [{notSupportedProfiles}] are supported by the Graphics Device. The highest available profile is [{availableGraphicsProfile}].","messagePattern":"None of the graphics profiles \\[(.+?)\\] are supported by the Graphics Device\\. The highest available profile is \\[(.+?)\\]\\.","errorType":"exception","errorClass":"InvalidOperationException","httpStatus":null,"severity":"error","filePath":"sources/engine/Stride.Games/GraphicsDeviceManager.cs","lineNumber":684,"sourceCode":"                : preferredParameters.PreferredBackBufferFormat.ToNonSRgb();\n\n            // Setup resized value if there is a resize pending\n            if (!IsFullScreen && isBackBufferToResize)\n            {\n                preferredParameters.PreferredBackBufferWidth = resizedBackBufferWidth;\n                preferredParameters.PreferredBackBufferHeight = resizedBackBufferHeight;\n            }\n\n            var devices = graphicsDeviceFactory.FindBestDevices(preferredParameters);\n            if (devices.Count == 0)\n            {\n                // Nothing was found; first, let's check if graphics profile was actually supported\n                // NOTE: We don't do this preemptively because in some cases it seems to take lot of time\n                //       (happened on a test machine, several seconds freeze on ID3D11Device.Release())\n                if (!IsPreferredProfileAvailable(preferredParameters.PreferredGraphicsProfile, out var availableGraphicsProfile))\n                {\n                    var notSupportedProfiles = string.Join(\", \", preferredParameters.PreferredGraphicsProfile);\n                    throw new InvalidOperationException($\"None of the graphics profiles [{notSupportedProfiles}] are supported by the Graphics Device. \" +\n                        $\"The highest available profile is [{availableGraphicsProfile}].\");\n                }\n\n                // Otherwise, there was just no screen mode\n                throw new InvalidOperationException(\"No compatible screen mode found\");\n            }\n\n            RankDevices(devices);\n\n            if (devices.Count == 0)\n            {\n                throw new InvalidOperationException(\"No compatible screen modes found after ranking\");\n            }\n            return devices[0];\n        }\n\n        /// <summary>\n        ///   Ranks a list of <see cref=\"GraphicsDeviceInformation\"/>s before creating a new Graphics Device.","sourceCodeStart":666,"sourceCodeEnd":702,"githubUrl":"https://github.com/stride3d/stride/blob/96fad776d210c221682aac1ccdf4c79dc046fc38/sources/engine/Stride.Games/GraphicsDeviceManager.cs#L666-L702","documentation":"GraphicsDeviceManager.FindBestDevice throws this when no device was found and none of the profiles listed in PreferredGraphicsProfile are supported by the available hardware/driver. It reports the highest profile the device actually supports so the developer can lower their requirements. Stride checks profile support only after a failed device search because the query is expensive.","triggerScenarios":"CreateDevice/FindBestDevice runs, enumerates devices, finds none compatible, and IsPreferredProfileAvailable confirms the device's max profile is below every entry in preferredParameters.PreferredGraphicsProfile (e.g. requesting Level_11_1 on hardware limited to Level_10_0 or FL9_1).","commonSituations":"Running on old GPUs or virtual machines (no D3D11 support), remote desktop sessions without GPU, outdated drivers, or requesting a high profile like Level_12_0 on a machine that only has DirectX 11.","solutions":["Lower the PreferredGraphicsProfile list to include profiles at or below the reported highest available profile (e.g. add GraphicsProfile.Level_10_0 or Level_9_1).","Update the GPU driver, or run on physical hardware with adequate DirectX support instead of a VM/RDP session.","Verify with the reported availableGraphicsProfile and set graphicsDeviceManager.PreferredGraphicsProfile accordingly before calling Run."],"exampleFix":"// before\ngdm.PreferredGraphicsProfile = new[] { GraphicsProfile.Level_11_1 };\n// after\ngdm.PreferredGraphicsProfile = new[] { GraphicsProfile.Level_11_1, GraphicsProfile.Level_10_0 };","handlingStrategy":"fallback","validationCode":"// before Run: probe the max supported profile via the manager's\n// IsPreferredProfileAvailable if accessible, else request a low floor:\ngdm.PreferredGraphicsProfile = new[] {\n    GraphicsProfile.Level_11_1, GraphicsProfile.Level_10_0, GraphicsProfile.Level_9_1 };","typeGuard":null,"tryCatchPattern":"try { game.Run(); }\ncatch (InvalidOperationException ex) when (ex.Message.StartsWith(\"None of the graphics profiles\"))\n{\n    // parse the reported highest available profile and lower requirements\n    logger.LogWarning(ex.Message);\n}","preventionTips":["Always include a low GraphicsProfile (Level_9_1/10_0) as a fallback in PreferredGraphicsProfile.","Test on VMs, RDP and low-end GPUs before release.","Keep GPU drivers current on target machines."],"tags":["graphics","gpu","directx","hardware-compatibility"],"backgroundTag":"unsupported-operation","analyzedSha":"96fad776d210c221682aac1ccdf4c79dc046fc38","analyzedAt":"2026-09-14T02:59:31.279Z","contentChangedAt":"2026-09-14T02:59:31.279Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}