Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 661562 - x11-drivers/xf86-video-ati-18.0.1-r2 breaks screen layouts renaming monitors
Summary: x11-drivers/xf86-video-ati-18.0.1-r2 breaks screen layouts renaming monitors
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-07-19 06:05 UTC by Massimo Burcheri
Modified: 2018-08-08 19:25 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Massimo Burcheri 2018-07-19 06:05:51 UTC
The update from x11-drivers/xf86-video-ati-18.0.1-r1 to x11-drivers/xf86-video-ati-18.0.1-r2 has changed the monitor names and breaking all arranged layouts and xrandr scripts.

The old naming was from xrandr --listmonitors:
Monitors: 3
 0: +*DisplayPort-1 1920/518x1200/324+1680+0  DisplayPort-1
 1: +DisplayPort-2 1680/433x1050/271+0+0  DisplayPort-2
 2: +VGA-0 1680/474x1050/296+3600+0  VGA-0

The new one is LVDS-1, DP-2, DP-3 making all saved layouts invalid.

This was solved by downgrading to x11-drivers/xf86-video-ati-18.0.1-r1.

Reproducible: Always
Comment 1 Matt Turner gentoo-dev 2018-07-20 19:46:36 UTC
Are you 100% sure? r1 vs r2 is not supposed to be any sort of a functional change.
Comment 2 hanetzer 2018-07-21 01:54:55 UTC
(In reply to Massimo Burcheri from comment #0)
> The update from x11-drivers/xf86-video-ati-18.0.1-r1 to
> x11-drivers/xf86-video-ati-18.0.1-r2 has changed the monitor names and
> breaking all arranged layouts and xrandr scripts.
> 
> The old naming was from xrandr --listmonitors:
> Monitors: 3
>  0: +*DisplayPort-1 1920/518x1200/324+1680+0  DisplayPort-1
>  1: +DisplayPort-2 1680/433x1050/271+0+0  DisplayPort-2
>  2: +VGA-0 1680/474x1050/296+3600+0  VGA-0
> 
> The new one is LVDS-1, DP-2, DP-3 making all saved layouts invalid.
> 
> This was solved by downgrading to x11-drivers/xf86-video-ati-18.0.1-r1.
> 
> Reproducible: Always
I honestly cannot account for this change, as its the same codebase
and very similar compile process as determined by a diff of the old
and new build.log, but I have seen a similar difference in monitor
naming on two more or less identical gentoo installs, one running on
musl and the other glibc.
Comment 3 Massimo Burcheri 2018-07-23 08:47:12 UTC
(In reply to Matt Turner from comment #1)
> Are you 100% sure? r1 vs r2 is not supposed to be any sort of a functional
> change.

That's what I expected on a minor r2 change...
I see, could be a false positive, as the issue was resolved by restarting with the older xf86-video-ati, but maybe just a weak detection.
Going to re-evaluate with the recent xf86-video-ati...
Comment 4 Massimo Burcheri 2018-07-24 07:00:13 UTC
Without comparing the -r1 vs. -r2 diffs and only testing from highlevel I need to reconfirm this.
Several times switching back to -r1 and back to -r2, always restarting xdm, the issue is every time reproducible.
However on this hardware I always had several issues that I can workaround. That is booting the machine with X, the X server stays black and I need to switch to a F1 terminal and back to F7 to make it appear. Please note the kernel syslog and the changed monitor naming in 2 independent X sessions, one with -r1 and one with -r2:

# qcheck xf86-video-ati ; xrandr --listmonitors ; tail -n 50 /var/log/everything/current |grep 'kernel.*\(radeon\|drm\)'
Checking x11-drivers/xf86-video-ati-18.0.1-r1 ...
  * 19 out of 19 files are good
Monitors: 3
 0: +*DisplayPort-1 1920/518x1200/324+1680+0  DisplayPort-1
 1: +DisplayPort-2 1680/433x1050/271+0+0  DisplayPort-2
 2: +VGA-0 1680/474x1050/296+3600+0  VGA-0
Jul 24 08:27:38 [kernel] radeon_dp_aux_transfer_native: 74 callbacks suppressed
Jul 24 08:27:39 [kernel] [drm:0xffffffff8132f37e] *ERROR* gem object lookup failed 0xc
Jul 24 08:27:39 [kernel] [drm:0xffffffff8132fe0c] *ERROR* Failed to parse relocation -2!
Jul 24 08:27:39 [kernel] [drm:0xffffffff8132f37e] *ERROR* gem object lookup failed 0xc
Jul 24 08:27:39 [kernel] [drm:0xffffffff8132fe0c] *ERROR* Failed to parse relocation -2!
Jul 24 08:27:47 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:27:47 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:39:crtc-0]
Jul 24 08:27:47 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:27:47 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:39:crtc-0]
Jul 24 08:27:50 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:27:50 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:45:crtc-3]
Jul 24 08:27:50 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:27:50 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:45:crtc-3]
Jul 24 08:27:50 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:27:50 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:45:crtc-3]
Jul 24 08:27:50 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:27:50 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:45:crtc-3]
Jul 24 08:27:50 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:27:50 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:45:crtc-3]
Jul 24 08:27:50 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:27:50 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:45:crtc-3]


# qcheck xf86-video-ati ; xrandr --listmonitors ; tail -n 50 /var/log/everything/current |grep 'kernel.*\(radeon\|drm\)'
Checking x11-drivers/xf86-video-ati-18.0.1-r2 ...
  * 19 out of 19 files are good
Monitors: 3
 0: +LVDS-1 1600/345x900/194+0+0  LVDS-1
 1: +DP-2 1920/518x1200/324+1600+0  DP-2
 2: +DP-3 1680/433x1050/271+3520+0  DP-3
Jul 24 08:48:32 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:48:32 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:45:crtc-3]
Jul 24 08:48:32 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:48:32 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:45:crtc-3]
Jul 24 08:48:33 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:48:33 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:45:crtc-3]
Jul 24 08:48:33 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:48:33 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:45:crtc-3]
Jul 24 08:48:33 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:48:33 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:45:crtc-3]
Jul 24 08:48:42 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:48:42 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:45:crtc-3]
Jul 24 08:48:42 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:48:42 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:45:crtc-3]
Jul 24 08:48:42 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:48:42 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:45:crtc-3]
Jul 24 08:48:42 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:48:42 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:45:crtc-3]
Jul 24 08:48:42 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:48:42 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:45:crtc-3]
Jul 24 08:48:42 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:48:42 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:45:crtc-3]
Jul 24 08:48:42 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:48:42 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:45:crtc-3]
Jul 24 08:48:42 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:48:42 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:45:crtc-3]
Jul 24 08:48:42 [kernel] radeon_dp_aux_transfer_native: 74 callbacks suppressed
Jul 24 08:48:43 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:48:43 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:45:crtc-3]
Jul 24 08:48:49 [kernel] radeon_dp_aux_transfer_native: 74 callbacks suppressed
Jul 24 08:48:50 [kernel] [drm:0xffffffff8130db09] *ERROR* unable to allocate a PPLL
Jul 24 08:48:50 [kernel] [drm:0xffffffff812bf696] *ERROR* failed to set mode on [CRTC:45:crtc-3]
Comment 5 Alexander Tsoy 2018-08-01 23:18:12 UTC
From the other bug report (bug 662240) I see that you have "-Wl,-z,now" in your LDFLAGS. One thing that changed in x11-drivers/xf86-video-ati-18.0.1-r2 is that "-Wl,-z,lazy" is not appended to LDFLAGS, so the driver will most likely fail to load. Are you sure that with -r2 you are not actually using modesetting driver? :)
Comment 6 Matt Turner gentoo-dev 2018-08-01 23:26:46 UTC
Are you using a hardened profile, by chance?
Comment 7 Massimo Burcheri 2018-08-02 04:53:36 UTC
No, my current profile is
 [16]  default/linux/amd64/17.0/desktop (stable) *

My make.conf has
LDFLAGS="${LDFLAGS} -Wl,--as-needed -Wl,-z,now -Wl,-z,relro"

Which driver would be loaded as fallback and how to see that?
Comment 8 Alexander Tsoy 2018-08-02 06:40:41 UTC
(In reply to Massimo Burcheri from comment #7)
> Which driver would be loaded as fallback and how to see that?
Please check the Xorg log.
Comment 9 Jiří Moravec 2018-08-02 08:43:21 UTC
I have similar problem. With ati-18.0.1-r2 my xorg failed with error message: '(EE) Failed to load /usr/lib64/xorg/modules/drivers/radeon_drv.so: /usr/lib64/xorg/modules/drivers/radeon_drv.so: undefined symbol: exaWaitSync'. exaWaitSync is provided by /usr/lib64/xorg/modules/libexa.so, so this error is probably result of changing lazy/now linking policy too...
Comment 10 Larry the Git Cow gentoo-dev 2018-08-08 19:25:44 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c2fbdeeb774e9b98e25d48e9d1bb32fab19f6a2c

commit c2fbdeeb774e9b98e25d48e9d1bb32fab19f6a2c
Author:     Matt Turner <mattst88@gentoo.org>
AuthorDate: 2018-08-08 19:05:51 +0000
Commit:     Matt Turner <mattst88@gentoo.org>
CommitDate: 2018-08-08 19:24:47 +0000

    Revert "x11-drivers/xf86-video-ati: port to EAPI 7"
    
    In the port to EAPI=7, we stopped inheriting xorg-2 since that eclass is
    not EAPI 7 ready. Unfortunately it was providing some critical
    functionality:
    
    [[ ${PN} == xf86-video-* || ${PN} == xf86-input-* ]] && DRIVER="yes"
    ...
    xorg-2_flags_setup() {
    ...
        [[ ${PN} = xorg-server || -n ${DRIVER} ]] && append-ldflags -Wl,-z,lazy
    
    In order to revert this commit, we must revert some commits that fix
    problems introduced by it as well. In total:
    
    This reverts commit f81770e41df51ad850fa78d6f57d7972a9e536bf.
    
    Revert "x11-drivers/xf86-video-ati: Fix QA syntax errors"
    
    This reverts commit 3339c825251a9809d573a98b94f36befe3286de9.
    
    Revert "x11-drivers/xf86-video-ati: fix xorg-server:= dependency"
    
    This reverts commit 6d94f4276b3cc284014af3177e0bc35168315b30.
    
    Revert "x11-drivers/xf86-video-ati: add --disable-selective-werror"
    
    This reverts commit 3313b2661bef1e56f0d089cc5b2c6f2d470fb6be.
    
    Closes: https://bugs.gentoo.org/661562

 .../xf86-video-ati/xf86-video-ati-18.0.1-r2.ebuild | 68 ----------------------
 .../xf86-video-ati/xf86-video-ati-9999.ebuild      | 50 +++++-----------
 2 files changed, 13 insertions(+), 105 deletions(-)