Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

issue with OpenGL applications crashing when using Hyprland 0.42.0 on Asahi linux. #7364

Closed
formadi opened this issue Aug 16, 2024 · 36 comments
Labels
bug Something isn't working

Comments

@formadi
Copy link

formadi commented Aug 16, 2024

Regression?

Yes

System Info and Version

System/Version info
Hyprland, built from branch  at commit 9a09eac79b85c846e3a865a9078a3f8ff65a9259  (props: bump version to 0.42.0).
Date: Wed Aug 7 19:17:10 2024
Tag: v0.42.0, commits: 5069

flags: (if any)


System Information:
System name: Linux
Node name: fedora
Release: 6.9.12-401.asahi.fc40.aarch64+16k
Version: #1 SMP PREEMPT_DYNAMIC Sat Aug  3 22:26:24 UTC 2024


GPU information:
apple,agx-t8103

os-release: NAME="Fedora Linux Asahi Remix"
VERSION="40 (Forty)"
ID=fedora-asahi-remix
ID_LIKE=fedora
VERSION_ID=40
VERSION_CODENAME=""
PLATFORM_ID="platform:f40"
PRETTY_NAME="Fedora Linux Asahi Remix 40 (Forty)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora-asahi-remix:40"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedora-asahi-remix.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f40/system-administrators-guide/"
SUPPORT_URL="https://discussion.fedoraproject.org/c/neighbors/asahi/asahi-help/94"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=40
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=40





# █▀▀ █▄░█ █░█
# ██▄ █░▀█ ▀▄▀
#----------------------------------------------------------------------
env = CLUTTER_BACKEND,wayland
env = GDK_BACKEND,wayland
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = QT_QPA_PLATFORM,wayland
env = QT_QPA_PLATFORMTHEME,kde
env = QT_SCALE_FACTOR,1.2                      # QT 앱의 scale을 설정
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland

env = GDK_SCALE,1
env = XCURSOR_SIZE,32

env = GTK_IM_MODULE,fcitx
env = QT_IM_MODULE,fcitx
env = XMODIFIERS=@im,fcitx

# firefox
#----------------------------------------------------------------------
env = MOZ_ENABLE_WAYLAND,1

general {
  sensitivity         = 1.00
  apply_sens_to_raw   = 1
  gaps_in             = 10
  gaps_out            = 220
  border_size         = 2
  resize_on_border    = true

  col.active_border   = rgba(a895c4ff) 
  col.inactive_border = rgba(ffffff00)  

  layout              = master
}

dwindle {
  pseudotile           = false
  force_split          = 2
  preserve_split       = false
  special_scale_factor = 1.0
  default_split_ratio  = 1.0
  smart_split          = true
}

master {
  new_on_top           = false
  orientation          = center
  always_center_master = true
  mfact                = 0.45
  smart_resizing       = false
}

group {
  col.border_active = $color15
        groupbar {
        col.active = $color0
  }
}

debug {
  damage_tracking  = 2
  disable_logs     = false
  disable_time     = true
  watchdog_timeout = 0
}

decoration {
  rounding            = 0        
  active_opacity      = 1.0
  inactive_opacity    = 0.9
  fullscreen_opacity  = 1.0
  dim_inactive        = true
  dim_strength        = 0.1 Right Win, Super to Menu
  drop_shadow         = false
  shadow_range        = 80
  shadow_render_power = 50
  shadow_offset       = 8, 10
  shadow_scale        = 0.987

  blur {
  enabled           = true
  size              = 4
  passes            = 4
  ignore_opacity    = true
  brightness        = 0.5
  new_optimizations = true
  }
}

input {
  kb_layout                   = kr
  kb_variant                  =
  kb_model                    =
  kb_options                  = grp:alt_shift_toggle, ctrl:swap_lwin_lctl  
  kb_rules                    =
  repeat_rate                 = 50
  repeat_delay                = 300
  numlock_by_default          = 1
  left_handed                 = 0
  follow_mouse                = 1
  float_switch_override_focus = 0
  accel_profile               = adaptive 
  sensitivity                 = -0.8     
}

misc {
  disable_hyprland_logo    = true
  disable_splash_rendering = true
  mouse_move_enables_dpms  = true
  background_color         = 0x050106
  vrr                      = 2
  vfr                      = true
  enable_swallow           = true
  focus_on_activate        = false
  swallow_regex            = ^(foot)$
  #disable_autoreload      = true
}

binds {
  workspace_back_and_forth = 1
  allow_workspace_cycles   = 1
  pass_mouse_when_bound    = 0
}


#Could help when scaling and not pixelating
xwayland {
    force_zero_scaling = true
}


# █▀▀ ▀▄▀ █▀▀ █▀▀
# ██▄ █░█ ██▄ █▄▄
exec-once     = ln -s /run/user/1000/hypr /tmp/hypr
exec-once     = tmux setenv -g HYPRLAND_INSTANCE_SIGNATURE "$HYPRLAND_INSTANCE_SIGNATURE"
exec-once     = /home/elsa/.local/bin/wpaperd -d
exec-once     = dbus-update-activation-environment --systemd WAYLAND_DISPLAY
exec-once     = systemctl --user import-environment WAYLAND_DISPLAY            
exec-once     = xprop -root -f _XWAYLAND_GLOBAL_OUTPUT_SCALE 32c -set _XWAYLAND_GLOBAL_OUTPUT_SCALE 2
exec-once     = swaync
exec-once     = fcitx5
exec-once     = /home/elsa/.local/bin/mpd
exec-once     = wl-paste --type text  --watch cliphist store
exec-once     = wl-paste --type image --watch cliphist store
exec-once     = sudo iw dev wlp1sof0 set power_save off
exec-once     = /home/elsa/.config/eww/eww-run.sh
exec-once     = swayidle -w timeout 3600 hyprlock
exec-once     = pypr

