haosulab / ManiSkill

SAPIEN Manipulation Skill Framework, a GPU parallelized robotics simulator and benchmark
https://maniskill.ai/
Apache License 2.0
920 stars 166 forks source link

To disable rendering during replay on Windows #674

Open SkyRainWind opened 3 weeks ago

SkyRainWind commented 3 weeks ago

Hello, thanks for your brilliant work!

After I grabbed raw datasets, I have troubles transfering trajectories to other control mode(say, I would like to use python -m mani_skill2.trajectory.replay_trajectory --traj-path demos/v0/rigid_body/PickCube-v0/trajectory.h5 --save-traj --target-control-mode pd_ee_delta_pose --obs-mode rgbd command to obtain a new trajectory called trajectory.rgbd.pd_ee_delta_pose.h5).

I use windows connecting to remote server and I disabled x11 forwarding. Is it possible to disable rendering when replaying trajectories?

Compilation information are listed below.

$ python -m mani_skill2.trajectory.replay_trajectory --traj-path demos/v0/rigid_body/PickCube-v0/trajectory.h5 --save-traj --target-control-mode pd_ee_delta_pose

0step [00:00, ?step/s][2024-11-01 21:53:44.939] [svulkan2] [error] GLFW error: X11: The DISPLAY environment variable is missing

