element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Raspberry Pi Forum Raspberry Pi dual monitor
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
Raspberry Pi Wishlist
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Suggested Answer
  • Replies 1 reply
  • Answers 1 answer
  • Subscribers 664 subscribers
  • Views 492 views
  • Users 0 members are here
  • raspberry_pi
Related

Raspberry Pi dual monitor

3dprinterwannabe
3dprinterwannabe over 10 years ago

In a project I am working on, I am using a Vilros TFT touch screen that hooks up to the GPIO on the Pi. If the Pi is hooked up to the screen and an HDMI monitor, the monitor shows some of the booting process, freezes, and then all other output goes to the TFT. As far as I know, beyond that point, the SD card runs regular Rasbian. Is there a way to have a dual monitor in this scenario? Your help is greatly appreciated!

 

*edit*

WHen Minecraft is opened, the window opens on the TFT, but also on the main screen, in front of the frozen boot window. To expand or close the window, you have to use the TFT, but the actual action is being displayed on the monitor. Minecraft is a "commanding" window, meaning it is always in the foreground, and that the cursor is always within its boundaries. So, in a way, there is some dual monitor action going on. Is there a way to use this information to force the actual desktop screen to HDMI? Note: with or without the TFT, the monitor screen freezes halfway through the boot process. I have found the overlay files, but haven't located the exact one controlling this, nor been able to edit any of the overlays. Is this force of output even possible?

Thanks again!

 

 

 

*2nd edit*

I have located what I think is the correct overlay that controls these functions. If anyone could interpret this code, and possibly tell me what changes to make to use HDMI as well, your services would be greatly appreciated. Here is the code:

/*

* tinylcd 3.5" display

*

* display  tinylcd35    spi0

* touch    ads7846      spi0

* rtc      ds1307       i2c1  0x68

* rtc      pcf8563      i2c1  0x51

*

* ----------------------------------

* Add to /boot/config.txt:

* dtparam=spi=on

* dtparam=i2c=on

* dtparam=i2c1=on

* dtparam=i2c_arm=on

*

* dtoverlay=tinylcd35

*

*

*/

 

 

/*

* sudo dtc -@ -I dtb -O dts -o source-overlay.dts blob-overlay.dtb

* sudo dtc -@ -I dts -O dtb -o blob-overlay.dtb source-overlay.dts

*

*/

 

 

/dts-v1/;

/plugin/;

 

/ {

        compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709";

 

        fragment@0 {

                target = <&spi0>;

                __overlay__ {

                        status = "okay";

 

                        spidev@0{

                                status = "disabled";

                        };

 

                        spidev@1{

                                status = "disabled";

                        };

                };

        };

 

        fragment@1 {

                target = <&gpio>;

                __overlay__ {

                        tinylcd35_pins: tinylcd35_pins {

                                brcm,pins = <3 25 24 18>;

                                brcm,function = <0 1 1 1>; /* in out out out */

                        };

                };

        };

 

        fragment@2 {

                target = <&spi0>;

                __overlay__ {

                        /* needed to avoid dtc warning */

                        #address-cells = <1>;

                        #size-cells = <0>;

 

                        tinylcd35: tinylcd35@0{

                                compatible = "neosec,tinylcd";

                                reg = <0>;

                                pinctrl-names = "default";

                                pinctrl-0 = <&tinylcd35_pins>;

 

                                spi-max-frequency = <48000000>;

                                rotate = <270>;

                                fps = <50>;

                                bgr;

                                buswidth = <8>;

                                reset-gpios = <&gpio 25 0>;

                                dc-gpios = <&gpio 24 0>;

                                led-gpios = <&gpio 18 1>;

                                debug = <0>;

 

                                init = <0x10000B0 0x80

                                        0x10000C0 0x0A 0x0A

                                        0x10000C1 0x01 0x01

                                        0x10000C2 0x33

                                        0x10000C5 0x00 0x42 0x80

                                        0x10000B1 0xD0 0x11

                                        0x10000B4 0x02

                                        0x10000B6 0x00 0x22 0x3B

                                        0x10000B7 0x07

                                        0x1000036 0x58

                                        0x10000F0 0x36 0xA5 0xD3

                                        0x10000E5 0x80

                                        0x10000E5 0x01

                                        0x10000B3 0x00

                                        0x10000E5 0x00

                                        0x10000F0 0x36 0xA5 0x53

                                        0x10000E0 0x00 0x35 0x33 0x00 0x00 0x00 0x00 0x35 0x33 0x00 0x00 0x00

                                        0x100003A 0x55

                                        0x1000011

                                        0x2000001

                                        0x1000029>;

                        };

 

                        tinylcd35-ts@1 {

                                compatible = "ti,ads7846";

                                reg = <1>;

 

                                spi-max-frequency = <2000000>;

                                interrupts = <3 2>; /* high-to-low edge triggered */

                                interrupt-parent = <&gpio>;

                                pendown-gpio = <&gpio 3 0>;

                                ti,x-plate-ohms = /bits/ 16 <100>;

                                ti,pressure-max = /bits/ 16 <255>;

                                status = "okay";   /* "okay"  "disabled" */

 

                        };

                };

        };

        __overrides__ {

                speed =         <&tinylcd35>,"spi-max-frequency:0";

                rotate =        <&tinylcd35>,"rotate:0";

                fps =           <&tinylcd35>,"fps:0";

                debug =         <&tinylcd35>,"debug:0";

        };

 

        /*  RTC    */

 

        fragment@3 {

                target = <&i2c1>;

 

                __overlay__ {

                        #address-cells = <0x1>;

                        #size-cells = <0x0>;

 

                        ds1307@68 {

                                compatible = "maxim,ds1307";

                                reg = <0x68>;

                                status = "disabled"; /* "okay"  "disabled" */

                        };

 

                        pcf8563@51 {

                                compatible = "nxp,pcf8563";

                                reg = <0x51>;

                                status = "disabled";  /* "okay"  "disabled" */

                        };

 

                };

        };

};

  • Sign in to reply
  • Cancel
  • clem57
    0 clem57 over 10 years ago

    A great idea, but the driver code is written to send to either a TFT lcd like in your case or to the HDMI. If the driver could be rewritten this is a big maybe. On the Windows side a lot of the dual screen is driven by another computer called the graphics card. All Windows needs to do is be aware of the capability to send the image.

    Clem

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube