Alex313031 / Thorium-Win-AVX2

Repo to serve AVX2 Windows builds of Thorium. https://github.com/Alex313031/Thorium/
https://thorium.rocks/
BSD 3-Clause "New" or "Revised" License
362 stars 8 forks source link

Thorium Building Discussion #9

Closed gz83 closed 2 years ago

gz83 commented 2 years ago

The latest version 103 finally does not need to use compatibility mode to open the browser, but when searching on the settings page, the browser still crashes.

Also, is it possible to use GitHub Actions to compile source code into Thorium executable?

gz83 commented 2 years ago

@gz83 Chromium can be updated by runnin a ./trunk.sh, and Thorium can be updated like any other git repo, or by downloading the latest .zip

I understand, I will compile a new version later.

gz83 commented 2 years ago

@gz83 Chromium can be updated by runnin a ./trunk.sh, and Thorium can be updated like any other git repo, or by downloading the latest .zip

Sorry, I forgot a question.

After I run trunk.sh to update the Chromium source, do I still need to run setup.sh?

Alex313031 commented 2 years ago

@gz83 Yes. Trunk.sh just updates the chromium source. Setup.sh is what copies all of the files from thorium over the chromium tree, and then downloads the pgo profile for all the platforms.

So you should update the thorium repo, then run trunk.sh, then run setup.sh. BTW I just rebased the whole thorium tree so now would be a good time to build. If you make an avx2 release remember to use the build dir from this repo and manually copy it over //chromium/src/build, and to use the api keys in the repo i added you to at the top of your args.gn, and of course remember the pgo profile needs to be set every time you build since it changes with every revision.

gz83 commented 2 years ago

@gz83 Yes. Trunk.sh just updates the chromium source. Setup.sh is what copies all of the files from thorium over the chromium tree, and then downloads the pgo profile for all the platforms.

So you should update the thorium repo, then run trunk.sh, then run setup.sh. BTW I just rebased the whole thorium tree so now would be a good time to build. If you make an avx2 release remember to use the build dir from this repo and manually copy it over //chromium/src/build, and to use the api keys in the repo i added you to at the top of your args.gn, and of course remember the pgo profile needs to be set every time you build since it changes with every revision.

Okay, I understand.

I'm now syncing the latest changes.

After synchronizing, I run trunk.sh and it prompts Cannot rebase-update with detached head + uncommitted changes error.

gz83 commented 2 years ago

@gz83 Yes. Trunk.sh just updates the chromium source. Setup.sh is what copies all of the files from thorium over the chromium tree, and then downloads the pgo profile for all the platforms.

So you should update the thorium repo, then run trunk.sh, then run setup.sh. BTW I just rebased the whole thorium tree so now would be a good time to build. If you make an avx2 release remember to use the build dir from this repo and manually copy it over //chromium/src/build, and to use the api keys in the repo i added you to at the top of your args.gn, and of course remember the pgo profile needs to be set every time you build since it changes with every revision.

Report a few issues

../../third_party/zlib/contrib/minizip/ioapi.c(224,6): error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror ,-Wdeprecated-non-prototype] void fill_fopen_filefunc (pzlib_filefunc_def) ^

image

