From: Michel Dänzer <[email protected]> Fixes xrandr (XRRGetOutputPrimary) not reporting any output as primary after startup.
(Ported from radeon commit b16856b25086ffb27365ac2249b8da921066ce62) Signed-off-by: Michel Dänzer <[email protected]> --- src/amdgpu_kms.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c index 30bce08..e090c25 100644 --- a/src/amdgpu_kms.c +++ b/src/amdgpu_kms.c @@ -167,6 +167,7 @@ static Bool AMDGPUCreateScreenResources_KMS(ScreenPtr pScreen) { ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); AMDGPUInfoPtr info = AMDGPUPTR(pScrn); + rrScrPrivPtr rrScrPriv = rrGetScrPriv(pScreen); PixmapPtr pixmap; pScreen->CreateScreenResources = info->CreateScreenResources; @@ -174,6 +175,20 @@ static Bool AMDGPUCreateScreenResources_KMS(ScreenPtr pScreen) return FALSE; pScreen->CreateScreenResources = AMDGPUCreateScreenResources_KMS; + /* Set the RandR primary output if Xorg hasn't */ + if ( +#ifdef AMDGPU_PIXMAP_SHARING + !pScreen->isGPU && +#endif + !rrScrPriv->primaryOutput) + { + xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(pScrn); + + rrScrPriv->primaryOutput = xf86_config->output[0]->randr_output; + RROutputChanged(rrScrPriv->primaryOutput, FALSE); + rrScrPriv->layoutChanged = TRUE; + } + if (!drmmode_set_desired_modes(pScrn, &info->drmmode, pScrn->is_gpu)) return FALSE; -- 2.7.0.rc3 _______________________________________________ xorg-driver-ati mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-driver-ati
