raspberry pi dual monitor


#1

hello people i have a problem. I do not have the blacklist on my raspberry pi 3. where should I enter that?


#2

you will need to edit your mod probe and add a file called blacklist
/etc/modprobe.d/


#3

Hello @novaspirit,

I have a little problem with the dual monitor on my raspberry pi 3 model B.
I follow your tutorial How to Setup Dual Monitor on Raspberry Pi but he don’t work like I expect. I have my first monitor work well, but my second monitor who is connected to my raspi by the adapter U2-165-VGA, have a bad resolution. I try to change the resolution of my second monitor in xorg.conf file but this is don’t work.

This is my xorg.conf file:

Section "Device"
        Identifier      "displaylink"
        Driver          "fbturbo"
        Option          "fbdev" "/dev/fb1"
        Option          "ShadowFB" "off"
EndSection

Section "Device"
        Identifier      "Raspberry Pi HDMI"
        Driver          "fbturbo"
        Option          "fbdev" "/dev/fb0"
        Option          "ShadowFB" "off"
EndSection

Section "Monitor"
        Identifier      "PHILIPS 221E"
EndSection

Section "Monitor"
        Identifier      "PHILIPS Brilliance 220SW"
EndSection

Section "Screen"
        Identifier      "screen"
        Device          "displaylink"
        Monitor         "PHILIPS Brilliance 220SW"
        SubSection      "Display"
                Depth   16
                Modes   "1680x1050"
        EndSubSection
EndSection

Section "Screen"
        Identifier      "screen1"
        Device          "Raspberry Pi HDMI"
        Monitor         "PHILIPS 221E"
EndSection

Section "ServerLayout"
        Identifier      "default"
        Screen          0 "screen1" 0 0
        Screen          1 "screen" RightOf "screen1"
        Option          "Xinerama" "true"
EndSection

