[dri] Normal non-root user does not have permissions to use the GPU (falls back to LLVMpipe)

Bug #1071482 reported by mikhail-777
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
mesa (Ubuntu)
Invalid
Undecided
Unassigned
xserver-xorg-video-intel (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Running as a normal non-root user the system is falling back to LLVMpipe software rendering, which then triggers graphics corruption (bug 1021104).
    OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 0x300)

Logging in as root however, full GPU acceleration works and Mesa uses:
    OpenGL renderer string: Mesa DRI Intel(R) G33 x86/MMX/SSE2

ORIGINAL DESCRIPTION:
I am using Ubuntu Precise 12.04 LTS with last updates (25.10.2012) from precise, precise-security, precise-updates, precise-proposed. My bug is some similar for https://bugs.launchpad.net/ubuntu/+source/unity/+bug/819144
But I have not fglrx.

$ lspci -m -nn
00:02.0 "VGA compatible controller [0300]" "Intel Corporation [8086]" "82G33/G31 Express Integrated Graphics Controller [29c2]" -r10 "ASUSTeK Computer Inc. [1043]" "P5KPL-VM Motherboard [82b0]"
...
$ lspci -nn
00:02.0 VGA compatible controller [0300]: Intel Corporation 82G33/G31 Express Integrated Graphics Controller [8086:29c2] (rev 10)
...

Xorg uses standard "intel" driver. Same result with using "vesa" driver (with vesa I always have disappearing mouse cursor on tooltip showing, even without unity and compiz). Unity_2D works fine of course.

I will try to explain behavior of this bug...
1) Unity panel and upper panel renders (shows picture) fine.
2) Other desktop space often blinking (they replace each other) by 3 types of picture:
 a) simple black
 b) some previous state of picture (ghost picture): I mean e.g. if you close some window, you will still can see this window with buttons, which already are not clickable of course.
 c) current picture
3) If you move mouse cursor over desktop icons (I have many icons), it sometimes cleans rectangles with icons, sometimes not.
4) If you move some window by mouse, part of desktop can be cleaned by previouse position of this window and all positions while window moving. This cleaning type is not always works too.
4) If you switches between consoles (Ctrl+Alt+F1, ..., Ctrl+Alt+F7), desktop starts blinking as in "2)" and sometimes it stops on cleaned good desktop, sometimes on black desktop (black except left and upper panel of cource).
5) Sometimes (e.g. while pressing Ctrl+Alt+F(1-6) and back to Ctrl+Alt+F7) I can see thin lines of some picture (from actual or previous state of window, I can't understand which) on black desktop.

I tryed to install different stable versions of unity and compiz (and associated packages) with no success.
I tryed to install fresh drivers from https://launchpad.net/~ubuntu-x-swat/+archive/x-updates with no success.
I rebooting my computer after each time of changing unity/compiz/drivers packages.

After some time (of installation of different packages) unity start to work normally (without black blinking) but for root only! I don't want to be root all time which I using unity. Please, help.

Update 1:
Immediatly after login unity left panel can replaced by black too (not always), but it's returned to normally after moving mouse over it.
I created new user to test behaviour under it. Same result: black and other blinking.
Guest session is with black blinking too.

Update 2:
I have not anything like unclutter, synergy and quicksynergy.
Maybe this helps:
https://code.google.com/p/quicksynergy/issues/detail?id=26
---
ApportVersion: 2.0.1-0ubuntu14
Architecture: i386
CompizPlugins: [core,composite,opengl,compiztoolbox,decor,vpswitch,snap,mousepoll,resize,place,move,wall,grid,regex,imgpng,session,gnomecompat,animation,fade,unitymtgrabhandles,workarounds,scale,expo,ezoom,unityshell]
DistroRelease: Ubuntu 12.04
InstallationMedia: Ubuntu-Studio 10.10 "Maverick Meerkat" - Release i386 (20101008)
Package: unity 5.16.0-0ubuntu1
PackageArchitecture: i386
Tags: precise running-unity precise running-unity precise running-unity
Uname: Linux 3.5.7-zen-proxym-3 i686
UpgradeStatus: Upgraded to precise on 2012-10-23 (3 days ago)
UserGroups: adm admin audio cdrom dialout lpadmin plugdev sambashare

Revision history for this message
mikhail-777 (wpr-oxym) wrote :
Revision history for this message
mikhail-777 (wpr-oxym) wrote :

$ apt-cache policy unity
unity:
  Установлен: 5.16.0-0ubuntu1
  Кандидат: 5.16.0-0ubuntu1
  Таблица версий:
 *** 5.16.0-0ubuntu1 0
        500 http://mirror.yandex.ru/ubuntu/ precise-updates/main i386 Packages
        100 /var/lib/dpkg/status
     5.10.0-0ubuntu6 0
        500 http://mirror.yandex.ru/ubuntu/ precise/main i386 Packages

mikhail-777 (wpr-oxym)
description: updated
mikhail-777 (wpr-oxym)
description: updated
mikhail-777 (wpr-oxym)
description: updated
description: updated
description: updated
description: updated
Revision history for this message
mikhail-777 (wpr-oxym) wrote :

Duplicate, generated with `ubuntu-bug unity`
https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1071512
Sorry, but your bug report system don't want to attach additional information generated with `ubuntu-bug unity` without creating new bug :(

Revision history for this message
mikhail-777 (wpr-oxym) wrote :

Sorry!
Last was with
$ sudo glxinfo
now I am attaching simple:
$ glxinfo

Sorry again for duplicate comment. Everything is blinking under Unity, really hard to work!

Revision history for this message
mikhail-777 (wpr-oxym) wrote :

under root all works normally
# glxinfo

Revision history for this message
mikhail-777 (wpr-oxym) wrote :

glxinfo under normal user (where the are blinking). "glxinfo simple call (by normal user)" was incorrect (other file)
$ glxinfo

Revision history for this message
mikhail-777 (wpr-oxym) wrote :

What is it?!!! I don't use VMware. Why??

(Left is with blinking black Unity/Ubuntu session for non-root user)

32,35c33,35
< OpenGL vendor string: VMware, Inc.
< OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 0x300)
< OpenGL version string: 2.1 Mesa 8.0.4
< OpenGL shading language version string: 1.20
---
> OpenGL vendor string: Tungsten Graphics, Inc
> OpenGL renderer string: Mesa DRI Intel(R) G33 x86/MMX/SSE2
> OpenGL version string: 1.4 Mesa 8.0.4
47,48c47,48

