Mir

Mir is just a black screen and mouse cursor on Nvidia GTX 900 when using nouveau

Bug #1575516 reported by Daniel van Vugt
18
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Canonical System Image
Invalid
Critical
Unassigned
Mir
Expired
Critical
Unassigned
mesa (Ubuntu)
Invalid
Critical
Unassigned
mir (Ubuntu)
Expired
Critical
Unassigned

Bug Description

Nvidia (using nouveau not binary drivers): Mir servers freeze on start-up for 30 seconds, and then you get just a black screen and mouse cursor (which at least moves).

Using lp:mir r3480 ...

[2016-04-27 15:20:19.369559] mirserver: Selected driver: mir:mesa-kms (version 0.22.0)
nvc0_screen_create:762 - Error allocating PGRAPH context for M2MF: -22
[2016-04-27 15:20:51.934145] mirserver: Using hardware cursor
[2016-04-27 15:20:51.937691] mirserver: Initial display configuration:
[2016-04-27 15:20:51.937703] mirserver: 0.36: unused DVI-I
[2016-04-27 15:20:51.937713] mirserver: 0.39: DVI-D 24.0" 520x320mm
[2016-04-27 15:20:51.937722] mirserver: Current mode 1920x1200 59.95Hz
[2016-04-27 15:20:51.937731] mirserver: Preferred mode 1920x1200 59.95Hz
[2016-04-27 15:20:51.937740] mirserver: Logical position +0+0
[2016-04-27 15:20:51.937781] mirserver: 0.41: unused HDMI-A
[2016-04-27 15:20:51.937799] mirserver: 0.43: unused DisplayPort
[2016-04-27 15:20:51.937972] mircommon: Loading modules from: bin/../lib/server-modules/
[2016-04-27 15:20:51.938015] mircommon: Loading module: bin/../lib/server-modules/graphics-android.so.9
[2016-04-27 15:20:51.938107] <WARNING> mircommon: Failed to load module: bin/../lib/server-modules/graphics-android.so.9 (error was:libhardware.so.2: cannot open shared object file: No such file or directory)
[2016-04-27 15:20:51.938119] mircommon: Loading module: bin/../lib/server-modules/graphics-mesa-kms.so.9
[2016-04-27 15:20:51.938142] mircommon: Loading module: bin/../lib/server-modules/server-mesa-x11.so.9
[2016-04-27 15:20:51.938536] mircommon: Loading module: bin/../lib/server-modules/input-evdev.so.5
[2016-04-27 15:20:51.955316] mirserver: Selected input driver: mir:evdev-input (version: 0.22.0)
[2016-04-27 15:20:51.955500] mirserver: Mir version 0.22.0
[2016-04-27 15:20:51.962627] GLRenderer: EGL vendor: Mesa Project
[2016-04-27 15:20:51.962645] GLRenderer: EGL version: 1.4 (DRI2)
[2016-04-27 15:20:51.962651] GLRenderer: EGL client APIs: OpenGL OpenGL_ES OpenGL_ES2 OpenGL_ES3
[2016-04-27 15:20:51.962657] GLRenderer: EGL extensions: EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import EGL_KHR_create_context EGL_KHR_get_all_proc_addresses EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_surfaceless_context EGL_MESA_configless_context EGL_MESA_image_dma_buf_export
[2016-04-27 15:20:51.962670] GLRenderer: GL vendor: VMware, Inc.
[2016-04-27 15:20:51.962679] GLRenderer: GL renderer: Gallium 0.4 on llvmpipe (LLVM 3.8, 256 bits)
[2016-04-27 15:20:51.962688] GLRenderer: GL version: OpenGL ES 3.0 Mesa 11.2.0
[2016-04-27 15:20:51.962697] GLRenderer: GLSL version: OpenGL ES GLSL ES 3.00

lspci:
01:00.0 VGA compatible controller: NVIDIA Corporation GM204 [GeForce GTX 970] (rev a1)

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

The fallback to software rendering (llvmpipe) is a good sign. And a moving mouse cursor is also a good sign (working KMS).