../../media/base/media_switches.cc(487,21): error: unused variable 'kSurfaceLayerForMediaStreams' [-Werror,-Wunused-const-variable] const base::Feature kSurfaceLayerForMediaStreams{ ^

The above code should be deleted.By the way, I found this file in Thorium's repository, and I submitted a Pull requests to remove the code that prevents compilation, please review.

The compilation can continue after manually modifying the Chromium source code, please note the above issues.

Alex313031 commented 2 years ago

@gz83 Okay fixed those files. Also, did you fix the rebase error? It shouldnt do that. Ive had that happen when a file was in thorium that wasnt in chromium.

gz83 commented 2 years ago

@gz83 Okay fixed those files. Also, did you fix the rebase error? It shouldnt do that. Ive had that happen when a file was in thorium that wasnt in chromium.

The rebase error has not been fixed, I am now compiling Thorium on another server.

gz83 commented 2 years ago

@gz83 Okay fixed those files. Also, did you fix the rebase error? It shouldnt do that. Ive had that happen when a file was in thorium that wasnt in chromium.

Regarding the first issue above, if I modify the source code like this, will it not destroy the function of the browser?

image

Alex313031 commented 2 years ago

@gz83 I fixed that. It was the zlib build.gn.

And thats weird, I would say maybe try redownloading the chromium and thoriums oruce tree and starting from scratch.

Also, check out what Ive been working on today. A simple little extension for thorium, makes the scrollbars look nice.

https://github.com/Alex313031/Thorium_ScrollBars

gz83 commented 2 years ago

@gz83 I fixed that. It was the zlib build.gn.

And thats weird, I would say maybe try redownloading the chromium and thoriums oruce tree and starting from scratch.

Also, check out what Ive been working on today. A simple little extension for thorium, makes the scrollbars look nice.

https://github.com/Alex313031/Thorium_ScrollBars

I saw the changes in zlib. Thank you for your work. I have searched for rebase errors on the Internet, but I haven't found a solution yet. I personally feel that solving rebase errors is better than starting from scratch, which can save at least some time and resources.

Your new project is very good. I'll try to install it.

gz83 commented 2 years ago

@gz83 I fixed that. It was the zlib build.gn.

And thats weird, I would say maybe try redownloading the chromium and thoriums oruce tree and starting from scratch.

Also, check out what Ive been working on today. A simple little extension for thorium, makes the scrollbars look nice.

https://github.com/Alex313031/Thorium_ScrollBars

Version 5045 opened the history page back to normal, but the settings search still crashed, and also required opening the browser in compatibility mode.

In addition, I started a new compilation on another server, and the following error occurred during compilation.

FAILED: gen/chrome/browser/metrics/variations/ui_string_overrider_factory.h gen/chrome/browser/metrics/variations/ui_string_overrider_factory.cc python3 ../../components/variations/service/generate_ui_string_overrider.py -Nchrome_variations -ogen -Hchrome/browser/metrics/variations/ui_string_overrider_factory.h -Schrome/browser/metrics/variations/ui_string_overrider_factory.cc gen/chrome/grit/ chromium_strings.h gen/chrome/grit/generated_resources.h gen/chrome/grit/google_chrome_strings.h gen/components/strings/grit/components_chromium_strings.h gen/components/strings/grit/components_google_chrome_strings.h gen/components/strings/grit /components_strings.h Traceback (most recent call last): File "/root/chromium/src/out/thorium/../../components/variations/service/generate_ui_string_overrider.py", line 307, in sys.exit(main()) File "/root/chromium/src/out/thorium/../../components/variations/service/generate_ui_string_overrider.py", line 293, in main source_file_content = _GenerateSourceFileContent( File "/root/chromium/src/out/thorium/../../components/variations/service/generate_ui_string_overrider.py", line 181, in _GenerateSourceFileContent raise HashCollisionError(error_message) main.HashCollisionError:

It is followed by a bunch of information starting with IDS.

Alex313031 commented 2 years ago

@gz83 Thats the most common error. Those IDS errors are related to the .grdp files in thorium, which store strings and are used for branding, i.e. they are identicle to the chromium ones except instances of "chromium" are replaced with Thorium. I'll fix it right now. Again, because Thorium is based on tip of tree stuff changes alot. Often if I havent built in a couple days I have to rebase stuff, and sometimes more often, as can be seen today since I've had to update multiple files. How about we exchange some socials, that way you can get ahold of me easier. Thats how me and @midzer do it, he'll just text or facetime me and say "hey about to do a thorium rebuild can you do a rebase" Im almost always on my computer and even if not, im usually at home and my computer is in my bedroom, so its usually no big deal for me to just check and make sure no files have been updated whenever you do a build. I have pretty much everything, we could text, call, facetime, I've got reddit, facebook, twitter, tumblr, instagram, snapchat, IIRC, etc.

Also, so this is an AVX2 release, and you used the Thorium api keys? If so, send it via wormhole or something and I'll publish it with you in the tag

gz83 commented 2 years ago

@gz83 Thats the most common error. Those IDS errors are related to the .grdp files in thorium, which store strings and are used for branding, i.e. they are identicle to the chromium ones except instances of "chromium" are replaced with Thorium. I'll fix it right now. Again, because Thorium is based on tip of tree stuff changes alot. Often if I havent built in a couple days I have to rebase stuff, and sometimes more often, as can be seen today since I've had to update multiple files. How about we exchange some socials, that way you can get ahold of me easier. Thats how me and @midzer do it, he'll just text or facetime me and say "hey about to do a thorium rebuild can you do a rebase" Im almost always on my computer and even if not, im usually at home and my computer is in my bedroom, so its usually no big deal for me to just check and make sure no files have been updated whenever you do a build. I have pretty much everything, we could text, call, facetime, I've got reddit, facebook, twitter, tumblr, instagram, snapchat, IIRC, etc.

Also, so this is an AVX2 release, and you used the Thorium api keys? If so, send it via wormhole or something and I'll publish it with you in the tag

I have uploaded the 5045 version in wormhole, there are mini_installer and portable version, the API information used in this version is provided to me by you, and other content has not been modified. The link to wormhole is: https://wormhole.app/Lrnyz#xrFbR0Cl12fB583J0hq54Q

I can exchange twitter contacts with you, my twitter link is https://twitter.com/ . Also, I'm currently following you on twitter.

Alex313031 commented 2 years ago

@gz83 Hey thanks! That really helps! You named them all correctly, and did the portable zip all correctly, great work, made it easy for me lol. I will publish and add you to the thorium repo. And I told @midzer this too so dont feel like im picking on you, maybe Im just a control freak lol, but please DO NOT make changes to the thorium repo directly. Make an issue, add to the discussions, or make a pull request.

Alex313031 commented 2 years ago

@gz83 Made the release >> https://github.com/Alex313031/Thorium-AVX2/releases/tag/M103.0.5045.0 and mentioned you at the top. Also, I'm going to move this discussion to the main thorium discussions in the main repo.

gz83 commented 2 years ago

@gz83 Hey thanks! That really helps! You named them all correctly, and did the portable zip all correctly, great work, made it easy for me lol. I will publish and add you to the thorium repo. And I told @midzer this too so dont feel like im picking on you, maybe Im just a control freak lol, but please DO NOT make changes to the thorium repo directly. Make an issue, add to the discussions, or make a pull request.

I am very happy to be able to join your team. I will continue to contribute to Thorium in the future. At the same time, I will also abide by the rules you have set. I wish Thorium better and better.

gz83 commented 2 years ago

@gz83 Made the release >> https://github.com/Alex313031/Thorium-AVX2/releases/tag/M103.0.5045.0 and mentioned you at the top. Also, I'm going to move this discussion to the main thorium discussions in the main repo.

Okay, I know.

Alex313031 commented 2 years ago

@gz83 Closing this now. Will continue it in the main repo discussions. Will also make a new discussions here too, to be used only for things that are Win AVX2 specific.