Skip to content

Steam#1763

Merged
loucass003 merged 1 commit intomainfrom
hannah/steam
Apr 16, 2026
Merged

Steam#1763
loucass003 merged 1 commit intomainfrom
hannah/steam

Conversation

@HannahPadd
Copy link
Copy Markdown
Contributor

@HannahPadd HannahPadd commented Feb 27, 2026

This pr contains changes needed for the steam release to run.
Changes include:

  • Server can send to the gui if drivers or udev rules aren't installed.
  • Server can attempt to install drivers.

This PR relies on this PR from solarXR SlimeVR/SolarXR-Protocol#198

@github-actions github-actions bot added Area: GUI Related to the GUI Area: Translation Improvements or additions to translations Area: SteamVR Driver Related to the SteamVR Driver Area: Server Related to the server labels Feb 27, 2026
Comment thread gui/electron/main/paths.ts Outdated
Comment thread gui/src/components/onboarding/UdevRulesModal.tsx
Comment thread gui/src/index.scss
Comment thread server/desktop/src/main/java/dev/slimevr/desktop/install/drivers/Updater.kt Outdated
@github-actions github-actions bot added the Area: Application Protocol Related to communication with apps like the GUI, overlay, games label Feb 27, 2026
@HannahPadd HannahPadd marked this pull request as ready for review March 3, 2026 10:11
Comment thread gui/src/components/onboarding/pages/ErrorCollectingConstent.tsx Outdated
Comment thread gui/src/components/onboarding/pages/Home.tsx Outdated
Comment thread server/desktop/src/main/java/dev/slimevr/desktop/install/drivers/Linux.kt Outdated
Comment thread server/desktop/src/main/java/dev/slimevr/desktop/install/drivers/Windows.kt Outdated
Comment thread gui/electron/main/index.ts Outdated
Comment thread gui/electron/main/index.ts Outdated
Comment thread gui/electron/main/index.ts Outdated
Comment thread gui/electron/main/paths.ts Outdated
Comment thread gui/src/components/onboarding/UdevRulesModal.tsx Outdated
Comment thread gui/src/components/onboarding/UdevRulesModal.tsx Outdated
Comment thread gui/src/components/onboarding/UdevRulesModal.tsx Outdated
Comment thread gui/src/components/onboarding/UdevRulesModal.tsx Outdated
Comment thread gui/src/components/onboarding/UdevRulesModal.tsx Outdated
Comment thread gui/src/components/onboarding/UdevRulesModal.tsx Outdated
Comment thread gui/public/i18n/en/translation.ftl Outdated
Comment thread gui/src/components/onboarding/UdevRulesModal.tsx Outdated
Comment thread gui/src/components/onboarding/UdevRulesModal.tsx Outdated
Comment thread gui/electron/main/paths.ts Outdated
Comment thread server/desktop/src/main/java/dev/slimevr/desktop/install/drivers/Linux.kt Outdated
Comment thread gui/src/components/onboarding/pages/ErrorCollectingConsent.tsx
Comment thread gui/src/components/onboarding/pages/ErrorCollectingConstent.tsx Outdated
Comment thread gui/src/components/onboarding/pages/ErrorCollectingConstent.tsx Outdated
Comment thread gui/src/components/onboarding/UdevRulesModal.tsx Outdated
Comment thread gui/src/components/onboarding/UdevRulesModal.tsx Outdated
Comment thread gui/src/components/onboarding/UdevRulesModal.tsx Outdated
}