Description

The recent release of Hyprland 0.42.0 introduced significant changes, with the most notable being the switch from wlroots to aquamarine. However, this update has caused issues on Asahi Linux, where applications that use OpenGL, such as Firefox, Kitty, wpaperd or Chromium …, are no longer running properly. The current workaround involves disabling GPU acceleration by running “export LIBGL_ALWAYS_SOFTWARE=1” and only launch app in terminal(foot terminal),

How to reproduce

Applications related to OpenGL do not run properly when launched from Rofi or a terminal, while non-OpenGL applications work without issues.

Crash reports, logs, images, videos

❯ WAYLAND_DEBUG=1 kitty
❯ WAYLAND_DEBUG=1 kitty
[1665393.321] {Default Queue}  -> wl_display#1.get_registry(new id wl_registry#2)
[1665393.347] {Default Queue}  -> wl_display#1.sync(new id wl_callback#3)
[1665393.895] {Display Queue} wl_display#1.delete_id(3)
[1665393.900] {Default Queue} wl_registry#2.global(1, "wl_seat", 9)
[1665393.903] {Default Queue}  -> wl_registry#2.bind(1, "wl_seat", 9, new id [unknown]#4)
[1665393.906] {Default Queue} wl_registry#2.global(2, "wl_data_device_manager", 3)
[1665393.908] {Default Queue}  -> wl_registry#2.bind(2, "wl_data_device_manager", 1, new id [unknown]#5)
[1665393.911] {Default Queue}  -> wl_data_device_manager#5.get_data_device(new id wl_data_device#6, wl_seat#4)
[1665393.913] {Default Queue} wl_registry#2.global(3, "wl_compositor", 6)
[1665393.915] {Default Queue}  -> wl_registry#2.bind(3, "wl_compositor", 6, new id [unknown]#7)
[1665393.917] {Default Queue} wl_registry#2.global(4, "wl_subcompositor", 1)
[1665393.919] {Default Queue}  -> wl_registry#2.bind(4, "wl_subcompositor", 1, new id [unknown]#8)
[1665393.921] {Default Queue} wl_registry#2.global(5, "wl_shm", 1)
[1665393.923] {Default Queue}  -> wl_registry#2.bind(5, "wl_shm", 1, new id [unknown]#9)
[1665393.926] {Default Queue} wl_registry#2.global(6, "wp_viewporter", 1)
[1665393.928] {Default Queue}  -> wl_registry#2.bind(6, "wp_viewporter", 1, new id [unknown]#10)
[1665393.930] {Default Queue} wl_registry#2.global(7, "wp_tearing_control_manager_v1", 1)
[1665393.932] {Default Queue} wl_registry#2.global(8, "wp_fractional_scale_manager_v1", 1)
[1665393.934] {Default Queue}  -> wl_registry#2.bind(8, "wp_fractional_scale_manager_v1", 1, new id [unknown]#11)
[1665393.936] {Default Queue} wl_registry#2.global(9, "zxdg_output_manager_v1", 3)
[1665393.938] {Default Queue} wl_registry#2.global(10, "wp_cursor_shape_manager_v1", 1)
[1665393.940] {Default Queue}  -> wl_registry#2.bind(10, "wp_cursor_shape_manager_v1", 1, new id [unknown]#12)
[1665393.943] {Default Queue} wl_registry#2.global(11, "zwp_idle_inhibit_manager_v1", 1)
[1665393.945] {Default Queue} wl_registry#2.global(12, "zwp_relative_pointer_manager_v1", 1)
[1665393.948] {Default Queue}  -> wl_registry#2.bind(12, "zwp_relative_pointer_manager_v1", 1, new id [unknown]#13)
[1665393.951] {Default Queue} wl_registry#2.global(13, "zxdg_decoration_manager_v1", 1)
[1665393.958] {Default Queue}  -> wl_registry#2.bind(13, "zxdg_decoration_manager_v1", 1, new id [unknown]#14)
[1665393.960] {Default Queue} wl_registry#2.global(14, "wp_alpha_modifier_v1", 1)
[1665393.962] {Default Queue} wl_registry#2.global(15, "zwlr_gamma_control_manager_v1", 1)
[1665393.964] {Default Queue} wl_registry#2.global(16, "ext_foreign_toplevel_list_v1", 1)
[1665393.965] {Default Queue} wl_registry#2.global(17, "zwp_pointer_gestures_v1", 3)
[1665393.967] {Default Queue} wl_registry#2.global(18, "zwlr_foreign_toplevel_manager_v1", 3)
[1665393.971] {Default Queue} wl_registry#2.global(19, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[1665393.974] {Default Queue} wl_registry#2.global(20, "zwp_text_input_manager_v1", 1)
[1665393.995] {Default Queue} wl_registry#2.global(21, "zwp_text_input_manager_v3", 1)
[1665393.997] {Default Queue}  -> wl_registry#2.bind(21, "zwp_text_input_manager_v3", 1, new id [unknown]#15)
[1665393.999] {Default Queue} wl_registry#2.global(22, "zwp_pointer_constraints_v1", 1)
[1665394.001] {Default Queue}  -> wl_registry#2.bind(22, "zwp_pointer_constraints_v1", 1, new id [unknown]#16)
[1665394.004] {Default Queue} wl_registry#2.global(23, "zwlr_output_power_manager_v1", 1)
[1665394.006] {Default Queue} wl_registry#2.global(24, "xdg_activation_v1", 1)
[1665394.008] {Default Queue}  -> wl_registry#2.bind(24, "xdg_activation_v1", 1, new id [unknown]#17)
[1665394.010] {Default Queue} wl_registry#2.global(25, "ext_idle_notifier_v1", 1)
[1665394.015] {Default Queue} wl_registry#2.global(26, "ext_session_lock_manager_v1", 1)
[1665394.018] {Default Queue} wl_registry#2.global(27, "zwp_input_method_manager_v2", 1)
[1665394.023] {Default Queue} wl_registry#2.global(28, "zwp_virtual_keyboard_manager_v1", 1)
[1665394.026] {Default Queue} wl_registry#2.global(29, "zwlr_virtual_pointer_manager_v1", 2)
[1665394.031] {Default Queue} wl_registry#2.global(30, "zwlr_output_manager_v1", 4)
[1665394.036] {Default Queue} wl_registry#2.global(31, "org_kde_kwin_server_decoration_manager", 1)
[1665394.042] {Default Queue} wl_registry#2.global(32, "hyprland_focus_grab_manager_v1", 1)
[1665394.043] {Default Queue} wl_registry#2.global(33, "zwp_tablet_manager_v2", 1)
[1665394.045] {Default Queue} wl_registry#2.global(34, "zwlr_layer_shell_v1", 5)
[1665394.053] {Default Queue}  -> wl_registry#2.bind(34, "zwlr_layer_shell_v1", 5, new id [unknown]#18)
[1665394.064] {Default Queue} wl_registry#2.global(35, "wp_presentation", 1)
[1665394.072] {Default Queue} wl_registry#2.global(36, "xdg_wm_base", 6)
[1665394.074] {Default Queue}  -> wl_registry#2.bind(36, "xdg_wm_base", 6, new id [unknown]#19)
[1665394.076] {Default Queue} wl_registry#2.global(37, "zwlr_data_control_manager_v1", 2)
[1665394.080] {Default Queue} wl_registry#2.global(38, "zwp_primary_selection_device_manager_v1", 1)
[1665394.088] {Default Queue}  -> wl_registry#2.bind(38, "zwp_primary_selection_device_manager_v1", 1, new id [unknown]#20)
[1665394.090] {Default Queue}  -> zwp_primary_selection_device_manager_v1#20.get_device(new id zwp_primary_selection_device_v1#21, wl_seat#4)
[1665394.093] {Default Queue} wl_registry#2.global(39, "xwayland_shell_v1", 1)
[1665394.096] {Default Queue} wl_registry#2.global(40, "zwlr_screencopy_manager_v1", 3)
[1665394.101] {Default Queue} wl_registry#2.global(41, "hyprland_toplevel_export_manager_v1", 2)
[1665394.103] {Default Queue} wl_registry#2.global(42, "hyprland_global_shortcuts_manager_v1", 1)
[1665394.105] {Default Queue} wl_registry#2.global(43, "wp_drm_lease_device_v1", 1)
[1665394.107] {Default Queue} wl_registry#2.global(44, "wp_linux_drm_syncobj_manager_v1", 1)
[1665394.113] {Default Queue} wl_registry#2.global(45, "wl_drm", 2)
[1665394.117] {Default Queue} wl_registry#2.global(47, "wl_output", 4)
[1665394.119] {Default Queue}  -> wl_registry#2.bind(47, "wl_output", 2, new id [unknown]#22)
[1665394.121] {Default Queue} wl_callback#3.done(894)
[1665394.126] {Default Queue}  -> zwp_text_input_manager_v3#15.get_text_input(new id zwp_text_input_v3#3, wl_seat#4)
[1665394.132] {Default Queue}  -> wl_display#1.sync(new id wl_callback#23)
[1665394.391] {Display Queue} wl_display#1.delete_id(23)
[1665394.394] {Default Queue} wl_seat#4.name("Hyprland")
[1665394.395] {Default Queue} wl_seat#4.capabilities(3)
[1665394.397] {Default Queue}  -> wl_seat#4.get_pointer(new id wl_pointer#24)
[1665394.400] {Default Queue}  -> wp_cursor_shape_manager_v1#12.get_pointer(new id wp_cursor_shape_device_v1#25, wl_pointer#24)
[1665394.402] {Default Queue}  -> wl_seat#4.get_keyboard(new id wl_keyboard#26)
[1665394.404] {Default Queue} discarded wl_shm#9.format(0)
[1665394.406] {Default Queue} discarded wl_shm#9.format(1)
[1665394.407] {Default Queue} discarded wl_shm#9.format(808669761)
[1665394.409] {Default Queue} discarded wl_shm#9.format(808669784)
[1665394.410] {Default Queue} discarded wl_shm#9.format(808665665)
[1665394.412] {Default Queue} discarded wl_shm#9.format(808665688)
[1665394.413] {Default Queue} discarded wl_shm#9.format(875708993)
[1665394.415] {Default Queue} discarded wl_shm#9.format(875709016)
[1665394.416] {Default Queue} wl_output#22.geometry(0, 0, 1600, 900, 0, "", "", 0)
[1665394.419] {Default Queue} wl_output#22.scale(1)
[1665394.421] {Default Queue} wl_output#22.mode(3, 4096, 2160, 60000)
[1665394.424] {Default Queue} wl_output#22.done()
[1665394.425] {Default Queue} wl_callback#23.done(894)
[1665394.428] {Default Queue}  -> wl_compositor#7.create_surface(new id wl_surface#23)
[1665433.411] {Default Queue}  -> wl_compositor#7.create_surface(new id wl_surface#27)
[1665433.423] {Default Queue}  -> wp_fractional_scale_manager_v1#11.get_fractional_scale(new id wp_fractional_scale_v1#28, wl_surface#27)
[1665433.431] {Default Queue}  -> wp_viewporter#10.get_viewport(new id wp_viewport#29, wl_surface#27)
[1665433.434] {Default Queue}  -> wl_surface#27.set_buffer_scale(1)
[1665434.771]  -> wl_display#1.get_registry(new id wl_registry#30)
[1665434.779]  -> wl_display#1.sync(new id wl_callback#31)
[1665435.501] {Display Queue} wl_display#1.delete_id(31)
[1665435.509] wl_registry#30.global(1, "wl_seat", 9)
[1665435.511] wl_registry#30.global(2, "wl_data_device_manager", 3)
[1665435.513] wl_registry#30.global(3, "wl_compositor", 6)
[1665435.516] wl_registry#30.global(4, "wl_subcompositor", 1)
[1665435.518] wl_registry#30.global(5, "wl_shm", 1)
[1665435.520] wl_registry#30.global(6, "wp_viewporter", 1)
[1665435.522] wl_registry#30.global(7, "wp_tearing_control_manager_v1", 1)
[1665435.524] wl_registry#30.global(8, "wp_fractional_scale_manager_v1", 1)
[1665435.527] wl_registry#30.global(9, "zxdg_output_manager_v1", 3)
[1665435.529] wl_registry#30.global(10, "wp_cursor_shape_manager_v1", 1)
[1665435.535] wl_registry#30.global(11, "zwp_idle_inhibit_manager_v1", 1)
[1665435.537] wl_registry#30.global(12, "zwp_relative_pointer_manager_v1", 1)
[1665435.541] wl_registry#30.global(13, "zxdg_decoration_manager_v1", 1)
[1665435.544] wl_registry#30.global(14, "wp_alpha_modifier_v1", 1)
[1665435.549] wl_registry#30.global(15, "zwlr_gamma_control_manager_v1", 1)
[1665435.552] wl_registry#30.global(16, "ext_foreign_toplevel_list_v1", 1)
[1665435.558] wl_registry#30.global(17, "zwp_pointer_gestures_v1", 3)
[1665435.563] wl_registry#30.global(18, "zwlr_foreign_toplevel_manager_v1", 3)
[1665435.571] wl_registry#30.global(19, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[1665435.574] wl_registry#30.global(20, "zwp_text_input_manager_v1", 1)
[1665435.576] wl_registry#30.global(21, "zwp_text_input_manager_v3", 1)
[1665435.578] wl_registry#30.global(22, "zwp_pointer_constraints_v1", 1)
[1665435.585] wl_registry#30.global(23, "zwlr_output_power_manager_v1", 1)
[1665435.590] wl_registry#30.global(24, "xdg_activation_v1", 1)
[1665435.592] wl_registry#30.global(25, "ext_idle_notifier_v1", 1)
[1665435.595] wl_registry#30.global(26, "ext_session_lock_manager_v1", 1)
[1665435.597] wl_registry#30.global(27, "zwp_input_method_manager_v2", 1)
[1665435.601] wl_registry#30.global(28, "zwp_virtual_keyboard_manager_v1", 1)
[1665435.606] wl_registry#30.global(29, "zwlr_virtual_pointer_manager_v1", 2)
[1665435.608] wl_registry#30.global(30, "zwlr_output_manager_v1", 4)
[1665435.610] wl_registry#30.global(31, "org_kde_kwin_server_decoration_manager", 1)
[1665435.613] wl_registry#30.global(32, "hyprland_focus_grab_manager_v1", 1)
[1665435.617] wl_registry#30.global(33, "zwp_tablet_manager_v2", 1)
[1665435.622] wl_registry#30.global(34, "zwlr_layer_shell_v1", 5)
[1665435.624] wl_registry#30.global(35, "wp_presentation", 1)
[1665435.626] wl_registry#30.global(36, "xdg_wm_base", 6)
[1665435.628] wl_registry#30.global(37, "zwlr_data_control_manager_v1", 2)
[1665435.632] wl_registry#30.global(38, "zwp_primary_selection_device_manager_v1", 1)
[1665435.637] wl_registry#30.global(39, "xwayland_shell_v1", 1)
[1665435.639] wl_registry#30.global(40, "zwlr_screencopy_manager_v1", 3)
[1665435.640] wl_registry#30.global(41, "hyprland_toplevel_export_manager_v1", 2)
[1665435.642] wl_registry#30.global(42, "hyprland_global_shortcuts_manager_v1", 1)
[1665435.645] wl_registry#30.global(43, "wp_drm_lease_device_v1", 1)
[1665435.650] wl_registry#30.global(44, "wp_linux_drm_syncobj_manager_v1", 1)
[1665435.652] wl_registry#30.global(45, "wl_drm", 2)
[1665435.655] wl_registry#30.global(47, "wl_output", 4)
[1665435.657] wl_callback#31.done(894)
[1665435.664]  -> wl_display#1.sync(new id wl_callback#31)
[1665435.725] {Display Queue} wl_display#1.delete_id(31)
[1665435.731] wl_callback#31.done(894)
[1665435.733]  -> wl_registry#30.bind(45, "wl_drm", 2, new id [unknown]#31)
[1665435.737]  -> wl_display#1.sync(new id wl_callback#32)
[1665435.888] {Display Queue} wl_display#1.delete_id(32)
[1665435.893] wl_drm#31.device("/dev/dri/card0")
[1665435.914]  -> wl_drm#31.authenticate(3)
[1665435.919] wl_drm#31.capabilities(1)
[1665435.921] wl_drm#31.format(1211384385)
[1665435.923] wl_drm#31.format(1211384408)
[1665435.925] wl_drm#31.format(942948929)
[1665435.930] wl_drm#31.format(808669761)
[1665435.931] wl_drm#31.format(808669784)
[1665435.933] wl_drm#31.format(808665665)
[1665435.935] wl_drm#31.format(808665688)
[1665435.937] wl_drm#31.format(875713089)
[1665435.941] wl_drm#31.format(875708993)
[1665435.945] wl_drm#31.format(875713112)
[1665435.947] wl_drm#31.format(875709016)
[1665435.949] wl_drm#31.format(892424769)
[1665435.950] wl_drm#31.format(892420673)
[1665435.954] wl_drm#31.format(842093121)
[1665435.958] wl_drm#31.format(842089025)
[1665435.959] wl_drm#31.format(909199186)
[1665435.961] wl_drm#31.format(538982482)
[1665435.963] wl_drm#31.format(540422482)
[1665435.965] wl_drm#31.format(943215175)
[1665435.969] wl_drm#31.format(842224199)
[1665435.974] wl_drm#31.format(961959257)
[1665435.976] wl_drm#31.format(825316697)
[1665435.977] wl_drm#31.format(842093913)
[1665435.979] wl_drm#31.format(909202777)
[1665435.981] wl_drm#31.format(875713881)
[1665435.986] wl_drm#31.format(961893977)
[1665435.988] wl_drm#31.format(825316953)
[1665435.990] wl_drm#31.format(842094169)
[1665435.992] wl_drm#31.format(909203033)
[1665435.994] wl_drm#31.format(875714137)
[1665435.999] wl_drm#31.format(842094158)
[1665436.001] wl_drm#31.format(825382478)
[1665436.003] wl_drm#31.format(808530000)
[1665436.004] wl_drm#31.format(842084432)
[1665436.008] wl_drm#31.format(909193296)
[1665436.013] wl_drm#31.format(808661072)
[1665436.014] wl_drm#31.format(909203022)
[1665436.016] wl_drm#31.format(1448433985)
[1665436.018] wl_drm#31.format(1448434008)
[1665436.020] wl_drm#31.format(808531033)
[1665436.024] wl_drm#31.format(842085465)
[1665436.026] wl_drm#31.format(909194329)
[1665436.027] wl_drm#31.format(1448695129)
[1665436.029] wl_drm#31.format(1431918169)
[1665436.033] wl_drm#31.format(1498831189)
[1665436.038] wl_drm#31.format(1498765654)
[1665436.039] wl_drm#31.format(808530521)
[1665436.041] wl_drm#31.format(842084953)
[1665436.043] wl_drm#31.format(909193817)
[1665436.046] wl_callback#32.done(894)
[1665436.051]  -> wl_display#1.sync(new id wl_callback#32)
[1665436.111] {Display Queue} wl_display#1.delete_id(32)
[1665436.116] wl_drm#31.authenticated()
[1665436.118] wl_callback#32.done(894)
[1665453.492] {Default Queue}  -> xdg_wm_base#19.get_xdg_surface(new id xdg_surface#32, wl_surface#27)
[1665453.507] {Default Queue}  -> xdg_surface#32.get_toplevel(new id xdg_toplevel#33)
[1665453.510] {Default Queue}  -> zxdg_decoration_manager_v1#14.get_toplevel_decoration(new id zxdg_toplevel_decoration_v1#34, xdg_toplevel#33)
[1665453.513] {Default Queue}  -> xdg_toplevel#33.set_app_id("kitty")
[1665453.515] {Default Queue}  -> xdg_toplevel#33.set_title("kitty")
[1665453.518] {Default Queue}  -> zxdg_toplevel_decoration_v1#34.set_mode(2)
[1665453.524] {Default Queue}  -> wl_surface#27.commit()
[1665453.526] {Default Queue}  -> wl_display#1.sync(new id wl_callback#35)
[1665453.529] {Default Queue} wl_keyboard#26.keymap(1, fd 6, 64956)
[1665459.389] {Default Queue} wl_keyboard#26.repeat_info(50, 300)
[1665459.396] {Default Queue} wp_fractional_scale_v1#28.preferred_scale(120)
[1665459.400] {Default Queue}  -> wl_surface#27.set_buffer_scale(1)
[1665462.759] {Display Queue} wl_display#1.delete_id(35)
[1665462.765] {Default Queue} xdg_toplevel#33.wm_capabilities(array[8])
[1665462.768] {Default Queue} zxdg_toplevel_decoration_v1#34.configure(2)
[1665462.770] {Default Queue} zxdg_toplevel_decoration_v1#34.configure(2)
[1665462.772] {Default Queue} xdg_toplevel#33.configure(4096, 2160, array[16])
[1665462.774] {Default Queue} wl_callback#35.done(895)
[1665462.776] {Default Queue} xdg_surface#32.configure(895)
[1665462.778] {Default Queue}  -> xdg_surface#32.ack_configure(895)
[1665462.781] {Default Queue}  -> xdg_surface#32.set_window_geometry(0, 0, 4096, 2160)
[1665462.786] {Default Queue}  -> wp_viewport#29.set_destination(4096, 2160)
[1665462.802] {Default Queue}  -> wl_shm#9.create_pool(new id wl_shm_pool#35, fd 11, 4)
[1665462.809] {Default Queue}  -> wl_shm_pool#35.create_buffer(new id wl_buffer#36, 0, 1, 1, 4, 0)
[1665462.812] {Default Queue}  -> wl_shm_pool#35.destroy()
[1665462.817] {Default Queue}  -> wl_surface#27.set_buffer_scale(1)
[1665462.822] {Default Queue}  -> wp_viewport#29.set_destination(4096, 2160)
[1665462.824] {Default Queue}  -> wl_surface#27.attach(wl_buffer#36, 0, 0)
[1665462.829] {Default Queue}  -> wl_surface#27.commit()
[1665462.833] {Default Queue}  -> wl_display#1.sync(new id wl_callback#37)
[1665471.327] {Display Queue} wl_display#1.delete_id(35)
[1665471.334] {Display Queue} wl_display#1.delete_id(37)
[1665471.336] {Default Queue} discarded wl_buffer#36.release()
[1665471.338] {Default Queue} xdg_toplevel#33.configure(4096, 2160, array[20])
[1665471.343] {Default Queue} wl_surface#27.enter(wl_output#22)
[1665471.346] {Default Queue} wp_fractional_scale_v1#28.preferred_scale(120)
[1665471.348] {Default Queue}  -> wl_surface#27.set_buffer_scale(1)
[1665471.350] {Default Queue} wl_surface#27.preferred_buffer_scale(1)
[1665471.353] {Default Queue} wl_surface#27.preferred_buffer_transform(0)
[1665471.357] {Default Queue} xdg_toplevel#33.configure(1914, 1810, array[20])
[1665471.359] {Default Queue} wl_keyboard#26.enter(899, wl_surface#27, array[0])
[1665471.361] {Default Queue} wl_keyboard#26.modifiers(900, 0, 0, 16, 0)
[1665471.366] {Default Queue} wl_data_device#6.data_offer(new id wl_data_offer#4278190080)
[1665471.372] {Default Queue} wl_data_offer#4278190080.offer("text/plain")
[1665471.376] {Default Queue} wl_data_offer#4278190080.offer("text/plain")
[1665471.380] {Default Queue} wl_data_offer#4278190080.offer("text/plain;charset=utf-8")
[1665471.382] {Default Queue} wl_data_offer#4278190080.offer("TEXT")
[1665471.387] {Default Queue} wl_data_offer#4278190080.offer("STRING")
[1665471.390] {Default Queue} wl_data_offer#4278190080.offer("UTF8_STRING")
[1665471.392] {Default Queue} wl_data_device#6.selection(wl_data_offer#4278190080)
[1665471.395] {Default Queue} xdg_toplevel#33.configure(1914, 1810, array[24])
[1665471.399] {Default Queue} zwp_text_input_v3#3.enter(wl_surface#27)
[1665471.401] {Default Queue}  -> zwp_text_input_v3#3.enable()
[1665471.403] {Default Queue}  -> zwp_text_input_v3#3.set_content_type(0, 13)
[1665471.407] {Default Queue}  -> zwp_text_input_v3#3.commit()
[1665471.409] {Default Queue} xdg_toplevel#33.configure(1910, 1806, array[24])
[1665471.413] {Default Queue} wp_fractional_scale_v1#28.preferred_scale(120)
[1665471.415] {Default Queue} wl_surface#27.preferred_buffer_scale(1)
[1665471.417] {Default Queue} wl_surface#27.preferred_buffer_transform(0)
[1665471.420] {Default Queue} wl_pointer#24.enter(902, wl_surface#27, 1246.12890625, 759.62109375)
[1665471.424] {Default Queue}  -> wp_cursor_shape_device_v1#25.set_shape(902, 1)
[1665471.428] {Default Queue} wl_pointer#24.frame()
[1665471.430] {Default Queue} zwp_primary_selection_device_v1#21.selection(nil)
[1665471.435] {Default Queue} wl_callback#37.done(902)
[1665471.438] {Default Queue} xdg_surface#32.configure(896)
[1665471.441] {Default Queue}  -> xdg_surface#32.ack_configure(896)
[1665471.447] {Default Queue}  -> xdg_surface#32.set_window_geometry(0, 0, 1910, 1806)
[1665471.450] {Default Queue}  -> wp_viewport#29.set_destination(1910, 1806)
[1665498.646] {Default Queue}  -> wp_cursor_shape_device_v1#25.set_shape(902, 9)
[1665510.091] {Default Queue}  -> zwp_text_input_v3#3.set_cursor_rectangle(27, 33, 8, 20)
[1665510.105] {Default Queue}  -> zwp_text_input_v3#3.commit()
[1665510.247] {Default Queue}  -> xdg_toplevel#33.set_title("zsh")
[1665511.150]  -> wl_drm#31.create_prime_buffer(new id wl_buffer#37, fd 16, 947, 1806, 875713089, 0, 3840, 0, 0, 0, 0)
[1665511.159]  -> wl_surface#27.attach(wl_buffer#37, 0, 0)
[1665511.162]  -> wl_surface#27.damage(0, 0, 2147483647, 2147483647)
[1665511.164]  -> wl_surface#27.commit()
[1665511.166]  -> wl_display#1.sync(new id wl_callback#35)
[1665511.174] {Default Queue}  -> wl_buffer#36.destroy()
[1665511.186] {Default Queue}  -> wl_surface#27.commit()
[1665511.187] {Default Queue}  -> wl_surface#27.frame(new id wl_callback#38)
[1665511.189] {Default Queue}  -> wl_surface#27.commit()
[1665511.206] {Default Queue} wl_keyboard#26.modifiers(903, 0, 0, 0, 0)
[1665511.216] {Default Queue} wl_keyboard#26.modifiers(904, 0, 0, 0, 0)
[1665511.295] {Default Queue}  -> wp_cursor_shape_device_v1#25.set_shape(902, 9)
[1665512.505] {Display Queue} wl_display#1.error(wl_display#1, 2, "no memory")
wl_display#1: error 2: no memory
[0.169] [glfw error 65544]: Wayland: fatal display error: Cannot allocate memory
@formadi formadi added the bug Something isn't working label Aug 16, 2024
@zvolin
Copy link

