Blank screen with only mouse pointer after 7.10 radeon driver update; display does not switch to tty7 upon lightdm start; Xorg.0.log quickly grows

Bug #1750393 reported by Jamie C.
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
xserver-xorg-video-ati-hwe-16.04 (Ubuntu)
Won't Fix
Undecided
Unassigned

Bug Description

I get a blank screen with only mouse pointer upon boot, after the splash. This started after the mesa driver update on 2/15/18. The display does not appear to switch to tty7 upon lightdm start.
 Xorg.0.log quickly grows and continues to grow.

I believe `lightdm` is not starting `Xorg` on the correct display, but, I don't know how to determine this from the logs.

Here is the command line `lightdm` uses to launch `Xorg`:

    ~$ ps -ef | grep lightdm
    root 1261 1 0 18:23 ? 00:00:00 /usr/sbin/lightdm
    root 1316 1261 6 18:23 tty7 00:00:03 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
    root 1350 1261 0 18:23 ? 00:00:00 lightdm --session-child 12 15

*OCCURRENCE ON 2/15/18:*

I performed a normal upgrade on 2/15/18 through the software manager in 16.04LTS.

It upgraded the following libraries (`/var/log/dpkg.log [pkg][old ver][new ver]`):

    libegl1-mesa-dev:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
    libwayland-egl1-mesa:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-ubuntu0~16.04.1
    libwayland-egl1-mesa:i386 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
    libegl1-mesa:i386 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
    libegl1-mesa:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
    libgbm1:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
    libgbm1:i386 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
    libosmesa6:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
    libosmesa6:i386 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
    libgles2-mesa:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
    libgl1-mesa-glx:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
    libgl1-mesa-glx:i386 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
    libglapi-mesa:i386 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
    libglapi-mesa:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
    libgl1-mesa-dri:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
    libgl1-mesa-dri:i386 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
    libxatracker2:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
    linux-firmware:all 1.157.15 1.157.16
    mesa-vdpau-drivers:i386 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
    mesa-vdpau-drivers:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
    xserver-xorg-video-radeon-hwe-16.04:amd64 1:7.9.0-0ubuntu1~16.04.1 1:7.10.0-1~16.04.1
    xserver-xorg-video-ati-hwe-16.04:amd64 1:7.9.0-0ubuntu1~16.04.1 1:7.10.0-1~16.04.1

I should note, this is *not* the compiz/unity update package list. It is the mesa drivers.

Upon reboot, I started getting a blank screen with only a mouse pointer when the display manager started.

I press <kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>F1</kbd> to go into console, and I can find the following in the `Xorg.0.log`:

    [ 4800.851] (WW) RADEON(0): flip queue failed: Invalid argument
    [ 4800.851] (WW) RADEON(0): Page flip failed: Invalid argument

These warning messages are *constantly* streaming into the log file, and it *keeps growing*. This wasn't present before the library update. I will be happy to provide a logfile upon request.

Video h/w on my laptop:

     *-display

       description: VGA compatible controller
       product: RV516/M64-S [Mobility Radeon X2300]
       vendor: Advanced Micro Devices, Inc. [AMD/ATI]
       physical id: 0
       bus info: pci@0000:01:00.0
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: pm pciexpress msi vga_controller bus_master cap_list rom
       configuration: driver=radeon latency=0
       resources: irq:16 memory:d0000000-d3ffffff ioport:4000(size=256) memory:d8300000-d830ffff memory:c0000-dffff

1st lines of modinfo output:

    filename: /lib/modules/4.13.0-26-generic/kernel/drivers/gpu/drm/radeon/radeon.ko
    license: GPL and additional rights
    description: ATI Radeon

*UPDATE 2/16/18:*

I appear to be booting to the wrong VT display. All of the symptoms above are true; however, if I perform a <kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>F1</kbd> (up to <kbd>F6</kbd>) at startup and then immediately perform a <kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>F7</kbd>, which switches the VT, I go to my normal desktop as if it had booted correctly. <kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>F7</kbd> without first going to console does not do anything. So, this simplifies things somewhat as it now looks to be a config issue. Lightdm seems to start Xorg on the wrong display. I tried a vt.handoff=7 on the linux kernel command line, and this did not help.

Here is the output of `w` immediately after pressing <kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>F7</kbd> and going to the normal desktop:

     09:38:01 up 44 min, 1 user, load average: 0.60, 0.67, 0.82
    USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
    user1 tty7 :0 08:53 44:14 6:16 0.29s /sbin/upstart -

This display listing appears normal.

I should note that compiz and unity still seem to function. The desktop is fully available and already loaded when I switch to tty7.

*UPDATE 2/19/18:*

I don't believe this to be a duplicate of the compiz/unity issue. The issue I observed resulted from the mesa driver update on the morning of 2/15/18. The compiz/unity update has yet to be applied to my system. In fact, there is one other post that looks to be the same issue as I am seeing, it is: https://askubuntu.com/questions/1006264/var-log-xorg-0-log-file-growing-fast

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: xserver-xorg-video-radeon-hwe-16.04 1:7.10.0-1~16.04.1
ProcVersionSignature: Ubuntu 4.13.0-26.29~16.04.2-generic 4.13.13
Uname: Linux 4.13.0-26-generic x86_64
ApportVersion: 2.20.1-0ubuntu2.15
Architecture: amd64
CurrentDesktop: Unity
Date: Mon Feb 19 10:22:52 2018
InstallationDate: Installed on 2017-04-05 (319 days ago)
InstallationMedia: Ubuntu 16.04.2 LTS "Xenial Xerus" - Release amd64 (20170215.2)
ProcEnviron:
 LANGUAGE=en_US
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: xserver-xorg-video-ati-hwe-16.04
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Jamie C. (coolmott) wrote :
Revision history for this message
Jamie C. (coolmott) wrote :

