Bug 111878 - External DP monitors blank when using glamor
Summary: External DP monitors blank when using glamor
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: XOrg git
Hardware: x86-64 (AMD64) Linux (All)
: not set not set
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
Whiteboard: Triaged
Depends on:
Reported: 2019-10-01 15:08 UTC by JM9
Modified: 2019-10-30 20:12 UTC (History)
4 users (show)

See Also:
i915 platform: HSW
i915 features: display/DP

Xorg.8.log (6.20 KB, text/x-log)
2019-10-01 15:08 UTC, JM9
no flags Details
dmesg (1.90 MB, text/plain)
2019-10-04 21:23 UTC, JM9
no flags Details

Description JM9 2019-10-01 15:08:04 UTC
Created attachment 145603 [details]

When using accelmethod glamor, my external DisplayPort monitors are blank. Changing to uxa brings them back. I'm using a Nvidia Optimus laptop with intel and nouveau drivers. Xorg.log attached.
Comment 1 Lakshmi 2019-10-02 08:50:30 UTC
Can you please attach the dmesg from boot with kernel parameters drm.debug=0x1e log_buf_len=4M.
Comment 2 JM9 2019-10-04 21:23:52 UTC
Created attachment 145651 [details]

dmesg attached.
Comment 3 Lakshmi 2019-10-10 07:16:43 UTC
(In reply to JM9 from comment #2)
> Created attachment 145651 [details]
> dmesg
> dmesg attached.

I couldn't find any issues over here. 

Stan, any comments?
Comment 4 Matt Roper 2019-10-29 23:33:00 UTC
If I'm understanding your term "Nvidia Optimus" properly, I think you want your applications to render with your NVidia GPU, but for the output to show up on the monitors attached to your Intel display controller?  From the X log you attached it doesn't look like you have any X driver managing the Intel display right now, which would explain why you're not seeing your displays light up.

Can you post your config file?  Based on the X log, X is only trying (and failing) to load the nouveau driver; neither the modesetting DDX (which uses the glamor acceleration method) nor the intel DDX (which would use either UXA or SNA acceleration methods) show up in your log.  It also looks like there may be some permission issues where the DDX drivers don't have the permission they need on the /dev/dri/card{0,1} device nodes.
Comment 5 JM9 2019-10-30 17:16:17 UTC
@Matt Roper, that is correct. DP outputs are wired to intel but rendered on Nvidia. I have nouveau and xf86-video-intel-git 1:2.99.917+892+gc6cb1b19-2 installed. The log I posted was with only using glamor. My config is pretty straightforward. Just uncommenting uxa and commenting out glamor fixes the problem.

Section "Device"
        Identifier      "Intel Graphics"
        Driver          "intel"
#       Driver          "modesetting"
        BusID           "PCI:0:2:0"
        Option          "VBERestore"            "true"
        Option          "SwapbuffersWait"       "false"
        Option          "TripleBuffer"          "Off"
#       Option          "PageFlip"              "false"
#       Option          "AccelMethod"   "sna"
#       Option          "AccelMethod"   "uxa"
        Option          "AccelMethod"   "glamor"
        Option          "TearFree"      "true"
        Option          "DRI"           "3"

$lsmod | grep nouveau                                                               nouveau              2310144  1
i2c_algo_bit           16384  2 i915,nouveau
ttm                   118784  1 nouveau
mxm_wmi                16384  1 nouveau
drm_kms_helper        212992  2 i915,nouveau
drm                   516096  21 drm_kms_helper,i915,ttm,nouveau
agpgart                53248  4 intel_gtt,ttm,nouveau,drm
wmi                    36864  4 hp_wmi,wmi_bmof,mxm_wmi,nouveau
Comment 6 Matt Roper 2019-10-30 17:41:15 UTC
I don't believe the combination of

        Driver          "intel"


        Option          "AccelMethod"   "glamor"

is valid.  If you want to use Glamor you'd also want to comment out the intel driver line and uncomment the

#       Driver          "modesetting"

line to let the platform-agnostic modesetting DDX manage the Intel displays.  I believe the modesetting DDX is the preferred driver going forward, although for HSW both drivers should have support for the platform and it's mostly a distro decision on which one to use.

Glamor was initially developed by some Intel folks so during its very early development it was directly part of the Intel DDX, but eventually the glamor code moved into the Xserver itself.  Since the Intel DDX has its own specialized acceleration model, it dropped its glamor support in

   commit 0aa2edbd29c8dd26a5f3748e3875c445ea358a6d
   Author: Chris Wilson <chris@chris-wilson.co.uk>
   Date:   Wed Nov 5 11:56:20 2014 +0000

       Remove defunct glamor support

leaving uxa, sna, and noaccel as the acceptable acceleration methods.
Comment 7 JM9 2019-10-30 20:08:26 UTC
I see. Ok, that makes sense. I've made the recommended change to my config and am now able to use glamor. Thanks!
Comment 8 Matt Roper 2019-10-30 20:12:50 UTC
Great!  Sounds like there's nothing else that needs to be addressed, so moving this ticket to resolved.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.