core icon indicating copy to clipboard operation
core copied to clipboard

hello world example panics

Open 0pcom opened this issue 1 year ago • 5 comments

Describe the bug

After installing cmd/core and running core setup I attempted to run the basics / hello world example: https://www.cogentcore.org/core/basics/hello-world this panics.

How to reproduce

OS: archlinux Golang: go1.23.0 linux/amd64

Example code

package main

import "cogentcore.org/core/core"

func main() {
	b := core.NewBody()
	core.NewButton(b).SetText("Hello, World!")
	b.RunMainWindow()
}

Relevant output

$ go run main.go
panic: runtime error: index out of range [0] with length 0

goroutine 1 [running, locked to thread]:
cogentcore.org/core/gpu.(*GPU).init(0xc0001b2360)
	/home/user/go/src/github.com/user/project/vendor/cogentcore.org/core/gpu/gpu.go:108 +0x418
cogentcore.org/core/gpu.NewGPU(...)
	/home/user/go/src/github.com/user/project/vendor/cogentcore.org/core/gpu/gpu.go:88
cogentcore.org/core/system/driver/desktop.(*App).InitGPU(0x1dc1240)
/home/user/go/src/github.com/user/project/vendor/cogentcore.org/core/system/driver/desktop/app.go:91 +0x174
cogentcore.org/core/system/driver/desktop.Init()
	/home/user/go/src/github.com/user/project/vendor/cogentcore.org/core/system/driver/desktop/app.go:29 +0x1f
cogentcore.org/core/system/driver.init.0()
	/home/user/go/src/github.com/user/project/vendor/cogentcore.org/core/system/driver/driver_desktop.go:30 +0xb8
exit status 2

Platform

Linux

0pcom avatar Sep 13 '24 17:09 0pcom

Thank you for reporting this. Can you try running this command and paste in the output here?

go run cogentcore.org/core/gpu/cmd/webgpuinfo@main

kkoreilly avatar Sep 13 '24 19:09 kkoreilly

I ran the following from ssh session to the machine where I have cogent installed; that may be the reason for the logging No windowing system present

Will try to test it again when I'm actually at that machine.

$ go run cogentcore.org/core/gpu/cmd/webgpuinfo@main
[wgpu] [Warn] Unable to find extension: VK_KHR_surface
[wgpu] [Warn] Unable to find extension: VK_KHR_xlib_surface
[wgpu] [Warn] Unable to find extension: VK_KHR_xcb_surface
[wgpu] [Warn] Unable to find extension: VK_KHR_wayland_surface
[wgpu] [Warn] Unable to find extension: VK_EXT_swapchain_colorspace
[wgpu] [Warn] Unable to find extension: VK_KHR_get_physical_device_properties2
[wgpu] [Warn] No windowing system present. Using surfaceless platform
[wgpu] [Warn] No config found!
[wgpu] [Warn] No config found!

#####################################################################
WebGPU Adapter number: 0   Type: integrated-gpu   Backend: open-gl
{
	"VendorId": 32902,
	"VendorName": "0x8086",
	"Architecture": "",
	"DeviceId": 0,
	"Name": "0x0",
	"DriverDescription": "Mesa Intel(R) HD Graphics 4000 (IVB GT2)",
	"AdapterType": 1,
	"BackendType": 7
}

{
	"Limits": {
		"MaxTextureDimension1D": 16384,
		"MaxTextureDimension2D": 16384,
		"MaxTextureDimension3D": 2048,
		"MaxTextureArrayLayers": 2048,
		"MaxBindGroups": 8,
		"MaxBindingsPerBindGroup": 65535,
		"MaxDynamicUniformBuffersPerPipelineLayout": 15,
		"MaxDynamicStorageBuffersPerPipelineLayout": 0,
		"MaxSampledTexturesPerShaderStage": 16,
		"MaxSamplersPerShaderStage": 16,
		"MaxStorageBuffersPerShaderStage": 0,
		"MaxStorageTexturesPerShaderStage": 0,
		"MaxUniformBuffersPerShaderStage": 15,
		"MaxUniformBufferBindingSize": 65536,
		"MaxStorageBufferBindingSize": 0,
		"MinUniformBufferOffsetAlignment": 32,
		"MinStorageBufferOffsetAlignment": 256,
		"MaxVertexBuffers": 16,
		"MaxBufferSize": 2147483647,
		"MaxVertexAttributes": 16,
		"MaxVertexBufferArrayStride": 4294967295,
		"MaxInterStageShaderComponents": 128,
		"MaxInterStageShaderVariables": 0,
		"MaxColorAttachments": 0,
		"MaxColorAttachmentBytesPerSample": 0,
		"MaxComputeWorkgroupStorageSize": 0,
		"MaxComputeInvocationsPerWorkgroup": 0,
		"MaxComputeWorkgroupSizeX": 0,
		"MaxComputeWorkgroupSizeY": 0,
		"MaxComputeWorkgroupSizeZ": 0,
		"MaxComputeWorkgroupsPerDimension": 0,
		"MaxPushConstantSize": 0
	}
}

cogentcore/core looks like a great library, I'd love to see what it can really do if I can get it to work on this machine.

0pcom avatar Oct 15 '24 14:10 0pcom

Yes, I doubt that it would work correctly from ssh, so thank you for planning to test it directly on the machine.

kkoreilly avatar Oct 15 '24 14:10 kkoreilly

I'm using xfce4 if that is relevant

$ go run cogentcore.org/core/gpu/cmd/webgpuinfo@main
[wgpu] [Warn] Unable to find extension: VK_KHR_surface
[wgpu] [Warn] Unable to find extension: VK_KHR_xlib_surface
[wgpu] [Warn] Unable to find extension: VK_KHR_xcb_surface
[wgpu] [Warn] Unable to find extension: VK_KHR_wayland_surface
[wgpu] [Warn] Unable to find extension: VK_EXT_swapchain_colorspace
[wgpu] [Warn] Unable to find extension: VK_KHR_get_physical_device_properties2
[user@linux core]$ core setup
sudo pacman -S xorg-server-devel libxcursor libxrandr libxinerama libxi
[sudo] password for user: 
warning: xorg-server-devel-21.1.13-1 is up to date -- reinstalling
warning: libxcursor-1.2.2-1 is up to date -- reinstalling
warning: libxrandr-1.5.4-1 is up to date -- reinstalling
warning: libxinerama-1.1.5-2 is up to date -- reinstalling
warning: libxi-1.8.2-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (5) libxcursor-1.2.2-1  libxi-1.8.2-1  libxinerama-1.1.5-2  libxrandr-1.5.4-1
             xorg-server-devel-21.1.13-1

Total Installed Size:  1.84 MiB
Net Upgrade Size:      0.00 MiB

