dri not working with ltsp on natty

Bug #785368 reported by Marc Gariépy on 2011-05-19
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Mesa
Fix Released
Medium
mesa (Ubuntu)
Medium
Chris Halse Rogers
Lucid
Medium
Timo Aaltonen
Maverick
Undecided
Unassigned
Natty
Undecided
Unassigned
Oneiric
Undecided
Unassigned

Bug Description

SRU Justification: Regression in GLX handling causes non-local X applications to die with BadRequest error when attempting DRI.

Regression potential: low. Patch only affects the DRI2Connect error handler, causing it to swallow the BadRequest generated when attempting to use the DRI2 extension on a remote server. This error is then processed further up the mesa codestack.

Original report:
With LTSP on natty i am unable to start compiz.

I tried with 2 thin clients and a laptop that where working on maverick:

00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 945GME Express Integrated Graphics Controller [8086:27ae] (rev 03)
00:02.1 Display controller [0380]: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller [8086:27a6] (rev 03)

00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a42] (rev 09)
00:02.1 Display controller [0380]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a43] (rev 09)

00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (primary) [8086:2a02] (rev 0c)
00:02.1 Display controller [0380]: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (secondary) [8086:2a03] (rev 0c)

thanks
---
Architecture: amd64
CurrentDmesg: Error: command ['sh', '-c', 'dmesg | comm -13 --nocheck-order /var/log/dmesg -'] failed with exit code 1: comm: /var/log/dmesg: Permission denied
DRM.card0.VGA.1:
 status: connected
 enabled: enabled
 dpms: Standby
 modes: 1024x768 800x600 800x600 848x480 640x480
 edid-base64:
DistUpgraded: Fresh install
DistroCodename: natty
DistroRelease: Ubuntu 11.04
DistroVariant: ubuntu
GraphicsCard:
 ATI Technologies Inc ES1000 [1002:515e] (rev 02) (prog-if 00 [VGA controller])
   Subsystem: Dell Device [1028:01eb]
Lsusb:
 Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 002 Device 002: ID 0a81:0205 Chesen Electronics Corp. PS/2 Keyboard+Mouse Adapter
 Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 001 Device 003: ID 413c:a001 Dell Computer Corp. Hub
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: Dell Inc. PowerEdge SC1435
Package: mesa (not installed)
ProcEnviron:
 LANGUAGE=fr_CA.UTF-8
 PATH=(custom, no user)
 LANG=fr_CA.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-2.6.38-8-server root=UUID=a84ee11d-2ade-4e88-afa9-6efa93ffe223 ro splash quiet vt.handoff=7
ProcVersionSignature: Ubuntu 2.6.38-8.42-server 2.6.38.2
Tags: natty ubuntu
Uname: Linux 2.6.38-8-server x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: audio autologin fuse video
dmi.bios.date: 03/21/2008
dmi.bios.vendor: Dell Inc.
dmi.bios.version: 1.4.2
dmi.board.name: 0YR707
dmi.board.vendor: Dell Inc.
dmi.board.version: A02
dmi.chassis.type: 23
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvr1.4.2:bd03/21/2008:svnDellInc.:pnPowerEdgeSC1435:pvr:rvnDellInc.:rn0YR707:rvrA02:cvnDellInc.:ct23:cvr:
dmi.product.name: PowerEdge SC1435
dmi.sys.vendor: Dell Inc.
version.compiz: compiz 1:0.9.4+bzr20110415-0ubuntu2
version.ia32-libs: ia32-libs 20090808ubuntu13
version.libdrm2: libdrm2 2.4.23-1ubuntu6
version.libgl1-mesa-dri: libgl1-mesa-dri 7.10.2-0ubuntu2
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 7.10.2-0ubuntu2
version.xserver-xorg: xserver-xorg 1:7.6+4ubuntu3
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.14.0-0ubuntu4
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.14.0-4ubuntu7.1
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20110107+b795ca6e-0ubuntu7

Marc Gariépy (mgariepy) wrote :

here is a easy way to reproduce the problem without a ltsp setup

on the first computer:
1 ) sudo vim /usr/share/gdm/gdm.schemas
change :

<schema>
<key>security/DisallowTCP</key>
<signature>b</signature>
<default>true</default>
</schema>

to

<schema>
<key>security/DisallowTCP</key>
<signature>b</signature>
<default>false</default>
</schema>

2) logout
3) log in
4) in a console run : $ xhost +

5) on another computer: DISPLAY=<ip of the first computer>:0 glxinfo
computer1 $ DISPLAY=X.X.X.X:0 glxinfo
name of display: 10.145.0.54:0.0
X Error of failed request: BadRequest (invalid request code or no such operation)
  Major opcode of failed request: 137 (DRI2)
  Minor opcode of failed request: 1 (DRI2Connect)
  Serial number of failed request: 18
  Current serial number in output stream: 18