zvolin commented Aug 16, 2024

For reference #7161 (comment)

@vaxerski
Copy link
Member

patch.txt
try this

@formadi
Copy link
Author

formadi commented Aug 16, 2024

patch.txt try this

I applied the patch and built the project, but it still does not work properly, just like before.

cd Downloads
git clone --recursive https://github.com/hyprwm/Hyprland
cd Hyprland
cd src/protocols
patch MesaDRM.cpp < ~/Downloads/patch.txt
cd ../..
meson subprojects update --reset
meson setup build
ninja -C build
ninja -C build install --tags runtime,man
reboot
booting non-graphical mode. login & run Hyprland

@vaxerski
Copy link
Member

can you post a trace log https://wiki.hyprland.org/Crashes-and-Bugs/#obtaining-a-trace-log

I am no marcan, I don't use or understand Apple hardware, but I fail to see where I went wrong as I feel like I report formats correctly. I mean, AMD, Intel, Nvidia work.

The comment about 16-bit aligned linear buffers, sure, but it's not hyprland that reports these things. For mesa drm, we only report formats, that's it.

Currently we report formats that EGL reports as renderable, with the patch we report formats that the KMS primary plane supports.

I feel like I am out of options?

@Moerliy
Copy link
Contributor

Moerliy commented Aug 16, 2024