I think something is hosed with the radeon driver in mesa 17.2.8, but I can't find the 17.2.4 pkgs to roll back and test the theory. The 17.2.4 was pulled from updates and proposed lines. I'm hesitant to rollback to 11.2.

I can get you anything you need (logs, etc...) look at the issue. I'm a longtime, old school developer. Lived in the 'nix env for about 20 yrs, mostly Solaris. Love Ubuntu and Debian.

Revision history for this message
Jamie C. (coolmott) wrote :

The warning string in the Xorg.0.log, "flip queue failed", is found in the following driver:
/usr/lib/xorg/modules/drivers/radeon_drv.so
found in package: xserver-xorg-video-radeon-hwe-16.04

This module is loaded in Xorg on my machine. I'll download the source and start looking through the code.

Revision history for this message
Jamie C. (coolmott) wrote :

Source of warning message from radeon_drv.so:
./src/drmmode_display.c: xf86DrvMsg(scrn->scrnIndex, X_WARNING, "flip queue failed: %s\n",
./src/radeon_kms.c: xf86DrvMsg(scrn->scrnIndex, X_WARNING, "flip queue failed in %s: %s\n",
./src/radeon_kms.c: xf86DrvMsg(scrn->scrnIndex, X_WARNING, "flip queue failed in %s: %s, "

Revision history for this message
Jamie C. (coolmott) wrote :

Specifically, the source file:

    ./src/drmmode_display.c: xf86DrvMsg(scrn->scrnIndex, X_WARNING, "flip queue failed: %s\n",

Line 3093 in the source code of `drmmode_display.c`:

    flip_error:
     xf86DrvMsg(scrn->scrnIndex, X_WARNING, "flip queue failed: %s\n",
         strerror(errno));

    error:
     if (drm_queue_seq)
      radeon_drm_abort_entry(drm_queue_seq);
     else if (crtc)
      drmmode_flip_abort(crtc, flipdata);
     else {
      abort(NULL, data);
      drmmode_fb_reference(pRADEONEnt->fd, &flipdata->fb, NULL);
      free(flipdata);
     }

     xf86DrvMsg(scrn->scrnIndex, X_WARNING, "Page flip failed: %s\n",
         strerror(errno));

Revision history for this message
Jamie C. (coolmott) wrote :

I'll "gdb attach" the Xorg process next and see if I can't get some runtime data.

Revision history for this message
Jamie C. (coolmott) wrote :

Okay, a little code inspection leads to one of these two function calls failing at line 3062:

  if (crtc == ref_crtc) {
   if (drmmode_page_flip_target_absolute(pRADEONEnt,
             drmmode_crtc,
             fb->handle,
             flip_flags,
             drm_queue_seq,
             target_msc) != 0)
    goto flip_error;
  } else {
   if (drmmode_page_flip_target_relative(pRADEONEnt,
             drmmode_crtc,
             fb->handle,
             flip_flags,
             drm_queue_seq, 0) != 0)
    goto flip_error;
  }

Next step is gdb attach and setting a break point.

Now, I'm *not* a video driver guru, so, at some point, I'll need somebody that's in this code regularly to take a look. Thanks. (Or, maybe I'll get luckly and find a simply error... ;-) )

Revision history for this message
Jamie C. (coolmott) wrote :

Line 3039 in the source can also cause the message:

   if (flip_sync == FLIP_ASYNC) {
    if (!drmmode_wait_vblank(crtc,
        DRM_VBLANK_RELATIVE |
        DRM_VBLANK_EVENT,
        0, drm_queue_seq,
        NULL, NULL))
     goto flip_error;
    goto next;
   }

Revision history for this message
Jamie C. (coolmott) wrote :

This issue has a workaround:

Download 7.9 radeon driver Ubuntu package (xserver-xorg-video-radeon-hwe-16.04_7.9.0-0ubuntu1~16.04.1_amd64.deb) from:

https://launchpad.net/ubuntu/xenial/amd64/xserver-xorg-video-radeon-hwe-16.04/1:7.9.0-0ubuntu1~16.04.1

Execute the following on the downloaded .deb file:

> sudo dpkg -i xserver-xorg-video-radeon-hwe-16.04_7.9.0-0ubuntu1_16.04.1_amd64.deb

> sudo apt-get -f install

> sudo apt-mark hold xserver-xorg-video-radeon-hwe-16.04

This downgrades the radeon driver package to version 7.9, fixes dependencies, and holds the driver pkg from further updates.

Upon rebooted, issue is resolved.

A bug has been reported to Freedesktop at:
https://bugs.freedesktop.org/show_bug.cgi?id=105217

Jamie C. (coolmott)
summary: - Blank screen with only mouse pointer after mesa driver update; display
- does not switch to tty7 upon lightdm start; Xorg.0.log quickly grows
+ Blank screen with only mouse pointer after 7.10 radeon driver update;
+ display does not switch to tty7 upon lightdm start; Xorg.0.log quickly
+ grows
Revision history for this message
tachiorz (tachiorz) wrote :
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

16.04 is EOL

Changed in xserver-xorg-video-ati-hwe-16.04 (Ubuntu):
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.