[2024-11-01 21:53:44.939] [svulkan2] [warning] Continue without GLFW.

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/home/shizuru/anaconda3/envs/pcm/lib/python3.11/site-packages/mani_skill2/trajectory/replay_trajectory.py", line 530, in <module>
    main(parse_args())
  File "/home/shizuru/anaconda3/envs/pcm/lib/python3.11/site-packages/mani_skill2/trajectory/replay_trajectory.py", line 524, in main
    _main(args)
  File "/home/shizuru/anaconda3/envs/pcm/lib/python3.11/site-packages/mani_skill2/trajectory/replay_trajectory.py", line 350, in _main
    ori_env = gym.make(env_id, **ori_env_kwargs)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/shizuru/anaconda3/envs/pcm/lib/python3.11/site-packages/gymnasium/envs/registration.py", line 802, in make
    env = env_creator(**env_spec_kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/shizuru/anaconda3/envs/pcm/lib/python3.11/site-packages/mani_skill2/utils/registration.py", line 92, in make
    env = env_spec.make(**kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/shizuru/anaconda3/envs/pcm/lib/python3.11/site-packages/mani_skill2/utils/registration.py", line 34, in make
    return self.cls(**_kwargs)
           ^^^^^^^^^^^^^^^^^^^
  File "/home/shizuru/anaconda3/envs/pcm/lib/python3.11/site-packages/mani_skill2/envs/pick_and_place/pick_cube.py", line 22, in __init__
    super().__init__(*args, **kwargs)
  File "/home/shizuru/anaconda3/envs/pcm/lib/python3.11/site-packages/mani_skill2/envs/pick_and_place/base_env.py", line 27, in __init__
    super().__init__(*args, **kwargs)
  File "/home/shizuru/anaconda3/envs/pcm/lib/python3.11/site-packages/mani_skill2/envs/sapien_env.py", line 107, in __init__
    self._renderer = sapien.SapienRenderer(**renderer_kwargs)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Cannot find a suitable rendering device
StoneT2000 commented 3 weeks ago

Is this on docker? Did you check vulkan is installed correctly following our troubleshooting guide: https://maniskill.readthedocs.io/en/latest/user_guide/getting_started/installation.html#troubleshooting

I also recommend upgrading to ManiSkill 3 instead, we have the same PickCube demonstrations as before.

SkyRainWind commented 3 weeks ago

Thanks for your timely reply! I use vscode terminal directly without docker, and the problem remains after I checked troubleshooting. The detailed outputs of vulkaninfo are listed below.

Click to toggle contents of `vulkaninfo` ``` $ vulkaninfo 'DISPLAY' environment variable not set... skipping surface info error: XDG_RUNTIME_DIR not set in the environment. error: XDG_RUNTIME_DIR not set in the environment. error: XDG_RUNTIME_DIR not set in the environment. error: XDG_RUNTIME_DIR not set in the environment. error: XDG_RUNTIME_DIR not set in the environment. WARNING: lavapipe is not a conformant vulkan implementation, testing use only. ========== VULKANINFO ========== Vulkan Instance Version: 1.2.131 Instance Extensions: count = 18 ==================== VK_EXT_acquire_xlib_display : extension revision 1 VK_EXT_debug_report : extension revision 10 VK_EXT_debug_utils : extension revision 1 VK_EXT_direct_mode_display : extension revision 1 VK_EXT_display_surface_counter : extension revision 1 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_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 Layers: count = 3 ======= VK_LAYER_LUNARG_standard_validation (LunarG Standard Validation Layer) Vulkan version 1.0.131, layer version 1: Layer Extensions: count = 0 Devices: count = 1 GPU id : 0 (llvmpipe (LLVM 12.0.0, 256 bits)) Layer-Device Extensions: count = 0 VK_LAYER_MESA_device_select (Linux device selection layer) Vulkan version 1.2.73, layer version 1: Layer Extensions: count = 0 Devices: count = 1 GPU id : 0 (llvmpipe (LLVM 12.0.0, 256 bits)) Layer-Device Extensions: count = 0 VK_LAYER_MESA_overlay (Mesa Overlay layer) Vulkan version 1.1.73, layer version 1: Layer Extensions: count = 0 Devices: count = 1 GPU id : 0 (llvmpipe (LLVM 12.0.0, 256 bits)) Layer-Device Extensions: count = 0 Presentable Surfaces: ===================== error: XDG_RUNTIME_DIR not set in the environment. error: XDG_RUNTIME_DIR not set in the environment. error: XDG_RUNTIME_DIR not set in the environment. error: XDG_RUNTIME_DIR not set in the environment. Groups: ======= Device Group Properties (Group 0): physicalDeviceCount: count = 1 llvmpipe (LLVM 12.0.0, 256 bits) (ID: 0) subsetAllocation = 0 Device Group Present Capabilities (Group 0): WARNING: lavapipe is not a conformant vulkan implementation, testing use only. llvmpipe (LLVM 12.0.0, 256 bits) (ID: 0) Can present images from the following devices: llvmpipe (LLVM 12.0.0, 256 bits) (ID: 0) Present modes: DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR Device Properties and Extensions: ================================= GPU0: VkPhysicalDeviceProperties: --------------------------- apiVersion = 4198582 (1.1.182) driverVersion = 1 (0x0001) vendorID = 0x10005 deviceID = 0x0000 deviceType = PHYSICAL_DEVICE_TYPE_CPU deviceName = llvmpipe (LLVM 12.0.0, 256 bits) VkPhysicalDeviceLimits: ----------------------- maxImageDimension1D = 16384 maxImageDimension2D = 16384 maxImageDimension3D = 4096 maxImageDimensionCube = 32768 maxImageArrayLayers = 2048 maxTexelBufferElements = 134217728 maxUniformBufferRange = 65536 maxStorageBufferRange = 134217728 maxPushConstantsSize = 128 maxMemoryAllocationCount = 4294967295 maxSamplerAllocationCount = 32768 bufferImageGranularity = 0x00000040 sparseAddressSpaceSize = 0x00000000 maxBoundDescriptorSets = 8 maxPerStageDescriptorSamplers = 32 maxPerStageDescriptorUniformBuffers = 15 maxPerStageDescriptorStorageBuffers = 16 maxPerStageDescriptorSampledImages = 128 maxPerStageDescriptorStorageImages = 16 maxPerStageDescriptorInputAttachments = 8 maxPerStageResources = 128 maxDescriptorSetSamplers = 32768 maxDescriptorSetUniformBuffers = 256 maxDescriptorSetUniformBuffersDynamic = 256 maxDescriptorSetStorageBuffers = 256 maxDescriptorSetStorageBuffersDynamic = 256 maxDescriptorSetSampledImages = 256 maxDescriptorSetStorageImages = 256 maxDescriptorSetInputAttachments = 256 maxVertexInputAttributes = 32 maxVertexInputBindings = 32 maxVertexInputAttributeOffset = 2047 maxVertexInputBindingStride = 2048 maxVertexOutputComponents = 128 maxTessellationGenerationLevel = 64 maxTessellationPatchSize = 32 maxTessellationControlPerVertexInputComponents = 128 maxTessellationControlPerVertexOutputComponents = 128 maxTessellationControlPerPatchOutputComponents = 128 maxTessellationControlTotalOutputComponents = 4096 maxTessellationEvaluationInputComponents = 128 maxTessellationEvaluationOutputComponents = 128 maxGeometryShaderInvocations = 32 maxGeometryInputComponents = 64 maxGeometryOutputComponents = 128 maxGeometryOutputVertices = 1024 maxGeometryTotalOutputComponents = 1024 maxFragmentInputComponents = 128 maxFragmentOutputAttachments = 8 maxFragmentDualSrcAttachments = 2 maxFragmentCombinedOutputResources = 8 maxComputeSharedMemorySize = 32768 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 32768 viewportSubPixelBits = 0 minMemoryMapAlignment = 64 minTexelBufferOffsetAlignment = 0x00000010 minUniformBufferOffsetAlignment = 0x00000010 minStorageBufferOffsetAlignment = 0x00000010 minTexelOffset = -32 maxTexelOffset = 31 minTexelGatherOffset = -32 maxTexelGatherOffset = 31 minInterpolationOffset = -2 maxInterpolationOffset = 2 subPixelInterpolationOffsetBits = 8 maxFramebufferWidth = 16384 maxFramebufferHeight = 16384 maxFramebufferLayers = 2048 framebufferColorSampleCounts: SAMPLE_COUNT_1_BIT SAMPLE_COUNT_4_BIT framebufferDepthSampleCounts: SAMPLE_COUNT_1_BIT SAMPLE_COUNT_4_BIT framebufferStencilSampleCounts: SAMPLE_COUNT_1_BIT SAMPLE_COUNT_4_BIT framebufferNoAttachmentsSampleCounts: SAMPLE_COUNT_1_BIT SAMPLE_COUNT_4_BIT maxColorAttachments = 8 sampledImageColorSampleCounts: SAMPLE_COUNT_1_BIT SAMPLE_COUNT_4_BIT sampledImageIntegerSampleCounts: SAMPLE_COUNT_1_BIT SAMPLE_COUNT_4_BIT sampledImageDepthSampleCounts: SAMPLE_COUNT_1_BIT SAMPLE_COUNT_4_BIT sampledImageStencilSampleCounts: SAMPLE_COUNT_1_BIT SAMPLE_COUNT_4_BIT storageImageSampleCounts: SAMPLE_COUNT_1_BIT SAMPLE_COUNT_4_BIT maxSampleMaskWords = 1 timestampComputeAndGraphics = true timestampPeriod = 1 maxClipDistances = 8 maxCullDistances = 8 maxCombinedClipAndCullDistances = 8 discreteQueuePriorities = 2 pointSizeRange: count = 2 0 255 lineWidthRange: count = 2 1 255 pointSizeGranularity = 0.125 lineWidthGranularity = 0.0078125 strictLines = true standardSampleLocations = true optimalBufferCopyOffsetAlignment = 0x00000080 optimalBufferCopyRowPitchAlignment = 0x00000080 nonCoherentAtomSize = 0x00000040 VkPhysicalDeviceSparseProperties: --------------------------------- residencyStandard2DBlockShape = false residencyStandard2DMultisampleBlockShape = false residencyStandard3DBlockShape = false residencyAlignedMipSize = false residencyNonResidentStrict = false VkPhysicalDeviceDriverPropertiesKHR: ------------------------------------ driverID = UNKNOWN_VkDriverId driverName = llvmpipe driverInfo = Mesa 21.2.6 (LLVM 12.0.0) conformanceVersion = 1.0.0.0 VkPhysicalDeviceIDProperties: ----------------------------- deviceUUID = 00000000-0000-0000-0000-000000000000 driverUUID = 00000000-0000-0000-0000-000000000000 deviceNodeMask = 0 deviceLUIDValid = false VkPhysicalDeviceLineRasterizationPropertiesEXT: ----------------------------------------------- lineSubPixelPrecisionBits = 8 VkPhysicalDeviceMaintenance3Properties: --------------------------------------- maxPerSetDescriptors = 1024 maxMemoryAllocationSize = 0x80000000 VkPhysicalDeviceMultiviewProperties: ------------------------------------ maxMultiviewViewCount = 6 maxMultiviewInstanceIndex = 2147483647 VkPhysicalDevicePointClippingProperties: ---------------------------------------- pointClippingBehavior = POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES VkPhysicalDeviceProtectedMemoryProperties: ------------------------------------------ protectedNoFault = false VkPhysicalDevicePushDescriptorPropertiesKHR: -------------------------------------------- maxPushDescriptors = 32 VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT: ------------------------------------------------- filterMinmaxSingleComponentFormats = true filterMinmaxImageComponentMapping = true VkPhysicalDeviceSubgroupProperties: ----------------------------------- subgroupSize = 8 supportedStages: SHADER_STAGE_FRAGMENT_BIT SHADER_STAGE_COMPUTE_BIT SHADER_STAGE_ALL_GRAPHICS SHADER_STAGE_ALL supportedOperations: SUBGROUP_FEATURE_BASIC_BIT SUBGROUP_FEATURE_VOTE_BIT SUBGROUP_FEATURE_ARITHMETIC_BIT SUBGROUP_FEATURE_BALLOT_BIT quadOperationsInAllStages = false VkPhysicalDeviceTransformFeedbackPropertiesEXT: ----------------------------------------------- maxTransformFeedbackStreams = 4 maxTransformFeedbackBuffers = 4 maxTransformFeedbackBufferSize = 0xffffffff maxTransformFeedbackStreamDataSize = 512 maxTransformFeedbackBufferDataSize = 512 maxTransformFeedbackBufferDataStride = 512 transformFeedbackQueries = true transformFeedbackStreamsLinesTriangles = false transformFeedbackRasterizationStreamSelect = false transformFeedbackDraw = true VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT: ---------------------------------------------------- maxVertexAttribDivisor = 4294967295 Device Extensions: count = 54 ------------------ VK_EXT_calibrated_timestamps : extension revision 2 VK_EXT_conditional_rendering : extension revision 2 VK_EXT_custom_border_color : extension revision 12 VK_EXT_extended_dynamic_state : extension revision 1 VK_EXT_extended_dynamic_state2 : extension revision 1 VK_EXT_host_query_reset : extension revision 1 VK_EXT_index_type_uint8 : extension revision 1 VK_EXT_line_rasterization : extension revision 1 VK_EXT_multi_draw : extension revision 1 VK_EXT_post_depth_coverage : extension revision 1 VK_EXT_private_data : extension revision 1 VK_EXT_provoking_vertex : 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_stencil_export : extension revision 1 VK_EXT_shader_viewport_index_layer : 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_GOOGLE_decorate_string : extension revision 1 VK_GOOGLE_hlsl_functionality1 : extension revision 1 VK_KHR_16bit_storage : extension revision 1 VK_KHR_8bit_storage : extension revision 1 VK_KHR_bind_memory2 : extension revision 1 VK_KHR_buffer_device_address : 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_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_external_fence : extension revision 1 VK_KHR_external_memory : extension revision 1 VK_KHR_external_semaphore : extension revision 1 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_multiview : 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_separate_depth_stencil_layouts : extension revision 1 VK_KHR_shader_atomic_int64 : extension revision 1 VK_KHR_shader_draw_parameters : extension revision 1 VK_KHR_storage_buffer_storage_class : extension revision 1 VK_KHR_swapchain : extension revision 70 VK_KHR_uniform_buffer_standard_layout : extension revision 1 VK_KHR_variable_pointers : extension revision 1 VkQueueFamilyProperties: ======================== queueProperties[0]: ------------------ minImageTransferGranularity = (1,1,1) queueCount = 1 queueFlags = QUEUE_GRAPHICS | QUEUE_COMPUTE | QUEUE_TRANSFER timestampValidBits = 64 present support = false VkPhysicalDeviceMemoryProperties: ================================= memoryHeaps: count = 1 memoryHeaps[0]: size = 2147483648 (0x80000000) (2.00 GiB) budget = 0 usage = 0 flags: MEMORY_HEAP_DEVICE_LOCAL_BIT memoryTypes: count = 1 memoryTypes[0]: heapIndex = 0 propertyFlags = 0x000f: 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 IMAGE_TILING_LINEAR: color images 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 = false textureCompressionETC2 = false textureCompressionASTC_LDR = false textureCompressionBC = true occlusionQueryPrecise = true pipelineStatisticsQuery = true vertexPipelineStoresAndAtomics = true fragmentStoresAndAtomics = true shaderTessellationAndGeometryPointSize = true shaderImageGatherExtended = true shaderStorageImageExtendedFormats = true shaderStorageImageMultisample = true shaderStorageImageReadWithoutFormat = false shaderStorageImageWriteWithoutFormat = true shaderUniformBufferArrayDynamicIndexing = false shaderSampledImageArrayDynamicIndexing = false shaderStorageBufferArrayDynamicIndexing = false shaderStorageImageArrayDynamicIndexing = false shaderClipDistance = true shaderCullDistance = true shaderFloat64 = true shaderInt64 = true shaderInt16 = true shaderResourceResidency = false shaderResourceMinLod = false sparseBinding = false sparseResidencyBuffer = false sparseResidencyImage2D = false sparseResidencyImage3D = false sparseResidency2Samples = false sparseResidency4Samples = false sparseResidency8Samples = false sparseResidency16Samples = false sparseResidencyAliased = false variableMultisampleRate = false inheritedQueries = false VkPhysicalDevice16BitStorageFeatures: ------------------------------------- storageBuffer16BitAccess = true uniformAndStorageBuffer16BitAccess = true storagePushConstant16 = true storageInputOutput16 = false VkPhysicalDevice8BitStorageFeaturesKHR: --------------------------------------- storageBuffer8BitAccess = true uniformAndStorageBuffer8BitAccess = true storagePushConstant8 = true VkPhysicalDeviceBufferDeviceAddressFeaturesKHR: ----------------------------------------------- bufferDeviceAddress = true bufferDeviceAddressCaptureReplay = false bufferDeviceAddressMultiDevice = false VkPhysicalDeviceConditionalRenderingFeaturesEXT: ------------------------------------------------ conditionalRendering = true inheritedConditionalRendering = false VkPhysicalDeviceHostQueryResetFeaturesEXT: ------------------------------------------ hostQueryReset = true VkPhysicalDeviceImagelessFramebufferFeaturesKHR: ------------------------------------------------ imagelessFramebuffer = true VkPhysicalDeviceIndexTypeUint8FeaturesEXT: ------------------------------------------ indexTypeUint8 = true VkPhysicalDeviceLineRasterizationFeaturesEXT: --------------------------------------------- rectangularLines = true bresenhamLines = true smoothLines = true stippledRectangularLines = true stippledBresenhamLines = true stippledSmoothLines = true VkPhysicalDeviceMultiviewFeatures: ---------------------------------- multiview = true multiviewGeometryShader = true multiviewTessellationShader = true VkPhysicalDeviceProtectedMemoryFeatures: ---------------------------------------- protectedMemory = false VkPhysicalDeviceSamplerYcbcrConversionFeatures: ----------------------------------------------- samplerYcbcrConversion = false VkPhysicalDeviceScalarBlockLayoutFeaturesEXT: --------------------------------------------- scalarBlockLayout = true VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR: ------------------------------------------------------- separateDepthStencilLayouts = true VkPhysicalDeviceShaderAtomicInt64FeaturesKHR: --------------------------------------------- shaderBufferInt64Atomics = true shaderSharedInt64Atomics = true VkPhysicalDeviceShaderDrawParametersFeatures: --------------------------------------------- shaderDrawParameters = true VkPhysicalDeviceTransformFeedbackFeaturesEXT: --------------------------------------------- transformFeedback = true geometryStreams = true VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR: ------------------------------------------------------- uniformBufferStandardLayout = true VkPhysicalDeviceVariablePointersFeatures: ----------------------------------------- variablePointersStorageBuffer = true variablePointers = false VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT: -------------------------------------------------- vertexAttributeInstanceRateDivisor = true vertexAttributeInstanceRateZeroDivisor = false ```

I would like to try Maniskill 3. However, the paper i follow currently uses Maniskill 2, so i've kept the compatibility.

StoneT2000 commented 2 weeks ago

Can you test running python -m sapien.example.offscreen

SkyRainWind commented 2 weeks ago

Can you test running python -m sapien.example.offscreen

Thanks for your reply! I walk through install workflow and troubleshooting again and I refer to some related issues and the results are listed below.

The result of python -m sapien.example.offscreen:

1 ``` /home/tyf/anaconda3/envs/pcm/lib/python3.11/site-packages/sapien/_vulkan_tricks.py:37: UserWarning: Failed to find Vulkan ICD file. This is probably due to an incorrect or partial installation of the NVIDIA driver. SAPIEN will attempt to provide an ICD file anyway but it may not work. warn( Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/home/tyf/anaconda3/envs/pcm/lib/python3.11/site-packages/sapien/example/offscreen.py", line 37, in main() File "/home/tyf/anaconda3/envs/pcm/lib/python3.11/site-packages/sapien/example/offscreen.py", line 9, in main scene = sapien.Scene() ^^^^^^^^^^^^^^ File "/home/tyf/anaconda3/envs/pcm/lib/python3.11/site-packages/sapien/wrapper/scene.py", line 25, in __init__ [sapien.physx.PhysxCpuSystem(), sapien.render.RenderSystem()] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ RuntimeError: invalid PCI string Segmentation fault (core dumped) ```

The results of sapien info --all:

2 ``` Traceback (most recent call last): File "/home/tyf/anaconda3/envs/pcm/bin/sapien", line 58, in info += sapien.render.get_device_summary() + "\n" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ RuntimeError: invalid PCI string ```

The results of

>>> import sapien.core as sapien
>>> sapien.SapienRenderer(offscreen_only=True, device="cuda:0")
3 ``` Traceback (most recent call last): File "", line 1, in File "/home/tyf/anaconda3/envs/pcm/lib/python3.11/site-packages/sapien/wrapper/renderer.py", line 9, in __init__ super().__init__() RuntimeError: invalid PCI string ```

Last but not least, I use windows and a remote server to do everything. Maybe it is better for ubuntu?

StoneT2000 commented 1 week ago

You will want to use ubuntu whenever possible. It is the best supported platform.

We have limited support for running sapien/maniskill on windows systems. It can work but when it doesn't, usually it means something is wrong with the nvidia driver installation.