I have installed Arch Linux aarch64 on a new Raspberry Pi 4B 8G. After updating (pacman -Syu) and installing the Raspberry Pi specific kernel (linux-raspberrypi4) to get the USB ports working the next issue is the display.
From turning I can see some text briefly appearing, than a rainbow pattern, then the kernel messages with the four raspberries at the top of the screen. When it gets to the point where I would expect the login prompt, the monitor says there is no video input.
Checking jourbalctl -b I found this:
$this->bbcode_second_pass_code('', 'Apr 16 15:12:03 alarm kernel: fb0: switching to vc4drmfb from simple
Apr 16 15:12:03 alarm kernel: Console: switching to colour dummy device 80x25
Apr 16 15:12:03 alarm kernel: [drm] Initialized vc4 0.0.0 20140616 for gpu on minor 1
Apr 16 15:12:03 alarm kernel: brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
Apr 16 15:12:03 alarm kernel: brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Sep 18 2020 02:27:58 version 7.45.221 (3a6d3a0 CY) FWID 01-bbd928>
Apr 16 15:12:03 alarm systemd[1]: Starting Load/Save RF Kill Switch Status...
Apr 16 15:12:03 alarm kernel: vc4-drm gpu: [drm] HDMI-A-1: EDID is invalid:
Apr 16 15:12:03 alarm kernel: [00] BAD 00 ff ff ff ff ff ff 00 3c ad 00 37 00 00 00 00
Apr 16 15:12:03 alarm kernel: [00] BAD 0a 12 01 03 80 10 09 78 0a 68 37 a4 54 48 9a 25
Apr 16 15:12:03 alarm kernel: [00] BAD 0c 4a 4c 3f ef 80 d1 00 d1 c0 81 19 90 59 01 01
Apr 16 15:12:03 alarm kernel: [00] BAD 01 01 01 01 01 01 01 1d 80 18 71 1c 16 20 58 2c
Apr 16 15:12:03 alarm kernel: [00] BAD 25 00 10 09 00 00 00 9e 01 1d 00 72 51 d0 1e 20
Apr 16 15:12:03 alarm kernel: [00] BAD 6e 28 55 00 10 09 00 00 00 1e 00 00 00 fc 00 32
Apr 16 15:12:03 alarm kernel: [00] BAD 32 57 5f 4c 43 44 5f 54 56 0a 20 20 00 00 00 fd
Apr 16 15:12:03 alarm kernel: [00] BAD 00 31 3d 0f 2e 08 00 0a 20 20 20 20 20 20 01 2c
Apr 16 15:12:03 alarm systemd-udevd[221]: Using default interface naming scheme 'v247'.
')
I can force it to continue to give a display by editing config.txt and adding:
$this->bbcode_second_pass_code('', 'hdmi_mode:1=31
hdmi_group:1=1
hdmi_mode:0=19
hdmi_group:0=1
')
and then obviously rebooting but when trying to use a graphical display it is definitely fuzzy and there a very large border around the drawn in part of the screen. I have tried disable_overscan=1 but then the display seems to come up at weird resolutions - I have had 1600x1200 and 1384x720
I have done some searching and suspect this has something to do with:
dtoverlay=vc4-kms-v3d
But I haven't found anything that says how to configure this driver. Any ideas how I configure a sensible HDMI mode on this? Can I, for example, use a tool to decide the EDID that the driver doesn't like to at least see what mode I should be aiming at? Or does the vc4-kms-v3d driver have some documentation I have not yet found? Any other ideas?