Commit 9e5c356ebe9e
tarball6 files changed+381-152
@@ -247,6 +247,20 @@ dependencies = [
247247
]248248
249249
[[package]]250
+name = "encoding_rs"251
+version = "0.8.42"252
+source = "registry+https://github.com/rust-lang/crates.io-index"253
+checksum = "8e985e0451871ad22fb8d2b6b076e2028a502a0d3950998c2c5c0a4f9b5d9679"254
+dependencies = [255
+ "cfg-if",256
+ "core_detect",257
+ "multiversion_no_op",258
+ "rustversion",259
+ "scopeguard",260
+ "simdutf8",261
+]262
+263
+[[package]]250264
name = "enumflags2"251265
version = "0.7.12"252266
source = "registry+https://github.com/rust-lang/crates.io-index"@@ -323,6 +337,16 @@ dependencies = [
323337
]324338
325339
[[package]]340
+name = "gethostname"341
+version = "1.1.0"342
+source = "registry+https://github.com/rust-lang/crates.io-index"343
+checksum = "1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8"344
+dependencies = [345
+ "rustix 1.1.5",346
+ "windows-link",347
+]348
+349
+[[package]]326350
name = "getrandom"327351
version = "0.4.3"328352
source = "registry+https://github.com/rust-lang/crates.io-index"@@ -520,6 +544,7 @@ name = "monolith"
520544
version = "0.0.0"521545
dependencies = [522546
"calloop-wayland-source",547
+ "libc",523548
"monolith-config",524549
"monolith-ipc",525550
"monolith-layout",@@ -554,6 +579,7 @@ dependencies = [
554579
name = "monolith-ipc"555580
version = "0.0.0"556581
dependencies = [582
+ "monolith-layout",557583
"serde",558584
]559585
@@ -563,6 +589,7 @@ version = "0.0.0"
563589
dependencies = [564590
"monolith-planner",565591
"proptest",592
+ "serde",566593
"slotmap",567594
]568595
@@ -600,6 +627,7 @@ dependencies = [
600627
"rustix 1.1.5",601628
"smithay",602629
"thiserror 2.0.21",630
+ "tracing",603631
]604632
605633
[[package]]@@ -610,6 +638,12 @@ dependencies = [
610638
]611639
612640
[[package]]641
+name = "multiversion_no_op"642
+version = "1.0.0"643
+source = "registry+https://github.com/rust-lang/crates.io-index"644
+checksum = "743fb55ba31b18fb1ecef6bdc9aa2743314978ac084044301a7eee33fb99a20d"645
+646
+[[package]]613647
name = "nu-ansi-term"614648
version = "0.50.3"615649
source = "registry+https://github.com/rust-lang/crates.io-index"@@ -882,6 +916,12 @@ dependencies = [
882916
]883917
884918
[[package]]919
+name = "rustversion"920
+version = "1.0.23"921
+source = "registry+https://github.com/rust-lang/crates.io-index"922
+checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"923
+924
+[[package]]885925
name = "rusty-fork"886926
version = "0.3.1"887927
source = "registry+https://github.com/rust-lang/crates.io-index"@@ -894,6 +934,12 @@ dependencies = [
894934
]895935
896936
[[package]]937
+name = "scopeguard"938
+version = "1.2.0"939
+source = "registry+https://github.com/rust-lang/crates.io-index"940
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"941
+942
+[[package]]897943
name = "serde"898944
version = "1.0.229"899945
source = "registry+https://github.com/rust-lang/crates.io-index"@@ -961,6 +1007,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
9611007
checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"9621008
9631009
[[package]]1010
+name = "simdutf8"1011
+version = "0.1.5"1012
+source = "registry+https://github.com/rust-lang/crates.io-index"1013
+checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e"1014
+1015
+[[package]]9641016
name = "siphasher"9651017
version = "1.0.4"9661018
source = "registry+https://github.com/rust-lang/crates.io-index"@@ -996,6 +1048,7 @@ dependencies = [
9961048
"drm-ffi",9971049
"drm-fourcc",9981050
"drm-sys",1051
+ "encoding_rs",9991052
"errno",10001053
"gbm",10011054
"glam",@@ -1009,6 +1062,7 @@ dependencies = [
10091062
"rand",10101063
"reis",10111064
"rustix 1.1.5",1065
+ "scopeguard",10121066
"siphasher",10131067
"smallvec",10141068
"tempfile",@@ -1019,6 +1073,7 @@ dependencies = [
10191073
"wayland-protocols-misc",10201074
"wayland-protocols-wlr",10211075
"wayland-server",1076
+ "x11rb",10221077
"xkbcommon",10231078
]10241079
@@ -1543,6 +1598,23 @@ dependencies = [
15431598
]15441599
15451600
[[package]]1601
+name = "x11rb"1602
+version = "0.13.2"1603
+source = "registry+https://github.com/rust-lang/crates.io-index"1604
+checksum = "9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414"1605
+dependencies = [1606
+ "gethostname",1607
+ "rustix 1.1.5",1608
+ "x11rb-protocol",1609
+]1610
+1611
+[[package]]1612
+name = "x11rb-protocol"1613
+version = "0.13.2"1614
+source = "registry+https://github.com/rust-lang/crates.io-index"1615
+checksum = "ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd"1616
+1617
+[[package]]15461618
name = "xcursor"15471619
version = "0.3.11"15481620
source = "registry+https://github.com/rust-lang/crates.io-index"@@ -672,11 +672,18 @@ fn on_input(state: &mut State, event: InputEvent<LibinputInputBackend>) {
672672
state.dirty.cursor = true;673673
}674674
InputEvent::PointerMotionAbsolute { event } => {675
- let Some(area) = state.wm.layout.outputs().next().map(|(_, o)| o.area) else {675
+ // Tablets and absolute mice span the whole desktop, as in sway.676
+ let Some(area) = state677
+ .wm678
+ .layout679
+ .outputs()680
+ .map(|(_, o)| o.area)681
+ .reduce(|a, b| a.union(&b))682
+ else {676683
return;677684
};678685
let p = event.position_transformed((area.w as i32, area.h as i32).into());679
- let pos = Point::from((area.x + p.x, area.y + p.y));686
+ let pos = clamp(state, Point::from((area.x + p.x, area.y + p.y)));680687
state.pointer_to(pos, event.time());681688
state.pointer_frame();682689
state.dirty.cursor = true;@@ -26,6 +26,13 @@ impl Rect {
2626
x >= self.x && y >= self.y && x < self.right() && y < self.bottom()2727
}2828
29
+ pub fn union(&self, other: &Rect) -> Rect {30
+ let (x, y) = (self.x.min(other.x), self.y.min(other.y));31
+ let r = self.right().max(other.right());32
+ let b = self.bottom().max(other.bottom());33
+ Rect::new(x, y, r - x, b - y)34
+ }35
+2936
pub fn center_x(&self) -> f64 {3037
self.x + self.w / 2.03138
}Binary file not shown.
@@ -1,150 +1,293 @@
1
- Finished `release` profile [optimized] target(s) in 0.09s2
- Running `target/release/monolith run --backend drm , vkcube`3
-2026-10-16T13:55:27.915038Z INFO monolith: logging spans slower than 1 ms4
-slow span input_seat>add_keyboard_with_context_flags>input_keyboard took_us=20875
-slow span input_seat>add_keyboard_with_context_flags took_us=21326
-slow span input_seat>add_keyboard took_us=21477
-2026-10-16T13:55:29.224103Z INFO monolith::drm: primary GPU path=/dev/dri/card18
-slow span drm_device>drm_atomic took_us=907229
-slow span drm_device took_us=9076710
-slow span new>acquire>acquire>create_buffer>create_buffer_with_flags>create_buffer_with_flags took_us=129811
-slow span new>acquire>acquire>create_buffer>create_buffer_with_flags took_us=132812
-slow span new>acquire>acquire>create_buffer took_us=133613
-slow span new>acquire>acquire took_us=134514
-slow span new>acquire took_us=135315
-slow span drm_device>drm_atomic>create_surface>drm_atomic>test_state took_us=1524116
-slow span new>test_state>test_state>test_state took_us=1526417
-slow span new>test_state>test_state took_us=1527318
-slow span new>test_state took_us=1528119
-slow span new took_us=1729920
-slow span drm_device>drm_atomic>create_surface>drm_atomic>test_state took_us=676521
-slow span drm_compositor>render_frame>test_state_complete>test_state>test_state took_us=678222
-slow span drm_compositor>render_frame>test_state_complete>test_state took_us=679023
-slow span drm_compositor>render_frame>test_state_complete took_us=679924
-slow span drm_compositor>render_frame>bind took_us=1557325
-slow span drm_compositor>render_frame took_us=2299626
-slow span render_frame took_us=2301827
-slow span drm_device>drm_atomic>create_surface>drm_atomic>commit took_us=9923728
-slow span commit>commit>commit took_us=9927229
-slow span commit>commit took_us=9928230
-slow span commit took_us=9929731
-2026-10-16T13:55:29.641815Z INFO monolith::drm: output connected name="DP-2" w=2560 h=1440 refresh=16532
-2026-10-16T13:55:29.641868Z INFO monolith::ipc: control socket path=/run/user/1000/monolith-wayland-2.sock33
-2026-10-16T13:55:29.641880Z INFO monolith: monolith running socket="wayland-2" device="NVIDIA GeForce RTX 3060"34
-2026-10-16T13:55:29.642294Z INFO monolith::commands: spawned pid=358809 argv=[",", "vkcube"]35
-slow span render_surface>import_texture>import_texture>upload_with took_us=1581236
-slow span render_surface>import_texture>import_texture took_us=2650137
-slow span render_surface>import_texture took_us=2651138
-slow span drm_compositor>render_frame>acquire>acquire>create_buffer>create_buffer_with_flags>create_buffer_with_flags took_us=125239
-slow span drm_compositor>render_frame>acquire>acquire>create_buffer>create_buffer_with_flags took_us=127840
-slow span drm_compositor>render_frame>acquire>acquire>create_buffer took_us=129541
-slow span drm_compositor>render_frame>acquire>acquire took_us=131442
-slow span drm_compositor>render_frame>acquire took_us=133043
-slow span drm_compositor>render_frame>add_framebuffer>framebuffer_from_bo>framebuffer_from_bo_internal took_us=777444
-slow span drm_compositor>render_frame>add_framebuffer>framebuffer_from_bo took_us=782145
-slow span drm_compositor>render_frame>add_framebuffer took_us=783746
-slow span drm_compositor>render_frame>bind took_us=1376747
-slow span drm_compositor>render_frame took_us=2330948
-slow span render_surface>render_frame took_us=2332349
-2026-10-16T13:55:29.692355Z DEBUG render_surface: monolith::drm: slow frame output="DP-2" took_ns=49995407 scene_ns=7600 render_ns=23337629 render_cpu_ns=2849132 queue_ns=12563250
-slow span render_surface took_us=5001351
-2026-10-16T13:55:29.697539Z DEBUG monolith::drm: frame rate output="DP-2" presented=1 vblanks=8719010 budget_us=5199552
-Selected WSI platform: wayland53
-Selected GPU 0: NVIDIA GeForce RTX 3060, type: DiscreteGpu, apiVersion: 4211017 (1.4.329), driverVersion: -1797652352 (83.416.128) 54
-2026-10-16T13:55:30.697736Z DEBUG monolith::drm: frame rate output="DP-2" presented=19 vblanks=164 budget_us=243755
-slow span import_dmabuf took_us=1785656
-slow span import_dmabuf took_us=2723857
-slow span import_dmabuf took_us=2015558
-2026-10-16T13:55:31.697991Z DEBUG monolith::drm: frame rate output="DP-2" presented=82 vblanks=164 budget_us=219159
-2026-10-16T13:55:32.679444Z DEBUG monolith::input: bind cmd=Fullscreen60
-2026-10-16T13:55:32.698256Z DEBUG monolith::drm: frame rate output="DP-2" presented=164 vblanks=165 budget_us=201361
-slow span import_dmabuf took_us=1770062
-slow span import_dmabuf took_us=2403763
-slow span import_dmabuf took_us=1567764
-slow span on_commit_buffer_handler>update_buffer took_us=634265
-slow span on_commit_buffer_handler took_us=639566
-slow span new>render_damage>render_output_internal took_us=2498867
-slow span new>render_damage>render_output>render_output_internal took_us=2504068
-slow span new>render_damage>render_output took_us=2507169
-slow span drm_compositor>render_frame>render_output took_us=2508070
-slow span drm_compositor>render_frame took_us=2514671
-slow span render_surface>render_frame took_us=2515872
-2026-10-16T13:55:32.913829Z DEBUG render_surface: monolith::drm: slow frame output="DP-2" took_ns=25435336 scene_ns=26330 render_ns=25175162 render_cpu_ns=5136493 queue_ns=22248473
-slow span render_surface took_us=2548374
-2026-10-16T13:55:32.922566Z DEBUG monolith::drm: frame missed its vblank output="DP-2" late_ns=96993106 budget_ns=250876575
-2026-10-16T13:55:32.934693Z DEBUG monolith::drm: frame missed its vblank output="DP-2" late_ns=6064851 budget_ns=301160676
-2026-10-16T13:55:32.971061Z DEBUG monolith::drm: frame missed its vblank output="DP-2" late_ns=6068851 budget_ns=332739977
-slow span new>render_damage>render_output_internal>submit>end_and_submit took_us=581578
-slow span new>render_damage>render_output_internal>submit took_us=593079
-slow span new>render_damage>render_output_internal took_us=597180
-slow span new>render_damage>render_output>render_output_internal took_us=597881
-slow span new>render_damage>render_output took_us=600882
-slow span drm_compositor>render_frame>render_output took_us=601783
-slow span drm_compositor>render_frame took_us=608084
-slow span render_surface>render_frame took_us=609085
-2026-10-16T13:55:33.016548Z DEBUG render_surface: monolith::drm: slow frame output="DP-2" took_ns=6376037 scene_ns=33750 render_ns=6107272 render_cpu_ns=1178461 queue_ns=22344486
-slow span render_surface took_us=641887
-2026-10-16T13:55:33.019676Z DEBUG monolith::drm: frame missed its vblank output="DP-2" late_ns=6090851 budget_ns=341609188
-2026-10-16T13:55:33.698509Z DEBUG monolith::drm: frame rate output="DP-2" presented=128 vblanks=165 budget_us=334289
-2026-10-16T13:55:34.698766Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vblanks=165 budget_us=331190
-slow span new>render_damage>render_output_internal>submit>end_and_submit took_us=560291
-slow span new>render_damage>render_output_internal>submit took_us=569092
-slow span new>render_damage>render_output_internal took_us=571293
-slow span new>render_damage>render_output>render_output_internal took_us=572094
-slow span new>render_damage>render_output took_us=573395
-slow span drm_compositor>render_frame>render_output took_us=574096
-slow span drm_compositor>render_frame took_us=578797
-slow span render_surface>render_frame took_us=579698
-2026-10-16T13:55:34.768375Z DEBUG render_surface: monolith::drm: slow frame output="DP-2" took_ns=6245805 scene_ns=8490 render_ns=5808747 render_cpu_ns=1863972 queue_ns=42460899
-slow span render_surface took_us=6312100
-2026-10-16T13:55:34.771529Z DEBUG monolith::drm: frame missed its vblank output="DP-2" late_ns=6069851 budget_ns=3362830101
-2026-10-16T13:55:35.699025Z DEBUG monolith::drm: frame rate output="DP-2" presented=164 vblanks=165 budget_us=3472102
-2026-10-16T13:55:36.699286Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vblanks=165 budget_us=3415103
-slow span new>render_damage>render_output_internal>submit>end_and_submit took_us=3063104
-slow span new>render_damage>render_output_internal>submit took_us=3108105
-slow span new>render_damage>render_output_internal took_us=3123106
-slow span new>render_damage>render_output>render_output_internal took_us=3130107
-slow span new>render_damage>render_output took_us=3141108
-slow span drm_compositor>render_frame>render_output took_us=3149109
-slow span drm_compositor>render_frame took_us=3170110
-slow span render_surface>render_frame took_us=3179111
-2026-10-16T13:55:37.432701Z DEBUG render_surface: monolith::drm: slow frame output="DP-2" took_ns=3290440 scene_ns=7500 render_ns=3204169 render_cpu_ns=3270391 queue_ns=75401112
-slow span render_surface took_us=3306113
-2026-10-16T13:55:37.699539Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vblanks=165 budget_us=3298114
-2026-10-16T13:55:38.699792Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vblanks=165 budget_us=3330115
-2026-10-16T13:55:39.700055Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vblanks=165 budget_us=3345116
-2026-10-16T13:55:40.700318Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vblanks=165 budget_us=3478117
-2026-10-16T13:55:41.700567Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vblanks=165 budget_us=3266118
-2026-10-16T13:55:42.700827Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vblanks=165 budget_us=3578119
-slow span new>render_damage>render_output_internal>submit>end_and_submit took_us=3009120
-slow span new>render_damage>render_output_internal>submit took_us=3120121
-slow span new>render_damage>render_output_internal took_us=3142122
-slow span new>render_damage>render_output>render_output_internal took_us=3155123
-slow span new>render_damage>render_output took_us=3174124
-slow span drm_compositor>render_frame>render_output took_us=3188125
-slow span drm_compositor>render_frame took_us=3220126
-slow span render_surface>render_frame took_us=3235127
-2026-10-16T13:55:43.640465Z DEBUG render_surface: monolith::drm: slow frame output="DP-2" took_ns=3363021 scene_ns=9080 render_ns=3252660 render_cpu_ns=3339252 queue_ns=97881128
-slow span render_surface took_us=3384129
-2026-10-16T13:55:43.646539Z DEBUG monolith::drm: frame missed its vblank output="DP-2" late_ns=6066851 budget_ns=3369191130
-2026-10-16T13:55:43.701091Z DEBUG monolith::drm: frame rate output="DP-2" presented=164 vblanks=165 budget_us=3591131
-2026-10-16T13:55:44.701355Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vblanks=165 budget_us=3399132
-2026-10-16T13:55:45.701605Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vblanks=165 budget_us=3279133
-2026-10-16T13:55:46.701869Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vblanks=165 budget_us=3357134
-2026-10-16T13:55:47.702145Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vblanks=165 budget_us=3503135
-2026-10-16T13:55:48.702451Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vblanks=165 budget_us=3412136
-2026-10-16T13:55:49.702636Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vblanks=164 budget_us=3267137
-slow span new>render_damage>render_output_internal>submit>end_and_submit took_us=3504138
-slow span new>render_damage>render_output_internal>submit took_us=3561139
-slow span new>render_damage>render_output_internal took_us=3578140
-slow span new>render_damage>render_output>render_output_internal took_us=3585141
-slow span new>render_damage>render_output took_us=3598142
-slow span drm_compositor>render_frame>render_output took_us=3605143
-slow span drm_compositor>render_frame took_us=3628144
-slow span render_surface>render_frame took_us=3636145
-2026-10-16T13:55:49.854584Z DEBUG render_surface: monolith::drm: slow frame output="DP-2" took_ns=3769619 scene_ns=9481 render_ns=3647066 render_cpu_ns=3739753 queue_ns=109462146
-slow span render_surface took_us=3793147
-2026-10-16T13:55:49.860264Z DEBUG monolith::drm: frame missed its vblank output="DP-2" late_ns=6067851 budget_ns=3373150148
-2026-10-16T13:55:50.378283Z DEBUG monolith::input: bind cmd=Quit149
-slow span drm_device>drm_atomic>create_surface>drm_atomic took_us=67389150
-slow span drm_device>drm_atomic>create_surface>drm_atomic>clear_state took_us=674431
+ Compiling monolith-render-vk v0.0.0 (/home/bolt/code/monolith/crates/render-vk)2
+ Compiling monolith v0.0.0 (/home/bolt/code/monolith/crates/monolith)3
+ Finished `release` profile [optimized] target(s) in 17.42s4
+ Running `target/release/monolith run --backend drm`5
+2026-10-17T04:38:44.170181Z INFO monolith: logging spans slower than 1000 us6
+2026-10-17T04:38:44.171288Z INFO monolith: no realtime scheduling, it needs CAP_SYS_NICE or an rtprio limit: Operation not permitted (os error 1)7
+2026-10-17T04:38:44.346541Z DEBUG monolith_render_vk::device: queue global priority refused: ERROR_NOT_PERMITTED_KHR priority=Some(REALTIME)8
+2026-10-17T04:38:44.346776Z DEBUG monolith_render_vk::device: queue global priority refused: ERROR_NOT_PERMITTED_KHR priority=Some(HIGH)9
+2026-10-17T04:38:44.459666Z INFO monolith_render_vk::device: queue global priority priority=None10
+slow span input_seat>add_keyboard_with_context_flags>input_keyboard took_us=171911
+slow span input_seat>add_keyboard_with_context_flags took_us=173912
+slow span input_seat>add_keyboard took_us=175313
+2026-10-17T04:38:44.465864Z INFO monolith::drm: primary GPU path=/dev/dri/card114
+slow span drm_device>drm_atomic took_us=3705815
+slow span drm_device took_us=3710916
+slow span drm_device>drm_atomic>create_surface>drm_atomic>test_state took_us=659717
+slow span new>test_state>test_state>test_state took_us=662418
+slow span new>test_state>test_state took_us=663219
+slow span new>test_state took_us=664120
+slow span new took_us=812721
+slow span drm_device>drm_atomic>create_surface>drm_atomic>test_state took_us=712122
+slow span drm_compositor>render_frame>test_state_complete>test_state>test_state took_us=714823
+slow span drm_compositor>render_frame>test_state_complete>test_state took_us=716624
+slow span drm_compositor>render_frame>test_state_complete took_us=718425
+slow span drm_compositor>render_frame>bind took_us=243326
+slow span drm_compositor>render_frame took_us=1014627
+slow span render_frame took_us=1016228
+slow span drm_device>drm_atomic>create_surface>drm_atomic>commit took_us=4985129
+slow span commit>commit>commit took_us=4987230
+slow span commit>commit took_us=4988131
+slow span commit took_us=4989332
+2026-10-17T04:38:44.649687Z INFO monolith::drm: output connected name="DP-2" w=2560 h=1440 refresh=165 vrr_capable=true33
+2026-10-17T04:38:44.649752Z INFO monolith::ipc: control socket path=/run/user/1000/monolith-wayland-2.sock34
+2026-10-17T04:38:44.649818Z INFO monolith::xwayland: X11 clients will start Xwayland on :035
+2026-10-17T04:38:44.649823Z INFO monolith: monolith running socket="wayland-2" device="NVIDIA GeForce RTX 3060"36
+slow span render_surface>import_texture>import_texture>upload_with took_us=137137
+slow span render_surface>import_texture>import_texture took_us=540938
+slow span render_surface>import_texture took_us=541739
+slow span drm_compositor>render_frame>acquire>acquire>create_buffer>create_buffer_with_flags>create_buffer_with_flags took_us=149640
+slow span drm_compositor>render_frame>acquire>acquire>create_buffer>create_buffer_with_flags took_us=150841
+slow span drm_compositor>render_frame>acquire>acquire>create_buffer took_us=151642
+slow span drm_compositor>render_frame>acquire>acquire took_us=152443
+slow span drm_compositor>render_frame>acquire took_us=153244
+slow span drm_compositor>render_frame>try_assign_element>try_assign_element>try_assign_cursor_plane>try_assign_cursor_plane took_us=129745
+slow span drm_compositor>render_frame>try_assign_element>try_assign_element>try_assign_cursor_plane took_us=131746
+slow span drm_compositor>render_frame>try_assign_element>try_assign_element took_us=133247
+slow span drm_compositor>render_frame>try_assign_element took_us=135648
+slow span drm_compositor>render_frame>bind took_us=159149
+slow span drm_compositor>render_frame took_us=487050
+slow span render_surface>render_frame took_us=488151
+2026-10-17T04:38:44.660750Z DEBUG render_surface: monolith::drm: slow frame output="DP-2" took_ns=10435636 scene_ns=5430737 render_ns=4891937 render_cpu_ns=3583322 queue_ns=11222252
+slow span render_surface took_us=1044953
+2026-10-17T04:38:44.663521Z DEBUG monolith::drm: frame rate output="DP-2" presented=1 vblanks=3878441 vrr=false budget_us=1243554
+2026-10-17T04:39:24.548397Z DEBUG monolith::input: bind cmd=Spawn { argv: ["beer"] }55
+2026-10-17T04:39:24.548973Z INFO monolith::commands: spawned pid=283170 argv=["beer"]56
+2026-10-17T04:39:24.558591Z DEBUG monolith::stats: commits per second top=[("other", 1)]57
+2026-10-17T04:39:24.558818Z DEBUG monolith::drm: frame rate output="DP-2" presented=1 vblanks=6581 vrr=false budget_us=252158
+slow span wayland_shm took_us=261759
+slow span wayland_shm took_us=161960
+2026-10-17T04:39:26.278204Z DEBUG monolith::stats: commits per second top=[("dev.notashelf.beer", 11)]61
+2026-10-17T04:39:26.286461Z DEBUG monolith::drm: frame rate output="DP-2" presented=55 vblanks=284 vrr=false budget_us=236062
+2026-10-17T04:39:27.280560Z DEBUG monolith::stats: commits per second top=[("dev.notashelf.beer", 12)]63
+2026-10-17T04:39:27.286722Z DEBUG monolith::drm: frame rate output="DP-2" presented=12 vblanks=165 vrr=false budget_us=239864
+2026-10-17T04:39:27.293574Z INFO monolith::xwayland: starting Xwayland65
+2026-10-17T04:39:27.364232Z INFO monolith::xwayland: Xwayland ready66
+2026-10-17T04:39:27.944452Z DEBUG monolith::layers: new layer surface namespace="quickshell" output="DP-2"67
+2026-10-17T04:39:27.944617Z DEBUG monolith::layers: new layer surface namespace="quickshell" output="DP-2"68
+2026-10-17T04:39:27.944666Z DEBUG monolith::layers: new layer surface namespace="quickshell" output="DP-2"69
+2026-10-17T04:39:27.944709Z DEBUG monolith::layers: new layer surface namespace="quickshell" output="DP-2"70
+slow span wayland_shm took_us=374571
+2026-10-17T04:39:28.157816Z DEBUG monolith::layers: new layer surface namespace="quickshell" output="DP-2"72
+slow span drm_compositor>render_frame took_us=153573
+slow span render_surface>render_frame took_us=160374
+slow span render_surface took_us=208175
+slow span wayland_shm took_us=242476
+2026-10-17T04:39:28.285107Z DEBUG monolith::stats: commits per second top=[("layer:quickshell", 35), ("dev.notashelf.beer", 4)]77
+2026-10-17T04:39:28.286976Z DEBUG monolith::drm: frame rate output="DP-2" presented=25 vblanks=165 vrr=false budget_us=240578
+slow span new>render_damage>render_output_internal>submit>end_and_submit>queue_submit took_us=223579
+slow span new>render_damage>render_output_internal>submit>end_and_submit took_us=226680
+slow span new>render_damage>render_output_internal>submit took_us=229581
+slow span new>render_damage>render_output_internal took_us=230882
+slow span new>render_damage>render_output>render_output_internal took_us=231683
+slow span new>render_damage>render_output took_us=233184
+slow span drm_compositor>render_frame>render_output took_us=233885
+slow span drm_compositor>render_frame took_us=238286
+slow span render_surface>render_frame took_us=239087
+slow span render_surface took_us=251788
+2026-10-17T04:39:28.505232Z DEBUG monolith::drm: frame missed its vblank output="DP-2" late_ns=6064851 budget_ns=279607889
+2026-10-17T04:39:29.267450Z DEBUG monolith::input: bind cmd=Close90
+slow span dropping Pool took_us=308191
+slow span wayland_shm took_us=133892
+2026-10-17T04:39:29.285636Z DEBUG monolith::stats: commits per second top=[("layer:quickshell", 98)]93
+2026-10-17T04:39:29.287268Z DEBUG monolith::drm: frame rate output="DP-2" presented=74 vblanks=165 vrr=false budget_us=276194
+slow span render_surface took_us=107695
+slow span drm_compositor>render_frame>try_assign_element>try_assign_element>try_assign_cursor_plane>try_assign_cursor_plane>create_buffer>create_buffer_with_flags>create_buffer_with_flags took_us=119496
+slow span drm_compositor>render_frame>try_assign_element>try_assign_element>try_assign_cursor_plane>try_assign_cursor_plane>create_buffer>create_buffer_with_flags took_us=122397
+slow span drm_compositor>render_frame>try_assign_element>try_assign_element>try_assign_cursor_plane>try_assign_cursor_plane>create_buffer took_us=123198
+slow span drm_compositor>render_frame>try_assign_element>try_assign_element>try_assign_cursor_plane>try_assign_cursor_plane took_us=184599
+slow span drm_compositor>render_frame>try_assign_element>try_assign_element>try_assign_cursor_plane took_us=1861100
+slow span drm_compositor>render_frame>try_assign_element>try_assign_element took_us=1870101
+slow span drm_compositor>render_frame>try_assign_element took_us=1893102
+slow span drm_compositor>render_frame took_us=1991103
+slow span render_surface>render_frame took_us=2004104
+slow span render_surface took_us=2209105
+slow span import_surface_tree>import_surface_tree>import_surface>import_surface>wayland_shm>upload_with>end_and_submit>queue_submit took_us=1674106
+slow span import_surface_tree>import_surface_tree>import_surface>import_surface>wayland_shm>upload_with>end_and_submit took_us=1696107
+slow span import_surface_tree>import_surface_tree>import_surface>import_surface>wayland_shm>upload_with took_us=1719108
+slow span import_surface_tree>import_surface_tree>import_surface>import_surface>wayland_shm took_us=1729109
+slow span import_surface_tree>import_surface_tree>import_surface>import_surface took_us=1739110
+slow span import_surface_tree>import_surface_tree>import_surface took_us=1748111
+slow span import_surface_tree>import_surface_tree took_us=1757112
+slow span import_surface_tree took_us=1766113
+slow span drm_compositor>render_frame>try_assign_element>try_assign_element>try_assign_cursor_plane>try_assign_cursor_plane>add_framebuffer>framebuffer_from_bo>framebuffer_from_bo_internal took_us=1354114
+slow span drm_compositor>render_frame>try_assign_element>try_assign_element>try_assign_cursor_plane>try_assign_cursor_plane>add_framebuffer>framebuffer_from_bo took_us=1394115
+slow span drm_compositor>render_frame>try_assign_element>try_assign_element>try_assign_cursor_plane>try_assign_cursor_plane>add_framebuffer took_us=1405116
+slow span drm_compositor>render_frame>try_assign_element>try_assign_element>try_assign_cursor_plane>try_assign_cursor_plane took_us=2345117
+slow span drm_compositor>render_frame>try_assign_element>try_assign_element>try_assign_cursor_plane took_us=2366118
+slow span drm_compositor>render_frame>try_assign_element>try_assign_element took_us=2375119
+slow span drm_compositor>render_frame>try_assign_element took_us=2385120
+slow span drm_compositor>render_frame took_us=2485121
+slow span render_surface>render_frame took_us=2498122
+slow span render_surface took_us=2648123
+2026-10-17T04:39:30.039935Z DEBUG monolith::drm: frame missed its vblank output="DP-2" late_ns=6037851 budget_ns=3207156124
+2026-10-17T04:39:30.287499Z DEBUG monolith::drm: frame rate output="DP-2" presented=164 vblanks=165 vrr=false budget_us=3211125
+2026-10-17T04:39:30.290753Z DEBUG monolith::stats: commits per second top=[("layer:quickshell", 195)]126
+slow span backend_libinput took_us=2101127
+slow span process_events took_us=2146128
+slow span wayland_shm took_us=1460129
+2026-10-17T04:39:31.287752Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vblanks=165 vrr=false budget_us=3216130
+2026-10-17T04:39:31.291311Z DEBUG monolith::stats: commits per second top=[("layer:quickshell", 91)]131
+slow span wayland_shm took_us=1852132
+slow span new>render_damage>render_output_internal>submit>end_and_submit>queue_submit took_us=2669133
+slow span new>render_damage>render_output_internal>submit>end_and_submit took_us=2711134
+slow span new>render_damage>render_output_internal>submit took_us=2736135
+slow span new>render_damage>render_output_internal took_us=2747136
+slow span new>render_damage>render_output>render_output_internal took_us=2756137
+slow span new>render_damage>render_output took_us=2771138
+slow span drm_compositor>render_frame>render_output took_us=2779139
+slow span drm_compositor>render_frame took_us=2818140
+slow span render_surface>render_frame took_us=2827141
+2026-10-17T04:39:32.257602Z DEBUG render_surface: monolith::drm: slow frame output="DP-2" took_ns=3046020 scene_ns=27610 render_ns=2838516 render_cpu_ns=3004462 queue_ns=179524142
+slow span render_surface took_us=3095143
+2026-10-17T04:39:32.288013Z DEBUG monolith::drm: frame rate output="DP-2" presented=96 vblanks=165 vrr=false budget_us=3161144
+2026-10-17T04:39:32.292102Z DEBUG monolith::stats: commits per second top=[("layer:quickshell", 29)]145
+slow span wayland_shm took_us=1507146
+2026-10-17T04:39:33.288273Z DEBUG monolith::drm: frame rate output="DP-2" presented=25 vblanks=165 vrr=false budget_us=3194147
+2026-10-17T04:39:33.292130Z DEBUG monolith::stats: commits per second top=[("layer:quickshell", 29)]148
+slow span wayland_shm took_us=1404149
+2026-10-17T04:39:34.288538Z DEBUG monolith::drm: frame rate output="DP-2" presented=26 vblanks=165 vrr=false budget_us=3168150
+2026-10-17T04:39:34.297797Z DEBUG monolith::stats: commits per second top=[("layer:quickshell", 31)]151
+slow span wayland_shm took_us=1388152
+2026-10-17T04:39:35.288793Z DEBUG monolith::drm: frame rate output="DP-2" presented=26 vblanks=165 vrr=false budget_us=3197153
+2026-10-17T04:39:35.298083Z DEBUG monolith::stats: commits per second top=[("layer:quickshell", 30)]154
+slow span wayland_shm took_us=1160155
+2026-10-17T04:39:36.289062Z DEBUG monolith::drm: frame rate output="DP-2" presented=27 vblanks=165 vrr=false budget_us=3169156
+2026-10-17T04:39:36.298297Z DEBUG monolith::stats: commits per second top=[("layer:quickshell", 31)]157
+slow span wayland_shm took_us=1358158
+2026-10-17T04:39:37.289313Z DEBUG monolith::drm: frame rate output="DP-2" presented=27 vblanks=165 vrr=false budget_us=3223159
+2026-10-17T04:39:37.298556Z DEBUG monolith::stats: commits per second top=[("layer:quickshell", 31)]160
+slow span wayland_shm took_us=1337161
+2026-10-17T04:39:38.289580Z DEBUG monolith::drm: frame rate output="DP-2" presented=27 vblanks=165 vrr=false budget_us=3236162
+2026-10-17T04:39:38.299126Z DEBUG monolith::stats: commits per second top=[("layer:quickshell", 31)]163
+2026-10-17T04:39:38.720360Z DEBUG monolith::input: bind cmd=Spawn { argv: ["beer"] }164
+2026-10-17T04:39:38.721056Z INFO monolith::commands: spawned pid=283380 argv=["beer"]165
+slow span wayland_shm took_us=1871166
+slow span wayland_shm took_us=1915167
+slow span wayland_shm took_us=2297168
+2026-10-17T04:39:39.295912Z DEBUG monolith::drm: frame rate output="DP-2" presented=88 vblanks=166 vrr=false budget_us=3183169
+2026-10-17T04:39:39.449877Z DEBUG monolith::stats: commits per second top=[("layer:quickshell", 86), ("dev.notashelf.beer", 10), ("other", 1)]170
+slow span wayland_shm took_us=1143171
+slow span drm_device>drm_atomic>create_surface>drm_atomic>page_flip took_us=3011172
+slow span render_surface>queue_frame>submit>page_flip>page_flip>page_flip took_us=3056173
+slow span render_surface>queue_frame>submit>page_flip>page_flip took_us=3069174
+slow span render_surface>queue_frame>submit>page_flip took_us=3083175
+slow span render_surface>queue_frame>submit took_us=3097176
+slow span render_surface>queue_frame took_us=3109177
+2026-10-17T04:39:39.568645Z DEBUG render_surface: monolith::drm: slow frame output="DP-2" took_ns=3247183 scene_ns=27700 render_ns=96022 render_cpu_ns=297360 queue_ns=3123321178
+slow span render_surface took_us=3291179
+slow span wayland_shm took_us=1527180
+slow span wayland_shm took_us=1021181
+2026-10-17T04:39:40.296146Z DEBUG monolith::drm: frame rate output="DP-2" presented=75 vblanks=164 vrr=false budget_us=3227182
+slow span new>render_damage>render_output_internal>submit>end_and_submit>queue_submit took_us=3241183
+slow span new>render_damage>render_output_internal>submit>end_and_submit took_us=3277184
+slow span new>render_damage>render_output_internal>submit took_us=3309185
+slow span new>render_damage>render_output_internal took_us=3338186
+slow span new>render_damage>render_output>render_output_internal took_us=3347187
+slow span new>render_damage>render_output took_us=3370188
+slow span drm_compositor>render_frame>render_output took_us=3380189
+slow span drm_compositor>render_frame took_us=3448190
+slow span render_surface>render_frame took_us=3459191
+2026-10-17T04:39:40.357161Z DEBUG render_surface: monolith::drm: slow frame output="DP-2" took_ns=3623911 scene_ns=40241 render_ns=3470648 render_cpu_ns=1371421 queue_ns=112862192
+slow span render_surface took_us=3653193
+2026-10-17T04:39:40.362853Z DEBUG monolith::drm: frame missed its vblank output="DP-2" late_ns=6065851 budget_ns=3395391194
+slow span import_surface_tree>import_surface_tree>import_surface>import_surface>wayland_shm>upload_with>end_and_submit>queue_submit took_us=1419195
+slow span import_surface_tree>import_surface_tree>import_surface>import_surface>wayland_shm>upload_with>end_and_submit took_us=1464196
+slow span import_surface_tree>import_surface_tree>import_surface>import_surface>wayland_shm>upload_with took_us=1492197
+slow span import_surface_tree>import_surface_tree>import_surface>import_surface>wayland_shm took_us=1525198
+slow span import_surface_tree>import_surface_tree>import_surface>import_surface took_us=1540199
+slow span import_surface_tree>import_surface_tree>import_surface took_us=1571200
+slow span import_surface_tree>import_surface_tree took_us=1584201
+slow span import_surface_tree took_us=1594202
+2026-10-17T04:39:40.450831Z DEBUG monolith::stats: commits per second top=[("layer:quickshell", 102), ("title:vkcube", 17), ("dev.notashelf.beer", 11)]203
+2026-10-17T04:39:41.296440Z DEBUG monolith::drm: frame rate output="DP-2" presented=164 vblanks=165 vrr=false budget_us=3480204
+2026-10-17T04:39:41.451004Z DEBUG monolith::stats: commits per second top=[("title:vkcube", 165), ("layer:quickshell", 41)]205
+slow span new>render_damage>render_output_internal>submit>end_and_submit>queue_submit took_us=2335206
+slow span new>render_damage>render_output_internal>submit>end_and_submit took_us=2366207
+slow span new>render_damage>render_output_internal>submit took_us=2392208
+slow span new>render_damage>render_output_internal took_us=2406209
+slow span new>render_damage>render_output>render_output_internal took_us=2414210
+slow span new>render_damage>render_output took_us=2434211
+slow span drm_compositor>render_frame>render_output took_us=2441212
+slow span drm_compositor>render_frame took_us=2502213
+slow span render_surface>render_frame took_us=2510214
+slow span render_surface took_us=2652215
+slow span drm_device>drm_atomic>create_surface>drm_atomic>page_flip took_us=1112216
+slow span render_surface>queue_frame>submit>page_flip>page_flip>page_flip took_us=1194217
+slow span render_surface>queue_frame>submit>page_flip>page_flip took_us=1208218
+slow span render_surface>queue_frame>submit>page_flip took_us=1226219
+slow span render_surface>queue_frame>submit took_us=1242220
+slow span render_surface>queue_frame took_us=1256221
+slow span render_surface took_us=1663222
+slow span drm_device>drm_atomic>frame_submitted took_us=1450223
+slow span drm_device>drm_atomic took_us=1494224
+slow span wayland_shm took_us=1126225
+slow span render_surface>queue_frame>submit>page_flip>page_flip>page_flip took_us=1001226
+slow span render_surface>queue_frame>submit>page_flip>page_flip took_us=1069227
+slow span render_surface>queue_frame>submit>page_flip took_us=1089228
+slow span render_surface>queue_frame>submit took_us=1106229
+slow span render_surface>queue_frame took_us=1120230
+slow span render_surface took_us=2257231
+slow span wayland_shm took_us=1364232
+2026-10-17T04:39:42.296676Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vblanks=164 vrr=false budget_us=3573233
+2026-10-17T04:39:42.451143Z DEBUG monolith::stats: commits per second top=[("title:vkcube", 165), ("layer:quickshell", 61)]234
+2026-10-17T04:39:42.895274Z DEBUG monolith::input: bind cmd=Fullscreen235
+slow span render_surface>create_test_buffer took_us=1359236
+2026-10-17T04:39:42.901731Z INFO render_surface: monolith::drm: adaptive sync output="DP-2" vrr=true237
+slow span drm_device>drm_atomic>create_surface>drm_atomic>page_flip took_us=7430238
+slow span render_surface>queue_frame>submit>page_flip>page_flip>page_flip took_us=7453239
+slow span render_surface>queue_frame>submit>page_flip>page_flip took_us=7469240
+slow span render_surface>queue_frame>submit>page_flip took_us=7487241
+slow span render_surface>queue_frame>submit took_us=7502242
+slow span render_surface>queue_frame took_us=7517243
+2026-10-17T04:39:42.909485Z DEBUG render_surface: monolith::drm: slow frame output="DP-2" took_ns=7735443 scene_ns=48411 render_ns=155714 render_cpu_ns=6771784 queue_ns=7531038244
+slow span render_surface took_us=10019245
+2026-10-17T04:39:42.915017Z DEBUG monolith::drm: frame missed its vblank output="DP-2" late_ns=12121851 budget_ns=3458772246
+slow span on_commit_buffer_handler>update_buffer took_us=2253247
+slow span on_commit_buffer_handler took_us=2282248
+slow span drm_device>drm_atomic took_us=4049249
+slow span drm_device>drm_atomic>create_surface>drm_atomic>page_flip took_us=1088250
+slow span drm_device>drm_atomic>render_surface>queue_frame>submit>page_flip>page_flip>page_flip took_us=1241251
+slow span drm_device>drm_atomic>render_surface>queue_frame>submit>page_flip>page_flip took_us=1258252
+slow span drm_device>drm_atomic>render_surface>queue_frame>submit>page_flip took_us=1342253
+slow span drm_device>drm_atomic>render_surface>queue_frame>submit took_us=1357254
+slow span drm_device>drm_atomic>render_surface>queue_frame took_us=1370255
+slow span drm_device>drm_atomic>render_surface took_us=2378256
+slow span drm_device>drm_atomic took_us=2430257
+slow span wayland_shm took_us=1371258
+2026-10-17T04:39:43.298517Z DEBUG monolith::drm: frame rate output="DP-2" presented=163 vrr=true budget_us=3479259
+2026-10-17T04:39:43.456616Z DEBUG monolith::stats: commits per second top=[("title:vkcube", 162), ("layer:quickshell", 30)]260
+slow span wayland_shm took_us=1343261
+2026-10-17T04:39:44.299406Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vrr=true budget_us=3488262
+2026-10-17T04:39:44.457806Z DEBUG monolith::stats: commits per second top=[("title:vkcube", 165), ("layer:quickshell", 6)]263
+2026-10-17T04:39:45.300368Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vrr=true budget_us=3359264
+2026-10-17T04:39:45.458311Z DEBUG monolith::stats: commits per second top=[("title:vkcube", 165)]265
+2026-10-17T04:39:46.301215Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vrr=true budget_us=3276266
+2026-10-17T04:39:46.459211Z DEBUG monolith::stats: commits per second top=[("title:vkcube", 165)]267
+slow span new>render_damage>render_output_internal>submit>end_and_submit>queue_submit took_us=3340268
+slow span new>render_damage>render_output_internal>submit>end_and_submit took_us=3386269
+slow span new>render_damage>render_output_internal>submit took_us=3418270
+slow span new>render_damage>render_output_internal took_us=3435271
+slow span new>render_damage>render_output>render_output_internal took_us=3449272
+slow span new>render_damage>render_output took_us=3469273
+slow span drm_compositor>render_frame>render_output took_us=3483274
+slow span drm_compositor>render_frame took_us=3522275
+slow span drm_device>drm_atomic>render_surface>render_frame took_us=3538276
+2026-10-17T04:39:47.093645Z DEBUG render_surface: monolith::drm: slow frame output="DP-2" took_ns=3839606 scene_ns=15781 render_ns=3559300 render_cpu_ns=3810302 queue_ns=264045277
+slow span drm_device>drm_atomic>render_surface took_us=3869278
+slow span drm_device>drm_atomic took_us=3897279
+2026-10-17T04:39:47.302116Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vrr=true budget_us=3394280
+2026-10-17T04:39:47.460167Z DEBUG monolith::stats: commits per second top=[("title:vkcube", 165)]281
+slow span drm_device>drm_atomic>end_and_submit>queue_submit took_us=1125282
+slow span drm_device>drm_atomic>end_and_submit took_us=1168283
+slow span drm_device>drm_atomic took_us=1598284
+2026-10-17T04:39:48.303060Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vrr=true budget_us=3362285
+2026-10-17T04:39:48.461217Z DEBUG monolith::stats: commits per second top=[("title:vkcube", 165)]286
+2026-10-17T04:39:49.303963Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vrr=true budget_us=3381287
+2026-10-17T04:39:49.462253Z DEBUG monolith::stats: commits per second top=[("title:vkcube", 165)]288
+2026-10-17T04:39:50.304828Z DEBUG monolith::drm: frame rate output="DP-2" presented=165 vrr=true budget_us=3294289
+2026-10-17T04:39:50.462775Z DEBUG monolith::stats: commits per second top=[("title:vkcube", 165)]290
+2026-10-17T04:39:50.925261Z DEBUG monolith::input: bind cmd=Quit291
+slow span drm_device>drm_atomic>create_surface>drm_atomic took_us=50184292
+slow span drm_device>drm_atomic>create_surface>drm_atomic>clear_state took_us=50219293
+Io error: Broken pipe (os error 32)Binary file not shown.