Here's a small how-to for DSI + HDMI.
1) prepare a fresh uSD, boot and configure (initial setting for WiFi,Keyboard, etc) using DSI display only
2) add below to your 'config.txt'
Code: Select all
dtparam=audio=off
disable_overscan=1
enable_uart=off
start_x=1
max_framebuffers=2
# desktop display will default to the LCD (fb0)
# This will force the specified display to be the first in the list, i.e. /dev/fb0
# Actually this is the full set:
# MAIN_LCD 0
# AUX_LCD 1
# HDMI0 2
# SDTV 3
# HDMI1 is only availabe on RPi4
# HDMI1 7
framebuffer_priority=0
# increase GPU memory
gpu_mem=112
Code: Select all
sudo nano /usr/share/X11/xorg.conf.d/99-fbturbo.conf
Code: Select all
# This is a minimal sample config file, which can be copied to
# /etc/X11/xorg.conf in order to make the Xorg server pick up
# and load xf86-video-fbturbo driver installed in the system.
# When troubleshooting, check /var/log/Xorg.0.log for the debugging
# output and error messages.
#
# Run "man fbturbo" to get additional information about the extra
# configuration options for tuning the driver.
#Section "Device"
# Identifier "Allwinner A10/A13 FBDEV"
# Driver "fbturbo"
# Option "fbdev" "/dev/fb1"
# Option "SwapbuffersWait" "true"
#EndSection
Section "Device"
Identifier "fbturbo0"
Driver "fbturbo"
Option "fbdev" "/dev/fb0"
Option "SwapbuffersWait" "true"
Option "debug" "true"
EndSection
Section "Device"
Identifier "fbturbo1"
Driver "fbturbo"
Option "fbdev" "/dev/fb1"
Option "SwapbuffersWait" "true"
Option "debug" "true"
EndSection
Section "Device"
Identifier "fbdev0"
Driver "fbdev"
Option "fbdev" "/dev/fb0"
EndSection
Section "Device"
Identifier "fbdev1"
Driver "fbdev"
Option "fbdev" "/dev/fb1"
EndSection
Section "Monitor"
Identifier "Monitor0"
Option "Primary" "False"
EndSection
Section "Monitor"
Identifier "Monitor1"
Option "RightOf" "Monitor0"
Option "Primary" "False"
EndSection
Section "Screen"
Identifier "ScreenTurbo0"
Monitor "Monitor0"
Device "fbturbo0"
Subsection "Display"
EndSubSection
EndSection
Section "Screen"
Identifier "ScreenTurbo1"
Monitor "Monitor1"
Device "fbturbo1"
Subsection "Display"
EndSubSection
EndSection
Section "Screen"
Identifier "ScreenDev0"
Monitor "Monitor0"
Device "fbdev0"
Subsection "Display"
EndSubSection
EndSection
Section "Screen"
Identifier "ScreenDev1"
Monitor "Monitor1"
Device "fbdev1"
Subsection "Display"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Multihead"
Screen 0 "ScreenTurbo0"
Screen 1 "ScreenTurbo1" rightof "ScreenTurbo0"
Option "Xinerama" "true"
EndSection
Section "ServerLayout"
Identifier "Singlehead0"
Screen 0 "ScreenTurbo0"
EndSection
Section "ServerLayout"
Identifier "Singlehead1"
Screen 0 "ScreenTurbo1"
EndSection
Section "ServerFlags"
Option "BlankTime" "0"
Option "StandbyTime" "0"
Option "SuspendTime" "0"
Option "OffTime" "0"
Option "DefaultServerLayout" "Singlehead0"
EndSection
5.) check if two framebuffer devices were created
Code: Select all
ls /dev/fb*
8) connect your HDMI display and boot
9) at command line: start desktop with
Code: Select all
startx -- -layout Multihead