{"record":{"id":"9e14b9b5399b3fcf","repo":"AvaloniaUI/Avalonia","slug":"androidplatformoptions-renderingmode-has-a-value-o","errorCode":null,"errorMessage":"AndroidPlatformOptions.RenderingMode has a value of \"{opts.RenderingMode}\", but no options were applied.","messagePattern":"AndroidPlatformOptions\\.RenderingMode has a value of \"(.+?)\", but no options were applied\\.","errorType":"exception","errorClass":"InvalidOperationException","httpStatus":null,"severity":"error","filePath":"src/Android/Avalonia.Android/AndroidPlatform.cs","lineNumber":138,"sourceCode":"                }\n\n                if (renderingMode == AndroidRenderingMode.Egl)\n                {\n                    if (EglPlatformGraphics.TryCreate() is { } egl)\n                    {\n                        return egl;\n                    }\n                }\n\n                if (renderingMode == AndroidRenderingMode.Vulkan)\n                {\n                    var vulkan = VulkanSupport.TryInitialize(AvaloniaLocator.Current.GetService<VulkanOptions>() ?? new());\n                    if (vulkan != null)\n                        return vulkan;\n                }\n            }\n\n            throw new InvalidOperationException($\"{nameof(AndroidPlatformOptions)}.{nameof(AndroidPlatformOptions.RenderingMode)} has a value of \\\"{string.Join(\", \", opts.RenderingMode)}\\\", but no options were applied.\");\n        }\n    }\n}\n","sourceCodeStart":120,"sourceCodeEnd":142,"githubUrl":"https://github.com/AvaloniaUI/Avalonia/blob/11c542726898ae954a1ef668c65ec79ec92ab17d/src/Android/Avalonia.Android/AndroidPlatform.cs#L120-L142","documentation":"Unlike error 31, here RenderingMode is non-empty, but every requested mode failed to produce a backend: Software was not requested (Software returns null only when listed), EGL's TryCreate returned null, and Vulkan's TryInitialize returned null. The loop falls through with no IPlatformGraphics selected, so the platform throws.","triggerScenarios":"Requesting only hardware modes (Egl and/or Vulkan) where none initializes: EGL context creation fails (no GPU/OpenGL ES), Vulkan device creation fails (no Vulkan loader/driver), and Software is not in the list as a fallback.","commonSituations":"Running on an emulator without GPU acceleration; a device with a broken GPU driver; missing Vulkan loader; EGL not available (headless). Most commonly fixed by appending AndroidRenderingMode.Software to the list.","solutions":["Add AndroidRenderingMode.Software to the RenderingMode list as a guaranteed fallback (it returns a non-null software backend).","Diagnose EGL/Vulkan init failures (driver, loader, emulator GPU setting).","On emulators, set the AVD to use hardware GLES / host GPU.","Install/update the device's GPU drivers and ensure libvulkan.so is present for Vulkan mode."],"exampleFix":"// before\nRenderingMode = new List<AndroidRenderingMode> { AndroidRenderingMode.Vulkan };\n\n// after (Vulkan/Egl tried first, software guaranteed)\nRenderingMode = new List<AndroidRenderingMode>\n{\n    AndroidRenderingMode.Vulkan,\n    AndroidRenderingMode.Egl,\n    AndroidRenderingMode.Software\n};","handlingStrategy":"fallback","validationCode":"// guarantee a software fallback so the loop never falls through\nif (!opts.RenderingMode.Contains(AndroidRenderingMode.Software))\n    opts.RenderingMode = opts.RenderingMode.Append(AndroidRenderingMode.Software).ToList();","typeGuard":"static bool HasSoftwareFallback(AndroidPlatformOptions o) =>\n    o.RenderingMode.Contains(AndroidRenderingMode.Software);","tryCatchPattern":"// fallback handled by options; if it still throws, surface GPU-init diagnostics rather than swallow.","preventionTips":["Always append Software to RenderingMode.","On emulators, enable host-GPU acceleration.","Keep device GPU drivers / Vulkan loader current."],"tags":["android","rendering","egl","vulkan","gpu-driver","emulator","fallback"],"backgroundTag":null,"analyzedSha":"11c542726898ae954a1ef668c65ec79ec92ab17d","analyzedAt":"2026-08-13T11:57:40.261Z","schemaVersion":2},"datasetVersion":"2026-08-13T14:17:21.547Z"}