Mir

i915 driver/i945 hardware: Mir GL clients are rendered as black (or transparent or crash) windows when using i945 graphics

Bug #1275398 reported by Daniel van Vugt
32
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Mir
Invalid
High
Unassigned
mesa (Ubuntu)
Fix Released
High
Andreas Pokorny
Nominated for Utopic by Daniel van Vugt

Bug Description

Running Mir on a Pentium D system with integrated i945 graphics, appears to work at first. The server starts and software clients are rendered correctly. However hardware (GL) clients are rendered as all black or transparent windows, despite logging to stdout that they think they are rendering:

$ sudo bin/mir_demo_client_egltriangle
Current active output is 1920x1200 +0+0
Server supports 2 of 6 surface pixel formats. Using format: 4
libEGL warning: unsupported platform (null)
1 FPS
33 FPS
60 FPS
60 FPS
60 FPS
60 FPS

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

Make that High importance. Silently failing to display most surfaces is very bad.

Changed in mir:
importance: Medium → High
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Confirmed also on an old netbook: Intel Atom N720 with i945 graphics.

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

Correction:
Confirmed also on an old netbook: Intel Atom N270 with i945 graphics.

summary: - i945: GL clients never appear on screen
+ i945: GL clients are rendered as black or transparent windows when using
+ i945 graphics
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: i945: GL clients are rendered as black or transparent windows when using i945 graphics

I think I can eliminate the possibility that the texture binding is failing. Using direct bypass rendering (egltriangle -f) still has the same bug. So it's not a server-side GL compositing issue.

Seems like a fundamental failure in the GBM/GEM/PRIME/DMAbuf stuff. Something the i915 driver doesn't do right... I noticed some comments in Wayland along the same lines, where Wayland too has a black buffer problem on i915:
http://lists.freedesktop.org/archives/wayland-devel/2013-October/011593.html

So on the plus side, the old PentiumD can run mir_demo_server_shell at 1920x1200 with super-smooth 60 FPS. On the down side, only software clients are usable :(

summary: - i945: GL clients are rendered as black or transparent windows when using
- i945 graphics
+ i945: Mir GL clients are rendered as black or transparent windows when
+ using i945 graphics
description: updated
Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1275398

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Changed in mesa (Ubuntu):
status: New → Confirmed
importance: Undecided → High
summary: - i945: Mir GL clients are rendered as black or transparent windows when
- using i945 graphics
+ i915 driver/i945 hardware: Mir GL clients are rendered as black or
+ transparent windows when using i945 graphics
Revision history for this message
Andreas Pokorny (andreas-pokorny) wrote : Re: i915 driver/i945 hardware: Mir GL clients are rendered as black or transparent windows when using i945 graphics

needs a new mir platform patch and a one liner in 915 - so it seems

Changed in mesa (Ubuntu):
assignee: nobody → Andreas Pokorny (andreas-pokorny)
Revision history for this message
Andreas Pokorny (andreas-pokorny) wrote :

no change needed in mir

Changed in mir:
status: Triaged → Invalid
Revision history for this message
Andreas Pokorny (andreas-pokorny) wrote :

just a mesa patch needed

Changed in mesa (Ubuntu):
status: Confirmed → In Progress
Changed in linux (Ubuntu):
status: Incomplete → Invalid
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Thanks Andreas. Keeping this open in Mir just a bit longer so we don't lose track of it from the Mir side. When a fix is released to Mesa, we can mark it invalid for Mir.

Changed in mir:
status: Invalid → Confirmed
Revision history for this message
Andreas Pokorny (andreas-pokorny) wrote :

I think this failure is resolved with the updated mir platform patch and bugfixes for i915 that have been sent upstream. Waiting for those to get applied.

But the story does not end there. Now when running unity8-dash it fails because mesa claims it only supports OpenGL 1.4. And that because of another mesa patch, ubuntu applies against upstream mesa. So with that i915 allows only GL 1.4, ES 1.0 and ES 2.0.

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

Any progress is appreciated, thanks.

The GL support restrictions we will deal with when we get to them :) Sounds like just Qt/Unity8 that's restricted and not Mir itself.

Do we have to wait for upstreaming? Until now I think our Mesa patches just went straight to Ubuntu:
https://launchpad.net/ubuntu/+source/mesa

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

Sadly, today's update to Mesa 10.3 in utopic doesn't help this bug at all. GL clients are still black (or transparent).

Is the aforementioned patch really in the utopic Mesa 10.3 update?

Revision history for this message
Andreas Pokorny (andreas-pokorny) wrote :

It is in the 10.3. branch but a few commits after the 10.3 tags. So it will be in 10.3.1.

Or we cherry pick that into 10.3?

summary: - i915 driver/i945 hardware: Mir GL clients are rendered as black or
- transparent windows when using i945 graphics
+ i915 driver/i945 hardware: Mir GL clients are rendered as black (or
+ transparent or crash) windows when using i945 graphics
Revision history for this message
Alexander Dobetsberger (masternoob) wrote :

just tried with mesa 10.4 daily and this crash seems to be fixed, now the unity-dash crashes but thats a different bug (https://bugs.launchpad.net/ubuntu/+source/unity8/+bug/1354412)

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

Andreas' fix is mentioned officially as part of Mesa 10.3.1. I'm yet to test it on an i945 system though...
http://lists.freedesktop.org/archives/mesa-dev/2014-October/069253.html

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

mesa (10.3.2-0ubuntu1) vivid; urgency=medium

  * Merge from unreleased debian-unstable.
 -- Maarten Lankhorst <email address hidden> Mon, 27 Oct 2014 08:43:19 +0100

Changed in mesa (Ubuntu):
status: In Progress → Fix Released
Changed in mir:
status: Confirmed → Invalid
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Fixed! But only in the latest vivid update for now.

i915 now supports Mir clients properly. Tested successfully on two i945 systems: Atom N270 and a PentiumD.

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

Nominated utopic also, because Maarten seems to already have it in proposed for utopic.

no longer affects: linux (Ubuntu)
Revision history for this message
filip (bandit-s-fw) wrote :

@ Daniel
hello i also got a :
"11.833] (--) intel(0): Integrated Graphics Chipset: Intel(R) 945GM" copy past from Xorg.0.log
but when i try to boot the live cd (desktop-next) i still only get a black screen with a movable pointer.
The image (vivid) is of date today 150108

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

filip, I will have to investigate that. There could be any number of reasons why desktop-next doesn't work for you. But I'm confident we've solved the Mir reasons here.

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

filip: I've reproduced the bug you describe. Please see -> bug 1408910

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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