fix: setcap wivrn-server
Some checks are pending
/ cargo-fmtcheck (push) Waiting to run
/ cargo-clippy (push) Waiting to run
/ cargo-test (push) Waiting to run
/ appimage (push) Waiting to run

This commit is contained in:
Sapphire ­ 2024-10-19 15:33:19 +00:00 committed by GabMus
commit cd33a8abbd
2 changed files with 14 additions and 17 deletions

View file

@ -533,21 +533,19 @@ impl AsyncComponent for App {
.sender()
.emit(BuildWindowMsg::UpdateBuildStatus(BuildStatus::Done));
let profile = self.get_selected_profile();
if profile.xrservice_type == XRServiceType::Monado {
if dep_pkexec().check() {
self.setcap_confirm_dialog.present(Some(&self.app_win));
} else {
alert_w_widget(
"pkexec not found",
Some(&format!(
"The build is complete, but we need to set certain capabilities (CAP_SYS_NICE=eip) on the OpenXR server executable.\n\n{APP_NAME} can do that using pkexec, but it doesn't seem to be installed on your system.\n\nYou can do this step on your own by running the following command:"
)),
Some(&copiable_code_snippet(
&format!("sudo {}", setcap_cap_sys_nice_eip_cmd(&profile).join(" "))
)),
Some(&self.app_win.clone().upcast())
);
}
if dep_pkexec().check() {
self.setcap_confirm_dialog.present(Some(&self.app_win));
} else {
alert_w_widget(
"pkexec not found",
Some(&format!(
"The build is complete, but we need to set certain capabilities (CAP_SYS_NICE=eip) on the OpenXR server executable.\n\n{APP_NAME} can do that using pkexec, but it doesn't seem to be installed on your system.\n\nYou can do this step on your own by running the following command:"
)),
Some(&copiable_code_snippet(
&format!("sudo {}", setcap_cap_sys_nice_eip_cmd(&profile).join(" "))
)),
Some(&self.app_win.clone().upcast())
);
}
self.build_window
.sender()

View file

@ -74,8 +74,7 @@ pub fn setcap_cap_sys_nice_eip_cmd(profile: &Profile) -> Vec<String> {
"CAP_SYS_NICE=eip".into(),
profile
.prefix
// not needed for wivrn, that's why monado is hardcoded
.join("bin/monado-service")
.join(profile.xrservice_binary())
.to_string_lossy()
.to_string(),
]