7.60: Linux: Analog controls not working for menu/dialog

Ask here if you experience technical problems with X4: Foundations.

Moderator: Moderators for English X Forum

potens
Posts: 8
Joined: Sun, 23. Feb 25, 10:34
x4

7.60: Linux: Analog controls not working for menu/dialog

Post by potens »

Hi,

I'm trying to do my first setup to play the game but it sounds like there is a problem with the analog controls on Linux

So the "Emulated Mouse cursor" seems to not work at all. And, touching any of those remove completely the cursor from the screen (until using the mouse again), I _think_ the same applies to the dialog selection and map (dialog, I can confirm more or less, maps, not yet since I never passed the "walking tutorial, trying to configure controls while doing that)

Those same controls (different axis) are working in the game i.e. looking, walking and so on

I've tried with 2 WinWing Ursa Minor, 1 Xbox controller, 1 PS4 controller, 1 PS5 controller, 1 steam controller (for the sake to test if it was not related to my Ursa controllers)... on Desktop, some wired, some bluetooth

I've tried the steam deck controller, on the steam deck **EDIT: it works there.. because using Proton

I've tried with or without the steam overlay, with or without mouse confinement

Spec: Linux Arch (I know, unsupported, but...I guess it's the same for others...or will be soon) OR steam deck
Arch spec:
Show

Operating System: Arch Linux
KDE Plasma Version: 6.3.5
Kernel Version: 6.14.7-arch2-1 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 9800X3D 8-Core Processor
Memory: 62,4 GiB of RAM
Graphics Processor: NVIDIA GeForce RTX 4070 SUPER
Manufacturer: ASUS
Image
Image


EDIT: It seems this does not happen everytime :

Not touching any analog control:

Image

As soon as you touch anything that should emulate the mouse, the cursor disappears, and it seems nothing is working it does not sounds like the cursor is invisible, it sounds like it's not there at all (I've tried moving blindly the cursor a lot and interacting but I did not saw anything). On the steam deck, it's a bit different, the cursor is still visible maybe a second before being lost. ** EDIT: ignore Steamdeck remark

Image

/EDIT
vulkaninfo
Show

Code: Select all

WARNING: [Loader Message] Code 0 : Layer VK_LAYER_MND_enable_timeline_semaphore uses API version 1.2 which is older than the application specified API version of 1.4. May cause issues.
==========
VULKANINFO
==========

Vulkan Instance Version: 1.4.313


Instance Extensions: count = 25
===============================
	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 5
	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
	VK_NV_display_stereo                   : extension revision 1

Layers: count = 9
=================
VK_LAYER_FROG_gamescope_wsi_x86_64 (Gamescope WSI (XWayland Bypass) Layer (x86_64)) Vulkan version 1.3.221, layer version 1:
	Layer Extensions: count = 0
	Devices: count = 1
		GPU id = 0 (NVIDIA GeForce RTX 4070 SUPER)
		Layer-Device Extensions: count = 0

VK_LAYER_MANGOHUD_overlay_x86 (Vulkan Hud Overlay) Vulkan version 1.3.0, layer version 1:
	Layer Extensions: count = 0
	Devices: count = 1
		GPU id = 0 (NVIDIA GeForce RTX 4070 SUPER)
		Layer-Device Extensions: count = 0

VK_LAYER_MANGOHUD_overlay_x86_64 (Vulkan Hud Overlay) Vulkan version 1.3.0, layer version 1:
	Layer Extensions: count = 0
	Devices: count = 1
		GPU id = 0 (NVIDIA GeForce RTX 4070 SUPER)
		Layer-Device Extensions: count = 0

VK_LAYER_MND_enable_timeline_semaphore (Monado enable timeline semaphore layer) Vulkan version 1.2.199, layer version 1:
	Layer Extensions: count = 0
	Devices: count = 1
		GPU id = 0 (NVIDIA GeForce RTX 4070 SUPER)
		Layer-Device Extensions: count = 0

VK_LAYER_NV_optimus (NVIDIA Optimus layer) Vulkan version 1.4.303, layer version 1:
	Layer Extensions: count = 0
	Devices: count = 1
		GPU id = 0 (NVIDIA GeForce RTX 4070 SUPER)
		Layer-Device Extensions: count = 0

VK_LAYER_VALVE_steam_fossilize_32 (Steam Pipeline Caching Layer) Vulkan version 1.3.207, layer version 1:
	Layer Extensions: count = 0
	Devices: count = 1
		GPU id = 0 (NVIDIA GeForce RTX 4070 SUPER)
		Layer-Device Extensions: count = 0

VK_LAYER_VALVE_steam_fossilize_64 (Steam Pipeline Caching Layer) Vulkan version 1.3.207, layer version 1:
	Layer Extensions: count = 0
	Devices: count = 1
		GPU id = 0 (NVIDIA GeForce RTX 4070 SUPER)
		Layer-Device Extensions: count = 0

VK_LAYER_VALVE_steam_overlay_32 (Steam Overlay Layer) Vulkan version 1.3.207, layer version 1:
	Layer Extensions: count = 0
	Devices: count = 1
		GPU id = 0 (NVIDIA GeForce RTX 4070 SUPER)
		Layer-Device Extensions: count = 0

VK_LAYER_VALVE_steam_overlay_64 (Steam Overlay Layer) Vulkan version 1.3.207, layer version 1:
	Layer Extensions: count = 0
	Devices: count = 1
		GPU id = 0 (NVIDIA GeForce RTX 4070 SUPER)
		Layer-Device Extensions: count = 0

Presentable Surfaces:
=====================
GPU id : 0 (NVIDIA GeForce RTX 4070 SUPER) [VK_KHR_xcb_surface, VK_KHR_xlib_surface]:
	Surface types: count = 2
		VK_KHR_xcb_surface
		VK_KHR_xlib_surface
	Formats: count = 2
		SurfaceFormat[0]:
			format = FORMAT_B8G8R8A8_UNORM
			colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
		SurfaceFormat[1]:
			format = FORMAT_B8G8R8A8_SRGB
			colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
	Present Modes: count = 2
		PRESENT_MODE_FIFO_KHR
		PRESENT_MODE_IMMEDIATE_KHR
	VkSurfaceCapabilitiesKHR:
	-------------------------
		minImageCount = 3
		maxImageCount = 8
		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 = 1
			COMPOSITE_ALPHA_OPAQUE_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
	VkSharedPresentSurfaceCapabilitiesKHR:
	--------------------------------------
		sharedPresentSupportedUsageFlags: 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_maintenance1:
	----------------------------
		PRESENT_MODE_FIFO_KHR:
			minImageCount = 3
			maxImageCount = 8
			VkSurfacePresentScalingCapabilitiesEXT:
				supportedPresentScaling:
					None
				supportedPresentGravityX:
					None
				supportedPresentGravityY:
					None
				minScaledImageExtent:
					width  = 0
					height = 0
				maxScaledImageExtent:
					width  = 0
					height = 0
			VkSurfacePresentModeCompatibilityEXT:
				presentModeCount                = 2
				pPresentModes: count = 2
					PRESENT_MODE_IMMEDIATE_KHR
					PRESENT_MODE_IMMEDIATE_KHR
		PRESENT_MODE_IMMEDIATE_KHR:
			minImageCount = 4
			maxImageCount = 8
			VkSurfacePresentScalingCapabilitiesEXT:
				supportedPresentScaling:
					None
				supportedPresentGravityX:
					None
				supportedPresentGravityY:
					None
				minScaledImageExtent:
					width  = 0
					height = 0
				maxScaledImageExtent:
					width  = 0
					height = 0
			VkSurfacePresentModeCompatibilityEXT:
				presentModeCount                = 2
				pPresentModes: count = 2
					PRESENT_MODE_IMMEDIATE_KHR
					PRESENT_MODE_IMMEDIATE_KHR

GPU id : 0 (NVIDIA GeForce RTX 4070 SUPER) [VK_KHR_wayland_surface]:
	Surface type = VK_KHR_wayland_surface
	Formats: count = 7
		SurfaceFormat[0]:
			format = FORMAT_A2B10G10R10_UNORM_PACK32
			colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
		SurfaceFormat[1]:
			format = FORMAT_A2R10G10B10_UNORM_PACK32
			colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
		SurfaceFormat[2]:
			format = FORMAT_R8G8B8A8_SRGB
			colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
		SurfaceFormat[3]:
			format = FORMAT_R8G8B8A8_UNORM
			colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
		SurfaceFormat[4]:
			format = FORMAT_B8G8R8A8_SRGB
			colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
		SurfaceFormat[5]:
			format = FORMAT_B8G8R8A8_UNORM
			colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
		SurfaceFormat[6]:
			format = FORMAT_R16G16B16A16_SFLOAT
			colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
	Present Modes: count = 3
		PRESENT_MODE_MAILBOX_KHR
		PRESENT_MODE_FIFO_KHR
		PRESENT_MODE_IMMEDIATE_KHR
	VkSurfaceCapabilitiesKHR:
	-------------------------
		minImageCount = 2
		maxImageCount = 8
		currentExtent:
			width  = 4294967295
			height = 4294967295
		minImageExtent:
			width  = 1
			height = 1
		maxImageExtent:
			width  = 16384
			height = 16384
		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_PRE_MULTIPLIED_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
	VkSharedPresentSurfaceCapabilitiesKHR:
	--------------------------------------
		sharedPresentSupportedUsageFlags: 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_maintenance1:
	----------------------------
		PRESENT_MODE_MAILBOX_KHR:
			minImageCount = 2
			maxImageCount = 8
			VkSurfacePresentScalingCapabilitiesEXT:
				supportedPresentScaling:
					None
				supportedPresentGravityX:
					None
				supportedPresentGravityY:
					None
				minScaledImageExtent:
					width  = 0
					height = 0
				maxScaledImageExtent:
					width  = 0
					height = 0
			VkSurfacePresentModeCompatibilityEXT:
				presentModeCount                = 3
				pPresentModes: count = 3
					PRESENT_MODE_IMMEDIATE_KHR
					PRESENT_MODE_IMMEDIATE_KHR
					PRESENT_MODE_IMMEDIATE_KHR
		PRESENT_MODE_FIFO_KHR:
			minImageCount = 2
			maxImageCount = 8
			VkSurfacePresentScalingCapabilitiesEXT:
				supportedPresentScaling:
					None
				supportedPresentGravityX:
					None
				supportedPresentGravityY:
					None
				minScaledImageExtent:
					width  = 0
					height = 0
				maxScaledImageExtent:
					width  = 0
					height = 0
			VkSurfacePresentModeCompatibilityEXT:
				presentModeCount                = 3
				pPresentModes: count = 3
					PRESENT_MODE_IMMEDIATE_KHR
					PRESENT_MODE_IMMEDIATE_KHR
					PRESENT_MODE_IMMEDIATE_KHR
		PRESENT_MODE_IMMEDIATE_KHR:
			minImageCount = 2
			maxImageCount = 8
			VkSurfacePresentScalingCapabilitiesEXT:
				supportedPresentScaling:
					None
				supportedPresentGravityX:
					None
				supportedPresentGravityY:
					None
				minScaledImageExtent:
					width  = 0
					height = 0
				maxScaledImageExtent:
					width  = 0
					height = 0
			VkSurfacePresentModeCompatibilityEXT:
				presentModeCount                = 3
				pPresentModes: count = 3
					PRESENT_MODE_IMMEDIATE_KHR
					PRESENT_MODE_IMMEDIATE_KHR
					PRESENT_MODE_IMMEDIATE_KHR


Device Properties and Extensions:
=================================
GPU0:
VkPhysicalDeviceProperties:
---------------------------
	apiVersion        = 1.4.303 (4210991)
	driverVersion     = 570.153.2.0 (2393260160)
	vendorID          = 0x10de
	deviceID          = 0x2783
	deviceType        = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
	deviceName        = NVIDIA GeForce RTX 4070 SUPER
	pipelineCacheUUID = 6ee1f804-f592-baa7-7580-875c06554f6c

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

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

VkPhysicalDeviceAccelerationStructurePropertiesKHR:
---------------------------------------------------
	maxGeometryCount                                           = 16777215
	maxInstanceCount                                           = 16777215
	maxPrimitiveCount                                          = 536870911
	maxPerStageDescriptorAccelerationStructures                = 1048576
	maxPerStageDescriptorUpdateAfterBindAccelerationStructures = 1048576
	maxDescriptorSetAccelerationStructures                     = 1048576
	maxDescriptorSetUpdateAfterBindAccelerationStructures      = 1048576
	minAccelerationStructureScratchOffsetAlignment             = 128

VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT:
----------------------------------------------------
	advancedBlendMaxColorAttachments      = 8
	advancedBlendIndependentBlend         = false
	advancedBlendNonPremultipliedSrcColor = true
	advancedBlendNonPremultipliedDstColor = true
	advancedBlendCorrelatedOverlap        = true
	advancedBlendAllOperations            = true

VkPhysicalDeviceComputeShaderDerivativesPropertiesKHR:
------------------------------------------------------
	meshAndTaskShaderDerivatives = false

VkPhysicalDeviceConservativeRasterizationPropertiesEXT:
-------------------------------------------------------
	primitiveOverestimationSize                 = 0.00195312
	maxExtraPrimitiveOverestimationSize         = 0.75
	extraPrimitiveOverestimationSizeGranularity = 0.25
	primitiveUnderestimation                    = true
	conservativePointAndLineRasterization       = true
	degenerateTrianglesRasterized               = true
	degenerateLinesRasterized                   = true
	fullyCoveredFragmentShaderInputVariable     = true
	conservativeRasterizationPostDepthCoverage  = true

VkPhysicalDeviceCooperativeMatrixPropertiesKHR:
-----------------------------------------------
	cooperativeMatrixSupportedStages: count = 1
		SHADER_STAGE_COMPUTE_BIT

VkPhysicalDeviceCustomBorderColorPropertiesEXT:
-----------------------------------------------
	maxCustomBorderColorSamplers = 4000

VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT:
--------------------------------------------------------
	combinedImageSamplerDensityMapDescriptorSize = 4

VkPhysicalDeviceDescriptorBufferPropertiesEXT:
----------------------------------------------
	combinedImageSamplerDescriptorSingleArray            = true
	bufferlessPushDescriptors                            = true
	allowSamplerImageViewPostSubmitCreation              = false
	descriptorBufferOffsetAlignment                      = 0x00000040
	maxDescriptorBufferBindings                          = 32
	maxResourceDescriptorBufferBindings                  = 32
	maxSamplerDescriptorBufferBindings                   = 32
	maxEmbeddedImmutableSamplerBindings                  = 32
	maxEmbeddedImmutableSamplers                         = 4000
	bufferCaptureReplayDescriptorDataSize                = 8
	imageCaptureReplayDescriptorDataSize                 = 1
	imageViewCaptureReplayDescriptorDataSize             = 12
	samplerCaptureReplayDescriptorDataSize               = 4
	accelerationStructureCaptureReplayDescriptorDataSize = 1
	samplerDescriptorSize                                = 4
	combinedImageSamplerDescriptorSize                   = 4
	sampledImageDescriptorSize                           = 4
	storageImageDescriptorSize                           = 4
	uniformTexelBufferDescriptorSize                     = 16
	robustUniformTexelBufferDescriptorSize               = 16
	storageTexelBufferDescriptorSize                     = 16
	robustStorageTexelBufferDescriptorSize               = 16
	uniformBufferDescriptorSize                          = 8
	robustUniformBufferDescriptorSize                    = 8
	storageBufferDescriptorSize                          = 16
	robustStorageBufferDescriptorSize                    = 16
	inputAttachmentDescriptorSize                        = 4
	accelerationStructureDescriptorSize                  = 8
	maxSamplerDescriptorBufferRange                      = 0x10000000000
	maxResourceDescriptorBufferRange                     = 0x10000000000
	samplerDescriptorBufferAddressSpaceSize              = 0x10000000000
	resourceDescriptorBufferAddressSpaceSize             = 0x10000000000
	descriptorBufferAddressSpaceSize                     = 0x10000000000

VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT:
-----------------------------------------------------
	maxIndirectPipelineCount                      = 16384
	maxIndirectShaderObjectCount                  = 16384
	maxIndirectSequenceCount                      = 4194303
	maxIndirectCommandsTokenCount                 = 32
	maxIndirectCommandsTokenOffset                = 4294967295
	maxIndirectCommandsIndirectStride             = 4294967295
	supportedIndirectCommandsInputModes: count = 2
		INDIRECT_COMMANDS_INPUT_MODE_VULKAN_INDEX_BUFFER_EXT
		INDIRECT_COMMANDS_INPUT_MODE_DXGI_INDEX_BUFFER_EXT
	supportedIndirectCommandsShaderStages: count = 8
		SHADER_STAGE_VERTEX_BIT
		SHADER_STAGE_TESSELLATION_CONTROL_BIT
		SHADER_STAGE_TESSELLATION_EVALUATION_BIT
		SHADER_STAGE_GEOMETRY_BIT
		SHADER_STAGE_FRAGMENT_BIT
		SHADER_STAGE_COMPUTE_BIT
		SHADER_STAGE_TASK_BIT_EXT
		SHADER_STAGE_MESH_BIT_EXT
	supportedIndirectCommandsShaderStagesPipelineBinding: count = 8
		SHADER_STAGE_VERTEX_BIT
		SHADER_STAGE_TESSELLATION_CONTROL_BIT
		SHADER_STAGE_TESSELLATION_EVALUATION_BIT
		SHADER_STAGE_GEOMETRY_BIT
		SHADER_STAGE_FRAGMENT_BIT
		SHADER_STAGE_COMPUTE_BIT
		SHADER_STAGE_TASK_BIT_EXT
		SHADER_STAGE_MESH_BIT_EXT
	supportedIndirectCommandsShaderStagesShaderBinding: count = 8
		SHADER_STAGE_VERTEX_BIT
		SHADER_STAGE_TESSELLATION_CONTROL_BIT
		SHADER_STAGE_TESSELLATION_EVALUATION_BIT
		SHADER_STAGE_GEOMETRY_BIT
		SHADER_STAGE_FRAGMENT_BIT
		SHADER_STAGE_COMPUTE_BIT
		SHADER_STAGE_TASK_BIT_EXT
		SHADER_STAGE_MESH_BIT_EXT
	deviceGeneratedCommandsTransformFeedback      = true
	deviceGeneratedCommandsMultiDrawIndirectCount = true

VkPhysicalDeviceDiscardRectanglePropertiesEXT:
----------------------------------------------
	maxDiscardRectangles = 8

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

VkPhysicalDeviceExtendedDynamicState3PropertiesEXT:
---------------------------------------------------
	dynamicPrimitiveTopologyUnrestricted = true

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

VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR:
-------------------------------------------------------
	triStripVertexOrderIndependentOfProvokingVertex = false

VkPhysicalDeviceFragmentShadingRatePropertiesKHR:
-------------------------------------------------
	minFragmentShadingRateAttachmentTexelSize:
		width  = 16
		height = 16
	maxFragmentShadingRateAttachmentTexelSize:
		width  = 16
		height = 16
	maxFragmentShadingRateAttachmentTexelSizeAspectRatio = 1
	primitiveFragmentShadingRateWithMultipleViewports    = true
	layeredShadingRateAttachments                        = true
	fragmentShadingRateNonTrivialCombinerOps             = true
	maxFragmentSize:
		width  = 4
		height = 4
	maxFragmentSizeAspectRatio                           = 2
	maxFragmentShadingRateCoverageSamples                = 16
	maxFragmentShadingRateRasterizationSamples           = SAMPLE_COUNT_16_BIT
	fragmentShadingRateWithShaderDepthStencilWrites      = true
	fragmentShadingRateWithSampleMask                    = true
	fragmentShadingRateWithShaderSampleMask              = true
	fragmentShadingRateWithConservativeRasterization     = true
	fragmentShadingRateWithFragmentShaderInterlock       = true
	fragmentShadingRateWithCustomSampleLocations         = true
	fragmentShadingRateStrictMultiplyCombiner            = true

VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT:
-----------------------------------------------------
	graphicsPipelineLibraryFastLinking                        = true
	graphicsPipelineLibraryIndependentInterpolationDecoration = true

VkPhysicalDeviceLayeredApiPropertiesListKHR:
--------------------------------------------
	layeredApiCount               = 0
	pLayeredApis                  = NULL

VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT:
----------------------------------------------------
	nativeUnalignedPerformance = true

VkPhysicalDeviceMaintenance7PropertiesKHR:
------------------------------------------
	robustFragmentShadingRateAttachmentAccess                 = true
	separateDepthStencilAttachmentAccess                      = true
	maxDescriptorSetTotalUniformBuffersDynamic                = 15
	maxDescriptorSetTotalStorageBuffersDynamic                = 16
	maxDescriptorSetTotalBuffersDynamic                       = 31
	maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic = 15
	maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic = 16
	maxDescriptorSetUpdateAfterBindTotalBuffersDynamic        = 31

VkPhysicalDeviceMapMemoryPlacedPropertiesEXT:
---------------------------------------------
	minPlacedMemoryMapAlignment = 0x00001000

VkPhysicalDeviceMeshShaderPropertiesEXT:
----------------------------------------
	maxTaskWorkGroupTotalCount            = 4194304
	maxTaskWorkGroupCount: count = 3
		4194304
		65535
		65535
	maxTaskWorkGroupInvocations           = 128
	maxTaskWorkGroupSize: count = 3
		128
		128
		128
	maxTaskPayloadSize                    = 16384
	maxTaskSharedMemorySize               = 32768
	maxTaskPayloadAndSharedMemorySize     = 32768
	maxMeshWorkGroupTotalCount            = 4194304
	maxMeshWorkGroupCount: count = 3
		4194304
		65535
		65535
	maxMeshWorkGroupInvocations           = 128
	maxMeshWorkGroupSize: count = 3
		128
		128
		128
	maxMeshSharedMemorySize               = 28672
	maxMeshPayloadAndSharedMemorySize     = 28672
	maxMeshOutputMemorySize               = 32768
	maxMeshPayloadAndOutputMemorySize     = 48128
	maxMeshOutputComponents               = 128
	maxMeshOutputVertices                 = 256
	maxMeshOutputPrimitives               = 256
	maxMeshOutputLayers                   = 2048
	maxMeshMultiviewViewCount             = 4
	meshOutputPerVertexGranularity        = 32
	meshOutputPerPrimitiveGranularity     = 32
	maxPreferredTaskWorkGroupInvocations  = 32
	maxPreferredMeshWorkGroupInvocations  = 32
	prefersLocalInvocationVertexOutput    = false
	prefersLocalInvocationPrimitiveOutput = false
	prefersCompactVertexOutput            = false
	prefersCompactPrimitiveOutput         = true

VkPhysicalDeviceMultiDrawPropertiesEXT:
---------------------------------------
	maxMultiDrawCount = 4294967295

VkPhysicalDeviceNestedCommandBufferPropertiesEXT:
-------------------------------------------------
	maxCommandBufferNestingLevel = 4294967295

VkPhysicalDeviceOpacityMicromapPropertiesEXT:
---------------------------------------------
	maxOpacity2StateSubdivisionLevel = 12
	maxOpacity4StateSubdivisionLevel = 12

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

VkPhysicalDevicePipelineBinaryPropertiesKHR:
--------------------------------------------
	pipelineBinaryInternalCache            = true
	pipelineBinaryInternalCacheControl     = true
	pipelineBinaryPrefersInternalCache     = false
	pipelineBinaryPrecompiledInternalCache = false
	pipelineBinaryCompressedData           = true

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

VkPhysicalDeviceRayTracingPipelinePropertiesKHR:
------------------------------------------------
	shaderGroupHandleSize              = 32
	maxRayRecursionDepth               = 31
	maxShaderGroupStride               = 4096
	shaderGroupBaseAlignment           = 64
	shaderGroupHandleCaptureReplaySize = 32
	maxRayDispatchInvocationCount      = 1073741824
	shaderGroupHandleAlignment         = 32
	maxRayHitAttributeSize             = 32

VkPhysicalDeviceRobustness2PropertiesEXT:
-----------------------------------------
	robustStorageBufferAccessSizeAlignment = 0x00000001
	robustUniformBufferAccessSizeAlignment = 0x00000010

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

VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT:
----------------------------------------------------
	shaderModuleIdentifierAlgorithmUUID     = 1f4517a6-c1c4-11ec-9d64-0242ac120005

VkPhysicalDeviceShaderObjectPropertiesEXT:
------------------------------------------
	shaderBinaryUUID     = 6ee1f804-f592-baa7-7580-875c06554f6c
	shaderBinaryVersion  = 1

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

VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT:
----------------------------------------------------
	maxVertexAttribDivisor = 4294967295

VkPhysicalDeviceVulkan11Properties:
-----------------------------------
	deviceUUID                        = a17737d0-ae50-0e96-9f8b-085644dbe980
	driverUUID                        = 70ebf652-faaf-55d2-8008-fe5a49953688
	deviceNodeMask                    = 1
	deviceLUIDValid                   = false
	subgroupSize                      = 32
	subgroupSupportedStages: count = 14
		SHADER_STAGE_VERTEX_BIT
		SHADER_STAGE_TESSELLATION_CONTROL_BIT
		SHADER_STAGE_TESSELLATION_EVALUATION_BIT
		SHADER_STAGE_GEOMETRY_BIT
		SHADER_STAGE_FRAGMENT_BIT
		SHADER_STAGE_COMPUTE_BIT
		SHADER_STAGE_RAYGEN_BIT_KHR
		SHADER_STAGE_ANY_HIT_BIT_KHR
		SHADER_STAGE_CLOSEST_HIT_BIT_KHR
		SHADER_STAGE_MISS_BIT_KHR
		SHADER_STAGE_INTERSECTION_BIT_KHR
		SHADER_STAGE_CALLABLE_BIT_KHR
		SHADER_STAGE_TASK_BIT_EXT
		SHADER_STAGE_MESH_BIT_EXT
	subgroupSupportedOperations: count = 11
		SUBGROUP_FEATURE_BASIC_BIT
		SUBGROUP_FEATURE_VOTE_BIT
		SUBGROUP_FEATURE_ARITHMETIC_BIT
		SUBGROUP_FEATURE_BALLOT_BIT
		SUBGROUP_FEATURE_SHUFFLE_BIT
		SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
		SUBGROUP_FEATURE_CLUSTERED_BIT
		SUBGROUP_FEATURE_QUAD_BIT
		SUBGROUP_FEATURE_ROTATE_BIT
		SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT
		SUBGROUP_FEATURE_PARTITIONED_BIT_NV
	subgroupQuadOperationsInAllStages = true
	pointClippingBehavior             = POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY
	maxMultiviewViewCount             = 32
	maxMultiviewInstanceIndex         = 134217727
	protectedNoFault                  = false
	maxPerSetDescriptors              = 4294967295
	maxMemoryAllocationSize           = 0xffe00000

VkPhysicalDeviceVulkan12Properties:
-----------------------------------
	driverID                                             = DRIVER_ID_NVIDIA_PROPRIETARY
	driverName                                           = NVIDIA
	driverInfo                                           = 570.153.02
	conformanceVersion:
		major    = 1
		minor    = 4
		subminor = 1
		patch    = 0
	denormBehaviorIndependence                           = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
	roundingModeIndependence                             = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
	shaderSignedZeroInfNanPreserveFloat16                = true
	shaderSignedZeroInfNanPreserveFloat32                = true
	shaderSignedZeroInfNanPreserveFloat64                = true
	shaderDenormPreserveFloat16                          = true
	shaderDenormPreserveFloat32                          = false
	shaderDenormPreserveFloat64                          = false
	shaderDenormFlushToZeroFloat16                       = false
	shaderDenormFlushToZeroFloat32                       = false
	shaderDenormFlushToZeroFloat64                       = false
	shaderRoundingModeRTEFloat16                         = true
	shaderRoundingModeRTEFloat32                         = true
	shaderRoundingModeRTEFloat64                         = true
	shaderRoundingModeRTZFloat16                         = false
	shaderRoundingModeRTZFloat32                         = true
	shaderRoundingModeRTZFloat64                         = true
	maxUpdateAfterBindDescriptorsInAllPools              = 4294967295
	shaderUniformBufferArrayNonUniformIndexingNative     = true
	shaderSampledImageArrayNonUniformIndexingNative      = true
	shaderStorageBufferArrayNonUniformIndexingNative     = true
	shaderStorageImageArrayNonUniformIndexingNative      = true
	shaderInputAttachmentArrayNonUniformIndexingNative   = true
	robustBufferAccessUpdateAfterBind                    = true
	quadDivergentImplicitLod                             = true
	maxPerStageDescriptorUpdateAfterBindSamplers         = 1048576
	maxPerStageDescriptorUpdateAfterBindUniformBuffers   = 1048576
	maxPerStageDescriptorUpdateAfterBindStorageBuffers   = 1048576
	maxPerStageDescriptorUpdateAfterBindSampledImages    = 1048576
	maxPerStageDescriptorUpdateAfterBindStorageImages    = 1048576
	maxPerStageDescriptorUpdateAfterBindInputAttachments = 1048576
	maxPerStageUpdateAfterBindResources                  = 4294967295
	maxDescriptorSetUpdateAfterBindSamplers              = 1048576
	maxDescriptorSetUpdateAfterBindUniformBuffers        = 1048576
	maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = 15
	maxDescriptorSetUpdateAfterBindStorageBuffers        = 1048576
	maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = 16
	maxDescriptorSetUpdateAfterBindSampledImages         = 1048576
	maxDescriptorSetUpdateAfterBindStorageImages         = 1048576
	maxDescriptorSetUpdateAfterBindInputAttachments      = 1048576
	supportedDepthResolveModes: count = 4
		RESOLVE_MODE_SAMPLE_ZERO_BIT
		RESOLVE_MODE_AVERAGE_BIT
		RESOLVE_MODE_MIN_BIT
		RESOLVE_MODE_MAX_BIT
	supportedStencilResolveModes: count = 3
		RESOLVE_MODE_SAMPLE_ZERO_BIT
		RESOLVE_MODE_MIN_BIT
		RESOLVE_MODE_MAX_BIT
	independentResolveNone                               = true
	independentResolve                                   = true
	filterMinmaxSingleComponentFormats                   = true
	filterMinmaxImageComponentMapping                    = true
	maxTimelineSemaphoreValueDifference                  = 18446744073709551615
	framebufferIntegerColorSampleCounts: count = 4
		SAMPLE_COUNT_1_BIT
		SAMPLE_COUNT_2_BIT
		SAMPLE_COUNT_4_BIT
		SAMPLE_COUNT_8_BIT

VkPhysicalDeviceVulkan13Properties:
-----------------------------------
	minSubgroupSize                                                               = 32
	maxSubgroupSize                                                               = 32
	maxComputeWorkgroupSubgroups                                                  = 32
	requiredSubgroupSizeStages: count = 14
		SHADER_STAGE_VERTEX_BIT
		SHADER_STAGE_TESSELLATION_CONTROL_BIT
		SHADER_STAGE_TESSELLATION_EVALUATION_BIT
		SHADER_STAGE_GEOMETRY_BIT
		SHADER_STAGE_FRAGMENT_BIT
		SHADER_STAGE_COMPUTE_BIT
		SHADER_STAGE_RAYGEN_BIT_KHR
		SHADER_STAGE_ANY_HIT_BIT_KHR
		SHADER_STAGE_CLOSEST_HIT_BIT_KHR
		SHADER_STAGE_MISS_BIT_KHR
		SHADER_STAGE_INTERSECTION_BIT_KHR
		SHADER_STAGE_CALLABLE_BIT_KHR
		SHADER_STAGE_TASK_BIT_EXT
		SHADER_STAGE_MESH_BIT_EXT
	maxInlineUniformBlockSize                                                     = 256
	maxPerStageDescriptorInlineUniformBlocks                                      = 32
	maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks                       = 32
	maxDescriptorSetInlineUniformBlocks                                           = 32
	maxDescriptorSetUpdateAfterBindInlineUniformBlocks                            = 32
	maxInlineUniformTotalSize                                                     = 3584
	integerDotProduct8BitUnsignedAccelerated                                      = false
	integerDotProduct8BitSignedAccelerated                                        = false
	integerDotProduct8BitMixedSignednessAccelerated                               = false
	integerDotProduct4x8BitPackedUnsignedAccelerated                              = true
	integerDotProduct4x8BitPackedSignedAccelerated                                = true
	integerDotProduct4x8BitPackedMixedSignednessAccelerated                       = true
	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        = true
	integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated          = true
	integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = true
	integerDotProductAccumulatingSaturating16BitUnsignedAccelerated               = false
	integerDotProductAccumulatingSaturating16BitSignedAccelerated                 = false
	integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated        = false
	integerDotProductAccumulatingSaturating32BitUnsignedAccelerated               = false
	integerDotProductAccumulatingSaturating32BitSignedAccelerated                 = false
	integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated        = false
	integerDotProductAccumulatingSaturating64BitUnsignedAccelerated               = false
	integerDotProductAccumulatingSaturating64BitSignedAccelerated                 = false
	integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated        = false
	storageTexelBufferOffsetAlignmentBytes                                        = 0x00000010
	storageTexelBufferOffsetSingleTexelAlignment                                  = true
	uniformTexelBufferOffsetAlignmentBytes                                        = 0x00000010
	uniformTexelBufferOffsetSingleTexelAlignment                                  = true
	maxBufferSize                                                                 = 0x10000000000

VkPhysicalDeviceVulkan14Properties:
-----------------------------------
	lineSubPixelPrecisionBits                           = 8
	maxVertexAttribDivisor                              = 4294967295
	supportsNonZeroFirstInstance                        = true
	maxPushDescriptors                                  = 32
	dynamicRenderingLocalReadDepthStencilAttachments    = true
	dynamicRenderingLocalReadMultisampledAttachments    = true
	earlyFragmentMultisampleCoverageAfterSampleCounting = true
	earlyFragmentSampleMaskTestBeforeSampleCounting     = true
	depthStencilSwizzleOneSupport                       = true
	polygonModePointSize                                = true
	nonStrictSinglePixelWideLinesUseParallelogram       = false
	nonStrictWideLinesUseParallelogram                  = false
	blockTexelViewCompatibleMultipleLayers              = true
	maxCombinedImageSamplerDescriptorCount              = 1
	fragmentShadingRateClampCombinerInputs              = true
	defaultRobustnessStorageBuffers                     = PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED
	defaultRobustnessUniformBuffers                     = PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED
	defaultRobustnessVertexInputs                       = PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2
	defaultRobustnessImages                             = PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2
	copySrcLayoutCount                                  = 18
	pCopySrcLayouts: count = 18
		IMAGE_LAYOUT_GENERAL
		IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
		IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL
		IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL
		IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL
		IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL
		IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
		IMAGE_LAYOUT_PREINITIALIZED
		IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
		IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
		IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL
		IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL
		IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL
		IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
		IMAGE_LAYOUT_READ_ONLY_OPTIMAL
		IMAGE_LAYOUT_ATTACHMENT_OPTIMAL
		IMAGE_LAYOUT_PRESENT_SRC_KHR
		IMAGE_LAYOUT_SHARED_PRESENT_KHR
	copyDstLayoutCount                                  = 18
	pCopyDstLayouts: count = 18
		IMAGE_LAYOUT_GENERAL
		IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
		IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL
		IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL
		IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL
		IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL
		IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
		IMAGE_LAYOUT_PREINITIALIZED
		IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
		IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
		IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL
		IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL
		IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL
		IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
		IMAGE_LAYOUT_READ_ONLY_OPTIMAL
		IMAGE_LAYOUT_ATTACHMENT_OPTIMAL
		IMAGE_LAYOUT_PRESENT_SRC_KHR
		IMAGE_LAYOUT_SHARED_PRESENT_KHR
	optimalTilingLayoutUUID                             = 6ee1f804-f592-baa7-7580-875c06554f6c
	identicalMemoryTypeRequirements                     = false

Device Extensions: count = 238
	VK_AMD_buffer_marker                          : extension revision 1
	VK_EXT_4444_formats                           : extension revision 1
	VK_EXT_attachment_feedback_loop_dynamic_state : extension revision 1
	VK_EXT_attachment_feedback_loop_layout        : extension revision 2
	VK_EXT_blend_operation_advanced               : extension revision 2
	VK_EXT_border_color_swizzle                   : extension revision 1
	VK_EXT_buffer_device_address                  : extension revision 2
	VK_EXT_calibrated_timestamps                  : extension revision 2
	VK_EXT_color_write_enable                     : extension revision 1
	VK_EXT_conditional_rendering                  : extension revision 2
	VK_EXT_conservative_rasterization             : extension revision 1
	VK_EXT_custom_border_color                    : extension revision 12
	VK_EXT_depth_bias_control                     : extension revision 1
	VK_EXT_depth_clamp_control                    : 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_depth_range_unrestricted               : extension revision 1
	VK_EXT_descriptor_buffer                      : extension revision 1
	VK_EXT_descriptor_indexing                    : extension revision 2
	VK_EXT_device_fault                           : extension revision 2
	VK_EXT_device_generated_commands              : extension revision 1
	VK_EXT_discard_rectangles                     : extension revision 2
	VK_EXT_display_control                        : extension revision 1
	VK_EXT_dynamic_rendering_unused_attachments   : extension revision 1
	VK_EXT_extended_dynamic_state                 : extension revision 1
	VK_EXT_extended_dynamic_state2                : extension revision 1
	VK_EXT_extended_dynamic_state3                : extension revision 2
	VK_EXT_external_memory_dma_buf                : extension revision 1
	VK_EXT_external_memory_host                   : extension revision 1
	VK_EXT_fragment_shader_interlock              : extension revision 1
	VK_EXT_global_priority                        : extension revision 2
	VK_EXT_global_priority_query                  : extension revision 1
	VK_EXT_graphics_pipeline_library              : extension revision 1
	VK_EXT_host_image_copy                        : 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_sliced_view_of_3d                : 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_legacy_vertex_attributes               : extension revision 1
	VK_EXT_line_rasterization                     : extension revision 1
	VK_EXT_load_store_op_none                     : extension revision 1
	VK_EXT_map_memory_placed                      : extension revision 1
	VK_EXT_memory_budget                          : extension revision 1
	VK_EXT_memory_priority                        : extension revision 1
	VK_EXT_mesh_shader                            : extension revision 1
	VK_EXT_multi_draw                             : extension revision 1
	VK_EXT_mutable_descriptor_type                : extension revision 1
	VK_EXT_nested_command_buffer                  : extension revision 1
	VK_EXT_non_seamless_cube_map                  : extension revision 1
	VK_EXT_opacity_micromap                       : extension revision 2
	VK_EXT_pageable_device_local_memory           : 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_pipeline_library_group_handles         : extension revision 1
	VK_EXT_pipeline_robustness                    : extension revision 1
	VK_EXT_post_depth_coverage                    : 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_sampler_filter_minmax                  : extension revision 2
	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_image_atomic_int64              : extension revision 1
	VK_EXT_shader_module_identifier               : extension revision 1
	VK_EXT_shader_object                          : 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_swapchain_maintenance1                 : extension revision 1
	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_vertex_input_dynamic_state             : extension revision 2
	VK_EXT_ycbcr_2plane_444_formats               : extension revision 1
	VK_EXT_ycbcr_image_arrays                     : extension revision 1
	VK_GOOGLE_user_type                           : extension revision 1
	VK_KHR_16bit_storage                          : extension revision 1
	VK_KHR_8bit_storage                           : extension revision 1
	VK_KHR_acceleration_structure                 : extension revision 13
	VK_KHR_bind_memory2                           : extension revision 1
	VK_KHR_buffer_device_address                  : extension revision 1
	VK_KHR_calibrated_timestamps                  : extension revision 1
	VK_KHR_compute_shader_derivatives             : extension revision 1
	VK_KHR_cooperative_matrix                     : extension revision 2
	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_dynamic_rendering_local_read           : 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_fragment_shader_barycentric            : extension revision 1
	VK_KHR_fragment_shading_rate                  : extension revision 2
	VK_KHR_get_memory_requirements2               : extension revision 1
	VK_KHR_global_priority                        : 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_index_type_uint8                       : extension revision 1
	VK_KHR_line_rasterization                     : extension revision 1
	VK_KHR_load_store_op_none                     : extension revision 1
	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_maintenance5                           : extension revision 1
	VK_KHR_maintenance6                           : extension revision 1
	VK_KHR_maintenance7                           : extension revision 1
	VK_KHR_map_memory2                            : extension revision 1
	VK_KHR_multiview                              : extension revision 1
	VK_KHR_pipeline_binary                        : extension revision 1
	VK_KHR_pipeline_executable_properties         : extension revision 1
	VK_KHR_pipeline_library                       : extension revision 1
	VK_KHR_present_id                             : extension revision 1
	VK_KHR_present_wait                           : extension revision 1
	VK_KHR_push_descriptor                        : extension revision 2
	VK_KHR_ray_query                              : extension revision 1
	VK_KHR_ray_tracing_maintenance1               : extension revision 1
	VK_KHR_ray_tracing_pipeline                   : extension revision 1
	VK_KHR_ray_tracing_position_fetch             : extension revision 1
	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_atomic_int64                    : 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_float16_int8                    : extension revision 1
	VK_KHR_shader_float_controls                  : extension revision 4
	VK_KHR_shader_float_controls2                 : extension revision 1
	VK_KHR_shader_integer_dot_product             : extension revision 1
	VK_KHR_shader_maximal_reconvergence           : extension revision 1
	VK_KHR_shader_non_semantic_info               : extension revision 1
	VK_KHR_shader_quad_control                    : extension revision 1
	VK_KHR_shader_relaxed_extended_instruction    : extension revision 1
	VK_KHR_shader_subgroup_extended_types         : extension revision 1
	VK_KHR_shader_subgroup_rotate                 : extension revision 2
	VK_KHR_shader_subgroup_uniform_control_flow   : extension revision 1
	VK_KHR_shader_terminate_invocation            : extension revision 1
	VK_KHR_shared_presentable_image               : 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_vertex_attribute_divisor               : extension revision 1
	VK_KHR_video_decode_av1                       : extension revision 1
	VK_KHR_video_decode_h264                      : extension revision 9
	VK_KHR_video_decode_h265                      : extension revision 8
	VK_KHR_video_decode_queue                     : extension revision 8
	VK_KHR_video_encode_h264                      : extension revision 14
	VK_KHR_video_encode_h265                      : extension revision 14
	VK_KHR_video_encode_queue                     : extension revision 12
	VK_KHR_video_maintenance1                     : extension revision 1
	VK_KHR_video_queue                            : extension revision 8
	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_NVX_binary_import                          : extension revision 2
	VK_NVX_image_view_handle                      : extension revision 3
	VK_NVX_multiview_per_view_attributes          : extension revision 1
	VK_NV_clip_space_w_scaling                    : extension revision 1
	VK_NV_cluster_acceleration_structure          : extension revision 2
	VK_NV_compute_shader_derivatives              : extension revision 1
	VK_NV_cooperative_matrix                      : extension revision 1
	VK_NV_cooperative_vector                      : extension revision 4
	VK_NV_copy_memory_indirect                    : extension revision 1
	VK_NV_corner_sampled_image                    : extension revision 2
	VK_NV_coverage_reduction_mode                 : extension revision 1
	VK_NV_cuda_kernel_launch                      : extension revision 2
	VK_NV_dedicated_allocation                    : extension revision 1
	VK_NV_dedicated_allocation_image_aliasing     : extension revision 1
	VK_NV_descriptor_pool_overallocation          : extension revision 1
	VK_NV_device_diagnostic_checkpoints           : extension revision 2
	VK_NV_device_diagnostics_config               : extension revision 2
	VK_NV_device_generated_commands               : extension revision 3
	VK_NV_device_generated_commands_compute       : extension revision 2
	VK_NV_extended_sparse_address_space           : extension revision 1
	VK_NV_fill_rectangle                          : extension revision 1
	VK_NV_fragment_coverage_to_color              : extension revision 1
	VK_NV_fragment_shader_barycentric             : extension revision 1
	VK_NV_fragment_shading_rate_enums             : extension revision 1
	VK_NV_framebuffer_mixed_samples               : extension revision 1
	VK_NV_geometry_shader_passthrough             : extension revision 1
	VK_NV_inherited_viewport_scissor              : extension revision 1
	VK_NV_linear_color_attachment                 : extension revision 1
	VK_NV_low_latency                             : extension revision 1
	VK_NV_low_latency2                            : extension revision 2
	VK_NV_memory_decompression                    : extension revision 1
	VK_NV_mesh_shader                             : extension revision 1
	VK_NV_optical_flow                            : extension revision 1
	VK_NV_partitioned_acceleration_structure      : extension revision 1
	VK_NV_present_metering                        : extension revision 1
	VK_NV_raw_access_chains                       : extension revision 1
	VK_NV_ray_tracing                             : extension revision 3
	VK_NV_ray_tracing_invocation_reorder          : extension revision 1
	VK_NV_ray_tracing_motion_blur                 : extension revision 1
	VK_NV_representative_fragment_test            : extension revision 2
	VK_NV_sample_mask_override_coverage           : extension revision 1
	VK_NV_scissor_exclusive                       : extension revision 2
	VK_NV_shader_atomic_float16_vector            : extension revision 1
	VK_NV_shader_image_footprint                  : extension revision 2
	VK_NV_shader_sm_builtins                      : extension revision 1
	VK_NV_shader_subgroup_partitioned             : extension revision 1
	VK_NV_shading_rate_image                      : extension revision 3
	VK_NV_viewport_array2                         : extension revision 1
	VK_NV_viewport_swizzle                        : extension revision 1

VkQueueFamilyProperties:
========================
	queueProperties[0]:
	-------------------
		minImageTransferGranularity = (1,1,1)
		queueCount                  = 16
		queueFlags                  = QUEUE_GRAPHICS_BIT | QUEUE_COMPUTE_BIT | QUEUE_TRANSFER_BIT | QUEUE_SPARSE_BINDING_BIT
		timestampValidBits          = 64
		present support             = true
		VkQueueFamilyQueryResultStatusPropertiesKHR:
		--------------------------------------------
			queryResultStatusSupport = false

		VkQueueFamilyVideoPropertiesKHR:
		--------------------------------
			videoCodecOperations:
				None

===========================
( ... )
I shaved a bit the ]vulkaninfo since it should not be related to the graphical stack, and no savegame...since it's before loading a game, But I'm available to provide anything I can to help, if required.

