zed-industries / zed

Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
https://zed.dev
Other
48.78k stars 2.93k forks source link

Arch Linux can't launch after build: Io error: Broken pipe (os error 32) #13880

Closed johan-daniel closed 3 months ago

johan-daniel commented 3 months ago

Check for existing issues

Describe the bug / provide steps to reproduce it

After downloading the 0.145.5 version from the package manager, it wouldn't launch properly. It wouldn't start processes but with no UI.

So I tried building it myself to see if that'd fix the error or what was the error. It compiled fine with cargo build --release --locked but running it I got this error :

Io error: Broken pipe (os error 32)
Error trying to flush the wayland display: Broken pipe (os error 32)
[2024-07-05T19:43:50+02:00 ERROR gpui] IoError(Os { code: 32, kind: BrokenPipe, message: "Broken pipe" })

I tried switching which GPU I used to render the program and found out that this happens when running on the iGPU. When I forced it to run on the dGPU it launched the main loop but still no UI. This time I got this error on loop :

Protocol error 0 on object wl_drm@37:

Environment

GPU :

==========
VULKANINFO
==========

Vulkan Instance Version: 1.3.279

Instance Extensions: count = 19
-------------------------------
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_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_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

Instance Layers: count = 10
---------------------------
VK_LAYER_AMD_switchable_graphics_32 AMD switchable graphics layer                  1.3.280  version 1
VK_LAYER_AMD_switchable_graphics_64 AMD switchable graphics layer                  1.3.280  version 1
VK_LAYER_FROG_gamescope_wsi_x86_64  Gamescope WSI (XWayland Bypass) Layer (x86_64) 1.3.221  version 1
VK_LAYER_INTEL_nullhw               INTEL NULL HW                                  1.1.73   version 1
VK_LAYER_MESA_device_select         Linux device selection layer                   1.3.211  version 1
VK_LAYER_MESA_overlay               Mesa Overlay layer                             1.3.211  version 1
VK_LAYER_VALVE_steam_fossilize_32   Steam Pipeline Caching Layer                   1.3.207  version 1
VK_LAYER_VALVE_steam_fossilize_64   Steam Pipeline Caching Layer                   1.3.207  version 1
VK_LAYER_VALVE_steam_overlay_32     Steam Overlay Layer                            1.3.207  version 1
VK_LAYER_VALVE_steam_overlay_64     Steam Overlay Layer                            1.3.207  version 1

Devices:
========
GPU0:
    apiVersion         = 1.3.280
    driverVersion      = 2.0.304
    vendorID           = 0x1002
    deviceID           = 0x744c
    deviceType         = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
    deviceName         = AMD Radeon RX 7900 GRE
    driverID           = DRIVER_ID_AMD_OPEN_SOURCE
    driverName         = AMD open-source driver
    driverInfo         = 2024.Q2.1 (LLPC)
    conformanceVersion = 1.3.5.2
    deviceUUID         = 00000000-0300-0000-0000-000000000000
    driverUUID         = 414d442d-4c49-4e55-582d-445256000000
GPU1:
    apiVersion         = 1.3.280
    driverVersion      = 2.0.304
    vendorID           = 0x1002
    deviceID           = 0x164e
    deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
    deviceName         = AMD Radeon Graphics
    driverID           = DRIVER_ID_AMD_OPEN_SOURCE
    driverName         = AMD open-source driver
    driverInfo         = 2024.Q2.1 (LLPC)
    conformanceVersion = 1.3.5.2
    deviceUUID         = 00000000-1200-0000-0000-000000000000
    driverUUID         = 414d442d-4c49-4e55-582d-445256000000

CPU :

Architecture:             x86_64
  CPU op-mode(s):         32-bit, 64-bit
  Address sizes:          48 bits physical, 48 bits virtual
  Byte Order:             Little Endian
CPU(s):                   24
  On-line CPU(s) list:    0-23
Vendor ID:                AuthenticAMD
  Model name:             AMD Ryzen 9 7900 12-Core Processor
    CPU family:           25
    Model:                97
    Thread(s) per core:   2
    Core(s) per socket:   12
    Socket(s):            1
    Stepping:             2
    CPU(s) scaling MHz:   27%
    CPU max MHz:          5482.0000
    CPU min MHz:          400.0000
    BogoMIPS:             7402.11
apricotbucket28 commented 3 months ago

It seems like you're using the AMDVLK driver, could you try running with RADV (from the mesa drivers)?

johan-daniel commented 3 months ago

It seems like you're using the AMDVLK driver, could you try running with RADV (from the mesa drivers)?

It worked thank you !

rafalglowacz commented 3 months ago

I didn't know which of the packages suggested when installing with yay zed was the RADV package. After a little search I found out it was vulkan-radeon, leaving it here for posterity.

GirishIITM commented 3 months ago

For me installing vulkan-intel vulkan-tools worked.