diff --git a/src/common/util.js b/src/common/util.js
index e8d2f292..1aeb3a34 100644
--- a/src/common/util.js
+++ b/src/common/util.js
@@ -24,7 +24,8 @@ export const defaults = {
   cards: 'small',
   expandingSidebar: true,
   torrentPath: undefined,
-  font: undefined
+  font: undefined,
+  angle: 'default'
 }
 
 export const subtitleExtensions = ['srt', 'vtt', 'ass', 'ssa', 'sub', 'txt']
diff --git a/src/main/store.js b/src/main/store.js
new file mode 100644
index 00000000..306f0966
--- /dev/null
+++ b/src/main/store.js
@@ -0,0 +1,30 @@
+import { app } from 'electron'
+import { join } from 'node:path'
+import { writeFileSync, readFileSync } from 'node:fs'
+
+class Store {
+  constructor (configName, defaults) {
+    this.path = join(app.getPath('userData'), configName + '.json')
+
+    this.data = parseDataFile(this.path, defaults)
+  }
+
+  get (key) {
+    return this.data[key]
+  }
+
+  set (key, val) {
+    this.data[key] = val
+    writeFileSync(this.path, JSON.stringify(this.data))
+  }
+}
+
+function parseDataFile (filePath, defaults) {
+  try {
+    return { ...defaults, ...JSON.parse(readFileSync(filePath).toString()) }
+  } catch (error) {
+    return defaults
+  }
+}
+
+export default new Store('settings', { angle: 'default' })
diff --git a/src/main/util.js b/src/main/util.js
index fb4bae9d..f5536365 100644
--- a/src/main/util.js
+++ b/src/main/util.js
@@ -1,4 +1,5 @@
 import { app, ipcMain, shell, dialog } from 'electron'
+import store from './store.js'
 
 export const development = process.env.NODE_ENV?.trim() === 'development'
 
@@ -12,14 +13,17 @@ const flags = [
   ['enable-hardware-overlays', 'single-fullscreen,single-on-top,underlay'],
   ['enable-features', 'PlatformEncryptedDolbyVision,EnableDrDc,CanvasOopRasterization,ThrottleDisplayNoneAndVisibilityHiddenCrossOriginIframes,UseSkiaRenderer,WebAssemblyLazyCompilation'],
   ['force_high_performance_gpu'],
-  ['disable-features', 'Vulkan'],
+  ['disable-features', 'Vulkan,CalculateNativeWinOcclusion'],
   ['disable-color-correct-rendering'],
+  ['autoplay-policy', 'no-user-gesture-required'], ['disable-notifications'], ['disable-logging'], ['disable-permissions-api'], ['no-sandbox'], ['no-zygote'],
   ['force-color-profile', 'srgb']
 ]
 for (const [flag, value] of flags) {
   app.commandLine.appendSwitch(flag, value)
 }
 
+app.commandLine.appendSwitch('use-angle', store.get('angle') || 'default')
+
 if (!app.requestSingleInstanceLock()) app.quit()
 
 ipcMain.on('open', (event, url) => {
@@ -33,6 +37,10 @@ ipcMain.on('doh', (event, dns) => {
   })
 })
 
+ipcMain.on('angle', (e, data) => {
+  store.set('angle', data)
+})
+
 ipcMain.on('close', () => {
   app.quit()
 })
diff --git a/src/renderer/views/Settings.svelte b/src/renderer/views/Settings.svelte
index c18c9ff6..d056d138 100644
--- a/src/renderer/views/Settings.svelte
+++ b/src/renderer/views/Settings.svelte
@@ -43,6 +43,9 @@
   let version = '1.0.0'
   window.IPC.on('version', data => (version = data))
   window.IPC.emit('version')
+  function updateAngle () {
+    window.IPC.emit('angle', set.angle)
+  }
 
   let wasUpdated = false
   window.IPC.on('update-available', () => {
@@ -534,6 +537,22 @@
             <label for='css-variables'>CSS Variables</label>
             <textarea class='form-control' id='css-variables' placeholder='--accent-color: #e5204c;' bind:value={$variables} />
           </div>
+          <div class='input-group mb-10 w-400 form-control-lg' data-toggle='tooltip' data-placement='top' data-title="What ANGLE Backend To Use. DON'T CHANGE WITHOUT REASON! On Some Windows Machines D3D9 Might Help With Flicker.">
+            <div class='input-group-prepend'>
+              <span class='input-group-text w-200 justify-content-center'>ANGLE Backend</span>
+            </div>
+            <select class='form-control form-control-lg' bind:value={settings.angle} on:change={updateAngle}>
+              <option value='default' selected>Default</option>
+              <option value='d3d9'>D3D9</option>
+              <option value='d3d11'>D3D11</option>
+              <option value='warp'>Warp [Software D3D11]</option>
+              <option value='gl'>GL</option>
+              <option value='gles'>GLES</option>
+              <option value='swiftshader'>SwiftShader</option>
+              <option value='vulkan'>Vulkan</option>
+              <option value='metal'>Metal</option>
+            </select>
+          </div>
         </div>
       </Tab>
       <Tab>