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() .sender()
.emit(BuildWindowMsg::UpdateBuildStatus(BuildStatus::Done)); .emit(BuildWindowMsg::UpdateBuildStatus(BuildStatus::Done));
let profile = self.get_selected_profile(); let profile = self.get_selected_profile();
if profile.xrservice_type == XRServiceType::Monado { if dep_pkexec().check() {
if dep_pkexec().check() { self.setcap_confirm_dialog.present(Some(&self.app_win));
self.setcap_confirm_dialog.present(Some(&self.app_win)); } else {
} else { alert_w_widget(
alert_w_widget( "pkexec not found",
"pkexec not found", Some(&format!(
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:"
"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(
Some(&copiable_code_snippet( &format!("sudo {}", setcap_cap_sys_nice_eip_cmd(&profile).join(" "))
&format!("sudo {}", setcap_cap_sys_nice_eip_cmd(&profile).join(" ")) )),
)), Some(&self.app_win.clone().upcast())
Some(&self.app_win.clone().upcast()) );
);
}
} }
self.build_window self.build_window
.sender() .sender()

View file

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