I just opened up an issue over at the Asahi's kernel repo, so we may get some people who can help with this.

@vaxerski
Copy link
Member

thanks :)

@formadi
Copy link
Author

formadi commented Aug 17, 2024

can you post a trace log https://wiki.hyprland.org/Crashes-and-Bugs/#obtaining-a-trace-log

I am no marcan, I don't use or understand Apple hardware, but I fail to see where I went wrong as I feel like I report formats correctly. I mean, AMD, Intel, Nvidia work.

The comment about 16-bit aligned linear buffers, sure, but it's not hyprland that reports these things. For mesa drm, we only report formats, that's it.

Currently we report formats that EGL reports as renderable, with the patch we report formats that the KMS primary plane supports.

I feel like I am out of options?

the trace log of Hyprland with HYPRLAND_TRACE=1 and AQ_TRACE=1 enabled. The log contains the process of running Hyprland (patched with patch.txt), followed by launching the foot terminal and then running kitty.

hyprland2.log.tar.gz

@Moerliy
Copy link
Contributor

Moerliy commented Aug 17, 2024

I'm gonna relay the message I got at the Asahi's Git for good measure:

This is pretty unlikely to be our bug, since all other compositors have no issue here, and it's definitely not a kernel bug since if anything Hyprland interacts with Mesa.

