Running Raspbian Buster on a 2GB Pi4. I'm trying to set two different resolutions for each of the HDMI ports. The first port has a 7" 1024x600 screen which is just a test screen, as it's going to be replaced by an 8.9" 2K screen with no backlight for a resin 3D printer. The second HDMI port has a 7" 800x480 touchscreen.
I have commented out the dtoverlay=vc4-fkms-v3d command in /boot/config.txt, as FKMS consolidates both framebuffers into a single virtual one, and I require both fb0 and fb1 to be exposed in /dev
I have added the following to /boot/config.txt in the [all] conditional:
Code: Select all
# settings for exposure screen on HDMI 0
framebuffer_width:0=1024
framebuffer_height:0=600
hdmi_force_hotplug:0=1
hdmi_cvt:0=1024 600 60 3 0 0 0
hdmi_mode:0=87
hdmi_group:0=2
hdmi_force_hotplug:0=1
# Settings for 7" touchscreen on HDMI 1
framebuffer_width:1=800
framebuffer_height:1=480
hdmi_force_hotplug:1=1
hdmi_edid_file:1=1
hdmi_cvt:1=800 480 60 6 0 0 0
hdmi_mode:1=87
hdmi_group:1=2
hdmi_force_hotplug:1=1
This is what is happening:
Code: Select all
pi@raspberrypi:~ $ tvservice -l
2 attached device(s), display ID's are :
Display Number 2, type HDMI 0
Display Number 7, type HDMI 1
pi@raspberrypi:~ $ tvservice -v 2 -s
state 0xa [HDMI DMT (87) RGB full 15:9], 800x480 @ 59.00Hz, progressive
pi@raspberrypi:~ $ tvservice -v 7 -s
state 0x6 [DVI DMT (87) RGB full 15:9], 800x480 @ 59.00Hz, progressive
pi@raspberrypi:~ $ fbset -fb /dev/fb0 -s
mode "800x480"
geometry 800 480 800 480 32
timings 0 0 0 0 0 0 0
rgba 8/16,8/8,8/0,8/24
endmode
pi@raspberrypi:~ $ fbset -fb /dev/fb1 -s
mode "800x480"
geometry 800 480 800 480 32
timings 0 0 0 0 0 0 0
rgba 8/16,8/8,8/0,8/24
endmode
pi@raspberrypi:~ $
If I comment out the commands for the 800x480 screen and disconnect it, I get this:
Code: Select all
pi@raspberrypi:~ $ tvservice -l
1 attached device(s), display ID's are :
Display Number 2, type HDMI 0
pi@raspberrypi:~ $ tvservice -v 2 -s
state 0xa [HDMI DMT (87) RGB full 16:9], 1024x600 @ 60.00Hz, progressive
pi@raspberrypi:~ $ fbset -fb /dev/fb0 -s
mode "1024x600"
geometry 1024 600 1024 600 32
timings 0 0 0 0 0 0 0
rgba 8/16,8/8,8/0,8/24
endmode
pi@raspberrypi:~ $
Can anyone tell me why the resolution commands for HDMI 1 seem to be overriding the resolution commands for HDMI 0?