:: Proceed with installation? [Y/n] y
(5/5) checking keys in keyring                               [################################] 100%
(5/5) checking package integrity                             [################################] 100%
(5/5) loading package files                                  [################################] 100%
(5/5) checking for file conflicts                            [################################] 100%
(5/5) checking available disk space                          [################################] 100%
:: Processing package changes...
(1/5) reinstalling xorg-server-devel                         [################################] 100%
(2/5) reinstalling libxcursor                                [################################] 100%
(3/5) reinstalling libxrandr                                 [################################] 100%
(4/5) reinstalling libxinerama                               [################################] 100%
(5/5) reinstalling libxi                                     [################################] 100%
:: Running post-transaction hooks...
(1/4) Arming ConditionNeedsUpdate...
(2/4) Create a backup list of all installed packages
(3/4) Check if user should be informed about rebooting after certain system package upgrades.
(4/4) Checking which packages need to be rebuilt
core setup succeeded

I know i have core installed but it seems there is no simple way to check the version.

Also, for the record, if you put n here because you just want to skip reinstalling the current versions which you have already installed

:: Proceed with installation? [Y/n] n

then it will not go on to actually print core setup succeeded.

0pcom avatar Oct 15 '24 18:10 0pcom

Thank you for the information. Can you try this command?

go run github.com/cogentcore/webgpu/examples/triangle@main

kkoreilly avatar Oct 18 '24 22:10 kkoreilly

The window briefly appears ; then the example crashes

$ go run github.com/cogentcore/webgpu/examples/triangle@main
[wgpu] [Warn] Unable to find extension: VK_KHR_surface
[wgpu] [Warn] Unable to find extension: VK_KHR_xlib_surface
[wgpu] [Warn] Unable to find extension: VK_KHR_xcb_surface
[wgpu] [Warn] Unable to find extension: VK_KHR_wayland_surface
[wgpu] [Warn] Unable to find extension: VK_EXT_swapchain_colorspace
[wgpu] [Warn] Unable to find extension: VK_KHR_get_physical_device_properties2
thread '<unnamed>' panicked at /home/runner/.cargo/git/checkouts/wgpu-53e70f8674b08dd4/87576b7/wgpu-core/src/instance.rs:521:39:
called `Option::unwrap()` on a `None` value
stack backtrace:
   0:           0x94d7b5 - <unknown>
   1:           0x99ba3b - <unknown>
   2:           0x942d9f - <unknown>
   3:           0x94d58e - <unknown>
   4:           0x94ffc9 - <unknown>
   5:           0x94fd6a - <unknown>
   6:           0x950523 - <unknown>
   7:           0x9503cb - <unknown>
   8:           0x94dc79 - <unknown>
   9:           0x950137 - <unknown>
  10:           0x43d253 - <unknown>
  11:           0x43d2fc - <unknown>
  12:           0x43d1b9 - <unknown>
  13:           0x9fa67d - <unknown>
  14:           0x5474c5 - <unknown>
  15:           0x5216eb - <unknown>
  16:           0x4ac524 - <unknown>
fatal runtime error: failed to initiate panic, error 5
SIGABRT: abort
PC=0x718cebfc83f4 m=0 sigcode=18446744073709551610
signal arrived during cgo execution

goroutine 1 gp=0xc0000061c0 m=0 mp=0xde4220 [syscall, locked to thread]:
runtime.cgocall(0x5216d0, 0xc000068af0)
	/usr/lib/go/src/runtime/cgocall.go:167 +0x4b fp=0xc000068ac8 sp=0xc000068a90 pc=0x4a0bab
github.com/cogentcore/webgpu/wgpu._Cfunc_wgpuInstanceCreateSurface(0x2f9f6790, 0xc000016060)
	_cgo_gotypes.go:2344 +0x4c fp=0xc000068af0 sp=0xc000068ac8 pc=0x4f6b4c
github.com/cogentcore/webgpu/wgpu.(*Instance).CreateSurface.func8(0x20?, 0xc000016060)
	/home/user/go/pkg/mod/github.com/cogentcore/[email protected]/wgpu/instance.go:180 +0x6c fp=0xc000068b30 sp=0xc000068af0 pc=0x4fd9ac
github.com/cogentcore/webgpu/wgpu.(*Instance).CreateSurface(0xc000014160, 0xc000034080)
	/home/user/go/pkg/mod/github.com/cogentcore/[email protected]/wgpu/instance.go:180 +0x6c7 fp=0xc000068c20 sp=0xc000068b30 pc=0x4fd7c7
main.InitState[...](0xc00013a000, 0xc000034080)
	/home/user/go/pkg/mod/github.com/cogentcore/[email protected]/examples/triangle/main.go:57 +0xf0 fp=0xc000068e80 sp=0xc000068c20 pc=0x508c30
main.main()
	/home/user/go/pkg/mod/github.com/cogentcore/[email protected]/examples/triangle/glfw.go:27 +0xe5 fp=0xc000068f50 sp=0xc000068e80 pc=0x5075c5
runtime.main()
	/usr/lib/go/src/runtime/proc.go:272 +0x28b fp=0xc000068fe0 sp=0xc000068f50 pc=0x474f2b
runtime.goexit({})
	/usr/lib/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000068fe8 sp=0xc000068fe0 pc=0x4ac8a1

goroutine 2 gp=0xc000006c40 m=nil [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	/usr/lib/go/src/runtime/proc.go:424 +0xce fp=0xc000056fa8 sp=0xc000056f88 pc=0x4a59ee
runtime.goparkunlock(...)
	/usr/lib/go/src/runtime/proc.go:430
runtime.forcegchelper()
	/usr/lib/go/src/runtime/proc.go:337 +0xb3 fp=0xc000056fe0 sp=0xc000056fa8 pc=0x475273
runtime.goexit({})
	/usr/lib/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000056fe8 sp=0xc000056fe0 pc=0x4ac8a1
created by runtime.init.7 in goroutine 1
	/usr/lib/go/src/runtime/proc.go:325 +0x1a

goroutine 3 gp=0xc000007180 m=nil [GC sweep wait]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	/usr/lib/go/src/runtime/proc.go:424 +0xce fp=0xc000057780 sp=0xc000057760 pc=0x4a59ee
runtime.goparkunlock(...)
	/usr/lib/go/src/runtime/proc.go:430
runtime.bgsweep(0xc00007c000)
	/usr/lib/go/src/runtime/mgcsweep.go:277 +0x94 fp=0xc0000577c8 sp=0xc000057780 pc=0x4608d4
runtime.gcenable.gowrap1()
	/usr/lib/go/src/runtime/mgc.go:203 +0x25 fp=0xc0000577e0 sp=0xc0000577c8 pc=0x455265
runtime.goexit({})
	/usr/lib/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc0000577e8 sp=0xc0000577e0 pc=0x4ac8a1
created by runtime.gcenable in goroutine 1
	/usr/lib/go/src/runtime/mgc.go:203 +0x66

goroutine 4 gp=0xc000007340 m=nil [GC scavenge wait]:
runtime.gopark(0xc00007c000?, 0xadf3f8?, 0x1?, 0x0?, 0xc000007340?)
	/usr/lib/go/src/runtime/proc.go:424 +0xce fp=0xc000057f78 sp=0xc000057f58 pc=0x4a59ee
runtime.goparkunlock(...)
	/usr/lib/go/src/runtime/proc.go:430
runtime.(*scavengerState).park(0xde3480)
	/usr/lib/go/src/runtime/mgcscavenge.go:425 +0x49 fp=0xc000057fa8 sp=0xc000057f78 pc=0x45e309
runtime.bgscavenge(0xc00007c000)
	/usr/lib/go/src/runtime/mgcscavenge.go:653 +0x3c fp=0xc000057fc8 sp=0xc000057fa8 pc=0x45e87c
runtime.gcenable.gowrap2()
	/usr/lib/go/src/runtime/mgc.go:204 +0x25 fp=0xc000057fe0 sp=0xc000057fc8 pc=0x455205
runtime.goexit({})
	/usr/lib/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000057fe8 sp=0xc000057fe0 pc=0x4ac8a1
created by runtime.gcenable in goroutine 1
	/usr/lib/go/src/runtime/mgc.go:204 +0xa5

goroutine 18 gp=0xc000104700 m=nil [finalizer wait]:
runtime.gopark(0xc000056648?, 0x44bda5?, 0xb0?, 0x1?, 0xc0000061c0?)
	/usr/lib/go/src/runtime/proc.go:424 +0xce fp=0xc000056620 sp=0xc000056600 pc=0x4a59ee
runtime.runfinq()
	/usr/lib/go/src/runtime/mfinal.go:193 +0x107 fp=0xc0000567e0 sp=0xc000056620 pc=0x4542e7
runtime.goexit({})
	/usr/lib/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc0000567e8 sp=0xc0000567e0 pc=0x4ac8a1
created by runtime.createfing in goroutine 1
	/usr/lib/go/src/runtime/mfinal.go:163 +0x3d

rax    0x0
rbx    0x2a95
rcx    0x718cebfc83f4
rdx    0x6
rdi    0x2a95
rsi    0x2a95
rbp    0x7ffe2a8a24e0
rsp    0x7ffe2a8a24a0
r8     0x0
r9     0x0
r10    0x8
r11    0x246
r12    0x718cebde1c40
r13    0x0
r14    0x6
r15    0x718cebde1c40
rip    0x718cebfc83f4
rflags 0x246
cs     0x33
fs     0x0
gs     0x0
exit status 2


0pcom avatar Nov 08 '24 19:11 0pcom

@0pcom Thank you for the information. Can you follow the steps linked below to install Vulkan and see if that fixes the issue? If it doesn't, please send the output of vulkaninfo.

https://wiki.archlinux.org/title/Vulkan

kkoreilly avatar Nov 09 '24 06:11 kkoreilly

$  go run github.com/cogentcore/webgpu/examples/triangle@main
MESA-INTEL: warning: Ivy Bridge Vulkan support is incomplete
[wgpu] [Warn] Adapter is not Vulkan compliant, hiding adapter: Intel(R) HD Graphics 4000 (IVB GT2)
panic: failed to request adapter

goroutine 1 [running, locked to thread]:
main.main()
	/home/user/go/pkg/mod/github.com/cogentcore/[email protected]/examples/triangle/glfw.go:29 +0x325
exit status 2

$ vulkaninfo
MESA-INTEL: warning: Ivy Bridge Vulkan support is incomplete
==========
VULKANINFO
==========

Vulkan Instance Version: 1.3.295


Instance Extensions: count = 24
===============================
	VK_EXT_acquire_drm_display             : extension revision 1
	VK_EXT_acquire_xlib_display            : extension revision 1
	VK_EXT_debug_report                    : extension revision 10
	VK_EXT_debug_utils                     : extension revision 2
	VK_EXT_direct_mode_display             : extension revision 1
	VK_EXT_display_surface_counter         : extension revision 1
	VK_EXT_headless_surface                : extension revision 1
	VK_EXT_surface_maintenance1            : extension revision 1
	VK_EXT_swapchain_colorspace            : extension revision 4
	VK_KHR_device_group_creation           : extension revision 1
	VK_KHR_display                         : extension revision 23
	VK_KHR_external_fence_capabilities     : extension revision 1
	VK_KHR_external_memory_capabilities    : extension revision 1
	VK_KHR_external_semaphore_capabilities : extension revision 1
	VK_KHR_get_display_properties2         : extension revision 1
	VK_KHR_get_physical_device_properties2 : extension revision 2
	VK_KHR_get_surface_capabilities2       : extension revision 1
	VK_KHR_portability_enumeration         : extension revision 1
	VK_KHR_surface                         : extension revision 25
	VK_KHR_surface_protected_capabilities  : extension revision 1
	VK_KHR_wayland_surface                 : extension revision 6
	VK_KHR_xcb_surface                     : extension revision 6
	VK_KHR_xlib_surface                    : extension revision 6
	VK_LUNARG_direct_driver_loading        : extension revision 1

Layers: count = 1
=================
VK_LAYER_KHRONOS_validation (Khronos Validation Layer) Vulkan version 1.3.290, layer version 1:
	Layer Extensions: count = 4
		VK_EXT_debug_report        : extension revision 9
		VK_EXT_debug_utils         : extension revision 1
		VK_EXT_layer_settings      : extension revision 2
		VK_EXT_validation_features : extension revision 2
	Devices: count = 1
		GPU id = 0 (Intel(R) HD Graphics 4000 (IVB GT2))
		Layer-Device Extensions: count = 3
			VK_EXT_debug_marker     : extension revision 4
			VK_EXT_tooling_info     : extension revision 1
			VK_EXT_validation_cache : extension revision 1

Presentable Surfaces:
=====================
GPU id : 0 (Intel(R) HD Graphics 4000 (IVB GT2)):
	Surface types: count = 2
		VK_KHR_xcb_surface
		VK_KHR_xlib_surface
	Formats: count = 2
		SurfaceFormat[0]:
			format = FORMAT_B8G8R8A8_SRGB
			colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
		SurfaceFormat[1]:
			format = FORMAT_B8G8R8A8_UNORM
			colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
	Present Modes: count = 4
		PRESENT_MODE_IMMEDIATE_KHR
		PRESENT_MODE_MAILBOX_KHR
		PRESENT_MODE_FIFO_KHR
		PRESENT_MODE_FIFO_RELAXED_KHR
	VkSurfaceCapabilitiesKHR:
	-------------------------
		minImageCount = 3
		maxImageCount = 0
		currentExtent:
			width  = 256
			height = 256
		minImageExtent:
			width  = 256
			height = 256
		maxImageExtent:
			width  = 256
			height = 256
		maxImageArrayLayers = 1
		supportedTransforms: count = 1
			SURFACE_TRANSFORM_IDENTITY_BIT_KHR
		currentTransform = SURFACE_TRANSFORM_IDENTITY_BIT_KHR
		supportedCompositeAlpha: count = 2
			COMPOSITE_ALPHA_OPAQUE_BIT_KHR
			COMPOSITE_ALPHA_INHERIT_BIT_KHR
		supportedUsageFlags: count = 6
			IMAGE_USAGE_TRANSFER_SRC_BIT
			IMAGE_USAGE_TRANSFER_DST_BIT
			IMAGE_USAGE_SAMPLED_BIT
			IMAGE_USAGE_STORAGE_BIT
			IMAGE_USAGE_COLOR_ATTACHMENT_BIT
			IMAGE_USAGE_INPUT_ATTACHMENT_BIT
	VkSurfaceProtectedCapabilitiesKHR:
	----------------------------------
		supportsProtected = false

	VK_EXT_surface_maintenance_1:
	-----------------------------
		PRESENT_MODE_IMMEDIATE_KHR:
			VkSurfacePresentScalingCapabilitiesEXT:
				supportedPresentScaling:
					None
				supportedPresentGravityX:
					None
				supportedPresentGravityY:
					None
				minScaledImageExtent:
					width  = 256
					height = 256
				maxScaledImageExtent:
					width  = 256
					height = 256
			VkSurfacePresentModeCompatibilityEXT:
				presentModeCount                = 4
				pPresentModes: count = 4
					PRESENT_MODE_IMMEDIATE_KHR
					PRESENT_MODE_MAILBOX_KHR
					PRESENT_MODE_FIFO_KHR
					PRESENT_MODE_FIFO_RELAXED_KHR
		PRESENT_MODE_MAILBOX_KHR:
			VkSurfacePresentScalingCapabilitiesEXT:
				supportedPresentScaling:
					None
				supportedPresentGravityX:
					None
				supportedPresentGravityY:
					None
				minScaledImageExtent:
					width  = 256
					height = 256
				maxScaledImageExtent:
					width  = 256
					height = 256
			VkSurfacePresentModeCompatibilityEXT:
				presentModeCount                = 4
				pPresentModes: count = 4
					PRESENT_MODE_MAILBOX_KHR
					PRESENT_MODE_IMMEDIATE_KHR
					PRESENT_MODE_FIFO_KHR
					PRESENT_MODE_FIFO_RELAXED_KHR
		PRESENT_MODE_FIFO_KHR:
			VkSurfacePresentScalingCapabilitiesEXT:
				supportedPresentScaling:
					None
				supportedPresentGravityX:
					None
				supportedPresentGravityY:
					None
				minScaledImageExtent:
					width  = 256
					height = 256
				maxScaledImageExtent:
					width  = 256
					height = 256
			VkSurfacePresentModeCompatibilityEXT:
				presentModeCount                = 4
				pPresentModes: count = 4
					PRESENT_MODE_FIFO_KHR
					PRESENT_MODE_IMMEDIATE_KHR
					PRESENT_MODE_MAILBOX_KHR
					PRESENT_MODE_FIFO_RELAXED_KHR
		PRESENT_MODE_FIFO_RELAXED_KHR:
			VkSurfacePresentScalingCapabilitiesEXT:
				supportedPresentScaling:
					None
				supportedPresentGravityX:
					None
				supportedPresentGravityY:
					None
				minScaledImageExtent:
					width  = 256
					height = 256
				maxScaledImageExtent:
					width  = 256
					height = 256
			VkSurfacePresentModeCompatibilityEXT:
				presentModeCount                = 4
				pPresentModes: count = 4
					PRESENT_MODE_FIFO_RELAXED_KHR
					PRESENT_MODE_IMMEDIATE_KHR
					PRESENT_MODE_MAILBOX_KHR
					PRESENT_MODE_FIFO_KHR


Device Properties and Extensions:
=================================
GPU0:
VkPhysicalDeviceProperties:
---------------------------
	apiVersion        = 1.2.289 (4202785)
	driverVersion     = 24.2.6 (100671494)
	vendorID          = 0x8086
	deviceID          = 0x0162
	deviceType        = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
	deviceName        = Intel(R) HD Graphics 4000 (IVB GT2)
	pipelineCacheUUID = af7933e1-1779-0224-1b6b-a8370a0d4731

VkPhysicalDeviceLimits:
-----------------------
	maxImageDimension1D                             = 16384
	maxImageDimension2D                             = 8192
	maxImageDimension3D                             = 2048
	maxImageDimensionCube                           = 16384
	maxImageArrayLayers                             = 2048
	maxTexelBufferElements                          = 134217728
	maxUniformBufferRange                           = 134217728
	maxStorageBufferRange                           = 1073741824
	maxPushConstantsSize                            = 128
	maxMemoryAllocationCount                        = 4294967295
	maxSamplerAllocationCount                       = 65536
	bufferImageGranularity                          = 0x00000001
	sparseAddressSpaceSize                          = 0x00000000
	maxBoundDescriptorSets                          = 32
	maxPerStageDescriptorSamplers                   = 16
	maxPerStageDescriptorUniformBuffers             = 64
	maxPerStageDescriptorStorageBuffers             = 64
	maxPerStageDescriptorSampledImages              = 128
	maxPerStageDescriptorStorageImages              = 64
	maxPerStageDescriptorInputAttachments           = 64
	maxPerStageResources                            = 231
	maxDescriptorSetSamplers                        = 96
	maxDescriptorSetUniformBuffers                  = 384
	maxDescriptorSetUniformBuffersDynamic           = 8
	maxDescriptorSetStorageBuffers                  = 384
	maxDescriptorSetStorageBuffersDynamic           = 8
	maxDescriptorSetSampledImages                   = 768
	maxDescriptorSetStorageImages                   = 384
	maxDescriptorSetInputAttachments                = 256
	maxVertexInputAttributes                        = 29
	maxVertexInputBindings                          = 31
	maxVertexInputAttributeOffset                   = 2047
	maxVertexInputBindingStride                     = 2048
	maxVertexOutputComponents                       = 128
	maxTessellationGenerationLevel                  = 64
	maxTessellationPatchSize                        = 32
	maxTessellationControlPerVertexInputComponents  = 128
	maxTessellationControlPerVertexOutputComponents = 128
	maxTessellationControlPerPatchOutputComponents  = 128
	maxTessellationControlTotalOutputComponents     = 2048
	maxTessellationEvaluationInputComponents        = 128
	maxTessellationEvaluationOutputComponents       = 128
	maxGeometryShaderInvocations                    = 32
	maxGeometryInputComponents                      = 64
	maxGeometryOutputComponents                     = 128
	maxGeometryOutputVertices                       = 256
	maxGeometryTotalOutputComponents                = 1024
	maxFragmentInputComponents                      = 116
	maxFragmentOutputAttachments                    = 8
	maxFragmentDualSrcAttachments                   = 1
	maxFragmentCombinedOutputResources              = 136
	maxComputeSharedMemorySize                      = 65536
	maxComputeWorkGroupCount: count = 3
		65535
		65535
		65535
	maxComputeWorkGroupInvocations                  = 1024
	maxComputeWorkGroupSize: count = 3
		1024
		1024
		1024
	subPixelPrecisionBits                           = 8
	subTexelPrecisionBits                           = 8
	mipmapPrecisionBits                             = 8
	maxDrawIndexedIndexValue                        = 4294967295
	maxDrawIndirectCount                            = 4294967295
	maxSamplerLodBias                               = 16
	maxSamplerAnisotropy                            = 16
	maxViewports                                    = 16
	maxViewportDimensions: count = 2
		16384
		16384
	viewportBoundsRange: count = 2
		-32768
		32767
	viewportSubPixelBits                            = 13
	minMemoryMapAlignment                           = 4096
	minTexelBufferOffsetAlignment                   = 0x00000010
	minUniformBufferOffsetAlignment                 = 0x00000040
	minStorageBufferOffsetAlignment                 = 0x00000004
	minTexelOffset                                  = -8
	maxTexelOffset                                  = 7
	minTexelGatherOffset                            = -32
	maxTexelGatherOffset                            = 31
	minInterpolationOffset                          = -0.5
	maxInterpolationOffset                          = 0.4375
	subPixelInterpolationOffsetBits                 = 4
	maxFramebufferWidth                             = 16384
	maxFramebufferHeight                            = 16384
	maxFramebufferLayers                            = 2048
	framebufferColorSampleCounts: count = 3
		SAMPLE_COUNT_1_BIT
		SAMPLE_COUNT_4_BIT
		SAMPLE_COUNT_8_BIT
	framebufferDepthSampleCounts: count = 3
		SAMPLE_COUNT_1_BIT
		SAMPLE_COUNT_4_BIT
		SAMPLE_COUNT_8_BIT
	framebufferStencilSampleCounts: count = 3
		SAMPLE_COUNT_1_BIT
		SAMPLE_COUNT_4_BIT
		SAMPLE_COUNT_8_BIT
	framebufferNoAttachmentsSampleCounts: count = 3
		SAMPLE_COUNT_1_BIT
		SAMPLE_COUNT_4_BIT
		SAMPLE_COUNT_8_BIT
	maxColorAttachments                             = 8
	sampledImageColorSampleCounts: count = 3
		SAMPLE_COUNT_1_BIT
		SAMPLE_COUNT_4_BIT
		SAMPLE_COUNT_8_BIT
	sampledImageIntegerSampleCounts: count = 1
		SAMPLE_COUNT_1_BIT
	sampledImageDepthSampleCounts: count = 3
		SAMPLE_COUNT_1_BIT
		SAMPLE_COUNT_4_BIT
		SAMPLE_COUNT_8_BIT
	sampledImageStencilSampleCounts: count = 3
		SAMPLE_COUNT_1_BIT
		SAMPLE_COUNT_4_BIT
		SAMPLE_COUNT_8_BIT
	storageImageSampleCounts: count = 1
		SAMPLE_COUNT_1_BIT
	maxSampleMaskWords                              = 1
	timestampComputeAndGraphics                     = true
	timestampPeriod                                 = 80
	maxClipDistances                                = 8
	maxCullDistances                                = 8
	maxCombinedClipAndCullDistances                 = 8
	discreteQueuePriorities                         = 2
	pointSizeRange: count = 2
		0.125
		255.875
	lineWidthRange: count = 2
		0
		7.99219
	pointSizeGranularity                            = 0.125
	lineWidthGranularity                            = 0.0078125
	strictLines                                     = false
	standardSampleLocations                         = true
	optimalBufferCopyOffsetAlignment                = 0x00000080
	optimalBufferCopyRowPitchAlignment              = 0x00000080
	nonCoherentAtomSize                             = 0x00000040

VkPhysicalDeviceSparseProperties:
---------------------------------
	residencyStandard2DBlockShape            = false
	residencyStandard2DMultisampleBlockShape = false
	residencyStandard3DBlockShape            = false
	residencyAlignedMipSize                  = false
	residencyNonResidentStrict               = false

VkPhysicalDeviceDepthStencilResolveProperties:
----------------------------------------------
	supportedDepthResolveModes: count = 4
		RESOLVE_MODE_SAMPLE_ZERO_BIT
		RESOLVE_MODE_AVERAGE_BIT
		RESOLVE_MODE_MIN_BIT
		RESOLVE_MODE_MAX_BIT
	supportedStencilResolveModes: count = 1
		RESOLVE_MODE_SAMPLE_ZERO_BIT
	independentResolveNone = true
	independentResolve     = true

VkPhysicalDeviceDescriptorIndexingProperties:
---------------------------------------------
	maxUpdateAfterBindDescriptorsInAllPools              = 1048576
	shaderUniformBufferArrayNonUniformIndexingNative     = false
	shaderSampledImageArrayNonUniformIndexingNative      = false
	shaderStorageBufferArrayNonUniformIndexingNative     = true
	shaderStorageImageArrayNonUniformIndexingNative      = false
	shaderInputAttachmentArrayNonUniformIndexingNative   = false
	robustBufferAccessUpdateAfterBind                    = true
	quadDivergentImplicitLod                             = false
	maxPerStageDescriptorUpdateAfterBindSamplers         = 1048576
	maxPerStageDescriptorUpdateAfterBindUniformBuffers   = 64
	maxPerStageDescriptorUpdateAfterBindStorageBuffers   = 4294967295
	maxPerStageDescriptorUpdateAfterBindSampledImages    = 1048576
	maxPerStageDescriptorUpdateAfterBindStorageImages    = 1048576
	maxPerStageDescriptorUpdateAfterBindInputAttachments = 64
	maxPerStageUpdateAfterBindResources                  = 4294967295
	maxDescriptorSetUpdateAfterBindSamplers              = 1048576
	maxDescriptorSetUpdateAfterBindUniformBuffers        = 384
	maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = 8
	maxDescriptorSetUpdateAfterBindStorageBuffers        = 4294967295
	maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = 8
	maxDescriptorSetUpdateAfterBindSampledImages         = 1048576
	maxDescriptorSetUpdateAfterBindStorageImages         = 1048576
	maxDescriptorSetUpdateAfterBindInputAttachments      = 256

VkPhysicalDeviceDriverProperties:
---------------------------------
	driverID        = DRIVER_ID_INTEL_OPEN_SOURCE_MESA
	driverName      = Intel open-source Mesa driver
	driverInfo      = Mesa 24.2.6-arch1.1
	conformanceVersion:
		major    = 0
		minor    = 0
		subminor = 0
		patch    = 0

VkPhysicalDeviceDrmPropertiesEXT:
---------------------------------
	hasPrimary   = true
	hasRender    = true
	primaryMajor = 226
	primaryMinor = 0
	renderMajor  = 226
	renderMinor  = 128

VkPhysicalDeviceExternalMemoryHostPropertiesEXT:
------------------------------------------------
	minImportedHostPointerAlignment = 0x00001000

VkPhysicalDeviceFloatControlsProperties:
----------------------------------------
	denormBehaviorIndependence            = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
	roundingModeIndependence              = SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE
	shaderSignedZeroInfNanPreserveFloat16 = true
	shaderSignedZeroInfNanPreserveFloat32 = true
	shaderSignedZeroInfNanPreserveFloat64 = true
	shaderDenormPreserveFloat16           = false
	shaderDenormPreserveFloat32           = false
	shaderDenormPreserveFloat64           = true
	shaderDenormFlushToZeroFloat16        = false
	shaderDenormFlushToZeroFloat32        = true
	shaderDenormFlushToZeroFloat64        = true
	shaderRoundingModeRTEFloat16          = true
	shaderRoundingModeRTEFloat32          = true
	shaderRoundingModeRTEFloat64          = true
	shaderRoundingModeRTZFloat16          = true
	shaderRoundingModeRTZFloat32          = true
	shaderRoundingModeRTZFloat64          = true

VkPhysicalDeviceIDProperties:
-----------------------------
	deviceUUID      = 86806201-0900-0000-0002-000000000000
	driverUUID      = f4ae99b0-78b2-b32d-0d2e-bb25c36bced5
	deviceNodeMask  = 0
	deviceLUIDValid = false

VkPhysicalDeviceInlineUniformBlockPropertiesEXT:
------------------------------------------------
	maxInlineUniformBlockSize                               = 4096
	maxPerStageDescriptorInlineUniformBlocks                = 32
	maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = 32
	maxDescriptorSetInlineUniformBlocks                     = 32
	maxDescriptorSetUpdateAfterBindInlineUniformBlocks      = 32

VkPhysicalDeviceLineRasterizationPropertiesEXT:
-----------------------------------------------
	lineSubPixelPrecisionBits = 4

VkPhysicalDeviceMaintenance3Properties:
---------------------------------------
	maxPerSetDescriptors    = 1024
	maxMemoryAllocationSize = 0x80000000

VkPhysicalDeviceMaintenance4PropertiesKHR:
------------------------------------------
	maxBufferSize = 0x40000000

VkPhysicalDeviceMultiDrawPropertiesEXT:
---------------------------------------
	maxMultiDrawCount = 2048

VkPhysicalDeviceMultiviewProperties:
------------------------------------
	maxMultiviewViewCount     = 16
	maxMultiviewInstanceIndex = 268435455

VkPhysicalDevicePCIBusInfoPropertiesEXT:
----------------------------------------
	pciDomain   = 0
	pciBus      = 0
	pciDevice   = 2
	pciFunction = 0

VkPhysicalDevicePointClippingProperties:
----------------------------------------
	pointClippingBehavior = POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY

VkPhysicalDeviceProtectedMemoryProperties:
------------------------------------------
	protectedNoFault = false

VkPhysicalDeviceProvokingVertexPropertiesEXT:
---------------------------------------------
	provokingVertexModePerPipeline                       = true
	transformFeedbackPreservesTriangleFanProvokingVertex = false

VkPhysicalDevicePushDescriptorPropertiesKHR:
--------------------------------------------
	maxPushDescriptors = 32

VkPhysicalDeviceRobustness2PropertiesEXT:
-----------------------------------------
	robustStorageBufferAccessSizeAlignment = 0x00000004
	robustUniformBufferAccessSizeAlignment = 0x00000040

VkPhysicalDeviceSampleLocationsPropertiesEXT:
---------------------------------------------
	sampleLocationSampleCounts: count = 3
		SAMPLE_COUNT_1_BIT
		SAMPLE_COUNT_4_BIT
		SAMPLE_COUNT_8_BIT
	maxSampleLocationGridSize:
		width  = 1
		height = 1
	sampleLocationCoordinateRange: count = 2
		0
		0.9375
	sampleLocationSubPixelBits       = 4
	variableSampleLocations          = true

VkPhysicalDeviceSamplerFilterMinmaxProperties:
----------------------------------------------
	filterMinmaxSingleComponentFormats = false
	filterMinmaxImageComponentMapping  = false

VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR:
-----------------------------------------------------
	integerDotProduct8BitUnsignedAccelerated                                      = false
	integerDotProduct8BitSignedAccelerated                                        = false
	integerDotProduct8BitMixedSignednessAccelerated                               = false
	integerDotProduct4x8BitPackedUnsignedAccelerated                              = false
	integerDotProduct4x8BitPackedSignedAccelerated                                = false
	integerDotProduct4x8BitPackedMixedSignednessAccelerated                       = false
	integerDotProduct16BitUnsignedAccelerated                                     = false
	integerDotProduct16BitSignedAccelerated                                       = false
	integerDotProduct16BitMixedSignednessAccelerated                              = false
	integerDotProduct32BitUnsignedAccelerated                                     = false
	integerDotProduct32BitSignedAccelerated                                       = false
	integerDotProduct32BitMixedSignednessAccelerated                              = false
	integerDotProduct64BitUnsignedAccelerated                                     = false
	integerDotProduct64BitSignedAccelerated                                       = false
	integerDotProduct64BitMixedSignednessAccelerated                              = false
	integerDotProductAccumulatingSaturating8BitUnsignedAccelerated                = false
	integerDotProductAccumulatingSaturating8BitSignedAccelerated                  = false
	integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated         = false
	integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated        = false
	integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated          = false
	integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = false
	integerDotProductAccumulatingSaturating16BitUnsignedAccelerated               = false
	integerDotProductAccumulatingSaturating16BitSignedAccelerated                 = false
	integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated        = false
	integerDotProductAccumulatingSaturating32BitUnsignedAccelerated               = false
	integerDotProductAccumulatingSaturating32BitSignedAccelerated                 = false
	integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated        = false
	integerDotProductAccumulatingSaturating64BitUnsignedAccelerated               = false
	integerDotProductAccumulatingSaturating64BitSignedAccelerated                 = false
	integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated        = false

VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT:
----------------------------------------------------
	shaderModuleIdentifierAlgorithmUUID     = 4d455341-2d42-4c41-4b45-330000000000

VkPhysicalDeviceSubgroupProperties:
-----------------------------------
	subgroupSize              = 32
	supportedStages: count = 2
		SHADER_STAGE_FRAGMENT_BIT
		SHADER_STAGE_COMPUTE_BIT
	supportedOperations: count = 6
		SUBGROUP_FEATURE_BASIC_BIT
		SUBGROUP_FEATURE_VOTE_BIT
		SUBGROUP_FEATURE_BALLOT_BIT
		SUBGROUP_FEATURE_SHUFFLE_BIT
		SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
		SUBGROUP_FEATURE_QUAD_BIT
	quadOperationsInAllStages = false

VkPhysicalDeviceSubgroupSizeControlPropertiesEXT:
-------------------------------------------------
	minSubgroupSize              = 8
	maxSubgroupSize              = 32
	maxComputeWorkgroupSubgroups = 64
	requiredSubgroupSizeStages: count = 1
		SHADER_STAGE_COMPUTE_BIT

VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT:
--------------------------------------------------
	storageTexelBufferOffsetAlignmentBytes       = 0x00000010
	storageTexelBufferOffsetSingleTexelAlignment = true
	uniformTexelBufferOffsetAlignmentBytes       = 0x00000001
	uniformTexelBufferOffsetSingleTexelAlignment = true

VkPhysicalDeviceTimelineSemaphoreProperties:
--------------------------------------------
	maxTimelineSemaphoreValueDifference = 18446744073709551615

VkPhysicalDeviceTransformFeedbackPropertiesEXT:
-----------------------------------------------
	maxTransformFeedbackStreams                = 4
	maxTransformFeedbackBuffers                = 4
	maxTransformFeedbackBufferSize             = 0x100000000
	maxTransformFeedbackStreamDataSize         = 512
	maxTransformFeedbackBufferDataSize         = 512
	maxTransformFeedbackBufferDataStride       = 2048
	transformFeedbackQueries                   = true
	transformFeedbackStreamsLinesTriangles     = false
	transformFeedbackRasterizationStreamSelect = false
	transformFeedbackDraw                      = false

VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT:
----------------------------------------------------
	maxVertexAttribDivisor = 268435455

VkPhysicalDeviceVulkan11Properties:
-----------------------------------
	deviceUUID                        = 86806201-0900-0000-0002-000000000000
	driverUUID                        = f4ae99b0-78b2-b32d-0d2e-bb25c36bced5
	deviceNodeMask                    = 0
	deviceLUIDValid                   = false
	subgroupSize                      = 32
	subgroupSupportedStages: count = 2
		SHADER_STAGE_FRAGMENT_BIT
		SHADER_STAGE_COMPUTE_BIT
	subgroupSupportedOperations: count = 6
		SUBGROUP_FEATURE_BASIC_BIT
		SUBGROUP_FEATURE_VOTE_BIT
		SUBGROUP_FEATURE_BALLOT_BIT
		SUBGROUP_FEATURE_SHUFFLE_BIT
		SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
		SUBGROUP_FEATURE_QUAD_BIT
	subgroupQuadOperationsInAllStages = false
	pointClippingBehavior             = POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY
	maxMultiviewViewCount             = 16
	maxMultiviewInstanceIndex         = 268435455
	protectedNoFault                  = false
	maxPerSetDescriptors              = 1024
	maxMemoryAllocationSize           = 0x80000000

VkPhysicalDeviceVulkan12Properties:
-----------------------------------
	driverID                                             = DRIVER_ID_INTEL_OPEN_SOURCE_MESA
	driverName                                           = Intel open-source Mesa driver
	driverInfo                                           = Mesa 24.2.6-arch1.1
	conformanceVersion:
		major    = 0
		minor    = 0
		subminor = 0
		patch    = 0
	denormBehaviorIndependence                           = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
	roundingModeIndependence                             = SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE
	shaderSignedZeroInfNanPreserveFloat16                = true
	shaderSignedZeroInfNanPreserveFloat32                = true
	shaderSignedZeroInfNanPreserveFloat64                = true
	shaderDenormPreserveFloat16                          = false
	shaderDenormPreserveFloat32                          = false
	shaderDenormPreserveFloat64                          = true
	shaderDenormFlushToZeroFloat16                       = false
	shaderDenormFlushToZeroFloat32                       = true
	shaderDenormFlushToZeroFloat64                       = true
	shaderRoundingModeRTEFloat16                         = true
	shaderRoundingModeRTEFloat32                         = true
	shaderRoundingModeRTEFloat64                         = true
	shaderRoundingModeRTZFloat16                         = true
	shaderRoundingModeRTZFloat32                         = true
	shaderRoundingModeRTZFloat64                         = true
	maxUpdateAfterBindDescriptorsInAllPools              = 1048576
	shaderUniformBufferArrayNonUniformIndexingNative     = false
	shaderSampledImageArrayNonUniformIndexingNative      = false
	shaderStorageBufferArrayNonUniformIndexingNative     = true
	shaderStorageImageArrayNonUniformIndexingNative      = false
	shaderInputAttachmentArrayNonUniformIndexingNative   = false
	robustBufferAccessUpdateAfterBind                    = true
	quadDivergentImplicitLod                             = false
	maxPerStageDescriptorUpdateAfterBindSamplers         = 1048576
	maxPerStageDescriptorUpdateAfterBindUniformBuffers   = 64
	maxPerStageDescriptorUpdateAfterBindStorageBuffers   = 4294967295
	maxPerStageDescriptorUpdateAfterBindSampledImages    = 1048576
	maxPerStageDescriptorUpdateAfterBindStorageImages    = 1048576
	maxPerStageDescriptorUpdateAfterBindInputAttachments = 64
	maxPerStageUpdateAfterBindResources                  = 4294967295
	maxDescriptorSetUpdateAfterBindSamplers              = 1048576
	maxDescriptorSetUpdateAfterBindUniformBuffers        = 384
	maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = 8
	maxDescriptorSetUpdateAfterBindStorageBuffers        = 4294967295
	maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = 8
	maxDescriptorSetUpdateAfterBindSampledImages         = 1048576
	maxDescriptorSetUpdateAfterBindStorageImages         = 1048576
	maxDescriptorSetUpdateAfterBindInputAttachments      = 256
	supportedDepthResolveModes: count = 4
		RESOLVE_MODE_SAMPLE_ZERO_BIT
		RESOLVE_MODE_AVERAGE_BIT
		RESOLVE_MODE_MIN_BIT
		RESOLVE_MODE_MAX_BIT
	supportedStencilResolveModes: count = 1
		RESOLVE_MODE_SAMPLE_ZERO_BIT
	independentResolveNone                               = true
	independentResolve                                   = true
	filterMinmaxSingleComponentFormats                   = false
	filterMinmaxImageComponentMapping                    = false
	maxTimelineSemaphoreValueDifference                  = 18446744073709551615
	framebufferIntegerColorSampleCounts: count = 1
		SAMPLE_COUNT_1_BIT


VkPhysicalDeviceHostImageCopyPropertiesEXT:
-------------------------------------------
	copySrcLayoutCount                  = 0
	pCopySrcLayouts:
	copyDstLayoutCount                  = 0
	pCopyDstLayouts:
	optimalTilingLayoutUUID             = 00000000-0000-0000-0000-000000000000
	identicalMemoryTypeRequirements     = false
Device Extensions: count = 105
	VK_EXT_4444_formats                         : extension revision 1
	VK_EXT_calibrated_timestamps                : extension revision 2
	VK_EXT_color_write_enable                   : extension revision 1
	VK_EXT_depth_clamp_zero_one                 : extension revision 1
	VK_EXT_depth_clip_control                   : extension revision 1
	VK_EXT_depth_clip_enable                    : extension revision 1
	VK_EXT_display_control                      : extension revision 1
	VK_EXT_extended_dynamic_state               : extension revision 1
	VK_EXT_extended_dynamic_state2              : extension revision 1
	VK_EXT_external_memory_dma_buf              : extension revision 1
	VK_EXT_external_memory_host                 : extension revision 1
	VK_EXT_host_query_reset                     : extension revision 1
	VK_EXT_image_2d_view_of_3d                  : extension revision 1
	VK_EXT_image_drm_format_modifier            : extension revision 2
	VK_EXT_image_robustness                     : extension revision 1
	VK_EXT_image_view_min_lod                   : extension revision 1
	VK_EXT_index_type_uint8                     : extension revision 1
	VK_EXT_inline_uniform_block                 : extension revision 1
	VK_EXT_line_rasterization                   : extension revision 1
	VK_EXT_memory_budget                        : extension revision 1
	VK_EXT_multi_draw                           : extension revision 1
	VK_EXT_non_seamless_cube_map                : extension revision 1
	VK_EXT_pci_bus_info                         : extension revision 2
	VK_EXT_physical_device_drm                  : extension revision 1
	VK_EXT_pipeline_creation_cache_control      : extension revision 3
	VK_EXT_pipeline_creation_feedback           : extension revision 1
	VK_EXT_primitive_topology_list_restart      : extension revision 1
	VK_EXT_primitives_generated_query           : extension revision 1
	VK_EXT_private_data                         : extension revision 1
	VK_EXT_provoking_vertex                     : extension revision 1
	VK_EXT_queue_family_foreign                 : extension revision 1
	VK_EXT_robustness2                          : extension revision 1
	VK_EXT_sample_locations                     : extension revision 1
	VK_EXT_scalar_block_layout                  : extension revision 1
	VK_EXT_separate_stencil_usage               : extension revision 1
	VK_EXT_shader_atomic_float                  : extension revision 1
	VK_EXT_shader_demote_to_helper_invocation   : extension revision 1
	VK_EXT_shader_module_identifier             : extension revision 1
	VK_EXT_shader_replicated_composites         : extension revision 1
	VK_EXT_shader_subgroup_ballot               : extension revision 1
	VK_EXT_shader_subgroup_vote                 : extension revision 1
	VK_EXT_shader_viewport_index_layer          : extension revision 1
	VK_EXT_subgroup_size_control                : extension revision 2
	VK_EXT_texel_buffer_alignment               : extension revision 1
	VK_EXT_tooling_info                         : extension revision 1
	VK_EXT_transform_feedback                   : extension revision 1
	VK_EXT_vertex_attribute_divisor             : extension revision 3
	VK_EXT_ycbcr_image_arrays                   : extension revision 1
	VK_GOOGLE_decorate_string                   : extension revision 1
	VK_GOOGLE_hlsl_functionality1               : extension revision 1
	VK_GOOGLE_user_type                         : extension revision 1
	VK_KHR_bind_memory2                         : extension revision 1
	VK_KHR_copy_commands2                       : extension revision 1
	VK_KHR_create_renderpass2                   : extension revision 1
	VK_KHR_dedicated_allocation                 : extension revision 3
	VK_KHR_deferred_host_operations             : extension revision 4
	VK_KHR_depth_stencil_resolve                : extension revision 1
	VK_KHR_descriptor_update_template           : extension revision 1
	VK_KHR_device_group                         : extension revision 4
	VK_KHR_draw_indirect_count                  : extension revision 1
	VK_KHR_driver_properties                    : extension revision 1
	VK_KHR_dynamic_rendering                    : extension revision 1
	VK_KHR_external_fence                       : extension revision 1
	VK_KHR_external_fence_fd                    : extension revision 1
	VK_KHR_external_memory                      : extension revision 1
	VK_KHR_external_memory_fd                   : extension revision 1
	VK_KHR_external_semaphore                   : extension revision 1
	VK_KHR_external_semaphore_fd                : extension revision 1
	VK_KHR_format_feature_flags2                : extension revision 2
	VK_KHR_get_memory_requirements2             : extension revision 1
	VK_KHR_image_format_list                    : extension revision 1
	VK_KHR_imageless_framebuffer                : extension revision 1
	VK_KHR_incremental_present                  : extension revision 2
	VK_KHR_maintenance1                         : extension revision 2
	VK_KHR_maintenance2                         : extension revision 1
	VK_KHR_maintenance3                         : extension revision 1
	VK_KHR_maintenance4                         : extension revision 2
	VK_KHR_multiview                            : extension revision 1
	VK_KHR_pipeline_executable_properties       : extension revision 1
	VK_KHR_push_descriptor                      : extension revision 2
	VK_KHR_relaxed_block_layout                 : extension revision 1
	VK_KHR_sampler_mirror_clamp_to_edge         : extension revision 3
	VK_KHR_sampler_ycbcr_conversion             : extension revision 14
	VK_KHR_separate_depth_stencil_layouts       : extension revision 1
	VK_KHR_shader_clock                         : extension revision 1
	VK_KHR_shader_draw_parameters               : extension revision 1
	VK_KHR_shader_expect_assume                 : extension revision 1
	VK_KHR_shader_float_controls                : extension revision 4
	VK_KHR_shader_integer_dot_product           : extension revision 1
	VK_KHR_shader_non_semantic_info             : extension revision 1
	VK_KHR_shader_subgroup_uniform_control_flow : extension revision 1
	VK_KHR_shader_terminate_invocation          : extension revision 1
	VK_KHR_spirv_1_4                            : extension revision 1
	VK_KHR_storage_buffer_storage_class         : extension revision 1
	VK_KHR_swapchain                            : extension revision 70
	VK_KHR_swapchain_mutable_format             : extension revision 1
	VK_KHR_synchronization2                     : extension revision 1
	VK_KHR_timeline_semaphore                   : extension revision 2
	VK_KHR_uniform_buffer_standard_layout       : extension revision 1
	VK_KHR_variable_pointers                    : extension revision 1
	VK_KHR_vulkan_memory_model                  : extension revision 3
	VK_KHR_workgroup_memory_explicit_layout     : extension revision 1
	VK_KHR_zero_initialize_workgroup_memory     : extension revision 1
	VK_NV_compute_shader_derivatives            : extension revision 1
	VK_VALVE_mutable_descriptor_type            : extension revision 1

VkQueueFamilyProperties:
========================
	queueProperties[0]:
	-------------------
		minImageTransferGranularity = (1,1,1)
		queueCount                  = 1
		queueFlags                  = QUEUE_GRAPHICS_BIT | QUEUE_COMPUTE_BIT | QUEUE_TRANSFER_BIT
		timestampValidBits          = 36
		present support             = true

VkPhysicalDeviceMemoryProperties:
=================================
memoryHeaps: count = 1
	memoryHeaps[0]:
		size   = 1610612736 (0x60000000) (1.50 GiB)
		budget = 1610612736 (0x60000000) (1.50 GiB)
		usage  = 0 (0x00000000) (0.00 B)
		flags: count = 1
			MEMORY_HEAP_DEVICE_LOCAL_BIT
memoryTypes: count = 2
	memoryTypes[0]:
		heapIndex     = 0
		propertyFlags = 0x0001: count = 1
			MEMORY_PROPERTY_DEVICE_LOCAL_BIT
		usable for:
			IMAGE_TILING_OPTIMAL:
				color images
				FORMAT_D16_UNORM
				FORMAT_X8_D24_UNORM_PACK32
				FORMAT_D32_SFLOAT
				FORMAT_S8_UINT
				FORMAT_D24_UNORM_S8_UINT
				FORMAT_D32_SFLOAT_S8_UINT
				(non-sparse)
			IMAGE_TILING_LINEAR:
				color images
				(non-sparse)
	memoryTypes[1]:
		heapIndex     = 0
		propertyFlags = 0x000f: count = 4
			MEMORY_PROPERTY_DEVICE_LOCAL_BIT
			MEMORY_PROPERTY_HOST_VISIBLE_BIT
			MEMORY_PROPERTY_HOST_COHERENT_BIT
			MEMORY_PROPERTY_HOST_CACHED_BIT
		usable for:
			IMAGE_TILING_OPTIMAL:
				color images
				FORMAT_D16_UNORM
				FORMAT_X8_D24_UNORM_PACK32
				FORMAT_D32_SFLOAT
				FORMAT_S8_UINT
				FORMAT_D24_UNORM_S8_UINT
				FORMAT_D32_SFLOAT_S8_UINT
				(non-sparse)
			IMAGE_TILING_LINEAR:
				color images
				(non-sparse)

VkPhysicalDeviceFeatures:
=========================
	robustBufferAccess                      = true
	fullDrawIndexUint32                     = true
	imageCubeArray                          = true
	independentBlend                        = true
	geometryShader                          = true
	tessellationShader                      = true
	sampleRateShading                       = true
	dualSrcBlend                            = true
	logicOp                                 = true
	multiDrawIndirect                       = true
	drawIndirectFirstInstance               = true
	depthClamp                              = true
	depthBiasClamp                          = true
	fillModeNonSolid                        = true
	depthBounds                             = false
	wideLines                               = true
	largePoints                             = true
	alphaToOne                              = true
	multiViewport                           = true
	samplerAnisotropy                       = true
	textureCompressionETC2                  = false
	textureCompressionASTC_LDR              = false
	textureCompressionBC                    = true
	occlusionQueryPrecise                   = true
	pipelineStatisticsQuery                 = true
	vertexPipelineStoresAndAtomics          = false
	fragmentStoresAndAtomics                = true
	shaderTessellationAndGeometryPointSize  = true
	shaderImageGatherExtended               = true
	shaderStorageImageExtendedFormats       = true
	shaderStorageImageMultisample           = false
	shaderStorageImageReadWithoutFormat     = false
	shaderStorageImageWriteWithoutFormat    = true
	shaderUniformBufferArrayDynamicIndexing = true
	shaderSampledImageArrayDynamicIndexing  = true
	shaderStorageBufferArrayDynamicIndexing = true
	shaderStorageImageArrayDynamicIndexing  = true
	shaderClipDistance                      = true
	shaderCullDistance                      = true
	shaderFloat64                           = false
	shaderInt64                             = false
	shaderInt16                             = false
	shaderResourceResidency                 = false
	shaderResourceMinLod                    = false
	sparseBinding                           = false
	sparseResidencyBuffer                   = false
	sparseResidencyImage2D                  = false
	sparseResidencyImage3D                  = false
	sparseResidency2Samples                 = false
	sparseResidency4Samples                 = false
	sparseResidency8Samples                 = false
	sparseResidency16Samples                = false
	sparseResidencyAliased                  = false
	variableMultisampleRate                 = true
	inheritedQueries                        = true

VkPhysicalDevice16BitStorageFeatures:
-------------------------------------
	storageBuffer16BitAccess           = false
	uniformAndStorageBuffer16BitAccess = false
	storagePushConstant16              = false
	storageInputOutput16               = false

VkPhysicalDevice4444FormatsFeaturesEXT:
---------------------------------------
	formatA4R4G4B4 = true
	formatA4B4G4R4 = false

VkPhysicalDevice8BitStorageFeatures:
------------------------------------
	storageBuffer8BitAccess           = false
	uniformAndStorageBuffer8BitAccess = false
	storagePushConstant8              = false

VkPhysicalDeviceBufferDeviceAddressFeatures:
--------------------------------------------
	bufferDeviceAddress              = false
	bufferDeviceAddressCaptureReplay = false
	bufferDeviceAddressMultiDevice   = false

VkPhysicalDeviceColorWriteEnableFeaturesEXT:
--------------------------------------------
	colorWriteEnable = true

VkPhysicalDeviceDepthClampZeroOneFeaturesEXT:
---------------------------------------------
	depthClampZeroOne = true

VkPhysicalDeviceDepthClipControlFeaturesEXT:
--------------------------------------------
	depthClipControl = true

VkPhysicalDeviceDepthClipEnableFeaturesEXT:
-------------------------------------------
	depthClipEnable = true

VkPhysicalDeviceDescriptorIndexingFeatures:
-------------------------------------------
	shaderInputAttachmentArrayDynamicIndexing          = false
	shaderUniformTexelBufferArrayDynamicIndexing       = false
	shaderStorageTexelBufferArrayDynamicIndexing       = false
	shaderUniformBufferArrayNonUniformIndexing         = false
	shaderSampledImageArrayNonUniformIndexing          = false
	shaderStorageBufferArrayNonUniformIndexing         = false
	shaderStorageImageArrayNonUniformIndexing          = false
	shaderInputAttachmentArrayNonUniformIndexing       = false
	shaderUniformTexelBufferArrayNonUniformIndexing    = false
	shaderStorageTexelBufferArrayNonUniformIndexing    = false
	descriptorBindingUniformBufferUpdateAfterBind      = false
	descriptorBindingSampledImageUpdateAfterBind       = false
	descriptorBindingStorageImageUpdateAfterBind       = false
	descriptorBindingStorageBufferUpdateAfterBind      = false
	descriptorBindingUniformTexelBufferUpdateAfterBind = false
	descriptorBindingStorageTexelBufferUpdateAfterBind = false
	descriptorBindingUpdateUnusedWhilePending          = false
	descriptorBindingPartiallyBound                    = false
	descriptorBindingVariableDescriptorCount           = false
	runtimeDescriptorArray                             = false

VkPhysicalDeviceDynamicRenderingFeaturesKHR:
--------------------------------------------
	dynamicRendering = true

VkPhysicalDeviceExtendedDynamicState2FeaturesEXT:
-------------------------------------------------
	extendedDynamicState2                   = true
	extendedDynamicState2LogicOp            = true
	extendedDynamicState2PatchControlPoints = false

VkPhysicalDeviceExtendedDynamicStateFeaturesEXT:
------------------------------------------------
	extendedDynamicState = true

VkPhysicalDeviceHostQueryResetFeatures:
---------------------------------------
	hostQueryReset = true

VkPhysicalDeviceImage2DViewOf3DFeaturesEXT:
-------------------------------------------
	image2DViewOf3D   = true
	sampler2DViewOf3D = false

VkPhysicalDeviceImageRobustnessFeaturesEXT:
-------------------------------------------
	robustImageAccess = true

VkPhysicalDeviceImageViewMinLodFeaturesEXT:
-------------------------------------------
	minLod = true

VkPhysicalDeviceImagelessFramebufferFeatures:
---------------------------------------------
	imagelessFramebuffer = true

VkPhysicalDeviceIndexTypeUint8FeaturesEXT:
------------------------------------------
	indexTypeUint8 = true

VkPhysicalDeviceInlineUniformBlockFeaturesEXT:
----------------------------------------------
	inlineUniformBlock                                 = true
	descriptorBindingInlineUniformBlockUpdateAfterBind = true

VkPhysicalDeviceLineRasterizationFeaturesEXT:
---------------------------------------------
	rectangularLines         = false
	bresenhamLines           = true
	smoothLines              = true
	stippledRectangularLines = false
	stippledBresenhamLines   = true
	stippledSmoothLines      = false

VkPhysicalDeviceMaintenance4FeaturesKHR:
----------------------------------------
	maintenance4 = true

VkPhysicalDeviceMultiDrawFeaturesEXT:
-------------------------------------
	multiDraw = true

VkPhysicalDeviceMultiviewFeatures:
----------------------------------
	multiview                   = true
	multiviewGeometryShader     = true
	multiviewTessellationShader = true

VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT:
-------------------------------------------------
	mutableDescriptorType = true

VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT:
----------------------------------------------
	nonSeamlessCubeMap = true

VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT:
--------------------------------------------------------
	pipelineCreationCacheControl = true

VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR:
--------------------------------------------------------
	pipelineExecutableInfo = true

VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT:
--------------------------------------------------------
	primitiveTopologyListRestart      = true
	primitiveTopologyPatchListRestart = true

VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT:
----------------------------------------------------
	primitivesGeneratedQuery                      = true
	primitivesGeneratedQueryWithRasterizerDiscard = false
	primitivesGeneratedQueryWithNonZeroStreams    = false

VkPhysicalDevicePrivateDataFeaturesEXT:
---------------------------------------
	privateData = true

VkPhysicalDeviceProtectedMemoryFeatures:
----------------------------------------
	protectedMemory = false

VkPhysicalDeviceProvokingVertexFeaturesEXT:
-------------------------------------------
	provokingVertexLast                       = true
	transformFeedbackPreservesProvokingVertex = true

VkPhysicalDeviceRobustness2FeaturesEXT:
---------------------------------------
	robustBufferAccess2 = true
	robustImageAccess2  = true
	nullDescriptor      = true

VkPhysicalDeviceSamplerYcbcrConversionFeatures:
-----------------------------------------------
	samplerYcbcrConversion = true

VkPhysicalDeviceScalarBlockLayoutFeatures:
------------------------------------------
	scalarBlockLayout = true

VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures:
----------------------------------------------------
	separateDepthStencilLayouts = true

VkPhysicalDeviceShaderAtomicFloatFeaturesEXT:
---------------------------------------------
	shaderBufferFloat32Atomics   = true
	shaderBufferFloat32AtomicAdd = false
	shaderBufferFloat64Atomics   = false
	shaderBufferFloat64AtomicAdd = false
	shaderSharedFloat32Atomics   = true
	shaderSharedFloat32AtomicAdd = false
	shaderSharedFloat64Atomics   = false
	shaderSharedFloat64AtomicAdd = false
	shaderImageFloat32Atomics    = true
	shaderImageFloat32AtomicAdd  = false
	sparseImageFloat32Atomics    = false
	sparseImageFloat32AtomicAdd  = false

VkPhysicalDeviceShaderAtomicInt64Features:
------------------------------------------
	shaderBufferInt64Atomics = false
	shaderSharedInt64Atomics = false

VkPhysicalDeviceShaderClockFeaturesKHR:
---------------------------------------
	shaderSubgroupClock = true
	shaderDeviceClock   = false

VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT:
----------------------------------------------------------
	shaderDemoteToHelperInvocation = true

VkPhysicalDeviceShaderDrawParametersFeatures:
---------------------------------------------
	shaderDrawParameters = true

VkPhysicalDeviceShaderFloat16Int8Features:
------------------------------------------
	shaderFloat16 = false
	shaderInt8    = false

VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR:
---------------------------------------------------
	shaderIntegerDotProduct = true

VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT:
--------------------------------------------------
	shaderModuleIdentifier = true

VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures:
----------------------------------------------------
	shaderSubgroupExtendedTypes = true

VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR:
------------------------------------------------------------
	shaderSubgroupUniformControlFlow = true

VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR:
-----------------------------------------------------
	shaderTerminateInvocation = true

VkPhysicalDeviceSubgroupSizeControlFeaturesEXT:
-----------------------------------------------
	subgroupSizeControl  = true
	computeFullSubgroups = true

VkPhysicalDeviceSynchronization2FeaturesKHR:
--------------------------------------------
	synchronization2 = true

VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT:
------------------------------------------------
	texelBufferAlignment = true

VkPhysicalDeviceTimelineSemaphoreFeatures:
------------------------------------------
	timelineSemaphore = true

VkPhysicalDeviceTransformFeedbackFeaturesEXT:
---------------------------------------------
	transformFeedback = true
	geometryStreams   = true

VkPhysicalDeviceUniformBufferStandardLayoutFeatures:
----------------------------------------------------
	uniformBufferStandardLayout = true

VkPhysicalDeviceVariablePointersFeatures:
-----------------------------------------
	variablePointersStorageBuffer = true
	variablePointers              = true

VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT:
--------------------------------------------------
	vertexAttributeInstanceRateDivisor     = true
	vertexAttributeInstanceRateZeroDivisor = true

VkPhysicalDeviceVulkan11Features:
---------------------------------
	storageBuffer16BitAccess           = false
	uniformAndStorageBuffer16BitAccess = false
	storagePushConstant16              = false
	storageInputOutput16               = false
	multiview                          = true
	multiviewGeometryShader            = true
	multiviewTessellationShader        = true
	variablePointersStorageBuffer      = true
	variablePointers                   = true
	protectedMemory                    = false
	samplerYcbcrConversion             = true
	shaderDrawParameters               = true

VkPhysicalDeviceVulkan12Features:
---------------------------------
	samplerMirrorClampToEdge                           = true
	drawIndirectCount                                  = true
	storageBuffer8BitAccess                            = false
	uniformAndStorageBuffer8BitAccess                  = false
	storagePushConstant8                               = false
	shaderBufferInt64Atomics                           = false
	shaderSharedInt64Atomics                           = false
	shaderFloat16                                      = false
	shaderInt8                                         = false
	descriptorIndexing                                 = false
	shaderInputAttachmentArrayDynamicIndexing          = false
	shaderUniformTexelBufferArrayDynamicIndexing       = false
	shaderStorageTexelBufferArrayDynamicIndexing       = false
	shaderUniformBufferArrayNonUniformIndexing         = false
	shaderSampledImageArrayNonUniformIndexing          = false
	shaderStorageBufferArrayNonUniformIndexing         = false
	shaderStorageImageArrayNonUniformIndexing          = false
	shaderInputAttachmentArrayNonUniformIndexing       = false
	shaderUniformTexelBufferArrayNonUniformIndexing    = false
	shaderStorageTexelBufferArrayNonUniformIndexing    = false
	descriptorBindingUniformBufferUpdateAfterBind      = false
	descriptorBindingSampledImageUpdateAfterBind       = false
	descriptorBindingStorageImageUpdateAfterBind       = false
	descriptorBindingStorageBufferUpdateAfterBind      = false
	descriptorBindingUniformTexelBufferUpdateAfterBind = false
	descriptorBindingStorageTexelBufferUpdateAfterBind = false
	descriptorBindingUpdateUnusedWhilePending          = false
	descriptorBindingPartiallyBound                    = false
	descriptorBindingVariableDescriptorCount           = false
	runtimeDescriptorArray                             = false
	samplerFilterMinmax                                = false
	scalarBlockLayout                                  = true
	imagelessFramebuffer                               = true
	uniformBufferStandardLayout                        = true
	shaderSubgroupExtendedTypes                        = true
	separateDepthStencilLayouts                        = true
	hostQueryReset                                     = true
	timelineSemaphore                                  = true
	bufferDeviceAddress                                = false
	bufferDeviceAddressCaptureReplay                   = false
	bufferDeviceAddressMultiDevice                     = false
	vulkanMemoryModel                                  = true
	vulkanMemoryModelDeviceScope                       = true
	vulkanMemoryModelAvailabilityVisibilityChains      = true
	shaderOutputViewportIndex                          = true
	shaderOutputLayer                                  = true
	subgroupBroadcastDynamicId                         = true

VkPhysicalDeviceVulkanMemoryModelFeatures:
------------------------------------------
	vulkanMemoryModel                             = true
	vulkanMemoryModelDeviceScope                  = true
	vulkanMemoryModelAvailabilityVisibilityChains = true

VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR:
---------------------------------------------------------
	workgroupMemoryExplicitLayout                  = true
	workgroupMemoryExplicitLayoutScalarBlockLayout = true
	workgroupMemoryExplicitLayout8BitAccess        = true
	workgroupMemoryExplicitLayout16BitAccess       = true

VkPhysicalDeviceYcbcrImageArraysFeaturesEXT:
--------------------------------------------
	ycbcrImageArrays = true

VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR:
---------------------------------------------------------
	shaderZeroInitializeWorkgroupMemory = true



0pcom avatar Nov 09 '24 23:11 0pcom

Thank you for trying that. Someone else had a similar issue previously (#1063) and got the same warnings, but it still worked for them using a llvmpipe software backend. Therefore, can you try installing mesa as described in the page linked below and see if it works? If it doesn't, please run eglinfo -B and go run cogentcore.org/core/gpu/cmd/webgpuinfo@main and send the output of both here.

https://wiki.archlinux.org/title/OpenGL

kkoreilly avatar Nov 09 '24 23:11 kkoreilly

I just got it working, by installing vulkan-swrast aka lavapipe go run github.com/cogentcore/webgpu/examples/triangle@main image

since this is an outstanding documentation issue, I suggest someone else close it. My issue is resolved.

0pcom avatar Nov 09 '24 23:11 0pcom

Great! I will update the documentation and install command accordingly and close the issue after that.

kkoreilly avatar Nov 10 '24 00:11 kkoreilly