Skip to content

Commit 6c7ec54

Browse files
ids1024Drakulix
authored andcommitted
Add a COSMIC_DISABLE_SYNCOBJ env var to disable syncobj protocol
If any issues with the syncobj protocol come up, or any issues we suspect may be related to it, an env var may be helpful.
1 parent 9dddead commit 6c7ec54

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

src/backend/kms/mod.rs

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -156,19 +156,21 @@ pub fn init_backend(
156156
}
157157
}
158158

159-
let kms = match &mut state.backend {
160-
BackendData::Kms(kms) => kms,
161-
_ => unreachable!(),
162-
};
163-
if let Some(primary_node) = kms
164-
.primary_node
165-
.and_then(|node| node.node_with_type(NodeType::Primary).and_then(|x| x.ok()))
166-
{
167-
if let Some(device) = kms.drm_devices.get(&primary_node) {
168-
let import_device = device.drm.device().device_fd().clone();
169-
if supports_syncobj_eventfd(&import_device) {
170-
let syncobj_state = DrmSyncobjState::new::<State>(&dh, import_device);
171-
kms.syncobj_state = Some(syncobj_state);
159+
if !crate::utils::env::bool_var("COSMIC_DISABLE_SYNCOBJ").unwrap_or(false) {
160+
let kms = match &mut state.backend {
161+
BackendData::Kms(kms) => kms,
162+
_ => unreachable!(),
163+
};
164+
if let Some(primary_node) = kms
165+
.primary_node
166+
.and_then(|node| node.node_with_type(NodeType::Primary).and_then(|x| x.ok()))
167+
{
168+
if let Some(device) = kms.drm_devices.get(&primary_node) {
169+
let import_device = device.drm.device().device_fd().clone();
170+
if supports_syncobj_eventfd(&import_device) {
171+
let syncobj_state = DrmSyncobjState::new::<State>(&dh, import_device);
172+
kms.syncobj_state = Some(syncobj_state);
173+
}
172174
}
173175
}
174176
}

0 commit comments

Comments
 (0)