The Hyprland authors say it "works on intel, AMD, nvidia". Those are all non-kmsro systems. Almost all other systems use kmsro and split display/render. I bet hyprland is equally broken on Rockchip, Mali, Qualcomm, etc.

Re the original pitch issue, I took a quick look at the hyprland code and immediately saw at least one place where pitch == width * 4 is assumed, which is an incorrect assumption to make. So their code is very clearly broken and has never been tested on a system with pitch alignment requirements. They need to debug this, not us.

I would suggest the Hyprland author interact with the Mesa/freedesktop community to learn how to write a compositor correctly using APIs and flows that work actoss different hardwares and respect hardware limitations and works with kmsro... but they are banned from that community, for very good reasons. So now they're on their own. Good luck.

Pretty disappointed with this one tbh. Childish would probably describe it even more but whatever.
There are a view hints on where the problem could come from but if the issues isn't resolvable I'd love to talk to the freedesktop people for you.

@mavonarx
Copy link

Interestingly not all software is broken. Zed editor seems to work (you can also get a terminal there and start other processes within Hyprland like this and get the logs)

@vaxerski
Copy link
Member

at least now you can see who actually cares about you, the user, having a good experience over their own political beliefs.

I'll try to see what I can do. Currently on holiday.

@vaxerski
Copy link
Member

