Announcement

Collapse
No announcement yet.

Linux Getting Driver For USB Type-C DisplayPort Alternate Mode

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Linux Getting Driver For USB Type-C DisplayPort Alternate Mode

    Phoronix: Linux Getting Driver For USB Type-C DisplayPort Alternate Mode

    The latest USB Type-C work for the Linux kernel adds support for alternate modes in order to begin offering USB Type-C DisplayPort alternate mode support...

    http://www.phoronix.com/scan.php?pag...Port-DP-Driver

  • #2
    Note that this code is only the Type-C side of display-port support (for devices where this is not entirely handled in firmware), this will put the Type-C "dongle" in display-port mode and mux the correct data lines to the display-port pins on the (i)GPU. But the kms code for the GPU still needs to get a hotplug event so that it will actually try to (re)enumerate the connected display-port device.

    It is good to have the Type-C side of this covered, but without integration with the kms driver this actually does not do much.

    Comment


    • #3
      Please excuse this potentially stupid question: I am using a USB-C "docking station" and am connecting a DP screen to it. My notebook with a intel GPU and a Gen1 USB-C port is showing it as a regular "DP1-2" monitor. The internal one is "eDP1", "HDMI1" is the physical connector on the notebook itself. So it is already recognizing that screen as a display port one (including getting the right EDID infos like model or vendor). What am I not understanding here? I thought this must already be the "alternate mode" for DP. Thanks!

      Comment


      • #4
        Originally posted by OlafLostViking View Post
        Please excuse this potentially stupid question: I am using a USB-C "docking station" and am connecting a DP screen to it. My notebook with a intel GPU and a Gen1 USB-C port is showing it as a regular "DP1-2" monitor. The internal one is "eDP1", "HDMI1" is the physical connector on the notebook itself. So it is already recognizing that screen as a display port one (including getting the right EDID infos like model or vendor). What am I not understanding here? I thought this must already be the "alternate mode" for DP. Thanks!
        Afaik it depends from how smart is the firmware running on the USB-C controller. If the firmware is smart enough, the USB-C controller does this on its own, which seems to be your case.

        On some devices it does not seem to work outside of Windows, and I assume that for them the firmware is "dumb" and this driver is needed.

        Comment


        • #5
          Originally posted by OlafLostViking View Post
          I am using a USB-C "docking station" and am connecting a DP screen to it. My notebook with a intel GPU and a Gen1 USB-C port is showing it as a regular "DP1-2" monitor. The internal one is "eDP1", "HDMI1" is the physical connector on the notebook itself. So it is already recognizing that screen as a display port one (including getting the right EDID infos like model or vendor).
          I'm looking at getting a USB-C docking station too and have some questions.
          What model are you using and does all ports work?
          What distro and was it easy to get working?

          Thanks!

          Comment


          • #6
            Originally posted by oskar-n View Post

            I'm looking at getting a USB-C docking station too and have some questions.
            What model are you using and does all ports work?
            What distro and was it easy to get working?

            Thanks!
            I can't answer for OlafLostViking, but I've been using a dell lattitude (5580) laptop on Arch for a few months at work, and the USB-C docking station appears to be working flawlessly (so is the laptop).

            Edit: it was basically plug-and-play.

            Comment


            • #7
              Most USB hardware handles this automatically.

              Comment


              • #8
                With pleasure, oskar-n! I'm using Arch on a Xiaomi Mi Air 12,5" with an i-tec USB-C Dual Display Docking Station as dock and FHD resolution on a DELL monitor. The nice thing is that you do not need any drivers at all. USB, USB-PD, Audio, Ethernet as well as Display all work out-of-the-box. But be aware, this is no USB-3.1 Gen2 or even Thunderbolt connection but plain USB-C/3.1 Gen1.

                I only found two problems, so far:
                1. The notebook is terrible picky when loading via USB-C - which is the only way to load it. Only 20V are accepted and I didn't find any powerbank that was able to deliver power to it. But I was able to load the powerbanks with the laptop... (but works with the dock, of course)
                2. When switching the monitor from another input to the DP one, it keeps blank. I have to de- and reactivate it in kscreen to make it shine again. But that's probably a problem of KDE or the intel GPU drivers, as I have a similiar problem with another machine in a native docking station. The well-kown (almost mandatory) problems with multiscreen setups and KDE and/or Intel and/or Linux and/or... ;-)

                Comment


                • #9
                  Originally posted by starshipeleven View Post
                  Afaik it depends from how smart is the firmware running on the USB-C controller. If the firmware is smart enough, the USB-C controller does this on its own, which seems to be your case.
                  Oh, I didn't know what. Thanks.

                  Comment


                  • #10
                    Originally posted by [email protected] View Post

                    I can't answer for OlafLostViking, but I've been using a dell lattitude (5580) laptop on Arch for a few months at work, and the USB-C docking station appears to be working flawlessly (so is the laptop).

                    Edit: it was basically plug-and-play.
                    A Dell Dock W15? They have a few models.

                    I have a Dell XPS 13 Developer Edition that I'm very happy with. It's still running the default Ubuntu 16.04 that I'm not so happy with, so I'll change that when I get some time.

                    Comment

                    Working...
                    X