Although I don't yet see anything else on screen. Maybe our renderer is using features that LLVMpipe lacks?

tags: added: black-screen
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

On one occasion also got:

Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::runtime_error> >
std::exception::what: Failed to schedule page flip

Maybe we're in a mode that needs blitting instead of flipping. I know that's never been implemented in mesa-kms yet.

Changed in mir:
importance: Undecided → High
Changed in mesa (Ubuntu):
importance: Undecided → High
description: updated
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Also the kernel logs this during the 30 seconds of hanging:

[ 470.282196] nouveau 0000:01:00.0: fifo: read fault at 0000011000 engine 07 [PBDMA0] client 06 [HOST] reason 00 [PDE] on channel -1 [00ff86f000 unknown]
[ 485.280032] nouveau 0000:01:00.0: mir_proving_ser[3146]: failed to idle channel 2 [mir_proving_ser[3146]]
[ 500.280104] nouveau 0000:01:00.0: mir_proving_ser[3146]: failed to idle channel 2 [mir_proving_ser[3146]]

tags: added: nouveau
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Confirmed, it appears KMS page flipping is not happening at all on the GTX 970.

Our renderer supports LLVMpipe just fine (as I discovered separately today using Intel graphics).

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Also note that Mir supporting the Nvidia binary driver won't solve this. Ubuntu setup and live images need to work, and they won't have the Nvidia binary driver.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Page flipping on this system actually works fine, so long as you use dumb buffers:
https://github.com/dvdhrm/docs/blob/master/drm-howto/modeset-vsync.c

Unfortunately Mir does not support dumb buffers, so Mir can't display anything right now.

summary: - Nvidia: Mir servers freeze on start-up for 30 seconds, and then you get
- just a black screen and mouse cursor
+ Mir is just a black screen and mouse cursor on Nvidia GTX 900
Changed in mir:
importance: High → Critical
Changed in mesa (Ubuntu):
importance: High → Critical
Changed in mir (Ubuntu):
importance: Undecided → Critical
Revision history for this message
Timo Aaltonen (tjaalton) wrote : Re: Mir is just a black screen and mouse cursor on Nvidia GTX 900

how is this different than, say, bug 1537389 on (at least) intel?

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Thanks for pointing that bug out. It has not been assigned to the right packages sufficiently...

Also, that bug is not about Nvidia/nouveau, whereas this one is.

Changed in mesa (Ubuntu):
status: New → Invalid
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in mir (Ubuntu):
status: New → Confirmed
tags: added: unity8-desktop
Revision history for this message
Victor gonzalez (victor-gonzalez-0) wrote :

same here with product: GF119M [GeForce GT 520MX]. Anything I can do?

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Tried some more recent kernels... and the problems got worse: bug 1613158

summary: - Mir is just a black screen and mouse cursor on Nvidia GTX 900
+ Mir is just a black screen and mouse cursor on Nvidia GTX 900 (and
+ sometimes "Failed to schedule page flip")
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: Mir is just a black screen and mouse cursor on Nvidia GTX 900 (and sometimes "Failed to schedule page flip")

Incomplete. I can't seem to even boot Ubuntu on this system any more. Maybe wait till yakkety is released and try again.

Changed in canonical-devices-system-image:
status: New → Incomplete
Changed in mir:
status: New → Incomplete
Changed in mir (Ubuntu):
status: Confirmed → Incomplete
Changed in canonical-devices-system-image:
importance: Undecided → Critical
summary: - Mir is just a black screen and mouse cursor on Nvidia GTX 900 (and
- sometimes "Failed to schedule page flip")
+ Mir is just a black screen and mouse cursor on Nvidia GTX 900 when using
+ nouveau
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for mir (Ubuntu) because there has been no activity for 60 days.]

Changed in mir (Ubuntu):
status: Incomplete → Expired
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for Mir because there has been no activity for 60 days.]

Changed in mir:
status: Incomplete → Expired
kevin gunn (kgunn72)
Changed in canonical-devices-system-image:
status: Incomplete → Invalid
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.