Selecting the EFI framebuffer only, fixes the discoloration of both the raspberries and llvmpipe. But still no vc4 deviceā¦ evidently not related. Going to try now with only the bcm2708 frame buffer selected.
Edit: vc-mem: phys_addr:0x00000000 mem_base=0x00000000 mem_size:0x00000000(0 MiB)
Command line on normal install:
[ 0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 video=HDMI-A-1:3840x2160M@60 smsc95xx.macaddr=DC:A6:32:BB:1C:0C vc_mem.mem_base=0x3eb00000 vc_mem.mem_size=0x3ff00000 root=LABEL=MNJRO_ROOT rw rootfstype=btrfs rootwait console=ttyAMA0,115200 console=tty1 selinux=0 plymouth.enable=1 smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 kgdboc=ttyAMA0,115200 usbhid.mousepoll=8 audit=0
This part is not passed to my UEFI kernel:
vc_mem.mem_base=0x3eb00000 vc_mem.mem_size=0x3ff00000
Edit: I added the above to the UEFI kernel command line. vc-mem now shows the correct values, however, still no vc4.
I captured the compile warning this time, I do not think it is related. I think the v4l2 is for video decoding.
In file included from ./include/media/v4l2-subdev.h:15,
from ./include/media/v4l2-device.h:13,
from drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c:15:
drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c: In function ābcm2835_isp_get_supported_fmtsā:
./include/linux/kern_levels.h:5:18: warning: format ā%uā expects argument of type āunsigned intā, but argument 4 has type ālong unsigned intā [-Wformat=]
5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
| ^~~~~~
./include/media/v4l2-common.h:58:9: note: in definition of macro āv4l2_printkā
58 | printk(level "%s: " fmt, (dev)->name , ## arg)
| ^~~~~
./include/linux/kern_levels.h:11:18: note: in expansion of macro āKERN_SOHā
11 | #define KERN_ERR KERN_SOH "3" /* error conditions */
| ^~~~~~~~
./include/media/v4l2-common.h:61:14: note: in expansion of macro āKERN_ERRā
61 | v4l2_printk(KERN_ERR, dev, fmt , ## arg)
| ^~~~~~~~
drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c:1237:4: note: in expansion of macro āv4l2_errā
1237 | v4l2_err(&dev->v4l2_dev,
| ^~~~~~~~
CC [M] drivers/media/dvb-frontends/rtl2832.o
Edit: I modified the cma value and that change is not reflected in dmesg. It continues to default cma to 64MB. I think this is further evidence that the dtoverlay=vc4-kms-v3d-pi4,cma-512 is not working properly, or at all for UEFI. My efforts continue.
The bcm2708 framebuffer does function. No raspberries but the colors are wonky again in llvmpipe. So it would seem the best framebuffer for UEFI is indeed the EFI framebuffer. That much figured out.
The vc_mem settings could be the issueā¦ but these addresses are not set in stone. How do I find out what addresses I need for EFI? Could be the same, dunno.