Revision history for this message
mikhail-777 (wpr-oxym) wrote :

Under standard ubuntu linux kernel Unity works fine for users.
$ uname -a
Linux ubuntu 3.2.0-32-generic #51-Ubuntu SMP Wed Sep 26 21:32:50 UTC 2012 i686 i686 i386 GNU/Linux

glxinfo returns:
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) G33 x86/MMX/SSE2
OpenGL version string: 1.4 Mesa 8.0.4

OK. Problem is in kernel version / configuration and in
< OpenGL vendor string: VMware, Inc.
< OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 0x300)
< OpenGL version string: 2.1 Mesa 8.0.4

Revision history for this message
mikhail-777 (wpr-oxym) wrote :

Please answer me at least on the one of these:
1) how to remove / disable using VMware (Gallium 0.4 on llvmpipe) library / driver?
2) how to disable using VMware (Gallium 0.4 on llvmpipe) library / driver for non-root users?
3) which configuration options I must change in kernel before recompiling to disable using VMware (Gallium 0.4 on llvmpipe) library / driver when it is not needed?
4) which configuration options I must change in kernel before recompiling to disable using VMware (Gallium 0.4 on llvmpipe) library / driver completely?

My kernel:
$ uname -a
Linux ubuntu 3.5.7-zen-proxym-3 #1 ZEN SMP Fri Oct 19 05:56:51 MSK 2012 i686 i686 i386 GNU/Linux

I don't want to use generic ubuntu kernel versions, which are compiled by people, which I don't know. Also using standard kernels allows possible viruses to hack linux kernel, and then hack whole linux system.

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

Please provide some screenshots/video of the problem and run this command to gather more information:
    apport-collect 1071482

Changed in unity (Ubuntu):
status: New → Incomplete
Revision history for this message
mikhail-777 (wpr-oxym) wrote :

Video of the problem:

https://vk.com/video46321464_163494463 (don't forget select best bitrate in right-down place of the player, not 240, not 360, choose 480)

mirror: http://videobam.com/tulKh

As you can see above I collected information by ubuntu-bug in https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1071512 . As I know it sends same information as apport-collect. I didn't know about apport-collect some time before.
I don't know how to force such tools provide more information which I can see in other bugs.
I must install "-dbg" packages for everything?

Changed in unity (Ubuntu):
status: Incomplete → New
Revision history for this message
mikhail-777 (wpr-oxym) wrote : Dependencies.txt

apport information

tags: added: apport-collected precise running-unity
description: updated
Revision history for this message
mikhail-777 (wpr-oxym) wrote : GconfCompiz.txt

apport information

Revision history for this message
mikhail-777 (wpr-oxym) wrote : ProcEnviron.txt

apport information

Revision history for this message
mikhail-777 (wpr-oxym) wrote : Re: everything is black and blinks (flashes) when using unity
Download full text (3.5 KiB)

Btw, for my kernel Xorg starts with using intel driver only with additional linux kernel boot parameter: i915.modeset=1
It's not a problem, I think =) Of course I wrote above about linux booted with this parameter.

I found what it is:
< OpenGL vendor string: VMware, Inc.
< OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 0x300)

It's not VMware virtual machine specific driver (as I thought before) as I can understand now. llvmpipe is specific library (driver??) which is created for compatibility with graphic cards which can not normally support Ubuntu Unity 3D. It is started in case of normal is failed.
I found this package: libllvm3.0. I tried to uninstall it, but libgl1-mesa-dri depends from it.
Then I found library in this package: /usr/lib/i386-linux-gnu/libLLVM-3.0.so.1
And run: sudo rm /usr/lib/i386-linux-gnu/libLLVM-3.0.so.1
Then reboot my system.
Tried to login as simple user in Ubuntu Unity 3D and it can't, I had error about "GL vertex buffer object".
Then logined as root to Ubuntu Unity 3D with success as expected =)

