Alex313031 / Thorium-Win

Chromium fork for Windows named after radioactive element No. 90; Windows builds of https://github.com/Alex313031/Thorium
https://thorium.rocks/
BSD 3-Clause "New" or "Revised" License
1.28k stars 33 forks source link

AVX build crashed at launch while SSE3 is fine #180

Open Unknown78 opened 3 months ago

Unknown78 commented 3 months ago

Backgrounds

image

Problems

As the title says.

Logs

Within THORIUM.BAT with this command below,

"%cd%\BIN\thorium.exe" --user-data-dir="%~dp0%\USER_DATA" --allow-outdated-plugins --enable-logging=stderr --v=99 --vmodule=metrics=99 --blink-platform-log-channels > log.txt 2>&1

I was able to obtain additional logfile beside the Crashpad folder. There are hundreds of command switches, let me know if I miss something.

Thorium_AVX_121.0.6167.204_Logs_2024-03-06T07.24.00.zip

Alex313031 commented 3 months ago

@Unknown78 Unfortunately, some lower end 2nd Gen CPUs have AVX, but not AES (notice AES-NI is greyed out). You will have to use the SSE3 version in this case.

Unknown78 commented 3 months ago

@Alex313031

Could there be six variant of builds in this case?

  1. AVX2 + AES-NI
  2. AVX + AES-NI
  3. SSE3 + AES-NI
  4. AVX2
  5. AVX (I need this one)
  6. SSE3

One example of AVX2 without AES-NI is Core i3-4000M One example of SSE3 with AES-NI is Core i7-990X and also most of other Westmere, even some of more modern 10th gen Comet Lake such as Celeron 5205U, Pentium 6405U, Celeron G5925, or Pentium Gold G6600.

How about SSSE3?

And there could be more combinations with SSE4 and also SSE4a for AMD:

  1. SSE4.1 + SSE4.2 + POPCNT + AES-NI
  2. SSE4.1 + SSE4.2 + POPCNT + LZCNT + AES-NI
  3. SSE4a + SSE4.1 + SSE4.2 + POPCNT + LZCNT + AES-NI
  4. SSE4.1
  5. SSE4.1 + SSE4.2
  6. SSE4.1 + SSE4.2 + POPCNT (This will work on my system)
  7. SSE4.1 + SSE4.2 + POPCNT + LZCNT
  8. SSE4a + POPCNT + LZCNT
  9. SSE4a + SSE4.1 + SSE4.2 + POPCNT + LZCNT

If you're too busy to do that, at least, in my case, could you please kindly explain the tutorial to compile it into AVX build but without AES-NI? I've looked up the keyword aes in the repo, and it spread across many files, I don't know which one to modify. There's no tutorial of it on BUILDING_WIN.md either...