can someone precisely bisect this? If it's for sure 6608?

@arminius-smh
Copy link

arminius-smh commented Aug 17, 2024

can someone precisely bisect this? If it's for sure 6608?

Yeah that's the pr that breaks opengl stuff for me, up to the commit before that, everything works as it's supposed to

@vaxerski
Copy link
Member

alr, thanks

@Moerliy
Copy link
Contributor

Moerliy commented Aug 17, 2024

I don't have much time but I will dig a bit into it and post stuff that could be of interest.
I'm out of my comfort zone tho so don't expect much xD

@vaxerski
Copy link
Member

no worries, I'm looking into this and @gulafaran is too from what I can tell

@vaxerski
Copy link
Member

I feel like there are two separate issues here. Can someone try to get a trace log with hardware cursors disabled?

@vaxerski
Copy link
Member

it looks like the M1 renderer on asahi has no cursor plane exposed. Aquamarine expects a hw plane for a cursor to be present. Hang on. (at any rate, for now, disable hw cursors and that one should be gone)

@vaxerski
Copy link
Member

ok, that one should be fixed. Pull aq-git.

@Moerliy
Copy link
Contributor

Moerliy commented Aug 17, 2024

Doesn't seem to work.
I'll pair it up with the patch next. (didn't work too)

@vaxerski
Copy link
Member

