Skip to content

Steam#1763

Open
HannahPadd wants to merge 113 commits intomainfrom
hannah/steam
Open

Steam#1763
HannahPadd wants to merge 113 commits intomainfrom
hannah/steam

Conversation

@HannahPadd
Copy link

@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

Base automatically changed from llelievr/electron to main March 10, 2026 20:38
val parser: CommandLineParser = DefaultParser()
val formatter = HelpFormatter()
val options = Options()
val isLinux = System.getProperty("os.name").lowercase().contains("linux")
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
val isLinux = System.getProperty("os.name").lowercase().contains("linux")
val isLinux = OperatingSystem.currentPlatform == OperatingSystem.LINUX

Comment on lines +38 to +51
val dir = System.getenv("SLIMEVR_SOCKET_DIR")
if (dir != null) return dir
if (currentPlatform == LINUX) {
dir = System.getenv("XDG_RUNTIME_DIR")
if (dir != null) return dir
val isPressureVessel = System.getenv("PRESSURE_VESSEL_RUNTIME")?.isNotEmpty()
if (isPressureVessel == true) {
System.getenv("HOME")?.let { Path(it, ".local", "share", "dev.slimevr.SlimeVR") }
} else {
val runtimeDir = System.getenv("XDG_RUNTIME_DIR")
return if (!runtimeDir.isNullOrBlank()) {
runtimeDir
} else {
System.getProperty("java.io.tmpdir")
}
}
Copy link
Member

Choose a reason for hiding this comment

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

I feel like the previous way of re-assigning to dir is more readable. There's also a missing return statement, and XDG_DATA_HOME is not being handled

Suggested change
val dir = System.getenv("SLIMEVR_SOCKET_DIR")
if (dir != null) return dir
if (currentPlatform == LINUX) {
dir = System.getenv("XDG_RUNTIME_DIR")
if (dir != null) return dir
val isPressureVessel = System.getenv("PRESSURE_VESSEL_RUNTIME")?.isNotEmpty()
if (isPressureVessel == true) {
System.getenv("HOME")?.let { Path(it, ".local", "share", "dev.slimevr.SlimeVR") }
} else {
val runtimeDir = System.getenv("XDG_RUNTIME_DIR")
return if (!runtimeDir.isNullOrBlank()) {
runtimeDir
} else {
System.getProperty("java.io.tmpdir")
}
}
var dir = System.getenv("SLIMEVR_SOCKET_DIR")
if (dir != null) return dir
if (currentPlatform == LINUX) {
val isPressureVessel = System.getenv("PRESSURE_VESSEL_RUNTIME")?.isNotEmpty() == true
if (isPressureVessel) {
dir = System.getenv("XDG_DATA_HOME")?.let { Path(it, CONFIG_IDENTIFIER) }
?: System.getenv("HOME")?.let { Path(it, ".local", "share", CONFIG_IDENTIFIER) }
if (dir != null) return dir
}
dir = System.getenv("XDG_RUNTIME_DIR")
if (dir != null) return dir

Copy link
Author

Choose a reason for hiding this comment

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

I don't think putting them in the config folder is correct.

Copy link
Member

Choose a reason for hiding this comment

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

i dont like ra-assigning. Split it in a smaller function

Copy link
Member

Choose a reason for hiding this comment

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

I don't think putting them in the config folder is correct.

It doesn't put them in the config folder, CONFIG_IDENTIFIER is just a const that is defined as dev.slimevr.SlimeVR. It's used for the folder in .local/share as well, look at resolveLogDirectory

@loucass003
Copy link
Member

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

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: GUI Related to the GUI 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