Thanks a lot.
Last edited by potens on Mon, 2. Jun 25, 14:24, edited 3 times in total.
Alan Phipps
Moderator (English)
Moderator (English)
Posts: 31730
Joined: Fri, 16. Apr 04, 19:21
x4

Re: 7.6: Linux: Analog controls not working for menu/dialog

Post by Alan Phipps »

Perhaps a trivial comment, but make sure that you have actually mapped analogue device controls to analogue game inputs and not to digital (binary) inputs (or vice versa as both types exist in the input control mapping). Looking around and walking are on or off actions and so would probably work even with the wrong bindings.
A dog has a master; a cat has domestic staff.
potens
Posts: 8
Joined: Sun, 23. Feb 25, 10:34
x4

Re: 7.6: Linux: Analog controls not working for menu/dialog

Post by potens »

Hi,

Thank you for your answer, but I _think_ it is analog (because the mouse emulation is in the analog section), and, I can confirm the walk is analog (walking faster if you push the joystick more, same with the look, moving slower/faster if near the axis center or far away)

I guess that's what this means (in the inputmap.xml file:

Code: Select all

❯ grep AXIS inputmap.xml|grep JOYAXE|grep MOUSE
  <range id="INPUT_RANGE_CONTROLLERMOUSECURSOR_X" source="INPUT_SOURCE_JOYAXES" code="INPUT_JOYAXIS_X"/>
  <range id="INPUT_RANGE_CONTROLLERMOUSECURSOR_X" source="INPUT_SOURCE_JOYAXES_2" code="INPUT_JOYAXIS_RX"/>
  <range id="INPUT_RANGE_CONTROLLERMOUSECURSOR_Y" source="INPUT_SOURCE_JOYAXES" code="INPUT_JOYAXIS_Y"/>
  <range id="INPUT_RANGE_CONTROLLERMOUSECURSOR_Y" source="INPUT_SOURCE_JOYAXES_2" code="INPUT_JOYAXIS_RY"/>

