mirror of
https://github.com/finos/SymphonyElectron.git
synced 2024-11-24 18:00:28 -06:00
ELECTRON-261: add logic to get gpu related flags from config file
This commit is contained in:
parent
7f0f5f8449
commit
d3b95f70e9
@ -16,6 +16,9 @@
|
||||
},
|
||||
"customFlags": {
|
||||
"authServerWhitelist": "",
|
||||
"authNegotiateDelegateWhitelist": ""
|
||||
"authNegotiateDelegateWhitelist": "",
|
||||
"disableGpu": false,
|
||||
"disableGpuCompositing": false,
|
||||
"disableD3d11": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
43
js/main.js
43
js/main.js
@ -25,11 +25,6 @@ require('electron-dl')();
|
||||
// ELECTRON-261: On Windows, due to gpu issues, we need to disable gpu
|
||||
// to ensure screen sharing works effectively with multiple monitors
|
||||
// https://github.com/electron/electron/issues/4380
|
||||
if (isWindowsOS) {
|
||||
app.commandLine.appendSwitch("disable-gpu", true);
|
||||
app.commandLine.appendSwitch("disable-gpu-compositing", true);
|
||||
app.commandLine.appendSwitch("disable-d3d11", true);
|
||||
}
|
||||
|
||||
//setting the env path child_process issue https://github.com/electron/electron/issues/7688
|
||||
shellPath()
|
||||
@ -118,29 +113,45 @@ if (isMac) {
|
||||
* Sets chrome authentication flags in electron
|
||||
*/
|
||||
function setChromeFlags() {
|
||||
|
||||
|
||||
log.send(logLevels.INFO, 'checking if we need to set custom chrome flags!');
|
||||
|
||||
|
||||
// Read the config parameters synchronously
|
||||
let config = readConfigFileSync();
|
||||
|
||||
|
||||
// If we cannot find any config, just skip setting any flags
|
||||
if (config && config !== null && config.customFlags) {
|
||||
|
||||
|
||||
log.send(logLevels.INFO, 'Chrome flags config found!');
|
||||
|
||||
// If we cannot find the authServerWhitelist config, move on
|
||||
|
||||
if (config.customFlags.authServerWhitelist && config.customFlags.authServerWhitelist !== "") {
|
||||
log.send(logLevels.INFO, 'Setting auth server whitelist flag');
|
||||
app.commandLine.appendSwitch('auth-server-whitelist', config.customFlags.authServerWhitelist);
|
||||
}
|
||||
|
||||
// If we cannot find the authNegotiateDelegateWhitelist config, move on
|
||||
|
||||
if (config.customFlags.authNegotiateDelegateWhitelist && config.customFlags.authNegotiateDelegateWhitelist !== "") {
|
||||
log.send(logLevels.INFO, 'Setting auth negotiate delegate whitelist flag');
|
||||
app.commandLine.appendSwitch('auth-negotiate-delegate-whitelist', config.customFlags.authNegotiateDelegateWhitelist);
|
||||
}
|
||||
|
||||
|
||||
// ELECTRON-261: Windows 10 Screensharing issues. We set chrome flags
|
||||
// to disable gpu which fixes the black screen issue observed on
|
||||
// multiple monitors
|
||||
if (config.customFlags.disableGpu) {
|
||||
log.send(logLevels.INFO, 'Setting disable gpu flag');
|
||||
app.commandLine.appendSwitch("disable-gpu", true);
|
||||
}
|
||||
|
||||
if (config.customFlags.disableGpuCompositing) {
|
||||
log.send(logLevels.INFO, 'Setting disable gpu compositing flag');
|
||||
app.commandLine.appendSwitch("disable-gpu-compositing", true);
|
||||
}
|
||||
|
||||
if (config.customFlags.disableD3d11) {
|
||||
log.send(logLevels.INFO, 'Setting disable d3d11 flag');
|
||||
app.commandLine.appendSwitch("disable-d3d11", true);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -221,7 +232,7 @@ function setupThenOpenMainWindow() {
|
||||
let hasInstallFlag = getCmdLineArg(process.argv, '--install', true);
|
||||
let perUserInstall = getCmdLineArg(process.argv, '--peruser', true);
|
||||
let customDataArg = getCmdLineArg(process.argv, '--userDataPath=', false);
|
||||
|
||||
|
||||
if (customDataArg && customDataArg.split('=').length > 1) {
|
||||
let customDataFolder = customDataArg.split('=')[1];
|
||||
app.setPath('userData', customDataFolder);
|
||||
@ -352,4 +363,4 @@ function handleProtocolAction(uri) {
|
||||
// app is already open, so, just trigger the protocol action method
|
||||
protocolHandler.processProtocolAction(uri);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user