During the Second Stage of an installation, the xvnc.socket can starts before the YaST2-Second-Stage service runs its own Xvnc server. That could produce a black screen vnc connection as reported by openQA.
In the past (see yast/yast-installation: Pull Request 316) we used to have a systemd dependency to be run before xinetd service and we removed that because some cycle dependency but once we removed xinetd it looks safer to add a before xvnc.socket dependency instead of stop the service and run it again which looks strange.
Coverage remained the same at 39.566% when pulling f0ec20e70acc918c9991ea7de5b24260dff4cc43 on before_xvnc.socket into 950566fb2f28c051d373c84653363382dcc58811 on SLE-15-SP3.
Problem
During the Second Stage of an installation, the xvnc.socket can starts before the YaST2-Second-Stage service runs its own Xvnc server. That could produce a black screen vnc connection as reported by openQA.
In the past (see yast/yast-installation: Pull Request 316) we used to have a systemd dependency to be run before xinetd service and we removed that because some cycle dependency but once we removed xinetd it looks safer to add a before xvnc.socket dependency instead of stop the service and run it again which looks strange.
https://bugzilla.suse.com/show_bug.cgi?id=1197265 (https://trello.com/c/cl2XRuwf/)
Solution
Add Before=xvnc.socket to YaST2-Second-Stage and YaST2-Firstboot services. This will also prevent agetty to get the 5901 port (related to https://bugzilla.suse.com/show_bug.cgi?id=1196614).