❯ grep AXIS inputmap.xml|grep JOYAXE|grep -E "(STRAFE|WALK)"
  <range id="INPUT_RANGE_STRAFE_LEFT_RIGHT" source="INPUT_SOURCE_JOYAXES_2" code="INPUT_JOYAXIS_X"/>
  <range id="INPUT_RANGE_STRAFE_UP_DOWN" source="INPUT_SOURCE_JOYAXES_2" code="INPUT_JOYAXIS_RZ"/>
  <range id="INPUT_RANGE_FP_WALK" source="INPUT_SOURCE_JOYAXES" code="INPUT_JOYAXIS_RY"/>
  <range id="INPUT_RANGE_FP_STRAFE" source="INPUT_SOURCE_JOYAXES" code="INPUT_JOYAXIS_RX"/>

That said, now (for no apparent reason I can think of) the cursor stay visible now (but does not move) (I'll edit my original question about the mention of this)

Once again, thank for the clue, but it does not seems to be the problem
xAix1999
Posts: 50
Joined: Mon, 24. Feb 25, 04:38

Re: 7.6: Linux: Analog controls not working for menu/dialog

Post by xAix1999 »

hi, two questions for you.

have you tested and verified that the game controllers work outside of the game? possibly the controller buttons are not mapped correctly.
i would take a look at the arch wiki for your game pad. https://wiki.archlinux.org/title/Gamepad#Testing

second question is, are you using native or proton? if these were not setup for your system then proton might not work as you had expected if they were never installed/configured.

don't mean to tell you to RTFM, lol, i believe it's a good resource for troubleshooting is all since i dont know where you are in your troubleshooting process.
potens
Posts: 8
Joined: Sun, 23. Feb 25, 10:34
x4

Re: 7.6: Linux: Analog controls not working for menu/dialog

Post by potens »

Don't worry, I don't have any problem with RTFM ;-)

