Open Haltroy opened 1 year ago
Created branch "multithread" for this issue
I figured out what is happening.
The multi-thread thing is actually isn't launching CEF but well Yorot.
It launches Yorot with these arguments:
--type=utility --utility-sub-type=network.mojom.NetworkService --lang=tr --service-sandbox-type=none --no-sandbox --locales-dir-path=C:\Users\haltroy\.yorot\cef\locales --log-severity=warning --resources-dir-path=C:\Users\haltroy\.yorot\cef --user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.3.18.0 Safari/537.36 Yorot/indev1 --lang=tr --user-data-dir=C:\Users\haltroy\.yorot\user\haltroy\cache --log-file=D:\Source\Yorot\src\Yorot.Avalonia\bin\Debug\net6.0\win-x64\debug.log --mojo-platform-channel-handle=3244 --field-trial-handle=2264,i,3432012375400430736,962543082477696034,131072 --disable-features=BackForwardCache,CalculateNativeWinOcclusion,WinUseBrowserSpellChecker /prefetch:8
--type=utility
: Self explanatory.--utility-sub-type=network.mojom.NetworkService
: Self explanatory.--lang=tr
: Self explanatory.--service-sandbox-type=none
: We disable this idk why CefNet disables it.--no-sandbox
: Same as above.--locales-dir-path=C:\Users\haltroy\.yorot\cef\locales
: CEF locale files path (those en_US.pak tr.pak files)--log-severity=warning
: Sets log severity to warning (I was trying everything to see an output)--resources-dir-path=C:\Users\haltroy\.yorot\cef
: oh yeah we put all resources into one folder--user-agent=[too long, didn't add]
: The user agent, you know the thing that makes web pages to know what your browser is.--lang=tr
: a duplicate you fucking kidding me? my process in christ we already set the language above. yeah cef is really desperate to set language i guess.--user-data-dir=C:\Users\haltroy\.yorot\user\haltroy\cache
: Here's your data. Make sure someone else steals it. I'm not gonna do it. 1) I'm too lazy to implement codes to steal data 2) website poopy cant handle all of your data ((they shut my website cuz wordpress was using it shit ton once and i decided to not use php for my entire life)). --log-file=D:\Source\Yorot\src\Yorot.Avalonia\bin\Debug\net6.0\win-x64\debug.log
: The CEF log, we will talk about this in a minute.--mojo-platform-channel-handle=3244
: Your guess is better than mine.--field-trial-handle=2264,i,3432012375400430736,962543082477696034,131072
: When I was 10 years old, I asked my dad "hey dad how these thing work" and he said "magic" so yeah this is just witchcraft--disable-features=BackForwardCache,CalculateNativeWinOcclusion,WinUseBrowserSpellChecker
: ok so thats why it loads pages again cuz the back/forward cache is disabled. also the spell checker is disabled too wtf/prefetch:8
: another magic bs
debug.log
Remember the GPU process isn't usable. Goodbye.
thing? Yeah, that happens because instead of CefNet launching itself, it launches shit ton of Yorot with the arguments listed in up there. It launches Yorot, expecting a GPU process but then crashes cuz simply YOROT IS NOT CHROMIUM and tries 10 times to make sure it launches, fucking fails ((WONDER WHY)) then fucking runs away by saying the most saddestGoobye.
I ever seen.
[1111/111324.205856:ERROR:gpu_process_host.cc(959)] GPU process launch failed: error_code=1002
[1111/111324.205881:WARNING:gpu_process_host.cc(1267)] The GPU process has crashed 1 time(s)
[1111/111324.206963:ERROR:gpu_process_host.cc(959)] GPU process launch failed: error_code=1002
[1111/111324.206988:WARNING:gpu_process_host.cc(1267)] The GPU process has crashed 2 time(s)
[1111/111324.207687:ERROR:gpu_process_host.cc(959)] GPU process launch failed: error_code=1002
[1111/111324.207708:WARNING:gpu_process_host.cc(1267)] The GPU process has crashed 3 time(s)
[1111/111324.208492:ERROR:gpu_process_host.cc(959)] GPU process launch failed: error_code=1002
[1111/111324.208514:WARNING:gpu_process_host.cc(1267)] The GPU process has crashed 4 time(s)
[1111/111324.209309:ERROR:gpu_process_host.cc(959)] GPU process launch failed: error_code=1002
[1111/111324.209360:WARNING:gpu_process_host.cc(1267)] The GPU process has crashed 5 time(s)
[1111/111324.210042:ERROR:gpu_process_host.cc(959)] GPU process launch failed: error_code=1002
[1111/111324.210058:WARNING:gpu_process_host.cc(1267)] The GPU process has crashed 6 time(s)
[1111/111324.211039:ERROR:gpu_process_host.cc(959)] GPU process launch failed: error_code=1002
[1111/111324.211091:WARNING:gpu_process_host.cc(1267)] The GPU process has crashed 7 time(s)
[1111/111324.211812:ERROR:gpu_process_host.cc(959)] GPU process launch failed: error_code=1002
[1111/111324.211846:WARNING:gpu_process_host.cc(1267)] The GPU process has crashed 8 time(s)
[1111/111324.212792:ERROR:gpu_process_host.cc(959)] GPU process launch failed: error_code=1002
[1111/111324.212856:WARNING:gpu_process_host.cc(1267)] The GPU process has crashed 9 time(s)
[1111/111324.212929:FATAL:gpu_data_manager_impl_private.cc(454)] GPU process isn't usable. Goodbye.
But wait? If it launches the application that uses Chromium instead of idk CHROMIUIM ITSELF why did the AvaloniaApp
worked? There's something obvious missing and I have no idea. The code is identical ((most of them are just copy-pasted)) but for no reason, I can't get Yorot working. Some of the code is for UI so I never touched MainWindows or WebView stuff. My priority is the multi-thread thing for now.
[finally, sarcasm ends here]]
Finally found it. It now will partially initialize YorotMain on startup of every process and the main process which will show the window(s) will completely initialize the YorotMain. Also, the locale setting is global now.
Also, got rid of the WolfHook feature for now, need to think about how to talk to other main window from there without accidentally killing other threads.
Now it works on Windows, brb gonna reboot to Arch.
Tested on Alpine first, it gave an error saying Can't load libcef.so
despite the file is actually there, I simply don't have any idea and gonna check that later.
On Arch, it just didn't launch any window and it seems that it launched some stuff like the GPU process and the network process but that's it.
[20/11/2022 12:43:03:1786603) [Main] Developer mode activated.
[I] (20/11/2022 12:43:03:2044077) [ProfileManager] Starting Init...
[W] (20/11/2022 12:43:03:2046665) [ProfileManager] Loaded defaults, configuration file does not exists.
[I] (20/11/2022 12:43:03:2046846) [ProfileManager] Init done.
DevTools listening on ws://127.0.0.1:9222/devtools/browser/193ff1e3-e288-4217-913f-5fb224c699ce
[20/11/2022 12:43:03:4288498) [Main] Developer mode activated.
[I] (20/11/2022 12:43:03:4529282) [ProfileManager] Starting Init...
[W] (20/11/2022 12:43:03:45314) [ProfileManager] Loaded defaults, configuration file does not exists.
[I] (20/11/2022 12:43:03:4531577) [ProfileManager] Init done.
[1120/124303.593506:WARNING:sandbox_linux.cc(376)] InitializeSandbox() called with multiple threads in process gpu-process.
[20/11/2022 12:43:03:768754) [Main] Developer mode activated.
[I] (20/11/2022 12:43:03:7916992) [ProfileManager] Starting Init...
[W] (20/11/2022 12:43:03:7918559) [ProfileManager] Loaded defaults, configuration file does not exists.
[I] (20/11/2022 12:43:03:7918694) [ProfileManager] Init done.
So, It loads everything correctly and nothing bad happens but nothing shows up. I simply have no idea why.
Avalonia works on here, so i have to dig deeper. I have suspicion on Fluent Avalonia, which is used for TabView only and it's in beta. The devs of that might not planned it to work on other OS than Windows. nvm it works on my test project i just created so its something else.
In case someone else tries this and receives an error that looks like this:
Unhandled exception. System.DllNotFoundException: Unable to load shared library 'libdl' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibdl: cannot open shared object file: No such file or directory
at CefNet.NativeMethods.dlopen(String path, Int32 mode)
at CefNet.CefNetApplication.Initialize(String path, CefSettings settings)
Make sure glibc is installed. (Ex. Arch Linux Package: glibc
).
And just run this command before usingdotnet run
: sudo ln -sf /usr/lib/$(ls /usr/lib/ | grep libdl.so) /usr/lib/libdl.so
This is temporary solution until everything else is fixed, then I might add libdl itself to the package for your distro so no need to think about it.
Tested on Alpine first, it gave an error saying
Can't load libcef.so
despite the file is actually there, I simply don't have any idea and gonna check that later.On Arch, it just didn't launch any window and it seems that it launched some stuff like the GPU process and the network process but that's it.
[20/11/2022 12:43:03:1786603) [Main] Developer mode activated. [I] (20/11/2022 12:43:03:2044077) [ProfileManager] Starting Init... [W] (20/11/2022 12:43:03:2046665) [ProfileManager] Loaded defaults, configuration file does not exists. [I] (20/11/2022 12:43:03:2046846) [ProfileManager] Init done. DevTools listening on ws://127.0.0.1:9222/devtools/browser/193ff1e3-e288-4217-913f-5fb224c699ce [20/11/2022 12:43:03:4288498) [Main] Developer mode activated. [I] (20/11/2022 12:43:03:4529282) [ProfileManager] Starting Init... [W] (20/11/2022 12:43:03:45314) [ProfileManager] Loaded defaults, configuration file does not exists. [I] (20/11/2022 12:43:03:4531577) [ProfileManager] Init done. [1120/124303.593506:WARNING:sandbox_linux.cc(376)] InitializeSandbox() called with multiple threads in process gpu-process. [20/11/2022 12:43:03:768754) [Main] Developer mode activated. [I] (20/11/2022 12:43:03:7916992) [ProfileManager] Starting Init... [W] (20/11/2022 12:43:03:7918559) [ProfileManager] Loaded defaults, configuration file does not exists. [I] (20/11/2022 12:43:03:7918694) [ProfileManager] Init done.
So, It loads everything correctly and nothing bad happens but nothing shows up. I simply have no idea why. Avalonia works on here, so i have to dig deeper. ~I have suspicion on Fluent Avalonia, which is used for TabView only and it's in beta. The devs of that might not planned it to work on other OS than Windows.~ nvm it works on my test project i just created so its something else.
Tried the AvaloniaApp
with Yorot.Standart with same stuff Yorot.Avalonia has and it still worked.
The problem is with the Yorot.Avalonia but I simply couldn't find it.
It only spawns the first renderer process and never creates another one which is the one probably making the actual render. Unlike any other CEF example, which spawns at least 2 renderer processes.
Anyways, I'm moving the WebView part of Yorot to another project file for subprocess stuff. Hopefully we can get it working with that.
Update: I moved the WebView part to another project, but it broke lots of stuff. Currently, only the popup window and initializing needs a fix. I hope the subprocess project self-executes itself instead of Yorot. I'll make a commit after ı'm done with those.
Tested on Fedora 37 KDE. It didn't spawn the renderer processes at all. GPU process is working without any issues and network utility always shows up without any issues. Still, CEF requires a "first renderer subprocess" and a "renderer process" for each tab.
Also, on Fedora, the libdl fix is: sudo ln -sf /usr/lib64/$(ls /usr/lib64/ | grep libdl.so) /usr/lib64/libdl.so
because on Fedora it looks into the /usr/lib64
folder unlike in Arch which looks at /usr/lib
folder while searching the library. This bug isn't just in Yorot, it is probably originating in CefNet or .NET.
For anyone catching up late, the libdl.so
is a library (lib
) for loading dynamic libraries (dl
) for linux distros (.so
).
Here's a list of all subprocesses and their arguments on each scenario I tested with.
Also, gonna upload the example app to GitHub tomorrow. Needs some minor guides. It's the AvaloniaApp
project fromCefNet repositories, just replaced the project references with package references and a proper CEF library path.
Here's a list of all subprocesses and their arguments on each scenario I tested with. debug.txt
GPU Process: --type=gpu-process --no-sandbox --locales-dir-path="C:\Users\haltroy.yorot\engine\locales" --resources-dir-path="C:\Users\haltroy.yorot\engine" --lang=en-US --user-data-dir="C:\Users\haltroy\AppData\Local\CEF\User Data" --gpu-preferences=UAAAAAAAAADgAAAYAAAAAAAAAAAAAAAAAABgAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAASAAAAAAAAAAYAAAAAgAAABAAAAAAAAAAGAAAAAAAAAAQAAAAAAAAAAAAAAAOAAAAEAAAAAAAAAABAAAADgAAAAgAAAAAAAAACAAAAAAAAAA= --log-file="D:\Source\Yorot\src\CefNet.Avalonia.Example\bin\x64\Debug\net6.0\debug.log" --mojo-platform-channel-handle=2164 --field-trial-handle=2188,i,9247274054117887531,4972468853236538152,131072 --disable-features=BackForwardCache,CalculateNativeWinOcclusion,WinUseBrowserSpellChecker /prefetch:2
Network Utility Process: --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --locales-dir-path="C:\Users\haltroy.yorot\engine\locales" --resources-dir-path="C:\Users\haltroy.yorot\engine" --lang=en-US --user-data-dir="C:\Users\haltroy\AppData\Local\CEF\User Data" --log-file="D:\Source\Yorot\src\CefNet.Avalonia.Example\bin\x64\Debug\net6.0\debug.log" --mojo-platform-channel-handle=2180 --field-trial-handle=2188,i,9247274054117887531,4972468853236538152,131072 --disable-features=BackForwardCache,CalculateNativeWinOcclusion,WinUseBrowserSpellChecker /prefetch:8
First Renderer Process: --type=renderer --locales-dir-path="C:\Users\haltroy.yorot\engine\locales" --resources-dir-path="C:\Users\haltroy.yorot\engine" --user-data-dir="C:\Users\haltroy\AppData\Local\CEF\User Data" --first-renderer-process --no-sandbox --log-file="D:\Source\Yorot\src\CefNet.Avalonia.Example\bin\x64\Debug\net6.0\debug.log" --enable-blink-features=CSSPseudoHas --lang=en-US --device-scale-factor=1 --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=5 --launch-time-ticks=186050443145 --mojo-platform-channel-handle=3192 --field-trial-handle=2188,i,9247274054117887531,4972468853236538152,131072 --disable-features=BackForwardCache,CalculateNativeWinOcclusion,WinUseBrowserSpellChecker /prefetch:1
Renderer Process: --type=renderer --locales-dir-path="C:\Users\haltroy.yorot\engine\locales" --resources-dir-path="C:\Users\haltroy.yorot\engine" --user-data-dir="C:\Users\haltroy\AppData\Local\CEF\User Data" --no-sandbox --log-file="D:\Source\Yorot\src\CefNet.Avalonia.Example\bin\x64\Debug\net6.0\debug.log" --enable-blink-features=CSSPseudoHas --lang=en-US --device-scale-factor=1 --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=4 --launch-time-ticks=186050444808 --mojo-platform-channel-handle=3220 --field-trial-handle=2188,i,9247274054117887531,4972468853236538152,131072 --disable-features=BackForwardCache,CalculateNativeWinOcclusion,WinUseBrowserSpellChecker /prefetch:1
Main Process: --test
GPU Process: --type=gpu-process --no-sandbox --locales-dir-path="C:\Users\haltroy.yorot\engine\locales" --resources-dir-path="C:\Users\haltroy.yorot\engine" --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.3.18.0 Safari/537.36 Yorot/indev1" --lang=tr --user-data-dir="C:\Users\haltroy.yorot\user\haltroy\cache" --gpu-preferences=UAAAAAAAAADgAAAYAAAAAAAAAAAAAAAAAABgAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAASAAAAAAAAAAYAAAAAgAAABAAAAAAAAAAGAAAAAAAAAAQAAAAAAAAAAAAAAAOAAAAEAAAAAAAAAABAAAADgAAAAgAAAAAAAAACAAAAAAAAAA= --log-file="D:\Source\Yorot\src\Yorot.Avalonia\bin\Debug\net6.0\win-x64\debug.log" --mojo-platform-channel-handle=2232 --field-trial-handle=2224,i,3423411986920514766,13791450125700548708,131072 --disable-features=BackForwardCache,CalculateNativeWinOcclusion,WinUseBrowserSpellChecker /prefetch:2
Network Utility Process: --type=utility --utility-sub-type=network.mojom.NetworkService --lang=tr --service-sandbox-type=none --no-sandbox --locales-dir-path="C:\Users\haltroy.yorot\engine\locales" --resources-dir-path="C:\Users\haltroy.yorot\engine" --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.3.18.0 Safari/537.36 Yorot/indev1" --lang=tr --user-data-dir="C:\Users\haltroy.yorot\user\haltroy\cache" --log-file="D:\Source\Yorot\src\Yorot.Avalonia\bin\Debug\net6.0\win-x64\debug.log" --mojo-platform-channel-handle=2648 --field-trial-handle=2224,i,3423411986920514766,13791450125700548708,131072 --disable-features=BackForwardCache,CalculateNativeWinOcclusion,WinUseBrowserSpellChecker /prefetch:8
Renderer Process: ((absent))
First Renderer Process: --type=renderer --locales-dir-path="C:\Users\haltroy.yorot\engine\locales" --resources-dir-path="C:\Users\haltroy.yorot\engine" --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.3.18.0 Safari/537.36 Yorot/indev1" --user-data-dir="C:\Users\haltroy.yorot\user\haltroy\cache" --first-renderer-process --no-sandbox --log-file="D:\Source\Yorot\src\Yorot.Avalonia\bin\Debug\net6.0\win-x64\debug.log" --lang=tr --device-scale-factor=1 --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=5 --launch-time-ticks=186791019200 --mojo-platform-channel-handle=3084 --field-trial-handle=2224,i,3423411986920514766,13791450125700548708,131072 --disable-features=BackForwardCache,CalculateNativeWinOcclusion,WinUseBrowserSpellChecker /prefetch:1
Main Process: ""
GPU Process: --type=gpu-process --no-sandbox --locales-dir-path="C:\Users\haltroy.yorot\engine\locales" --log-severity=warning --resources-dir-path="C:\Users\haltroy.yorot\engine" --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.3.18.0 Safari/537.36 Yorot/indev1" --lang=tr --user-data-dir="C:\Users\haltroy.yorot\user\haltroy\cache" --gpu-preferences=UAAAAAAAAADgAAAYAAAAAAAAAAAAAAAAAABgAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAASAAAAAAAAAAYAAAAAgAAABAAAAAAAAAAGAAAAAAAAAAQAAAAAAAAAAAAAAAOAAAAEAAAAAAAAAABAAAADgAAAAgAAAAAAAAACAAAAAAAAAA= --log-file="D:\Source\Yorot\src\Yorot.Avalonia\bin\Debug\net6.0\win-x64\debug.log" --mojo-platform-channel-handle=2244 --field-trial-handle=2284,i,17325630207771955779,9062806569101437699,131072 --disable-features=BackForwardCache,CalculateNativeWinOcclusion,WinUseBrowserSpellChecker /prefetch:2
Network Utility Process: --type=utility --utility-sub-type=network.mojom.NetworkService --lang=tr --service-sandbox-type=none --no-sandbox --locales-dir-path="C:\Users\haltroy.yorot\engine\locales" --log-severity=warning --resources-dir-path="C:\Users\haltroy.yorot\engine" --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.3.18.0 Safari/537.36 Yorot/indev1" --lang=tr --user-data-dir="C:\Users\haltroy.yorot\user\haltroy\cache" --log-file="D:\Source\Yorot\src\Yorot.Avalonia\bin\Debug\net6.0\win-x64\debug.log" --mojo-platform-channel-handle=2600 --field-trial-handle=2284,i,17325630207771955779,9062806569101437699,131072 --disable-features=BackForwardCache,CalculateNativeWinOcclusion,WinUseBrowserSpellChecker /prefetch:8
First Renderer Process: --type=renderer --locales-dir-path="C:\Users\haltroy.yorot\engine\locales" --log-severity=warning --resources-dir-path="C:\Users\haltroy.yorot\engine" --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.3.18.0 Safari/537.36 Yorot/indev1" --user-data-dir="C:\Users\haltroy.yorot\user\haltroy\cache" --first-renderer-process --no-sandbox --log-file="D:\Source\Yorot\src\Yorot.Avalonia\bin\Debug\net6.0\win-x64\debug.log" --lang=tr --device-scale-factor=1 --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=5 --launch-time-ticks=359106340254 --mojo-platform-channel-handle=3088 --field-trial-handle=2284,i,17325630207771955779,9062806569101437699,131072 --disable-features=BackForwardCache,CalculateNativeWinOcclusion,WinUseBrowserSpellChecker /prefetch:1
Renderer Process: --type=renderer --locales-dir-path="C:\Users\haltroy.yorot\engine\locales" --log-severity=warning --resources-dir-path="C:\Users\haltroy.yorot\engine" --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.3.18.0 Safari/537.36 Yorot/indev1" --user-data-dir="C:\Users\haltroy.yorot\user\haltroy\cache" --no-sandbox --log-file="D:\Source\Yorot\src\Yorot.Avalonia\bin\Debug\net6.0\win-x64\debug.log" --lang=tr --device-scale-factor=1 --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=4 --launch-time-ticks=359106342872 --mojo-platform-channel-handle=3128 --field-trial-handle=2284,i,17325630207771955779,9062806569101437699,131072 --disable-features=BackForwardCache,CalculateNativeWinOcclusion,WinUseBrowserSpellChecker /prefetch:1
Main Process: ""
GPU Process: --type=gpu-process --no-sandbox --locales-dir-path=/home/haltroy/.yorot/engine/locales --log-severity=warning --resources-dir-path=/home/haltroy/.yorot/engine --user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.3.18.0 Safari/537.36 Yorot/indev1 --lang=en --user-data-dir=/home/haltroy/.config/cef_user_data --gpu-preferences=WAAAAAAAAAAgAAAIAAAAAAAAAAAAAAAAAABgAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAAAAAAAABAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAA== --log-file=/home/haltroy/Masaüstü/yorot/src/Yorot.Avalonia/bin/Debug/net6.0/linux-x64/debug.log --shared-files --field-trial-handle=0,i,3157850586462211434,14363501029321585564,131072 --disable-features=BackForwardCache"
Network Utility: --type=utility --utility-sub-type=network.mojom.NetworkService --lang=tr --service-sandbox-type=none --no-sandbox --locales-dir-path=/home/haltroy/.yorot/engine/locales --log-severity=warning --resources-dir-path=/home/haltroy/.yorot/engine --user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.3.18.0 Safari/537.36 Yorot/indev1 --lang=en --user-data-dir=/home/haltroy/.config/cef_user_data --log-file=/home/haltroy/Masaüstü/yorot/src/Yorot.Avalonia/bin/Debug/net6.0/linux-x64/debug.log --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,i,3157850586462211434,14363501029321585564,131072 --disable-features=BackForwardCache"
First Renderer Process: ((absent))
Renderer Process: ((absent))
Main ProcesS: "--oobe"
Published a new repository for CefNet examples: https://github.com/Haltroy/CefNet.Avalonia.Examples
Good news, the example worked with all the code copied. bad news, the code wasn't that much pretty and it crashed. Now it's just fixing them.
Yorot.Avalonia, the official Yorot flavor uses CefNet, a wrapper around the Chromium Embedded Framework that is cross-platform. This flavor also uses AvaloniaUI which is cross-platform graphical user interface library with Model-View-View-Model function so developers can dynamically update the UI more easily.
I dualboot endeavourOS (basically Arch but purple) with Windows 11 . Meaning that I can test Yorot with a general installation of Linux and Windows.
Currently, I developed Yorot in Windows 11 with Visual Studio and it works in there. However, neither of the Linux distributions that I tried (Arch, my Fedora, Debian) can't run Yorot for some reason. Here's my attempt.
Current situation is this:
libdl.so
because its installed aslibdl.so.2
.MultiThreadedMessageLoop throwsIn Linux, CEF won't spawn any renderers while in Windows the first render subprocess is spawned but not the other renderer processes. All required for CEF to show a working screen.GPU process crashed
and closes app. Disabling it shows no Avalonia window whatsoever or just makes browser to not initialize.Current ToDo (might change a lot):UPDATE 23 March 2023
The Cefnet Avalonia Examples are working on Linux and Windows. My main goal is to remove the original "Yorot-Avalonia" C# project and copy everything into the working project.
And I already did move couple of classes and as right now they all work.
Current TODO (might change a lot):