6) when connected via ssh on the same computer, running the same command works.

apport information

tags: added: apport-collected natty ubuntu
description: updated

apport information

apport information

apport information

apport information

apport information

apport information

apport information

Marc Gariépy (mgariepy) wrote :
Marc Gariépy (mgariepy) wrote :

using glxgears from the thin client itself works it's just when trying to run it remotely that it doesn't work.

Marc Gariépy (mgariepy) wrote :

Today I tried to have a thin client booted on natty and using a maverick appserv.

* glxinfo is not working from the appserv
* Compiz is working fine. (compiz | 1:0.8.6-0ubuntu9.2 | maverick-updates | source, all)

Changed in mesa:
importance: Unknown → Medium
status: Unknown → Confirmed
Marc Gariépy (mgariepy) wrote :

I got a patch from #dri-devel channel i built it in my ppa and it works.

Timo Aaltonen (tjaalton) on 2011-05-24
Changed in mesa (Ubuntu):
importance: Undecided → Medium
status: New → Triaged
Marc Gariépy (mgariepy) wrote :

FYI, there is a fix in the upstream bug tracker

tags: added: patch
Bryce Harrington (bryce) wrote :

@Chris, sounds like this bug is fixed upstream; can you confirm the upstream patch is included in our merge? Also, check if this would be worth an SRU.

Changed in mesa (Ubuntu):
assignee: nobody → Chris Halse Rogers (raof)
Chris Halse Rogers (raof) wrote :

Hm. It looks like the patch got stuck in the mesa-dev and quietly died. I think I've addressed the review comments and resubmitted the patch. It certainly looks like an SRU candidate.

Launchpad Janitor (janitor) wrote :
Download full text (4.5 KiB)

This bug was fixed in the package mesa - 7.10.3-0ubuntu1