- So for your questions, I'm using native

Code: Select all

❯ file '/mnt/steam-samsung/SteamLibrary/steamapps/common/X4 Foundations/X4'
/mnt/steam-samsung/SteamLibrary/steamapps/common/X4 Foundations/X4: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=441671dfe732e114183ac1c658b26c5f1a8c520d, stripped
- I'm playing exclusively under Linux for... a lot of years, so yhea I know the joysticks and gamepads are working in other games, but I guess I was not clear. The controllers ARE WORKING in the game, but not for "mouse emulation" with analog input, not within the dialog selection, and not on the map (I can confirm it now), the same analog inputs are working on "general"(space ship cockpit), or walking

Still, thank you for your input
xAix1999
Posts: 50
Joined: Mon, 24. Feb 25, 04:38

Re: 7.6: Linux: Analog controls not working for menu/dialog

Post by xAix1999 »

could you do an output of 'lsmod | grep analog'? just trying to see if the module is loaded. the other modules i would look for is joydev and maybe gameport but im assuming joydev is loaded.

also looks like you have an awesome list of controllers there. have you checked to see if a controller has priority other others? my old steam controller would override my xbox or ps controllers when they are plugged in.
i think i also read that you were having the same issue with your steam deck? i would need some time to download the game for the deck and check if it's not responding over there also.
potens
Posts: 8
Joined: Sun, 23. Feb 25, 10:34
x4