can I get a trace log? :)

@Moerliy
Copy link
Contributor

Moerliy commented Aug 17, 2024

On it

Edit: never mind. Having some problems with my nix :/
If anyone else can paste their log it would be much appreciated.

@rrennoir
Copy link

hyprland.log.tar.gz

I open kitty and it instantly crash too

latest hyprland with the patch and latest aquamarine
trace enabled for both
hardware cursor disabled

@vaxerski
Copy link
Member

split render nodes are funky somewhere I assume. Can I get a log from 0.41.2 with
HYPRLAND_TRACE=1 HYPRLAND_LOG_WLR=1 Hyprland please?

vaxerski added a commit that referenced this issue Aug 18, 2024
@vaxerski
Copy link
Member

this might also improve stuff

@rrennoir
Copy link

this might also improve stuff

yes, kitty and firefox dosn't crash anymore

@vaxerski
Copy link
Member

vaxerski commented Aug 18, 2024

vkcube-wayland might though :P

Although that's an issue on amd too and has been before AQ iirc

@vaxerski
Copy link
Member

anyways if this is fixed I'd consider this done

@rrennoir
Copy link

both vkcube works 😛

@vaxerski
Copy link
Member

fair enough lol, can someone else verify so I can close this?

@formadi
Copy link
Author

