What causes the welcome app to start up slow?

I thought about maybe trying to improve the start up time of the Welcome app myself, but I don’t think I’m quite up to snuff on bash (and know nothing about yad). I didn’t want to spend a bunch of time learning only to find out there was nothing that could be done about it, and that people smarter than me would have already done it if they could.

Is there anything in particular that causes the delay in startup time? I know bash isn’t lightning fast, but it’s not exactly slow either. I looked through the code and it doesn’t seem like there’s a whole lot going on in the script. Anything that does work is contained in a function.

Is it just yad that takes a while to render the UI? Or something else?

Not complaining, just wondering what the actual bottleneck is, and if it is even possible to improve

1 Like

If you mean the loading time on start-up, it waits a couple of seconds for the internet connection has completely kicked in.

5 Likes

I think it totally depends on when the internet connection was established.

1 Like

Thanks for giving some thought to this. :sweat_smile:

Welcome certainly could do speed-up.
Using bashdb can show the places where it consumes time
I have done that a few times, but new features have been developed after the latest debugging.

To speed up certain time consuming operations the structure needs changes.
I plan to check this after Summer.

4 Likes

The startup is slow even if eos-welcome is launched long after internet connection is established.

1 Like

Possible to not start it automatically on every boot also … if you setup update notifier to use tray or window to make you able to update it would be good to go to not start welcome all the time.

@cowsay
By the way, by slowness do you mean starting Welcome

  • from the command line
  • at login
  • both

?

Edit: Here it is. It does an internet connection test on startup.

It makes a call out to ca.gate.endeavouros.com before the main window appears. The network request is what causes the the delay before the application starts.

Can the internet connection tests be moved into the button functions (when a connection is actually needed), so that the main window doesn’t need to wait for the network before opening?

1 Like

Upon further examination, it seems that the ONLY welcome screen action (post-install) that may benefit in some way from a connection test, is the “Update Mirrors” action.

The “Update System” action doesn’t need a connection test, pacman will just give a network error and you can re-run it. Most other buttons do offline tasks, or open web links which the browser can deal with.

It may be important to check connection during system installation ("$is_installing" = "yes") … but not important at all post-installation.

I think this internet connection test can probably be removed entirely. My 2 cents! :slightly_smiling_face:

1 Like

I don’t find any issue with the Welcome app? :thinking: It loads on count of 2. :man_shrugging:

But it could load on a count of 0.3

image

1 Like

I suppose but I’m not really that phased by it. If you can make it load faster that would be great!

Might give it a shot now that I see where the issue is

This really does depend a lot on connection speed. I’m typically connected to an overseas multi-hop VPN, and it can add quite a long lag time to the application startup. I love the welcome app and I use it often for changing mirrors and updating. The slow startup is a minor annoyance, but an annoyance nevertheless

I’d really be interested to know if anyone can find any reason why there is a need for the connection check at all. Nothing is done over the network until a button is pressed, and in those cases, the script runs the eos-connection-check utility.

I’ve been going over the code for a while and I can’t really see any purpose for it. This only fires when the the application is not being run in installation mode ("$is_installing" = "no")

At login Welcome will wait for 3 seconds by default.
So if this is annoying (:wink:), you can change it by editing the desktop file
/etc/xdg/autostart/welcome.desktop, look for line

Exec=sh /usr/share/endeavouros/scripts/welcome --startdelay=3

e.g. change 3 to 0.

1 Like

Me neither, because I don’t use it! :rofl:

1 Like

Well i just changed the file /etc/xdg/autostart/welcome.desktop to delay=0 and it makes absolutely no difference. The Welcome app opens on the count of 1,2 open just as it always has. :wink:

2 Likes

Did you notice anything different for Welcome at login?

by me the welcome app opens after 4 seconds(delay=0), by default it opens after 5 or 6 seconds.

1 Like

Not really but i’ll look again. It seemed to me to be no different.

Edit: I tried it again and on boot it comes up with an error message saying it can’t find a connection.

This is the way.

1 Like