2018-08-18, 12:52
@garbear My opinion is just that you're trying to fix what is probably a real issue, but it's not related per se to the login screen.
That services depend on profiles is unavoidable, that's basically what profiles are for. The root cause of this, that is that too many services are loaded just for showing a profile selecting dialog.
The Kodi login screen is no different than any login screen on any OS: It needs a limited set of services from "some" profile (in Kodi case, most likely the master profile).
From the top of my head, the services you need for this is:
- GUI/skin from master
- input manager from master
- ... (probably some others)
At startup, you'd only need those ones, then when the final profile is selected, you can de-init those and go through the standard init stages with the final profile.
When switching profile, you'd de-init the current profile (basically Application::cleanup), rince, repeat.
If you think of the Kodi login the same way as login/logoff on any multiuser OS, it makes the matter clearer, imo.
That services depend on profiles is unavoidable, that's basically what profiles are for. The root cause of this, that is that too many services are loaded just for showing a profile selecting dialog.
The Kodi login screen is no different than any login screen on any OS: It needs a limited set of services from "some" profile (in Kodi case, most likely the master profile).
From the top of my head, the services you need for this is:
- GUI/skin from master
- input manager from master
- ... (probably some others)
At startup, you'd only need those ones, then when the final profile is selected, you can de-init those and go through the standard init stages with the final profile.
When switching profile, you'd de-init the current profile (basically Application::cleanup), rince, repeat.
If you think of the Kodi login the same way as login/logoff on any multiuser OS, it makes the matter clearer, imo.