-
-
Notifications
You must be signed in to change notification settings - Fork 193
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
--enable-features flags not passed into Electron #526
Comments
you should figure out which of these flags are necessary for it to work and open a pr that adds them to the source code. this way it can benefit everyone |
In my testing, all the flags I placed there is necessary, but it will have to know if the driver is amdgpu (because the whole ANGLE Vulkan dance is only needed (probably for now) for AMD only). Besides, this is using mesa-git and not generally available which is why I'm not comfortable with adding it to Vesktop yet. I'm suggesting a way to passthrough |
Yep, confirmed that the last switch will override all previous switches: https://source.chromium.org/chromium/chromium/src/+/main:base/command_line.h;l=9;drc=515737a1eff38ecfffef07d7dbf5717742cab958 |
As for your proposal to add that long list of flags to Vesktop, on my machine, it prints that the settings for angle/vulkan are not an allowed combination. |
Now you get the idea why these flags must not be added to Vesktop for now. They're highly experienmental and one wrong move will disable GPU acceleration completely. |
Describe the bug
I am trying to get VAAPI Video Decoding to work on amdgpu, which needs a bunch of flags and some amount of prayers.
Since Vesktop tries to append it's own
enable-features
flags this caused it to override the previous (user added) flags. I have no proof of this happening, but in my testing removing this line made it work:Vesktop/src/main/index.ts
Line 33 in 8eaa520
Those flags has good intentions, but it will take more flags (to force Electron to use ANGLE and ANGLE to use Vulkan) to make it work, and it's not possible to set them if it got overridden by the flags above.
To Reproduce
Not working
vesktop-git
from AUR.vesktop --use-gl=angle --use-angle=vulkan --ignore-gpu-blocklist --enable-gpu-rasterization --enable-zero-copy --enable-features=Vulkan,VulkanFromANGLE,DefaultANGLEVulkan,VaapiIgnoreDriverChecks,VaapiVideoDecoder,PlatformHEVCDecoderSupport,UseMultiPlaneFormatForHardwareVideo
Making it work
Vesktop/src/main/index.ts
Line 33 in 8eaa520
pnpm i && pnpm build
electron29 --use-gl=angle --use-angle=vulkan --ignore-gpu-blocklist --enable-gpu-rasterization --enable-zero-copy --enable-features=Vulkan,VulkanFromANGLE,DefaultANGLEVulkan,VaapiIgnoreDriverChecks,VaapiVideoDecoder,PlatformHEVCDecoderSupport,UseMultiPlaneFormatForHardwareVideo .
Expected behavior
Vesktop can detect if
--enable-features
is set, get all the flags and append its own flags. After that, Vesktop will append it back toapp.cmdLine
.Screenshots
Working
Not Working
Desktop (please complete the following information):
Command line output
Not working:
Working:
Additional context
At this point I am not even sure if Electron is using GPU acceleration. It's barely using any VRAM and all the stuff is stored in GTT (RAM). Testing with powertop does give me a 2W decrease in power consumption, so I'll take it.
For reference:
The text was updated successfully, but these errors were encountered: