Open JulioSordi opened 2 years ago
This is not a Brave specific issue, it does not work in Chrome/Chromium since version 98, you have to pass one additional argument --disable-features=UseChromeOSDirectVideoDecoder
source: https://github.com/archlinux/svntogit-packages/commit/49733c3d48a235a8311c4a2b3073254a70a41580#diff-3e341d2d9c67be01819b25b25d5e53ea3cdf3a38d28846cda85a195eb9b7203a
--disable-features=UseChromeOSDirectVideoDecoder
Unfortunately this didn't change anything, Brave is still using VPX decoder
This is not a Brave specific issue, it does not work in Chrome/Chromium since version 98, you have to pass one additional argument
--disable-features=UseChromeOSDirectVideoDecoder
source: archlinux/svntogit-packages@49733c3#diff-3e341d2d9c67be01819b25b25d5e53ea3cdf3a38d28846cda85a195eb9b7203a
can confirm this worked on Intel i5-5200U, Kubuntu 21.10, Kernel 5.13.0-28-generic, Brave 1.35.100
can confirm this worked on Intel i5-5200U, Kubuntu 21.10, Kernel 5.13.0-28-generic, Brave 1.35.100
Not working on I5 8265U Intel UHD 620, Ubuntu 20.04, kernel 5.13.0.28-generic, Brave 1.35.100, i wonder why it doesn't work for me, Brave just refuses to use my GPU, i'm being forced to use Firefox to watch videos because of this, not even the non free va driver works.
brave-browser --use-gl=desktop --enable-features=VaapiVideoDecoder --disable-features=UseChromeOSDirectVideoDecoder [239295:239295:0209/152712.080320:ERROR:gpu_init.cc(454)] Passthrough is not supported, GL is desktop, ANGLE is [239295:239295:0209/152712.093891:ERROR:sandbox_linux.cc(377)] InitializeSandbox() called with multiple threads in process gpu-process. [239260:239260:0209/152712.960183:ERROR:sharing_service.cc(222)] Device registration failed with fatal error Failed to parse JSON adblock resources: EOF while parsing a value at line 1 column 0 [239260:239260:0209/152714.187528:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.ScreenSaver.GetActive: object_path= /org/freedesktop/ScreenSaver: org.freedesktop.DBus.Error.NotSupported: This method is not implemented [239260:239260:0209/152714.192918:ERROR:object_proxy.cc(623)] Failed to call method: org.gnome.ScreenSaver.GetActive: object_path= /: org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.gnome.ScreenSaver” on object at path / [239260:239331:0209/152715.604944:ERROR:chrome_browser_main_extra_parts_metrics.cc(227)] START: ReportBluetoothAvailability(). If you don't see the END: message, this is crbug.com/1216328. [239260:239331:0209/152715.604959:ERROR:chrome_browser_main_extra_parts_metrics.cc(230)] END: ReportBluetoothAvailability() [239298:4:0209/152718.984759:ERROR:node_controller.cc(585)] Trying to re-add dropped peer 75274B86B1318FA7.CF68FC5B153750C2 [239260:239260:0209/152722.837205:ERROR:CONSOLE(14)] "Failed to handle media duration metadata: missing publisher key for media key youtube_TGaW-c7T4f8", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/out/brave_extension_background.bundle.js (14) [239260:239260:0209/152732.261290:ERROR:CONSOLE(1)] "[Shields]: Can't request shields panel data for tabId: 53. Error: No tab url specified", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/out/brave_extension_background.bundle.js (1) [239260:239260:0209/152732.264290:ERROR:CONSOLE(1)] "[Shields]: Can't request shields panel data for tabId: 53. Error: No tab url specified", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/out/brave_extension_background.bundle.js (1) [239298:4:0209/152803.344052:ERROR:node_controller.cc(585)] Trying to re-add dropped peer 9DB2811B801A03D9.5E04DF809AD08473
can confirm this worked on Intel i5-5200U, Kubuntu 21.10, Kernel 5.13.0-28-generic, Brave 1.35.100
Not working on I5 8265U Intel UHD 620, Ubuntu 20.04, kernel 5.13.0.28-generic, Brave 1.35.100, i wonder why it doesn't work for me, Brave just refuses to use my GPU, i'm being forced to use Firefox to watch videos because of this, not even the non free va driver works.
brave-browser --use-gl=desktop --enable-features=VaapiVideoDecoder --disable-features=UseChromeOSDirectVideoDecoder [239295:239295:0209/152712.080320:ERROR:gpu_init.cc(454)] Passthrough is not supported, GL is desktop, ANGLE is [239295:239295:0209/152712.093891:ERROR:sandbox_linux.cc(377)] InitializeSandbox() called with multiple threads in process gpu-process. [239260:239260:0209/152712.960183:ERROR:sharing_service.cc(222)] Device registration failed with fatal error Failed to parse JSON adblock resources: EOF while parsing a value at line 1 column 0 [239260:239260:0209/152714.187528:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.ScreenSaver.GetActive: object_path= /org/freedesktop/ScreenSaver: org.freedesktop.DBus.Error.NotSupported: This method is not implemented [239260:239260:0209/152714.192918:ERROR:object_proxy.cc(623)] Failed to call method: org.gnome.ScreenSaver.GetActive: object_path= /: org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.gnome.ScreenSaver” on object at path / [239260:239331:0209/152715.604944:ERROR:chrome_browser_main_extra_parts_metrics.cc(227)] START: ReportBluetoothAvailability(). If you don't see the END: message, this is crbug.com/1216328. [239260:239331:0209/152715.604959:ERROR:chrome_browser_main_extra_parts_metrics.cc(230)] END: ReportBluetoothAvailability() [239298:4:0209/152718.984759:ERROR:node_controller.cc(585)] Trying to re-add dropped peer 75274B86B1318FA7.CF68FC5B153750C2 [239260:239260:0209/152722.837205:ERROR:CONSOLE(14)] "Failed to handle media duration metadata: missing publisher key for media key youtube_TGaW-c7T4f8", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/out/brave_extension_background.bundle.js (14) [239260:239260:0209/152732.261290:ERROR:CONSOLE(1)] "[Shields]: Can't request shields panel data for tabId: 53. Error: No tab url specified", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/out/brave_extension_background.bundle.js (1) [239260:239260:0209/152732.264290:ERROR:CONSOLE(1)] "[Shields]: Can't request shields panel data for tabId: 53. Error: No tab url specified", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/out/brave_extension_background.bundle.js (1) [239298:4:0209/152803.344052:ERROR:node_controller.cc(585)] Trying to re-add dropped peer 9DB2811B801A03D9.5E04DF809AD08473
Does it not work with both VP9 and H264 videos?
Does it not work with both VP9 and H264 videos?
Exactly, VP9 uses VPX decoder, H264 uses ffmpeg.
This is not a Brave specific issue, it does not work in Chrome/Chromium since version 98, you have to pass one additional argument
--disable-features=UseChromeOSDirectVideoDecoder
source: archlinux/svntogit-packages@49733c3#diff-3e341d2d9c67be01819b25b25d5e53ea3cdf3a38d28846cda85a195eb9b7203aWork for me, thx
GPU UHD 630 intel i7 9750h
Flags from chrome://gpu in command line:
/opt/brave.com/brave/brave --use-gl=desktop --enable-features=VaapiVideoDecoder --disable-features=UseChromeOSDirectVideoDecoder --enable-crashpad --disable-client-side-phishing-detection --disable-domain-reliability --enable-dom-distiller --no-pings --component-updater=url-source=https://go-updater.brave.com/extensions --origin-trial-public-key=bYUKPJoPnCxeNvu72j4EmPuK7tr1PAC7SHh8ld9Mw3E=,fMS4mpO6buLQ/QMd+zJmxzty/VQ6B1EUZqoCU04zoRU= --sync-url=https://sync-v2.brave.com/v2 --lso-url=https://no-thanks.invalid --variations-server-url=https://variations.brave.com/seed --variations-insecure-server-url=https://variations.brave.com/seed --enable-features=VaapiVideoDecoder --disable-features=UseChromeOSDirectVideoDecoder --flag-switches-begin --canvas-2d-layers --enable-gpu-rasterization --enable-zero-copy --force-color-profile=srgb --ignore-gpu-blocklist --enable-smooth-scrolling --force-webxr-runtime=no-vr-runtime --enable-features=VaapiVideoDecoder,AccessiblePDFForm,COLRV1Fonts,CSSCascadeLayers,CSSContainerQueries,CanvasOopRasterization,CastStreamingAv1,CastStreamingVp9,ColorProviderRedirectionForThemeProvider,DesktopScreenshots,EnableDrDc,ForcedColors,JXL,MBIMode,MojoLinuxChannelSharedMem,PdfUnseasoned,Prerender2,PrivacyReview,SharingDesktopScreenshotsEdit,ThrottleDisplayNoneAndVisibilityHiddenCrossOriginIframes,Vp9kSVCHWDecoding,WebAssemblyBaseline,WebAssemblyLazyCompilation,WebAssemblyTiering,WebRTCPipeWireCapturer,WebRtcEnableCaptureMultiChannelApm --disable-features=UseChromeOSDirectVideoDecoder,BraveRewardsVerboseLogging,CommerceDeveloper,CustomAdNotifications,IPH_DemoMode,IPH_Snooze,V8VmFuture,WebRtcRemoteEventLog,WebXRIncubations --flag-switches-end
Exc line in /usr/share/application/brave-browser.desktop:
Exec=/usr/bin/brave-browser-stable --use-gl=desktop --enable-features=VaapiVideoDecoder --disable-features=UseChromeOSDirectVideoDecoder
This is not a Brave specific issue, it does not work in Chrome/Chromium since version 98, you have to pass one additional argument
--disable-features=UseChromeOSDirectVideoDecoder
source: archlinux/svntogit-packages@49733c3#diff-3e341d2d9c67be01819b25b25d5e53ea3cdf3a38d28846cda85a195eb9b7203a
I can also confirm this is working. And this is my launch flags now: /usr/bin/brave-browser-stable --use-gl=desktop --enable-features=VaapiVideoDecoder --disable-features=UseChromeOSDirectVideoDecoder
I'm using h264-ify extension however. AV1, VP8, VP9 are blocked, only 60FPS h264 is enabled.
Youtube shows avc1 as the codec and when I visit Brave Media Internals, this is what it shows for video decoder: kVideoDecoderName | "VDAVideoDecoder"
Launching intel_gpu_top shows Video usage go up
My laptop specs: CPU: Intel Core i3-4005U GPU: Intel Haswell OS: Ubuntu Budgie 21.10 x86_64 Kernel: 5.13.0-40-generic
Currently Flags look like below for me: $ /usr/bin/brave-browser-stable --use-gl=desktop --enable-features=VaapiVideoDecoder,VaapiVideoEncoder --disable-features=UseChromeOSDirectVideoDecoder,UseOzonePlatform
I can Confirm then work encode, decode and full hardware acceleration in general without vulkan(he must be disabled)
On the flatpack version the following command works
flatpak run com.brave.Browser --use-gl=desktop --enable-features=VaapiVideoDecoder,VaapiVideoEncoder --disable-features=UseChromeOSDirectVideoDecoder,UseOzonePlatform
This is not a Brave specific issue, it does not work in Chrome/Chromium since version 98, you have to pass one additional argument
--disable-features=UseChromeOSDirectVideoDecoder
source: archlinux/svntogit-packages@49733c3#diff-3e341d2d9c67be01819b25b25d5e53ea3cdf3a38d28846cda85a195eb9b7203a
Without adding this flag I'm not able to watch Youtube videos in 4k without it constantly lagging and stuttering.
Brave: 1.42.97 (installed as snap) OS: Ubuntu 22.04.1 CPU/GPU: Intel i7, UHD Graphics 620 Kernel: 5.15 Windowing system: Wayland
thanks for the hint @wooque
However, this won't be enough to get Video Encode/Decode acceleration, hence I need to add rest of the flags as suggested by @hadyrashwan. Altough I'm not sure why you disabled UseOzonePlatform
?
On the flatpack version the following command works
flatpak run com.brave.Browser --use-gl=desktop --enable-features=VaapiVideoDecoder,VaapiVideoEncoder --disable-features=UseChromeOSDirectVideoDecoder,UseOzonePlatform
My ideal flags which would allow me to use vaapi along with hardware acceleration and being able to see Brave Rewards on Wayland would look like:
brave --use-gl=desktop --enable-features=VaapiVideoDecoder,VaapiVideoEncoder,UseOzonePlatform -ozone-platform=wayland --disable-features=UseChromeOSDirectVideoDecoder
But due to bug in #25074 I had to leave out -enable-features=UseOzonePlatform -ozone-platform=wayland
part, i.e:
brave --use-gl=desktop --enable-features=VaapiVideoDecoder,VaapiVideoEncoder --disable-features=UseChromeOSDirectVideoDecoder
@AdnanHodzic hardware accelerated decoding does not work on Wayland (https://wiki.archlinux.org/title/Chromium#Hardware_video_acceleration) Also I found out that non-hardware accelerated Youtube on Brave running natively on Wayland draws less power than hardware accelerated Youtube on Brave running on Xorg, I tested it with 1080p video, so seems that hardware acceleration is useless for <=1080p, so I don't even bother enabling it, cause I rarely play videos over 1080p
@wooque
@AdnanHodzic hardware accelerated decoding does not work on Wayland (https://wiki.archlinux.org/title/Chromium#Hardware_video_acceleration)
It works for me, as when I use above mentioned flags, hardware acceleration will be enabled. Thanks to the link above I did find out I should use --use-gl=egl
instead of --use-gl=desktop
. But using this flag disables hardware acceleration for me, hence I decided to leave both of these flags out, and I'm still getting hardware acceleration.
Also I found out that non-hardware accelerated Youtube on Brave running natively on Wayland draws less power than hardware accelerated Youtube on Brave running on Xorg
If you're interested in smart way to utilize power on Linux make sure to check out tool I made: auto-cpufreq.
I tested it with 1080p video, so seems that hardware acceleration is useless for <=1080p, so I don't even bother enabling it, cause I rarely play videos over 1080p
I rarely play content under 1080p, and 4k Youtube video will studder/lag, but using following flags makes it perfect on Wayland.
brave --enable-features=VaapiVideoDecoder,VaapiVideoEncoder --disable-features=UseChromeOSDirectVideoDecoder %U
Unfortunately, although "on paper" I do get hardware acceleration when I use flags mentioned above, I found out that on a lot of 4k videos playback will still lag and stutter.
After using Chromium based browsers (Chrome & Brave) for over a decade, decided to give Firefox a chance once again. Where if I enable following flags in about:config
, 4k video content playback is as smooth as it gets (its VA-API support seems to be flawless).
media.ffmpeg.vaapi.enabled = true
media.ffmpeg.vaapi-drm-display.enabled = true
media.ffvpx.enabled = false
I spent last night looking at this for myself.
Same version of the brave browser installed native and with flatpak. Same command line flags, same output in brave:flags (See note), experiments set to default:
Native output includes a DAWN INFO section referencing vulkan (although vulkan reports disabled). This is not present in flatpak.
Native output also missing any information about Video Encode/Decode at the bottom - just blank lines.
Flatpack does not have DAWN INFO, but more importantly, shows video acceleration details at the bottom.
So the issue doesn't appear to be simply flags or settings - the versions of libva:
FLATPACK: vainfo: VA-API version: 1.12 (libva 2.9.1) vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 22.2.2 ()
Native: vainfo: VA-API version: 1.7 (libva 2.6.0) vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 20.1.1 ()
intel-gpu-top shows gpu being used with flatpack but not native (as expected) when watching the same youtube.
mpv hardware decode using vaapi works perfectly (native install), so libva not entirely broken.
If I break the vaapi install by removing the flatpack components, the output looks like it does natively on 20.04. Reports enabled etc, but no decode information at the end.
Anyone have anything else that they can think of checking ?
Looks like I'll be porting to flatpak version though - need that neon dist base update to get me into the modern world as a 20_04 lts is too long in the tooth.
Hi there, If installed with snap remove and install with : https://brave.com/linux/#release-channel-installation
cya
how about if we are using nvidia gpu like rtx 2050 etc. i got the problem too
Description
Brave won't use GPU to decode videos, it keeps using the VPX decoder, i have an Intel UHD 620 with the va non free driver installed.
Steps to Reproduce
Actual result:
Brave uses the VPX decoder
Expected result:
Brave will use VDA decoder
Reproduces how often:
The steps are easily reproduced and must be reproduced every time you launch the browser.
Brave version (brave://version info)
Version/Channel Information:
The issue occurs with the stable version, it also occurs with the Snap package, i have not tested any beta or dev versions.
Other Additional Information:
Terminal output:
brave-browser --use-gl=desktop --enable-features=VaapiVideoDecoder --disable-features=UseChromeOSDirectVideoDecoder [239295:239295:0209/152712.080320:ERROR:gpu_init.cc(454)] Passthrough is not supported, GL is desktop, ANGLE is [239295:239295:0209/152712.093891:ERROR:sandbox_linux.cc(377)] InitializeSandbox() called with multiple threads in process gpu-process. [239260:239260:0209/152712.960183:ERROR:sharing_service.cc(222)] Device registration failed with fatal error Failed to parse JSON adblock resources: EOF while parsing a value at line 1 column 0 [239260:239260:0209/152714.187528:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.ScreenSaver.GetActive: object_path= /org/freedesktop/ScreenSaver: org.freedesktop.DBus.Error.NotSupported: This method is not implemented [239260:239260:0209/152714.192918:ERROR:object_proxy.cc(623)] Failed to call method: org.gnome.ScreenSaver.GetActive: object_path= /: org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.gnome.ScreenSaver” on object at path / [239260:239331:0209/152715.604944:ERROR:chrome_browser_main_extra_parts_metrics.cc(227)] START: ReportBluetoothAvailability(). If you don't see the END: message, this is crbug.com/1216328. [239260:239331:0209/152715.604959:ERROR:chrome_browser_main_extra_parts_metrics.cc(230)] END: ReportBluetoothAvailability() [239298:4:0209/152718.984759:ERROR:node_controller.cc(585)] Trying to re-add dropped peer 75274B86B1318FA7.CF68FC5B153750C2 [239260:239260:0209/152722.837205:ERROR:CONSOLE(14)] "Failed to handle media duration metadata: missing publisher key for media key youtube_TGaW-c7T4f8", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/out/brave_extension_background.bundle.js (14) [239260:239260:0209/152732.261290:ERROR:CONSOLE(1)] "[Shields]: Can't request shields panel data for tabId: 53. Error: No tab url specified", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/out/brave_extension_background.bundle.js (1) [239260:239260:0209/152732.264290:ERROR:CONSOLE(1)] "[Shields]: Can't request shields panel data for tabId: 53. Error: No tab url specified", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/out/brave_extension_background.bundle.js (1) [239298:4:0209/152803.344052:ERROR:node_controller.cc(585)] Trying to re-add dropped peer 9DB2811B801A03D9.5E04DF809AD08473
brave://flags Report:
`
Graphics Feature Status
Driver Bug Workarounds
Problems Detected
Disabled Features: video_encode
Applied Workarounds: clear_uniforms_before_first_program_use
Applied Workarounds: count_all_in_varyings_packing
Applied Workarounds: disable_post_sub_buffers_for_onscreen_surfaces
Applied Workarounds: msaa_is_slow
Applied Workarounds: disable_post_sub_buffers_for_onscreen_surfaces
Applied Workarounds: adjust_src_dst_region_for_blitframebuffer
Applied Workarounds: disable(GL_KHR_blend_equation_advanced), disable(GL_KHR_blend_equation_advanced_coherent)
Applied Workarounds: enable_webgl_timer_query_extensions
Applied Workarounds: exit_on_context_lost
Applied Workarounds: rely_on_implicit_sync_for_swap_buffers
Applied Workarounds: disable(GL_MESA_framebuffer_flip_y)
DAWN Info
<Integrated GPU> Vulkan backend - Intel(R) UHD Graphics 620 (WHL GT2)
[Default Toggle Names]
Version Information
Log Messages