In November 2018 I ordered an Oryx Pro laptop with a 17″ display from System76. This laptop came with the System76 version of Ubuntu, POP_os!. This is an amazing laptop with 6 cores (12 CPUs) and 32GB of RAM, more than enough to run multiple VMs simultaneously, which I sometimes do when traveling or presenting.
After using POP_os! for a few months, I wanted to install Fedora on it because I have it on all of my other systems and this would make it a bit simpler to manage. I installed Fedora 29 (at the time) on a second internal SSD. I ran into problems with this because Fedora would hang at the point where the display manager was to start. The screen would be blank and the system was unresponsive. I did not spend much time with this because I had things to do and POP_os! worked fine.
And then a few weeks ago I was working on a woefully under-powered Dell Inspiron 3452 laptop and installed Fedora 32 on it. It failed the same way that my Oryx Pro did.
So here is my thought process. Fedora installed on both laptops — and failed to boot with the same symptom. POP_os! worked fine on the Oryx. The Fedora installation works from a Live USB thumb drive and does not use a display manager. POP_os! uses GNOME for a desktop and the GNOME display manager, gdm. I had been installing from a Fedora spin that uses the Xfce desktop and the lightdm display manager. Xfce does not have a display manager of its own but can use any of the others, typically lightdm, xdm, or lxdm.
I downloaded and installed the Fedora Workstation version which uses GNOME and gdm. In both cases I could now login to the laptops successfully. I then installed Xfce, my favorite desktop but continued to use gdm. Everything now works as it should and I have my favorite desktop back.
This is only one example of the power and flexibility of Linux. I can pick and choose the components I need. Not only can I use different combinations like this to solve problems, I can use them just because they work better for me or I like one better than the other. Choices and flexibility – Linux Rocks!