Yorot (& Website) Dev Blog

If you noticed something is different right now than you are not alone. I moved to WordPress rather than using Mobirise. This way I can edit my website anywhere I want to.

Now, Yorot

For the initial pre-release (the indev1 release), there are a lot of problems still need a fix. Features such as downloads, notifications and apps. They are easy to do but will take a time. The real issue is the multi-thread feature.

We are going to the technical area now so hold on tight.

Yorot uses CEF (stands for “Chromium Embedded Framework”) and CEF requires a couple of subprocesses that run under the Yorot’s own single process. These processes do what a web browser would do.

Yorot’s own process handles the UI elements, Yorot libraries, your apps etc. and shows the window to you.

CEF has couple of types of processes:

  • The Network Subprocess: This is the process that communicates with the outside world.
  • The GPU Subprocess: This process communicates with your graphics card(s) for display, video etc. features.
  • The First Renderer Subprocess: This process handles all the other rendering processes and spawns new ones when you open a new tab or window.
  • Renderer Subprocess: This type of process draws the websites you see right now.

(I’m just oversimplifying this so anyone can easily understand.)

So, now we know the basics and now back to the problem.

In Yorot, The network, GPU and first renderer processes spawn perfectly. However, for some reason no other renderer processes spawn. This especially happens on any Linux distribution.

And on top of that, CefNet (the C# wrapper for CEF we use) also points to a library that is used to load dynamic libraries (libdl.so) in wrong way. In most of those, the filename is libdl.so.2 or something similar. Sometimes its in /usr/lib sometimes its /usr/lib64.

Scroll to Top