Re: 7.6: Linux: Analog controls not working for menu/dialog

Post by potens »

Hello,

I thing there is a misunderstanding, I am very sure the joystick is working the way it must, even partly in X4, what does not work is controlling the mouse pointer on the map with it, moving in the menu with it and selecting dialog option with it (all of them using analog input, any of the 6 axis I have on the joystick) the analog inputs of this very joystick are working while piloting and walking (movements and look). And, by the way, X4 detects it since to assign an axe to the action, you need to action the axe

You saw a lot of devices because I tested the problem against multiple controllers for the sake of checking it was not from the joystick, otherwise, I (plan to) use dual joysticks, but when I detected the problem, not all controllers of the world and then some where connected :-D

And to ensure it is not one taking control over the other, I put the binding on each of them. (And now I retested with a single joystick)

About the stream deck yes, I don't plan to play on it (right now) but I installed on it just to check

I don't have any output for the lsmod for analog (because it is for joysticks on joystick port (midi port ?), a thing from the past, not usb ones) but I have joydev and usbhid

That said, I join here a screenshot of the joytest, with all analog axis in action at once (forget the last two since those are POV "fake" analog)
Image

Thanks !
xAix1999
Posts: 50
Joined: Mon, 24. Feb 25, 04:38

Re: 7.6: Linux: Analog controls not working for menu/dialog

Post by xAix1999 »

sorry about the confusion, i am trying my best. lol

i guess the only option i can think of is testing this in proton.
could you let us know what the compatibility options are set to in the steam properties? i tend to use proton-ge-custom-bin for some games on arch.
potens
Posts: 8
Joined: Sun, 23. Feb 25, 10:34
x4

Re: 7.6: Linux: Analog controls not working for menu/dialog

Post by potens »

xAix1999 wrote: Fri, 30. May 25, 20:39 sorry about the confusion, i am trying my best. lol
Don't worry, you're trying to help, and that's already nice of you, and... sometime you just pass over something you are almost certain you have done, and that's when other point you to it that you find your mistake
i guess the only option i can think of is testing this in proton.
could you let us know what the compatibility options are set to in the steam properties? i tend to use proton-ge-custom-bin for some games on arch.
On this one, I'm less certain, I mean, what's the point ? Mine is to let devs knows maybe there is a bug there, or, if not, other people running Linux telling me I'm wrong, Using proton will not achieve any of this (I'm not allergic to proton, it's a really good piece of software, but I still would like to use the native one). BTW, I usually use the experimental version of it (99% of the time, the other 1% are a mix of ge, older versions and stuffs)

Thanks a lot
xrogaan
Posts: 213
Joined: Tue, 31. May 11, 20:27
x4

