Merge pull request #365 from vector-im/disable-hardware-acceleration

Option to disable hardware acceleration
This commit is contained in:
James Salter 2022-05-23 11:49:58 +01:00 committed by GitHub
commit d1f488a094
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -271,6 +271,7 @@ const store = new Store<{
spellCheckerEnabled?: boolean;
autoHideMenuBar?: boolean;
locale?: string | string[];
disableHardwareAcceleration?: boolean;
}>({ name: "electron-config" });
let eventIndex = null;
@ -424,6 +425,12 @@ ipcMain.on('ipcCall', async function(ev, payload) {
global.mainWindow.autoHideMenuBar = Boolean(args[0]);
global.mainWindow.setMenuBarVisibility(!args[0]);
break;
case 'getDisableHardwareAcceleration':
ret = store.get('disableHardwareAcceleration') === true;
break;
case 'setDisableHardwareAcceleration':
store.set('disableHardwareAcceleration', args[0]);
break;
case 'getAppVersion':
ret = app.getVersion();
break;
@ -843,6 +850,12 @@ app.enableSandbox();
// We disable media controls here. We do this because calls use audio and video elements and they sometimes capture the media keys. See https://github.com/vector-im/element-web/issues/15704
app.commandLine.appendSwitch('disable-features', 'HardwareMediaKeyHandling,MediaSessionService');
// Disable hardware acceleration if the setting has been set.
if (store.get('disableHardwareAcceleration') === true) {
console.log("Disabling hardware acceleration.");
app.disableHardwareAcceleration();
}
app.on('ready', async () => {
try {
await setupGlobals();