nixos/tests/chromium: Add a workaround to fix the test for M96+
Some upstream changes broke the automatic fallback to SwiftShader. Without this workaround the GPU initialization fails (apparently due to requiring Vulkan): machine # libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null) machine # [1001:1001:1101/104304.000625:ERROR:viz_main_impl.cc(161)] Exiting GPU process due to errors during initialization machine # libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null) machine # [1052:1052:1101/104305.060496:ERROR:viz_main_impl.cc(161)] Exiting GPU process due to errors during initialization machine # [1084:1084:1101/104305.165898:ERROR:angle_platform_impl.cc(44)] Display.cpp:894 (initialize): ANGLE Display::initialize error 0: Internal Vulkan error (-3): Initialization of an object could not be completed for implementation-specific reasons, in ../../third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp, initialize:1048. machine # [1084:1084:1101/104305.171191:ERROR:gl_surface_egl.cc(782)] EGL Driver message (Critical) eglInitialize: Internal Vulkan error (-3): Initialization of an object could not be completed for implementation-specific reasons, in ../../third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp, initialize:1048. machine # [1084:1084:1101/104305.178707:ERROR:gl_surface_egl.cc(1382)] eglInitialize SwANGLE failed with error EGL_NOT_INITIALIZED machine # [1084:1084:1101/104305.180111:ERROR:gl_ozone_egl.cc(20)] GLSurfaceEGL::InitializeOneOff failed. machine # [1084:1084:1101/104305.189760:ERROR:viz_main_impl.cc(161)] Exiting GPU process due to errors during initialization machine # [1092:1092:1101/104305.233470:ERROR:gpu_init.cc(457)] Passthrough is not supported, GL is disabled, ANGLE is This workaround restores the previous result: machine # [1004:1004:1101/104551.131190:ERROR:gpu_init.cc(457)] Passthrough is not supported, GL is swiftshader, ANGLE is The workaround is only required for Chromium, not Google Chrome.
This commit is contained in:
parent
e49cd51ebc
commit
a188a74486
|
@ -80,6 +80,10 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
|
|||
binary = pname
|
||||
# Add optional CLI options:
|
||||
options = []
|
||||
major_version = "${versions.major (getVersion chromiumPkg.name)}"
|
||||
if major_version > "95" and not pname.startswith("google-chrome"):
|
||||
# Workaround to avoid a GPU crash:
|
||||
options.append("--use-gl=swiftshader")
|
||||
# Launch the process:
|
||||
options.append("file://${startupHTML}")
|
||||
machine.succeed(ru(f'ulimit -c unlimited; {binary} {shlex.join(options)} & disown'))
|
||||
|
|
Loading…
Reference in a new issue