It turns out the problem is with the radeon driver.
The GDM can be started normally once amdgpu is used instead of radeon
$ cat /proc/cmdline
BOOT_IMAGE=(hd0,gpt3)/ostree/fedora-b84e4d88fe04fad4bc33b6ea17b973b4c73cd56c60843527323ed31290b71b6c/vmlinuz-5.11.20-300.fc34.x86_64
root=UUID=6d7c04a4-98c4-4438-96f8-b3fcd570c27a rootflags=subvol=root35b
ostree=/ostree/boot.0/fedora/b84e4d88fe04fad4bc33b6ea17b973b4c73cd56c60843527323ed31290b71b6c/0
radeon.cik_support=0 amdgpu.cik_support=1
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Kaveri [Radeon
R7 Graphics] (prog-if 00 [VGA controller])
Subsystem: Gigabyte Technology Co., Ltd Device d000
Flags: bus master, fast devsel, latency 0, IRQ 46, IOMMU group 0
Memory at c0000000 (64-bit, prefetchable) [size=256M]
Memory at d0000000 (64-bit, prefetchable) [size=8M]
I/O ports at f000 [size=256]
Memory at feb00000 (32-bit, non-prefetchable) [size=256K]
Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: [48] Vendor Specific Information: Len=08 <?>
Capabilities: [50] Power Management version 3
Capabilities: [58] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
Capabilities: [270] Secondary PCI Express
Capabilities: [2b0] Address Translation Service (ATS)
Capabilities: [2c0] Page Request Interface (PRI)
Capabilities: [2d0] Process Address Space ID (PASID)
Kernel driver in use: amdgpu
Kernel modules: radeon, amdgpu