fun steamVRDriver() {
val steamVRLocation = executeShellCommand("powershell.exe", "-Command", "(Get-ItemProperty \'HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Steam App 250820\').InstallLocation")?.trim()
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we already have tooling to read from registry in the server. maybe we should use that?

LogManager.warning("Couldn't determine OS distribution: $e")
return
}
if (linuxFlavour.contains("ID=steamos") || linuxFlavour.contains("ID=nixos") || linuxFlavour.contains("ID_LIKE=nixos")) {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i dont like the idea of checking for os like that. makes expension annoying imo
and it is duplicated in two locations in the code.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm thinking of making it so the InstalledInfoRequest packet has a table of requests it can do and have the gui specifically ask for udev rules when on Linux.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That kinda feels like moving the problem to a differerent spot instead of solving it though.


class Windows {

val path: String? = System.getProperty("user.dir")
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is it nullable if it is set here?


class Linux {

val path: String? = System.getProperty("user.dir")
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

Comment thread gui/src/components/onboarding/UdevRulesModal.tsx Outdated
Comment thread server/desktop/src/main/java/dev/slimevr/desktop/Main.kt
Comment thread server/core/src/main/java/dev/slimevr/VRServer.kt Outdated
Comment thread gui/electron/main/index.ts Outdated
Base automatically changed from llelievr/electron to main March 10, 2026 20:38
Comment thread server/desktop/src/main/java/dev/slimevr/desktop/install/drivers/Windows.kt Outdated
Comment thread server/desktop/src/main/java/dev/slimevr/desktop/Main.kt Outdated
Comment thread server/desktop/src/main/java/dev/slimevr/desktop/games/vrchat/RegEdit.kt Outdated
Comment thread server/desktop/src/main/java/dev/slimevr/desktop/games/vrchat/RegEdit.kt Outdated
Comment thread server/desktop/src/main/java/dev/slimevr/desktop/install/drivers/Windows.kt Outdated
Comment thread gui/src/components/TopBar.tsx Outdated
Comment thread gui/src/components/TopBar.tsx Outdated
Comment thread server/desktop/src/main/java/dev/slimevr/desktop/games/vrchat/RegEdit.kt Outdated
Comment thread server/desktop/src/main/java/dev/slimevr/desktop/Main.kt Outdated
Comment thread server/desktop/src/main/java/dev/slimevr/desktop/Main.kt Outdated
Comment thread server/desktop/src/main/java/dev/slimevr/desktop/Main.kt Outdated
Comment thread server/desktop/build.gradle.kts
Comment thread gradle.properties
Comment thread gui/electron/main/cli.ts Outdated
Comment thread gui/electron/main/cli.ts Outdated
Comment thread server/core/src/main/java/dev/slimevr/FeatureFlags.kt Outdated
Comment thread server/desktop/src/main/java/dev/slimevr/desktop/install/drivers/Linux.kt Outdated
Comment thread server/desktop/src/main/java/dev/slimevr/desktop/install/drivers/Linux.kt Outdated
Comment thread server/core/src/main/java/io/eiren/util/OperatingSystem.kt Outdated
Comment thread gui/electron/main/index.ts Outdated
Comment thread server/desktop/src/main/java/dev/slimevr/desktop/Main.kt Outdated
Comment thread server/core/src/main/java/io/eiren/util/OperatingSystem.kt Outdated
@loucass003
Copy link
Copy Markdown
Member

I agree with all the proposed changes except the last one. Once this is ready we can merge once v19 is out

@github-actions github-actions bot added Area: Hardware Protocol Related to communication with hardware/software trackers Area: Continuous Integration Automated testing and deployment labels Apr 2, 2026
@HannahPadd HannahPadd marked this pull request as draft April 2, 2026 13:21
@HannahPadd HannahPadd marked this pull request as ready for review April 16, 2026 07:48
@loucass003
Copy link
Copy Markdown
Member

image This is what good upper management do

@loucass003 loucass003 merged commit 96cddb5 into main Apr 16, 2026
11 of 12 checks passed
@loucass003 loucass003 deleted the hannah/steam branch April 16, 2026 13:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: Application Protocol Related to communication with apps like the GUI, overlay, games Area: Continuous Integration Automated testing and deployment Area: GUI Related to the GUI Area: Hardware Protocol Related to communication with hardware/software trackers Area: Server Related to the server Area: SteamVR Driver Related to the SteamVR Driver Area: Translation Improvements or additions to translations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants