this repo has no description

Merge pull request #219 from TheEssem/native-fixes

nativeFixes: Add Vulkan and VAAPI driver check ignore options

Changed files
+23 -1
packages
core-extensions
src
nativeFixes
+9 -1
packages/core-extensions/src/nativeFixes/host.ts
···
app.commandLine.appendSwitch("disable-background-timer-throttling");
}
if (process.platform === "linux") {
if (moonlightHost.getConfigOption<boolean>("nativeFixes", "linuxAutoscroll") ?? false) {
app.commandLine.appendSwitch("enable-blink-features", "MiddleClickAutoscroll");
···
// hardware acceleration is disabled
const noAccel = app.commandLine.hasSwitch("disable-gpu-compositing");
if ((moonlightHost.getConfigOption<boolean>("nativeFixes", "vaapi") ?? true) && !noAccel) {
-
if (process.platform === "linux")
// These will eventually be renamed https://source.chromium.org/chromium/chromium/src/+/5482210941a94d70406b8da962426e4faca7fce4
enabledFeatures.push("VaapiVideoEncoder", "VaapiVideoDecoder", "VaapiVideoDecodeLinuxGL");
}
app.commandLine.appendSwitch("enable-features", [...new Set(enabledFeatures)].join(","));
···
app.commandLine.appendSwitch("disable-background-timer-throttling");
}
+
if (moonlightHost.getConfigOption<boolean>("nativeFixes", "vulkan") ?? false) {
+
enabledFeatures.push("Vulkan", "DefaultANGLEVulkan", "VulkanFromANGLE");
+
}
+
if (process.platform === "linux") {
if (moonlightHost.getConfigOption<boolean>("nativeFixes", "linuxAutoscroll") ?? false) {
app.commandLine.appendSwitch("enable-blink-features", "MiddleClickAutoscroll");
···
// hardware acceleration is disabled
const noAccel = app.commandLine.hasSwitch("disable-gpu-compositing");
if ((moonlightHost.getConfigOption<boolean>("nativeFixes", "vaapi") ?? true) && !noAccel) {
+
if (process.platform === "linux") {
// These will eventually be renamed https://source.chromium.org/chromium/chromium/src/+/5482210941a94d70406b8da962426e4faca7fce4
enabledFeatures.push("VaapiVideoEncoder", "VaapiVideoDecoder", "VaapiVideoDecodeLinuxGL");
+
+
if (moonlightHost.getConfigOption<boolean>("nativeFixes", "vaapiIgnoreDriverChecks") ?? false)
+
enabledFeatures.push("VaapiIgnoreDriverChecks");
+
}
}
app.commandLine.appendSwitch("enable-features", [...new Set(enabledFeatures)].join(","));
+14
packages/core-extensions/src/nativeFixes/manifest.json
···
"type": "boolean",
"default": true
},
"linuxAutoscroll": {
"advice": "restart",
"displayName": "Enable middle click autoscroll on Linux",
···
"description": "Provides hardware accelerated video encode and decode. Has no effect on other operating systems",
"type": "boolean",
"default": true
},
"linuxUpdater": {
"advice": "restart",
···
"type": "boolean",
"default": true
},
+
"vulkan": {
+
"advice": "restart",
+
"displayName": "Enable Vulkan renderer",
+
"description": "Uses the Vulkan backend for rendering",
+
"type": "boolean",
+
"default": false
+
},
"linuxAutoscroll": {
"advice": "restart",
"displayName": "Enable middle click autoscroll on Linux",
···
"description": "Provides hardware accelerated video encode and decode. Has no effect on other operating systems",
"type": "boolean",
"default": true
+
},
+
"vaapiIgnoreDriverChecks": {
+
"advice": "restart",
+
"displayName": "Ignore VAAPI driver checks on Linux",
+
"description": "Forces hardware video acceleration on some graphics drivers at the cost of stability. Has no effect on other operating systems",
+
"type": "boolean",
+
"default": false
},
"linuxUpdater": {
"advice": "restart",