Re: 7.6: Linux: Analog controls not working for menu/dialog

Post by xrogaan »

Proton (wine) is a translation layer. It means that if your system behaves one way, then whether you use a native software or a software through proton, you'll have the same experience.

I'm confused as to what OP wants to achieve, and to me, it looks like the game is WAD. You have a controller and a mouse, and I soon as you use the controller, the game detects its usage and get the mouse pointer out of the way. Is my understanding correct?
CPU: 8-core AMD Ryzen 7 5700X (-MT MCP-); 32GiB ram; GPU: AMD Radeon RX 6600; GNU/Linux Devuan
xAix1999
Posts: 50
Joined: Mon, 24. Feb 25, 04:38

Re: 7.6: Linux: Analog controls not working for menu/dialog

Post by xAix1999 »

i believe they want total immersion with their 2 joysticks capable of navigating the menu's, dialog and the map, without switching back to mouse and keyboard. i can understand wanting to achieve this with a nice joystick setup since desk space can be at a premium.

i was asking about using proton for comparison. if moving from native to proton the configs will reset (i believe) and wondering if the map, dialog and menu navigation could work with just reset configs and then we could say a configuration error with the game and linux version. with linux being as mature as it is, most of the time these days it's a configuration issue but there is also random bugs and regression. such as scrolling the controls menu will cause stuttering, that's a file being read multiple times in a second type of stuttering.

