HDMI on the Radxa 3W does not work for low resolutions on FreeBSD

Hello to everyone.

I was going to build a custom u-boot for my project (I want to use the Radxa 3W for building a FreeBSD based smarhphone) and look what I see in the ports tree…

sysutils/u-boot-radxa-zero3

So for u-boot I tried :

pkg install -y u-boot-radxa-zero3

Then ` cd /usr/local/share/u-boot/u-boot-radxa-zero3`

Then ` cat README`

dd if=idbloader.img of=/dev/daX seek=64 bs=512 conv=sync
dd if=u-boot.itb of=/dev/daX seek=16384 bs=512 conv=sync

So,I tried to “burn” the bootloaders file inside the official FreeBSD image for the RockPro64,doing something like this :

# dd if=idbloader.img of=FreeBSD-14.2-RELEASE-arm64-aarch64-ROCKPRO64.img seek=64 bs=512 conv=sync,notrunc

# dd if=u-boot.itb of=FreeBSD-14.2-RELEASE-arm64-aarch64-ROCKPRO64.img seek=16384 bs=512 conv=sync,notrunc

# dd if=FreeBSD-14.2-RELEASE-arm64-aarch64-ROCKPRO64.img | pv | dd of=/dev/sdh

My goal is to be able to have the HDMI working on the 720x720 screen that I’ve bought to use with the phone that I’m trying to create. It works for my large 1920x1080 monitor,but for the smallest display,720x720 is flickering (if I don’t dd idbloader.img and u-boot.itb)

Instead,if I dd those files,the screen remains black. So that procedure is wrong somewhere.

Those bootloaders files are for the Zero 3E,but I hope that they can work even for the Zero 3W. Are these boards very differently ?

You can’t flash ROCKPRO64 FreeBSD image to Radxa ZERO 3W, there’s a so big difference between them, first of all, and what’s the most inportant is that the soc is different.

maybe you can refer to this post, Zero 3E - FreeBSD

What’s the FreeBSD image that I should use ? I didn’t understand this point.

try this: https://personalbsd.org/images/FreeBSD-aarch64-14.0-CURRENT-GENERIC-RK356X-20230516.img.xz

Hello bro.

It works on my large HDMI monitor at 1920x1080 of resolution,but it flickers on the 720x720 display that I need to use for building the smartphone based on FreeBSD,as you can see below :

there is something that I can do to stabiize the image ? This is the display that I’ve bought :

https://www.waveshare.com/4inch-hdmi-lcd-c.htm

FreeBSD is not involved in setting up the display mode on these chips, its all done in the EDK2 bootloader.

Just setting the mode hard in the EDK2 config did not help apparently.

The image that I have used uses EDK2, EDK2 is the only way to get HDMI going, that doesn’t work with u-boot AFAIK, but the status on that might have changed.

The correct way to solve the resolution problem is to understand and then fix/modify that code to allow the 720x720 resolution.

The EDK2 code is here:

so it is “just” to get it beaten into working order.

I think that the correct solution is to get EDK2 to recon your display correctly or hardwire the resolution.

Unfortunately this goes beyond my knowledge and skills.

Maybe you can raise an issue there.

I did that yesterday. But I think you are aware that Jared does not offer support for his “quartz64_uefi” from years…

Tried your image. Unfortunately my display does not turn on ; it remains black. What should I do ? Do you have a more updated image to try ?

So sorry for that I could not find any other suitable images.