formadi commented Aug 18, 2024

fair enough lol, can someone else verify so I can close this?

Chromium, firefox, kitty, wpaperd.. all... works well...
thanks you ~

@vaxerski
Copy link
Member

coolio

@dxwil
Copy link

dxwil commented Aug 19, 2024

@vaxerski could u tag a release for this, so repos can update.

@vaxerski
Copy link
Member

not really, not able to atm thats one and two there are no RCs atm. We're aiming for 0.43.0 in some time.

If a repo wants asahi fixed, considering its usually a specific distro, they can cherry-pick this one commit and use aquamarine 0.3.2/0.3.3 and it will work

@rowanG077
Copy link

rowanG077 commented Aug 20, 2024

Asahi is not really a specific distro. Fedora is the "original" but there are a ton of distros with asahi changes. For example this issue was hit on nixos first afaik not on fedora. Anyway it's not too hard to patch it yourself, just clearing up the misconception that asahi is a single distro.

@dxwil
Copy link

dxwil commented Aug 20, 2024

Asahi is not really a specific distro. Fedora is the "original" but there are a ton of distros with asahi changes. For example this issue was hit on nixos first afaik not on fedora. Anyway it's not too hard to patch it yourself, just clearing up the misconception that asahi is a single distro.

Yeah I meant the repos of distros that have the Asahi kernel and the rest, meaning they work on apple silicon macs.

@vaxerski
Copy link
Member

asahi is not a distro but asahi on a distro is a specific "bundle" (e.g. asahi arch) where the maintainers can cherry-pick a patch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

9 participants