now that i'm thinking about it, i don't think i have ever been able to get my controllers to work on the dialogs menu or map, huh. lol
potens
Posts: 8
Joined: Sun, 23. Feb 25, 10:34
x4

Re: 7.6: Linux: Analog controls not working for menu/dialog

Post by potens »

xrogaan wrote: Fri, 30. May 25, 22:17 Proton (wine) is a translation layer. It means that if your system behaves one way, then whether you use a native software or a software through proton, you'll have the same experience.

I'm confused as to what OP wants to achieve, and to me, it looks like the game is WAD. You have a controller and a mouse, and I soon as you use the controller, the game detects its usage and get the mouse pointer out of the way. Is my understanding correct?
That's not completely true, the thing about proton, native version can leverage specific functionalities of Linux, i.e. Factorio on Linux does the automatic saves in background without any interruption, while the proton version and Windows version freeze a few seconds because the game binary include specific code for the platform, and sometimes that's the opposite, the native binary has some specific bugs, but otherwise, yes, we're getting closer every months to achieve a kind of parity

What I'm trying to achieve is using the feature in the game where you could use the controller/joystick to emulate the mouse cursor and using the controller to navigate through menus and dialog selection, map, not having to use the mouse at all while playing (I should even be able to not use the keyboard, but it will require a lot of memory ) since with the two joysticks, it's 88 buttons and 12 analog axis

Later today, I will still try with proton, only to identify if the problem is in the binary, since no Linux user chimed in to say, "yep, it does not work either" or "no, it works for me, the problem is the chair-keyboard interface"

Thanks for your input
Last edited by potens on Mon, 2. Jun 25, 14:25, edited 1 time in total.
potens
Posts: 8
Joined: Sun, 23. Feb 25, 10:34
x4

Re: 7.6: Linux: Analog controls not working for menu/dialog

Post by potens »

xAix1999 wrote: Sat, 31. May 25, 00:41 i believe they want total immersion with their 2 joysticks capable of navigating the menu's, dialog and the map, without switching back to mouse and keyboard. i can understand wanting to achieve this with a nice joystick setup since desk space can be at a premium.

i was asking about using proton for comparison. if moving from native to proton the configs will reset (i believe) and wondering if the map, dialog and menu navigation could work with just reset configs and then we could say a configuration error with the game and linux version. with linux being as mature as it is, most of the time these days it's a configuration issue but there is also random bugs and regression. such as scrolling the controls menu will cause stuttering, that's a file being read multiple times in a second type of stuttering.

now that i'm thinking about it, i don't think i have ever been able to get my controllers to work on the dialogs menu or map, huh. lol
You're right especially about the desk space :-D

About the reset, yes it will since the config are not stored on the same space (˜/.config/Egosoft/X4/nnnnnn/ or something like that) on native and within the Proton prefix for Proton (I think configs are not saved on the cloud)

When you say you we're not able to make it work, you mean you tried and it didn't worked ? Windows ? Linux ? Proton ?

Once again many thanks for your inputs
xAix1999
Posts: 50
Joined: Mon, 24. Feb 25, 04:38

Re: 7.60: Linux: Analog controls not working for menu/dialog

Post by xAix1999 »

i am like you and have been using linux for a while and my current install of arch has been running since 2016-10-27 that has lived on 2 different bare-metal chassis.
my current game of x4 is 23 days and runs on the linux version, i had started playing x4 with proton-ge. it's a green campaign as in i turn every sector green for me.

i guess i just got comfortable with using a joy/controller for flying and mouse keyboard for menu map dialog and never really thought about it. ive turned all notifications off so i dont really interact with the dialog much outside of story missions. i would say there is varying levels of acceptance between different players and im willing to assist you in this pursuit. since my current game is what is it, i do spend less time flying and more time managing from the map. the beginning of the game is way more piloting fun and as your empire grows to space oligarchy i guess i just switched over to keyboard and mouse at some point and never thought about it. would be nice to be able to play the game with a nice set of hosas and not use the keyboard and mouse.
potens
Posts: 8
Joined: Sun, 23. Feb 25, 10:34
x4

Re: 7.60: Linux: Analog controls not working for menu/dialog

Post by potens »

Let's say I started playing on Linux with Quake 1 and Unreal (not Tournament, only Unreal) on Debian "Potato" 2.2 (so you know, it has been a while)

Ok so, I tested against proton.

In proton, the map, menu, mouse emulation are working BUT the joystick are seen as game controller so it breaks almost everything else:
  • only 11 buttons, and those are on the base of the joystick, not even on the joystick itself
  • since it's seen as a gamepad, some axis are completely wrong since the rotation of the joystick rest position is middle, but mapped to the analog trigger of the gamepad, it means it is interpreted has half way pushed (but right now, that's a detail, compared to the 33 missing buttons per joystick)
Also, I tested again with steamdeck, and it sounds I WAS WRONG, it works on the steamdeck....BECAUSE IT USES proton... (and I don't see to way to force native)

So the conclusion I have is:
  • It sounds the linux binary is buggy and is not able to use the mouse emulation in multiple scenario (map, dialog...)
  • Right now I did not found the way to tell proton the joysticks are not gamepad, and use it a joystick, this is worse than the previous option (native binary)
So, it does not solve the problem, but as a workaround I'll setup digital input where there is the possibility (i.e. dialog selection), use the mouse where there is not, since right now, I just passed the 20h mark of "gameplay"... and I did not even started to play :'(
I guess there are way to force Proton to use the joystick as rawdevice instead if xinput, but my tries did not succeed, and I'm slowly but surely starting to be tired of failure

Thanks again for the different inputs
Last edited by potens on Tue, 3. Jun 25, 08:40, edited 1 time in total.
xAix1999
Posts: 50
Joined: Mon, 24. Feb 25, 04:38

Re: 7.60: Linux: Analog controls not working for menu/dialog

Post by xAix1999 »

check the x4 properties in steam. there should be a compatibility tab where you can force the steam linux runtime scout 1.0. i think the other option for that would be the steam-native-runtime since it might be a steam library conflict.
https://archlinux.org/packages/multilib ... e-runtime/
ScottCarammell
Posts: 1
Joined: Mon, 14. Jul 25, 18:49

Re: 7.60: Linux: Analog controls not working for menu/dialog

Post by ScottCarammell »

Having the same issue. As far as I can tell this is a Wayland issue, or one related to XWayland; it's broken both on my Steam Deck (running natively) and openSUSE PC. I can fix the issue on my PC by switching to Plasma X11, but my Deck doesn't seem to have a solution besides using Proton, which would break cloud saves since there's no cross-saving.

It sounds like the developers are working towards native Wayland implementation, or at least optimising for XWayland, which hopefully would fix this. This is also a pretty big issue for me since I almost exclusively play on controller. FWIW I'd like to add a +1 to Wayland support since I really don't like using X11 and I'd rather not if I don't have to. Plus, it'd probably help performance/battery life some for Wayland and Steam Deck users.
Last edited by ScottCarammell on Mon, 14. Jul 25, 19:01, edited 2 times in total.

Return to “X4: Foundations - Technical Support”