What is the full list of flags that Brave Browser accepts?

performance
bug
#1

In brave://gpu I see five graphics feature items as disabled or set for software only:

* Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
* Out-of-process Rasterization: Disabled
* Skia Deferred Display List: Disabled
* Skia Renderer: Disabled
* Surface Control: Disabled

The goals is for all items to be hardware based/enabled.

The “problems detected” portion of the report describes:

* Native GpuMemoryBuffers have been disabled, either via about:flags or command line.
* Disabled Features: native_gpu_memory_buffers
* Skia renderer is not used by default.
* Disabled Features: skia_renderer
* Skia deferred display list is not used by default.
* Disabled Features: skia_deferred_display_list

Notice the “GpuMemoryBuffers have been disabled either via about:flags or command line”. If I look in brave://flags there is no entry for this. Search for ‘memory’ and you’ll not find a flag related to GpuMemoryBuffers. But if you look over here: https://peter.sh/experiments/chromium-command-line-switches/ (last updated 2019) and search for ‘memory’ you’ll find a lot of flags that Chrome (which Brave is based off of) exposes to users. So where did they go in Brave, please, b/c I’d like to make some switches.

Additionally, I’m looking for the --cipher-suite-blacklist flag which isn’t picked up if I run brave --cipher-suite-blacklist=<(comma_separated_)hex_value(s)>.

So then to return to the question:

  • where is the list of accepted flags that Brave supports?

But also:

  1. how can I correct the above five disabled/software-only GPU features (Skia etc) including GpuMemoryBuffers ?
  2. Can you also link me to your (or Google) documentation that describes/explains (verbosely) these items? Or the docs that describe the flags they’re controlled by?

EDIT:

Uh-Oh - so it looks like my other issue that I didn’t detail initially regarding Widevinecdm is not just because I’m doing something stupid (brave://components doesn’t list it!)… You actually haven’t gotten round to adding this into the build yet, have you: http\s://github.com/brave/brave-browser/issues/413 although people have been requesting it for years…

So that’s a lot of media content I won’t be able to view… You know, I really didn’t want to whine but I’m finding more reasons just to revert back to Chromium, particularly as the Arch Linux AUR has this: https://aur.archlinux.org/packages/chromium-vaapi/ which looks like it will answer my issues that about hardware acceleration & skia that this post has been about. Then there’s the missing flags (others I’m after that aren’t detailed in this post) that seem to be missing in too…

As if that’s not enough, the other issue I have is that despite this bug Brave shield UI bug having been solved, the fix still hasn’t made it into the Brave package for Arch-Linux users https://aur.archlinux.org/packages/brave-bin/

…Was really looking forward to decoupling from Chromium/Chrome.

0 Likes

#2

@humptydumpty,
Please remember that Brave Core is still a work in progress. Many changes and design implementations are still rolling out.

A quick bit of research shows that you may also need the --args command prepended in command line when using advanced flags:


See if this resolves your issue.

Widevine for Linux will be rolled out soon, note the last comment:

0 Likes

#3

Were you able to provide the full list of flags that I asked for? We can go down the rabbit hole of testing how and why such and such isn’t being picked up by Brave (cmd line is detailed at brave://version) as a passed in parameter or we can simply look at the documentation that details the flags Brave supports.

But FWIW the --args switch doesn’t make any bit of difference in my test. --cipher-suite-blacklist still isn’t picked up…

Also, I didn’t read any answers to my specific question(s) which if you can directly answer that would be very appreciated. I’m sure the community would also be interested in the answers.

0 Likes

#4

Brave supports any flags supported in chromium with the exception of any that would send data to 3rd parties without consent or record/log your data for any reason.

That said, when I search Chrome for this same flag it does not appear either. Can you show me this flag in chrome/chromium when searched? Additionally, is it just this flag (--cipher-suite-blacklist) or are there others you’re unable to locate?

0 Likes

#5

with the exception of any that would send data to 3rd parties without consent or record/log your data for any reason

This is the general sentiment I want to stay with Brave for.

What do you mean that flag does not appear for Chrome… You’re looking in the chrome://flags ? Or elsewhere? I provided a link about it in my first post: http\s://peter.sh/experiments/chromium-command-line-switches/#cipher-suite-blacklist

Here are more references about it:

https://wiki.archlinux.org/index.php/Chromium/Tips_and_tricks#Disable_insecure_RC4_cipher
http\s://www.chromium.org/Home/chromium-security/education/tls#TOC-Cipher-Suites
http\s://www.howsmyssl.com/
https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-4

I am fully aware that the archlinux wiki article is not the current version of it and has been removed from the article in 2016 since Chromium devs depracate insecure ciphers in their 2016 builds. DH was later dropped and so arch wiki was updated, but I’m still keen make my own preferences and test with it for reasons not relevant here.

As for other flags, well the other one that I have skirted around in the original post is --enable-native-gpu-memory-buffers (https://peter.sh/experiments/chromium-command-line-switches/#enable-native-gpu-memory-buffers)

  • Also, can you comment on why Skia are showing as disabled?
  • And when will the Linux packages be shipping with the UI fix?

are there others you’re unable to locate?

I’m unable to locate any documentation from Brave re what flags are supported. Your statement that Brave supports all that Chrome does (mostly, with exception above) is closes I have come to a comparison between what is and isn’t available in Brave… That said, no matter what I try I cannot seem to get Brave running with these flags.

From process monitor I can see Brave runs with brave ... --flag-switches-begin ... --flag-switches-end and between those two flags are flags set via brave://flags. When I try to pass in extra args/flags via cmd line these aren’t picked up. So it seems that Brave only takes flags that are switched in brave://flags then?

Btw - I do appreciate your replies here.

0 Likes

#6

Its worth noting that some flags are only available on certain platforms. That said, on both Windows, MacOS, and Linux (Ubuntu, Mint, Arch) the flag --cipher-suite-blacklist does not show. Only one flag has the keyword “cipher” in it at all:

Let me see if I can rope in a Dev for more detailed input about Skia is showing as disabled.
cc @clifton

0 Likes

#7

So Brave devs have taken this out of Brave Core/Brave?

Its worth noting that some flags are only available on certain platforms.

Can you detail which?

0 Likes

#8

@humptydumpty an exhaustive list can be found here:
https://peter.sh/experiments/chromium-command-line-switches/

…which you already shared

Any Chromium flags should work with our builds. The only reason some flags may not show would be because we’re not defining is_chrome_branded as true when doing the build (you’ll also see guards for it, like #ifdef GOOGLE_CHROME_OFFICIAL_BUILD or something like this).

Are you comparing using Chrome? Or Chromium? I’d be really interested in any differences between Chromium and Brave

Some of the things we’ve disabled (deviations from Chromium) are captured here:

You can also see some of the features we disable here:

Hope this helps
Brian

3 Likes

closed #9

This topic was automatically closed after 30 days. New replies are no longer allowed.

0 Likes