Under the root:
# /usr/lib/nux/unity_support_test -p
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) G33 x86/MMX/SSE2
OpenGL version string: 1.4 Mesa 8.0.4

Not software rendered: yes
Not blacklisted: yes
GLX fbconfig: yes
GLX texture from pixmap: yes
GL npot or rect textures: yes
GL vertex program: yes
GL fragment program: yes
GL vertex buffer object: yes
GL framebuffer object: yes
GL version is 1.4+: yes

Unity 3D supported: yes

But under the any other simple user:
$ /usr/lib/nux/unity_support_test -p
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) G33 x86/MMX/SSE2
OpenGL version string: 1.4 Mesa 8.0.4

Not software rendered: yes
Not blacklisted: yes
GLX fbconfig: yes
GLX texture from pixmap: yes
GL npot or rect textures: yes
GL vertex program: yes
GL fragment program: yes
GL vertex buffer object: no
GL framebuffer object: yes
GL version is 1.4+: yes

Unity 3D supported: no

I can't understand it, really =)
Non supported before "Not software rendered" changed to non supported now "GL vertex buffer object".
OpenGL renderer now are the same for root and non-root users.
Before it was such for non-root users:
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 0x300)
OpenGL version string: 2.1 Mesa 8.0.4
With different OpengGL renderer and OpenGL version!

As I can understand, if "Mesa DRI Intel(R) G33 x86/MMX/SSE2" failed then "Gallium 0.4 on llvmpipe (LLVM 0x300)" tried to start automatically (if /usr/lib/i386-linux-gnu/libLLVM-3.0.so.1 present in the system), and Unity 3D + Compiz have blinking black and other described in this bug. Of course I switched to force Ubuntu Unity 3D start by option:
UNITY_FORCE_START=1 in /etc/environment (I used other file but don't remember which now).

I have only one explanation: "Mesa DRI Intel(R) G33 x86/MMX/SSE2" can't access to something because of limited privileges of simple non-root user.

P. S. : I reinstalled libllvm3.0 and have black and othe...

Read more...

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

I can't play either of those videos. Please attach a video and/or images.

Changed in unity (Ubuntu):
status: New → Incomplete
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Actually this sounds a lot like bug 1021104, so it can be a duplicate until proven otherwise.

Revision history for this message
mikhail-777 (wpr-oxym) wrote :
  • 1 Edit (28.3 MiB, video/mp4)
Revision history for this message
mikhail-777 (wpr-oxym) wrote :
  • 2 Edit (34.6 MiB, video/mp4)
Revision history for this message
mikhail-777 (wpr-oxym) wrote :
  • 3 Edit (23.9 MiB, video/mp4)
Revision history for this message
mikhail-777 (wpr-oxym) wrote :
  • 4 Edit (36.6 MiB, video/mp4)
Revision history for this message
mikhail-777 (wpr-oxym) wrote :

Ok. Just watch above as 1,2,3,4.

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

mikhail,

It looks like a simple permission problem making you fall back to LLVMpipe when not root. I think you need to be in the "video" group to access the graphics hardware but are not (and I have no idea how or why that would happen).

I'm not sure what the relevant device name is for you but a good guess might be to try:
    sudo chmod 666 /dev/dri/*

Log out and in again.

summary: - everything is black and blinks (flashes) when using unity
+ [dri] Normal non-root user does not have permissions to use the GPU
+ (falls back to LLVMpipe)
affects: unity (Ubuntu) → xserver-xorg-video-intel (Ubuntu)
Changed in xserver-xorg-video-intel (Ubuntu):
status: Incomplete → Triaged
description: updated
Changed in mesa (Ubuntu):
status: New → Triaged
status: Triaged → New
Changed in xserver-xorg-video-intel (Ubuntu):
status: Triaged → New
Revision history for this message
mikhail-777 (wpr-oxym) wrote :

Thank you, Daniel! It fixes it!

$ groups proxym
proxym : proxym adm dialout cdrom audio plugdev lpadmin admin sambashare vboxusers
$ sudo usermod -a -G video proxym
$ groups proxym
proxym : proxym adm dialout cdrom audio video plugdev lpadmin admin sambashare vboxusers
AND RELOGIN.

But I can't understand, why generic ubuntu kernel allow normal work of Unity 3D for normal users without video group =)

Btw, I already writes before:
I have only one explanation: "Mesa DRI Intel(R) G33 x86/MMX/SSE2" can't access to something because of limited privileges of simple non-root user.

But looks like I was too stupid for checking standard groups of my user.

Revision history for this message
Chris Wilson (ickle) wrote :

It works normally because the login manager changes permissions on the device for the user session.

Changed in mesa (Ubuntu):
status: New → Invalid
Changed in xserver-xorg-video-intel (Ubuntu):
status: New → Invalid
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.