---------------
mesa (7.10.3-0ubuntu1) oneiric; urgency=low

  * New upstream 7.10.3 bugfix release.
   - Fixes infinite loop in GLSL compiler (LP: #788730)
  * Merge with Debian unstable. Remaining Ubuntu changes:
   - debian/control
      + Drop lesstif-dev from Build-Depends; it's in Universe.
      + Comment out GLw libs since it depends on lesstif-dev.
      + Drop i686 swx11 libgl package.
      + Add libdrm-dev to mesa-common-dev Depends.
    - debian/rules
      + Use --disable-glw for swx11 targets too.
      + Don't enable motif for swx11 targets.
      + Use lzma compression for binary debs to save CD space.
      + Drop unloved mach64 driver.
      + Install both r300/r300g and r600/r600g
      + Use --enable-shared-dricore to claw back CD space.
    - debian/patches
      + 100_no_abi_tag.patch
      + 101_ubuntu_hidden_glname.patch
      + 103_savage-expose_fbmodes_with_nonzero_alpha.patch
    - rules, libgl1-mesa-{glx,dev,swx11,swx11-dev}.install.in,
      libgl1-mesa-{glx,swx11}.{postinst,prerm}, libgl1-mesa-dev.links.in:
      Install libGL.so* in /usr/lib/mesa to allow things to work with
      alternatives.
    - debian/not-installed:
      + Drop i686 files; we don't build 686-optimised packages in the first
        place.
    - debian/gbp.conf
      + Point at Ubuntu branch to make git-buildpackage less narky.
    - debian/patches/105_use_shared_libdricore.patch, debian/rules:
      + Link DRI drivers against shared dricore routines to save CD space.
    - debian/patches/109_fix_length_of_glxgetfbconfigssgix.patch:
      Fix "BadLength (poly request too large or internal Xlib length"
      when using non-C, non-en locales. (LP 714280)
    - debian/patches/108_fix_leaks_dri2_screen_creation.patch: Cherrypick
      to fix some leaks in DRI2 screen creation failure paths.
    - 114_intel_dri_renderer_string.diff: Re-add "GEM" to the dri renderer
      string of the intel driver. (LP 753370)
    - 113_fix_tls.diff: Fix crashes in unrelated code due to TLS usage.
  * debian/rules:
  * debian/libgl1-mesa-dri-experimental.install.in:
    - Ship i915g in the experimental package. We're already building it,
      and it's apparently now comparable to i915c.
  * debian/control:
  * debian/libgl1-mesa-dri-experimental.install.in:
  * debian/libgl1-mesa-dri.install.linux.in:
    - Move nouveau gallium driver from -dri-experimental to -dri. Upstream
      is no longer adamant that bugs should be ignored. Try installing it by
      default to get a better Unity experience OOTB. (LP: #759562)
  * debian/libgl1-mesa-dri-experimental.install.in:
  * debian/libgl1-mesa-dri.install.linux.in:
    - Move r300/r600 classic drivers to -experimental. They're not supported.
      Shave another ~1MB off the CD!
  * debian/control:
    - Add new bison and flex build-depends.
  * debian/patches/115_llvm_dynamic_linking.diff
    - Dynamically link DRI drivers to libllvm. Saves ~6MiB per DRI driver.
  * debian/rules:
  * debian/patches/116_use_shared_galliumcore.diff:
  * debian/libgl1-mesa-dri.install.in:
    - Link gallium DRI drivers against shared gallium routines to save CD
      sp...

Read more...

Changed in mesa (Ubuntu):
status: Triaged → Fix Released
Changed in mesa:
status: Confirmed → Fix Released

How about backporting it to Maverick? In a few days Firefox beta channel (which I use) moves to Fx 7 and Mesa versions up to 7.10.2 are blacklisted from OpenGL acceleration there, Mesa 7.10.3 is needed in Maverick!

Chris Halse Rogers (raof) wrote :

Maverick will not get 7.10.3; that's a bit more than a whole new major version over what's currently there, so it's not appropriate for a stable release update, and infrastructure like mesa is not appropriate for the backports process.

It's conceivable that natty could get 7.10.3 as an SRU, but mesa point upgrades generally include a bunch of non-bugfixes, which makes them hard to justify as a stable update.

I'm preparing an SRU upload to fix this particular bug in natty and maverick.

Chris Halse Rogers (raof) wrote :

Closing the maverick task; as far as I'm aware, this is a natty-only regression.

description: updated
Changed in mesa (Ubuntu Maverick):
status: New → Invalid

Hello Marc, or anyone else affected,

Accepted mesa into natty-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in mesa (Ubuntu Natty):
status: New → Fix Committed
tags: added: verification-needed
Marc Gariépy (mgariepy) wrote :

I just tested the pacakge from proposed and it works corretly.

Thanks for this update.

Martin Pitt (pitti) on 2011-10-31
tags: added: verification-done
removed: verification-needed
Stéphane Graber (stgraber) wrote :

Adding a task for Oneiric as it's also affected.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mesa - 7.10.2-0ubuntu2.1

---------------
mesa (7.10.2-0ubuntu2.1) natty-proposed; urgency=low

  * debian/patches/115_fix_dri2_errors_when_indirect.diff:
    - Cherry-pick from upstream to fix remote GLX. (LP: #785368)
 -- Christopher James Halse Rogers <email address hidden> Tue, 16 Aug 2011 10:44:42 +1000

Changed in mesa (Ubuntu Natty):
status: Fix Committed → Fix Released
Chris Halse Rogers (raof) wrote :

stgraber: Is this not fixed in oneiric? The 7.10.3-0ubuntu1 upload to oneiric included this patch.

Stéphane Graber (stgraber) wrote :

Chris: During the LTSP hackfest we did some tests on Oneiric and it looked a lot like this bug. I did a test build adding the same patch to the Oneiric package and the build succeeded. I'm still waiting for someone to actually test the package though.

It indeed looks like this bug should be fixed in Oneiric but the symptoms are definitely still there and I can't really explain why the patch would still apply and build if it's already there.

Stéphane Graber (stgraber) wrote :

Hmm, the patch is indeed applied twice in my package, quite surprised it actually worked ;)

So Oneiric indeed contains the fix, just not quite sure why it didn't work in our tests...

Marking the Oneiric task as Invalid as the bug is already fixed there, will open another bug once we figure out what's broken.

Changed in mesa (Ubuntu Oneiric):
status: New → Invalid
Marc Gariépy (mgariepy) wrote :

just tested on my laptop, and it work correctly on oneiric.

Timo Aaltonen (tjaalton) on 2012-06-29
Changed in mesa (Ubuntu Lucid):
assignee: nobody → Timo Aaltonen (tjaalton)
importance: Undecided → Medium
status: New → In Progress
Scott Kitterman (kitterman) wrote :

Hello Marc, or anyone else affected,

Accepted into precise-proposed. The package will build now and be available in a few hours in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

tags: removed: verification-done
tags: added: verification-needed
Bartosz Kosiorek (gang65) wrote :

After install package from proposed it is working correclty for me.

tags: added: verification-done
removed: verification-needed

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mesa - 7.7.1-1ubuntu3.1

---------------
mesa (7.7.1-1ubuntu3.1) lucid-proposed; urgency=low

  * Add 08_glx-ignore-BadRequest-errors-from-DRI2Connect.diff from
    Debian squeeze: fix remote GLX. (LP: #785368)
 -- Timo Aaltonen <email address hidden> Fri, 29 Jun 2012 11:47:00 +0300

Changed in mesa (Ubuntu Lucid):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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