Ill be transparent I'm definitely in over my head, was using an LLM to troubleshoot, here's a summary of the issue. Curious if you had an insight
Description
The compositor fails to render frames when
running in a Debian (trixie) terminal
environment on Android. The logs
report frame rendering errors:
niri::backend::tty: error rendering frame: Error
on the target device: Failed to convert between
dmabuf and EGLImage. Additionally, Mesa reports
a driver conflict with zink: MESA: error: zink:
display server doesn't support DRI3 modifiers
and driver can't handle INVALID<->LINEAR!.
Hardware acceleration is being attempted using
the zink OpenGL-on-Vulkan driver on a PowerVR
DXT GPU.
Config
1 // This config is in the KDL format:
https://kdl.dev
2 // "/-" comments out the following node.
3 // Check the wiki for a full description of
the configuration:
4 //
https://github.com/YaLTeR/niri/wiki/Configu
ration:-Introduction
5 config-notification {
6 disable-failed
7 }
8
9 gestures {
10 hot-corners {
11 off
12 }
13 }
14
15 // Input device configuration.
16 input {
17 keyboard {
18 xkb {
19 }
20 numlock
21 }
22
23 touchpad {
24 tap
25 natural-scroll
26 }
27
28 mouse {
29 }
30
31 trackpoint {
32 }
33 }
34
35 output "Virtual-1" {
36 mode "1280x720@60"
37 }
38
39 layout {
40 background-color "transparent"
41 center-focused-column "never"
42 preset-column-widths {
43 proportion 0.33333
44 proportion 0.5
45 proportion 0.66667
46 }
47 default-column-width { proportion 0.5;
}
48 border {
49 off
50 }
51 shadow {
52 off
53 }
54 struts {
55 }
56 }
57
58 layer-rule {
59 match namespace="^quickshell$"
60 place-within-backdrop true
61 }
62
63 overview {
64 workspace-shadow {
65 off
66 }
67 }
68
69 environment {
70 XDG_CURRENT_DESKTOP "niri"
71 }
72
73 hotkey-overlay {
74 skip-at-startup
75 }
76
77 prefer-no-csd
78 screenshot-path
"~/Pictures/Screenshots/Screenshot from
%Y-%m-%d %H-%M-%S.png"
79
80 animations {
81 workspace-switch {
82 spring damping-ratio=0.80
stiffness=523 epsilon=0.0001
83 }
84 window-open {
85 duration-ms 150
86 curve "ease-out-expo"
87 }
88 window-close {
89 duration-ms 150
90 curve "ease-out-quad"
91 }
92 horizontal-view-movement {
93 spring damping-ratio=0.85
stiffness=423 epsilon=0.0001
94 }
95 window-movement {
96 spring damping-ratio=0.75
stiffness=323 epsilon=0.0001
97 }
98 window-resize {
99 spring damping-ratio=0.85
stiffness=423 epsilon=0.0001
100 }
101 config-notification-open-close {
102 spring damping-ratio=0.65
stiffness=923 epsilon=0.001
103 }
104 screenshot-ui-open {
105 duration-ms 200
106 curve "ease-out-quad"
107 }
108 overview-open-close {
109 spring damping-ratio=0.85
stiffness=800 epsilon=0.0001
110 }
111 }
112
113 window-rule {
114 match
app-id=r#"^org\.wezfurlong\.wezterm$"#
115 default-column-width {}
116 }
117 window-rule {
118 match app-id=r#"^org\.gnome\."#
119 draw-border-with-background false
120 geometry-corner-radius 12
121 clip-to-geometry true
122 }
123 window-rule {
124 match
app-id=r#"^gnome-control-center$"#
125 match app-id=r#"^pavucontrol$"#
126 match
app-id=r#"^nm-connection-editor$"#
127 default-column-width { proportion 0.5;
}
128 open-floating false
129 }
130 window-rule {
131 match
app-id=r#"^org\.gnome\.Calculator$"#
132 match app-id=r#"^gnome-calculator$"#
133 match app-id=r#"^galculator$"#
134 match app-id=r#"^blueman-manager$"#
135 match
app-id=r#"^org\.gnome\.Nautilus$"#
136 match app-id=r#"^xdg-desktop-portal$"#
137 open-floating true
138 }
139 window-rule {
140 match app-id=r#"^steam$"#
title=r#"^notificationtoasts_\d+_desktop$"#
141 default-floating-position x=10 y=10
relative-to="bottom-right"
142 open-focused false
143 }
144 window-rule {
145 match
app-id=r#"^org\.wezfurlong\.wezterm$"#
146 match app-id="Alacritty"
147 match app-id="zen"
148 match app-id="com.mitchellh.ghostty"
149 match app-id="kitty"
150 draw-border-with-background false
151 }
152 window-rule {
153 match app-id=r#"firefox$"#
title="^Picture-in-Picture$"
154 match app-id="zoom"
155 open-floating true
156 }
157 window-rule {
158 match app-id=r#"org.quickshell$"#
159 match app-id=r#"com.danklinux.dms$"#
160 open-floating true
161 }
162
163 debug {
164
honor-xdg-activation-with-invalid-serial
165 }
166
167 recent-windows {
168 binds {
169 Alt+Tab { next-window
scope="output"; }
170 Alt+Shift+Tab { previous-window
scope="output"; }
171 Alt+grave { next-window
filter="app-id"; }
172 Alt+Shift+grave { previous-window
filter="app-id"; }
173 }
174 }
175
176 include "dms/colors.kdl"
177 include "dms/layout.kdl"
178 include "dms/alttab.kdl"
179 include "dms/binds.kdl"
180 include "dms/outputs.kdl"
181 include "dms/cursor.kdl"
System Information
- niri version: niri 26.04 (unknown commit)
- Distro: Debian GNU/Linux 13 (trixie) (Android
Terminal Environment)
- GPU: PowerVR D-Series DXT-48-1536 MC1 (via
Zink/Vulkan)
- CPU: ARM Cortex-X4 / Cortex-A725 (Snapdragon
8 Gen 3)
Additional Context
- Backend: TTY (using systemd-run on tty1).
- Logs:
1 MESA: error: zink: display server doesn't
support DRI3 modifiers and driver can't
handle INVALID<->LINEAR!
2 WARN niri::backend::tty: error rendering
frame: Error on the target device: Failed to
convert between dmabuf and EGLImage
- Drivers: Using
MESA_LOADER_DRIVER_OVERRIDE=zink.
Ill be transparent I'm definitely in over my head, was using an LLM to troubleshoot, here's a summary of the issue. Curious if you had an insight
Description
The compositor fails to render frames when
running in a Debian (trixie) terminal
environment on Android. The logs
report frame rendering errors:
niri::backend::tty: error rendering frame: Error
on the target device: Failed to convert between
dmabuf and EGLImage. Additionally, Mesa reports
a driver conflict with zink: MESA: error: zink:
display server doesn't support DRI3 modifiers
and driver can't handle INVALID<->LINEAR!.
Hardware acceleration is being attempted using
the zink OpenGL-on-Vulkan driver on a PowerVR
DXT GPU.
Config
1 // This config is in the KDL format: https://kdl.dev 2 // "/-" comments out the following node. 3 // Check the wiki for a full description of the configuration: 4 // https://github.com/YaLTeR/niri/wiki/Configu ration:-Introduction 5 config-notification { 6 disable-failed 7 } 8 9 gestures { 10 hot-corners { 11 off 12 } 13 } 14 15 // Input device configuration. 16 input { 17 keyboard { 18 xkb { 19 } 20 numlock 21 } 22 23 touchpad { 24 tap 25 natural-scroll 26 } 27 28 mouse { 29 } 30 31 trackpoint { 32 } 33 } 34 35 output "Virtual-1" { 36 mode "1280x720@60" 37 } 38 39 layout { 40 background-color "transparent" 41 center-focused-column "never" 42 preset-column-widths { 43 proportion 0.33333 44 proportion 0.5 45 proportion 0.66667 46 } 47 default-column-width { proportion 0.5; } 48 border { 49 off 50 } 51 shadow { 52 off 53 } 54 struts { 55 } 56 } 57 58 layer-rule { 59 match namespace="^quickshell$" 60 place-within-backdrop true 61 } 62 63 overview { 64 workspace-shadow { 65 off 66 } 67 } 68 69 environment { 70 XDG_CURRENT_DESKTOP "niri" 71 } 72 73 hotkey-overlay { 74 skip-at-startup 75 } 76 77 prefer-no-csd 78 screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png" 79 80 animations { 81 workspace-switch { 82 spring damping-ratio=0.80 stiffness=523 epsilon=0.0001 83 } 84 window-open { 85 duration-ms 150 86 curve "ease-out-expo" 87 } 88 window-close { 89 duration-ms 150 90 curve "ease-out-quad" 91 } 92 horizontal-view-movement { 93 spring damping-ratio=0.85 stiffness=423 epsilon=0.0001 94 } 95 window-movement { 96 spring damping-ratio=0.75 stiffness=323 epsilon=0.0001 97 } 98 window-resize { 99 spring damping-ratio=0.85 stiffness=423 epsilon=0.0001 100 } 101 config-notification-open-close { 102 spring damping-ratio=0.65 stiffness=923 epsilon=0.001 103 } 104 screenshot-ui-open { 105 duration-ms 200 106 curve "ease-out-quad" 107 } 108 overview-open-close { 109 spring damping-ratio=0.85 stiffness=800 epsilon=0.0001 110 } 111 } 112 113 window-rule { 114 match app-id=r#"^org\.wezfurlong\.wezterm$"# 115 default-column-width {} 116 } 117 window-rule { 118 match app-id=r#"^org\.gnome\."# 119 draw-border-with-background false 120 geometry-corner-radius 12 121 clip-to-geometry true 122 } 123 window-rule { 124 match app-id=r#"^gnome-control-center$"# 125 match app-id=r#"^pavucontrol$"# 126 match app-id=r#"^nm-connection-editor$"# 127 default-column-width { proportion 0.5; } 128 open-floating false 129 } 130 window-rule { 131 match app-id=r#"^org\.gnome\.Calculator$"# 132 match app-id=r#"^gnome-calculator$"# 133 match app-id=r#"^galculator$"# 134 match app-id=r#"^blueman-manager$"# 135 match app-id=r#"^org\.gnome\.Nautilus$"# 136 match app-id=r#"^xdg-desktop-portal$"# 137 open-floating true 138 } 139 window-rule { 140 match app-id=r#"^steam$"# title=r#"^notificationtoasts_\d+_desktop$"# 141 default-floating-position x=10 y=10 relative-to="bottom-right" 142 open-focused false 143 } 144 window-rule { 145 match app-id=r#"^org\.wezfurlong\.wezterm$"# 146 match app-id="Alacritty" 147 match app-id="zen" 148 match app-id="com.mitchellh.ghostty" 149 match app-id="kitty" 150 draw-border-with-background false 151 } 152 window-rule { 153 match app-id=r#"firefox$"# title="^Picture-in-Picture$" 154 match app-id="zoom" 155 open-floating true 156 } 157 window-rule { 158 match app-id=r#"org.quickshell$"# 159 match app-id=r#"com.danklinux.dms$"# 160 open-floating true 161 } 162 163 debug { 164 honor-xdg-activation-with-invalid-serial 165 } 166 167 recent-windows { 168 binds { 169 Alt+Tab { next-window scope="output"; } 170 Alt+Shift+Tab { previous-window scope="output"; } 171 Alt+grave { next-window filter="app-id"; } 172 Alt+Shift+grave { previous-window filter="app-id"; } 173 } 174 } 175 176 include "dms/colors.kdl" 177 include "dms/layout.kdl" 178 include "dms/alttab.kdl" 179 include "dms/binds.kdl" 180 include "dms/outputs.kdl" 181 include "dms/cursor.kdl"System Information
Terminal Environment)
Zink/Vulkan)
8 Gen 3)
Additional Context
1 MESA: error: zink: display server doesn't
support DRI3 modifiers and driver can't
handle INVALID<->LINEAR!
2 WARN niri::backend::tty: error rendering
frame: Error on the target device: Failed to
convert between dmabuf and EGLImage
MESA_LOADER_DRIVER_OVERRIDE=zink.