This is my Xorg.0.log file:

    [     8.234]
    X.Org X Server 1.19.2
    Release Date: 2017-03-02
    [     8.235] X Protocol Version 11, Revision 0
    [     8.235] Build Operating System: Linux 4.9.41-v7+ armv7l Raspbian
    [     8.235] Current Operating System: Linux raspberry-usersen07 4.14.34-v7+ #1110 SMP Mon Apr 16 15:18:51 BST 2018 armv7l
    [     8.235] Kernel command line: 8250.nr_uarts=0 bcm2708_fb.fbwidth=1920 bcm2708_fb.fbheight=1080 bcm2708_fb.fbdepth=16 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=PARTUUID=0a147ee6-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
    [     8.235] Build Date: 18 October 2017  04:55:30PM
    [     8.235] xorg-server 2:1.19.2-1+rpt1+deb9u2 (https://www.debian.org/support)
    [     8.235] Current version of pixman: 0.34.0
    [     8.235]    Before reporting problems, check http://wiki.x.org
            to make sure that you have the latest version.
    [     8.235] Markers: (--) probed, (**) from config file, (==) default setting,
            (++) from command line, (!!) notice, (II) informational,
            (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
    [     8.236] (==) Log file: "/var/log/Xorg.0.log", Time: Tue Jun 19 14:32:30 2018
    [     8.245] (==) Using config file: "/etc/X11/xorg.conf"
    [     8.245] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
    [     8.251] (==) ServerLayout "default"
    [     8.251] (**) |-->Screen "screen1" (0)
    [     8.251] (**) |   |-->Monitor "PHILIPS 221E"
    [     8.258] (**) |   |-->Device "Raspberry Pi HDMI"
    [     8.258] (**) |-->Screen "screen" (1)
    [     8.258] (**) |   |-->Monitor "PHILIPS Brilliance 220SW"
    [     8.259] (**) |   |-->Device "displaylink"
    [     8.259] (**) Option "Xinerama" "true"
    [     8.260] (==) Automatically adding devices
    [     8.260] (==) Automatically enabling devices
    [     8.260] (==) Automatically adding GPU devices
    [     8.260] (**) Xinerama: enabled
    [     8.260] (==) Max clients allowed: 256, resource mask: 0x1fffff
    [     8.265] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
    [     8.265]    Entry deleted from font path.
    [     8.270] (==) FontPath set to:
            /usr/share/fonts/X11/misc,
            /usr/share/fonts/X11/100dpi/:unscaled,
            /usr/share/fonts/X11/75dpi/:unscaled,
            /usr/share/fonts/X11/Type1,
            /usr/share/fonts/X11/100dpi,
            /usr/share/fonts/X11/75dpi,
            built-ins
    [     8.270] (==) ModulePath set to "/usr/lib/xorg/modules"
    [     8.270] (II) The server relies on udev to provide the list of input devices.
            If no devices become available, reconfigure udev or disable AutoAddDevices.
    [     8.273] (II) Loader magic: 0x1fbf40
    [     8.273] (II) Module ABI versions:
    [     8.273]    X.Org ANSI C Emulation: 0.4
    [     8.273]    X.Org Video Driver: 23.0
    [     8.273]    X.Org XInput driver : 24.1
    [     8.273]    X.Org Server Extension : 10.0
    [     8.276] (++) using VT number 7
[     8.276] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[     8.276] (II) no primary bus or device found
[     8.278] (II) LoadModule: "glx"
[     8.287] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[     8.356] (II) Module glx: vendor="X.Org Foundation"
[     8.356]    compiled for 1.19.2, module version = 1.0.0
[     8.356]    ABI class: X.Org Server Extension, version 10.0
[     8.356] (II) LoadModule: "fbturbo"
[     8.358] (II) Loading /usr/lib/xorg/modules/drivers/fbturbo_drv.so
[     8.363] (II) Module fbturbo: vendor="X.Org Foundation"
[     8.363]    compiled for 1.19.2, module version = 0.5.1
[     8.363]    Module class: X.Org Video Driver
[     8.363]    ABI class: X.Org Video Driver, version 23.0
[     8.364] (II) FBTURBO: driver for framebuffer: fbturbo
[     8.384] (WW) Falling back to old probe method for fbturbo
[     8.384] (II) Loading sub module "fbdevhw"
[     8.384] (II) LoadModule: "fbdevhw
[     8.385] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[     8.389] (II) Module fbdevhw: vendor="X.Org Foundation"
[     8.389]    compiled for 1.19.2, module version = 0.0.2
[     8.389]    ABI class: X.Org Video Driver, version 23.0
[     8.389] (II) FBTURBO(0): using /dev/fb0
[     8.390] (II) FBTURBO(1): using /dev/fb1
[     8.390] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[     8.390] (II) FBTURBO(0): Creating default Display subsection in Screen section
        "screen1" for depth/fbbpp 16/16
[     8.390] (==) FBTURBO(0): Depth 16, (==) framebuffer bpp 16
[     8.390] (==) FBTURBO(0): RGB weight 565
[     8.390] (==) FBTURBO(0): Default visual is TrueColor
[     8.390] (==) FBTURBO(0): Using gamma correction (1.0, 1.0, 1.0)
[     8.391] (II) FBTURBO(0): hardware: BCM2708 FB (video memory: 4050kB)
[     8.391] (**) FBTURBO(0): Option "ShadowFB" "off"
[     8.391] (**) FBTURBO(0): Option "fbdev" "/dev/fb0"
[     8.391] (II) FBTURBO(0): processor: Unknown
[     8.391] (II) FBTURBO(0): checking modes against framebuffer device...
[     8.391] (II) FBTURBO(0): checking modes against monitor...
[     8.392] (--) FBTURBO(0): Virtual size is 1920x1080 (pitch 1920)
[     8.392] (**) FBTURBO(0):  Built-in mode "current"
[     8.392] (==) FBTURBO(0): DPI set to (96, 96)
[     8.392] (II) Loading sub module "fb"
[     8.392] (II) LoadModule: "fb"
[     8.393] (II) Loading /usr/lib/xorg/modules/libfb.so
[     8.400] (II) Module fb: vendor="X.Org Foundation"
[     8.400]    compiled for 1.19.2, module version = 1.0.0
[     8.400]    ABI class: X.Org ANSI C Emulation, version 0.4
[     8.400] (==) FBTURBO(1): Depth 16, (==) framebuffer bpp 16
[     8.400] (==) FBTURBO(1): RGB weight 565
[     8.400] (==) FBTURBO(1): Default visual is TrueColor
[     8.400] (==) FBTURBO(1): Using gamma correction (1.0, 1.0, 1.0)
[     8.400] (II) FBTURBO(1): hardware: udlfb (video memory: 940kB)
[     8.400] (**) FBTURBO(1): Option "ShadowFB" "off"
[     8.401] (**) FBTURBO(1): Option "fbdev" "/dev/fb1"
[     8.401] (II) FBTURBO(1): processor: Unknown
[     8.401] (II) FBTURBO(1): checking modes against framebuffer device...
[     8.401] (EE) FBTURBO(1): FBIOPUT_VSCREENINFO: Invalid argument
[     8.401] (II) FBTURBO(1):   mode "1680x1050" test failed
[     8.401] (EE) FBTURBO(1): FBIOPUT_VSCREENINFO: Invalid argument
[     8.401] (II) FBTURBO(1):   mode "1680x1050" test failed
[     8.401] (EE) FBTURBO(1): FBIOPUT_VSCREENINFO: Invalid argument
[     8.401] (II) FBTURBO(1):   mode "1680x1050" test failed
[     8.402] (EE) FBTURBO(1): FBIOPUT_VSCREENINFO: Invalid argument
[     8.402] (II) FBTURBO(1):   mode "1680x1050" test failed
[     8.402] (EE) FBTURBO(1): FBIOPUT_VSCREENINFO: Invalid argument
[     8.402] (II) FBTURBO(1):   mode "1680x1050" test failed
[     8.402] (II) FBTURBO(1):   mode "1680x1050" not found
[     8.402] (II) FBTURBO(1): checking modes against monitor...
[     8.402] (--) FBTURBO(1): Virtual size is 1680x1050 (pitch 1680)
[     8.402] (**) FBTURBO(1):  Built-in mode "current": 40.0 MHz, 37.9 kHz, 60.3 Hz
[     8.402] (II) FBTURBO(1): Modeline "current"x0.0   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync -csync (37.9 kHz b)
[     8.402] (==) FBTURBO(1): DPI set to (96, 96)
[     8.402] (II) Loading sub module "fb"
[     8.402] (II) LoadModule: "fb"
[     8.403] (II) Loading /usr/lib/xorg/modules/libfb.so
[     8.403] (II) Module fb: vendor="X.Org Foundation"
[     8.403]    compiled for 1.19.2, module version = 1.0.0
[     8.403]    ABI class: X.Org ANSI C Emulation, version 0.4
[     8.418] (II) FBTURBO(0): using backing store heuristics
[     8.427] (II) FBTURBO(0): can't load 'g2d_23' kernel module
[     8.427] (II) FBTURBO(0): failed to enable the use of sunxi display controller
[     8.427] (II) FBTURBO(0): No sunxi-g2d hardware detected (check /dev/disp and /dev/g2d)
[     8.427] (II) FBTURBO(0): G2D hardware acceleration can't be enabled
[     8.427] (II) FBTURBO(0): enabled fbdev copyarea acceleration
[     8.427] (==) FBTURBO(0): Backing store enabled
[     8.437] (==) FBTURBO(0): DPMS enabled
[     8.437] (II) FBTURBO(0): failed to enable hardware cursor
[     8.437] (II) FBTURBO(0): no 3D acceleration because the driver has been compiled without libUMP
[     8.437] (II) FBTURBO(0): if this is wrong and needs to be fixed, please check ./configure log
[     8.437] (==) RandR enabled
[     8.437] (II) FBTURBO(1): Pitch updated to 800 after ModeInit
[     8.438] (II) FBTURBO(1): using backing store heuristics
[     8.447] (II) FBTURBO(1): can't load 'g2d_23' kernel module
[     8.447] (II) FBTURBO(1): failed to enable the use of sunxi display controller
[     8.447] (II) FBTURBO(1): No sunxi-g2d hardware detected (check /dev/disp and /dev/g2d)
[     8.447] (II) FBTURBO(1): G2D hardware acceleration can't be enabled
[     8.447] (II) FBTURBO(1): enabled VFP/NEON optimizations
[     8.447] (==) FBTURBO(1): Backing store enabled
[     8.448] (==) FBTURBO(1): DPMS enabled
[     8.448] (II) FBTURBO(1): failed to enable hardware cursor
[     8.448] (II) FBTURBO(1): no 3D acceleration because the driver has been compiled without libUMP
[     8.448] (II) FBTURBO(1): if this is wrong and needs to be fixed, please check ./configure log
[     8.448] (==) RandR enabled
[     8.491] (II) SELinux: Disabled on system
[     8.497] (II) AIGLX: Screen 0 is not DRI2 capable
[     8.497] (EE) AIGLX: reverting to software rendering
[    10.017] (II) IGLX: enabled GLX_MESA_copy_sub_buffer
[    10.019] (II) IGLX: Loaded and initialized swrast
[    10.019] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[    10.019] (II) AIGLX: Screen 1 is not DRI2 capable
[    10.019] (EE) AIGLX: reverting to software rendering
[    10.022] (II) IGLX: enabled GLX_MESA_copy_sub_buffer
[    10.024] (II) IGLX: Loaded and initialized swrast
[    10.024] (II) GLX: Initialized DRISWRAST GL provider for screen 1
[    10.346] (II) config/udev: Adding input device HID 062a:0001 (/dev/input/event0)
[    10.346] (**) HID 062a:0001: Applying InputClass "libinput pointer catchall"
[    10.346] (II) LoadModule: "libinput"
[    10.346] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so
[    10.375] (II) Module libinput: vendor="X.Org Foundation"
[    10.375]    compiled for 1.19.0, module version = 0.23.0
[    10.375]    Module class: X.Org XInput Driver
[    10.375]    ABI class: X.Org XInput driver, version 24.1
[    10.375] (II) Using input driver 'libinput' for 'HID 062a:0001'
[    10.375] (**) HID 062a:0001: always reports core events
[    10.375] (**) Option "Device" "/dev/input/event0"
[    10.376] (**) Option "_source" "server/udev"
[    10.378] (II) input device 'HID 062a:0001', /dev/input/event0 is tagged by udev as: Mouse
[    10.378] (II) input device 'HID 062a:0001', /dev/input/event0 is a pointer caps
[    10.410] (**) Option "config_info" "udev:/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:062A:0001.0001/input/input0/event0"
[    10.410] (II) XINPUT: Adding extended input device "HID 062a:0001" (type: MOUSE, id 6)
[    10.411] (**) Option "AccelerationScheme" "none"
[    10.411] (**) HID 062a:0001: (accel) selected scheme none/0
[    10.411] (**) HID 062a:0001: (accel) acceleration factor: 2.000
[    10.411] (**) HID 062a:0001: (accel) acceleration threshold: 4
[    10.413] (II) input device 'HID 062a:0001', /dev/input/event0 is tagged by udev as: Mouse
[    10.413] (II) input device 'HID 062a:0001', /dev/input/event0 is a pointer caps
[    10.415] (II) config/udev: Adding input device HID 062a:0001 (/dev/input/mouse0)
[    10.415] (II) No input driver specified, ignoring this device.
[    10.415] (II) This device may have been added with another device file.
[    10.417] (II) config/udev: Adding input device USB Keyboard (/dev/input/event1)
[    10.417] (**) USB Keyboard: Applying InputClass "libinput keyboard catchall"
[    10.418] (II) Using input driver 'libinput' for 'USB Keyboard'
[    10.418] (**) USB Keyboard: always reports core events
[    10.418] (**) Option "Device" "/dev/input/event1"
[    10.418] (**) Option "_source" "server/udev"
[    10.419] (II) input device 'USB Keyboard', /dev/input/event1 is tagged by udev as: Keyboard
[    10.419] (II) input device 'USB Keyboard', /dev/input/event1 is a keyboard
[    10.470] (**) Option "config_info" "udev:/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/0003:05AC:024F.0002/input/input1/event1"
[    10.470] (II) XINPUT: Adding extended input device "USB Keyboard" (type: KEYBOARD, id 7)
[    10.470] (**) Option "xkb_model" "pc105"
[    10.470] (**) Option "xkb_layout" "be"
[    10.545] (II) input device 'USB Keyboard', /dev/input/event1 is tagged by udev as: Keyboard
[    10.545] (II) input device 'USB Keyboard', /dev/input/event1 is a keyboard
[    10.548] (II) config/udev: Adding input device USB Keyboard (/dev/input/event2)
[    10.548] (**) USB Keyboard: Applying InputClass "libinput pointer catchall"
[    10.548] (**) USB Keyboard: Applying InputClass "libinput keyboard catchall"
[    10.548] (II) Using input driver 'libinput' for 'USB Keyboard'
[    10.548] (**) USB Keyboard: always reports core events
[    10.548] (**) Option "Device" "/dev/input/event2"
[    10.548] (**) Option "_source" "server/udev"
[    10.550] (II) input device 'USB Keyboard', /dev/input/event2 is tagged by udev as: Keyboard Mouse
[    10.550] (II) input device 'USB Keyboard', /dev/input/event2 is a pointer caps
[    10.550] (II) input device 'USB Keyboard', /dev/input/event2 is a keyboard
[    10.600] (II) libinput: USB Keyboard: needs a virtual subdevice
[    10.600] (**) Option "config_info" "udev:/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.1/0003:05AC:024F.0003/input/input2/event2"
[    10.600] (II) XINPUT: Adding extended input device "USB Keyboard" (type: MOUSE, id 8)
[    10.601] (**) Option "AccelerationScheme" "none"
[    10.601] (**) USB Keyboard: (accel) selected scheme none/0
[    10.601] (**) USB Keyboard: (accel) acceleration factor: 2.000
[    10.601] (**) USB Keyboard: (accel) acceleration threshold: 4
[    10.605] (II) input device 'USB Keyboard', /dev/input/event2 is tagged by udev as: Keyboard Mouse
[    10.605] (II) input device 'USB Keyboard', /dev/input/event2 is a pointer caps
[    10.605] (II) input device 'USB Keyboard', /dev/input/event2 is a keyboard
[    10.609] (II) config/udev: Adding input device USB Keyboard (/dev/input/mouse1)
[    10.609] (II) No input driver specified, ignoring this device.
[    10.609] (II) This device may have been added with another device file.
[    10.633] (**) USB Keyboard: Applying InputClass "libinput pointer catchall"
[    10.633] (**) USB Keyboard: Applying InputClass "libinput keyboard catchall"
[    10.633] (II) Using input driver 'libinput' for 'USB Keyboard'
[    10.633] (**) USB Keyboard: always reports core events
[    10.633] (**) Option "Device" "/dev/input/event2"
[    10.633] (**) Option "_source" "_driver/libinput"
[    10.633] (II) libinput: USB Keyboard: is a virtual subdevice
[    10.634] (**) Option "config_info" "udev:/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.1/0003:05AC:024F.0003/input/input2/event2"
[    10.634] (II) XINPUT: Adding extended input device "USB Keyboard" (type: KEYBOARD, id 9)
[    10.634] (**) Option "xkb_model" "pc105"
[    10.634] (**) Option "xkb_layout" "be"

This is the /boot/config.txt file:

# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi

# Additional overlays and parameters are documented /boot/overlays/README
"/boot/config.txt" 62L, 1646C                                                                                                                                                                1,1          Haut

This is the configuration of installation project:

  • Raspberry Pi 3 Model B
  • OS : Raspbian Stretch
  • Primery Monitor : PHILIPS 221E2 --> Max resolution = 1920x1080
  • Secondry Monitor : PHILIPS Brilliance 220SW --> Max resolution = 1680x1050
  • Adapter USB 2.0 to VGA (U2-165-VGA)
  • Keyboard Trust
  • Mouse

Could you help me to resolve this issue of bad resolution on my secondary monitor ?

Best regards,
Lordaker


#4

have you tried to use xrandr? this should allow you to see what resolution is supports from the monitor and also allows you to change the output on the fly for testing


#5

Yes, I install x11-xserver-utils who is the package where we can have RandR Extension but when I put the command

xranrd

In the terminal, I have this result

pi@raspberry-usersen07:~ $ xrandr
-bash: /usr/bin/xrandr : impossible d'exécuter le fichier binaire : Erreur de format pour exec()
pi@raspberry-usersen07:~ $

#6

yea xrandr is in x11-xserver-utils … weird it’s not working for you


#7

Do you know a way to install it or a way to solve that ?


#8

i just installed a fresh copy of raspbian to try and it has xrandr
have you tried
sudo rpi-update
sudo apt-get update && sudo apt-get upgrade


#9


#10

I have make an update and an upgrade but not a rpi-update.
I do it and I comeback to you, a moment please…


#11

@novaspirit,

This is don’t work too. Same message.

I will do a new fresh install of Raspbian Stretch on my raspberry pi 3 model B.
I restart all my work… :disappointed_relieved:
I can follow the same process in your tutorial for my raspberry pi 3 ?


#12

yea that process should be still valuable to raspberry pi 3. but keep in mind that tutoral was made on raspberry pi 2. but i doubt many things has change since then… if anything give me a few days and i redo the process and see if anything has changed.


#13

Alright. Thank you @novaspirit


#14

I made a fresh install of raspbian stretch (2018-04-18-raspbian-stretch.img) and xrandr work.

As you can see below

I do the following command before :
#sudo rpi-update
#sudo apt-get update
#sudo apt-get upgrade

I continue with your tutorial for using dual monitor on a raspberry pi 2. If something wrong, I will do a notice to you @novaspirit


#15

thanks!! that would help


#16

Hello @novaspirit

At the step Modifyng The Default Kernel Configuration, I don’t found DisplayLink in the navigate

Device Drivers > Graphics support > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)


#17

But in the graphics support


#18

Hi @novaspirit,

I have a question, why should I install the source linux for raspberry pi ?
Could I make update of my raspberry pi kernel header with this command bellow ?

#apt-get install raspberrypi-kernel-header

I am arrived at the end of process and now in the directory /etc/X11/
I don’t see my default xorg.conf file

pi@raspberrypi:~/linux $ cd /etc/X11/
pi@raspberrypi:/etc/X11 $ ls
app-defaults             fonts        ja_JP.UTF-8  rgb.txt                 xinit  Xreset    Xresources  Xsession.d
default-display-manager  ja_JP.eucJP  openbox      vncserver-virtual.conf  xkb    Xreset.d  Xsession    Xsession.options

I install xorg with the command:

$sudo apt-get install xorg

After installation of xorg package, there is alway any file xorg.conf

pi@raspberrypi:/etc/X11 $ ls -l
total 80
drwxr-xr-x 2 root root  4096 Jun 20 11:33 app-defaults
-rw-r--r-- 1 root root    18 Apr 18 00:34 default-display-manager
drwxr-xr-x 6 root root  4096 Jun 20 11:33 fonts
drwxr-xr-x 3 root root  4096 Apr 18 00:42 ja_JP.eucJP
drwxr-xr-x 3 root root  4096 Apr 18 00:42 ja_JP.UTF-8
lrwxrwxrwx 1 root root    14 Jan 30 10:40 openbox -> ../xdg/openbox
-rw-r--r-- 1 root root 17394 Nov 23  2016 rgb.txt
-rw-r--r-- 1 root root  1290 Apr 18 00:43 vncserver-virtual.conf
drwxr-xr-x 2 root root  4096 Apr 18 00:34 xinit
drwxr-xr-x 2 root root  4096 Jul 18  2017 xkb
-rwxr-xr-x 1 root root   709 Nov 23  2016 Xreset
drwxr-xr-x 2 root root  4096 Apr 18 00:34 Xreset.d
drwxr-xr-x 2 root root  4096 Apr 18 00:38 Xresources
-rwxr-xr-x 1 root root  3517 Nov 23  2016 Xsession
drwxr-xr-x 2 root root  4096 Jun 19 18:42 Xsession.d
-rw-r--r-- 1 root root   265 Nov 23  2016 Xsession.options
drwxr-xr-x 2 root root  4096 Jun 20 11:33 xsm
pi@raspberrypi:/etc/X11 $

For Raspberry Pi 3, which driver video must be install for the GPU VideoCore 4 ?

So I select G1 in the configuration Raspberry Pi Software Configuration Tool

$sudo raspi-config

Advanced Options -> GL Driver -> G1 (Full KMS)

And I add the xorg.conf file manually with this code bellow:

Section "Device"
    Identifier "displaylink"
    Driver "fbturbo"
    Option "fbdev" "/dev/fb1"
    Option "ShadowFB" "off"
EndSection

Section "Device"
    Identifier "Raspberry Pi HDMI"
    Driver "fbturbo"
    Option "fbdev" "/dev/fb0"
    Option "ShadowFB" "off"
EndSection

Section "Monitor"
    Identifier "PHILIPS 221E"
EndSection

Section "Monitor"
    Identifier "PHILIPS Brilliance 220SW"
EndSection

Section "Screen"
    Identifier "screen"
    Device "displaylink"
    Monitor "PHILIPS Brilliance 220SW"
EndSection

Section "Screen"
    Identifier "screen1"
    Device "Raspberry Pi HDMI"
    Monitor "PHILIPS 221E"
EndSection

Section "ServerLayout"
    Identifier "default"
    Screen 0 "screen1" 0 0
    Screen 1 "screen" RightOf "screen1"
    Option "Xinerama" "true"
EndSection

I also install xserver-xorg-video-all package and restart. When I put the content of my xorg.conf and I reboot the Raspberry Pi, the xrnadr command don’t work anymore I have this message

RandR extension missingand

I connect my displaylink adapter USB 2.0 to VGA (U2-165-BGA), I have a clean display on the first monitor (Philips 221E) but not on the second monitor(bad resolution). Do you think is because I use two different type of monitor ?

Can you retry to do it with a Raspberry Pi 3 Model B by your way @novaspirit and tell me what you have?