Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I've been stuck with Unity 2D all day at 1024x768, tried all sorts of workarounds to no avail. My issues started when I upgraded to mesa9.0 in the ubuntu-x-swat/x-updates PPA. After a reboot, I was kicked in Unity2D and couldn't get 3D to work again. I downgraded all packages manually to 8.0.4 hoping this would solve the issue, but it didn't. I've been through all topics on AskUbuntu and Ubuntu Forums, followed all advise I could find and still nothing. My system seems to be in a state of flux which I can't get out of.

TL;DR; SOLUTION

After struggling for hours on end on this one, I finally stumbled upon a bug report for CentOS where someone was having similar issues. It turns out that during an apt-get upgrade, a package (I really cannot tell which) added nomodeset as as option to GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub. Once that was removed (oddly there was a vga=1 as well, got rid of that too), the Intel drivers work as expected again.

I will attempt another upgrade to Mesa 9 over the weekend, hopefully it won't lead me straight back to this thread.


I tried pretty much everything I could find:

$ _ apt-get purge 'bumblebee*' 'nvidia-current*' 'nvidia-settings*'
$ _ reboot
$ _ apt-get install libgl1-mesa-dri libgl1-mesa-dri:i386 libgl1-mesa-dev mesa-common-dev libgl1-mesa-glx:i386 libgl1-mesa-glx libglapi-mesa libglapi-mesa:i386 libgles2-mesa libgles1-mesa libegl1-mesa-drivers libopenvg1-mesa libegl1-mesa libosmesa6:i386 libosmesa6 libdrm-nouveau1a libdrm-nouveau1a:i386 xserver-xorg-core libdrm-dev libdrm2 libdrm2:i386 libdrm-radeon1 libdrm-radeon1:i386 libdrm-nouveau1a libdrm-nouveau1a:i386 libdrm-intel1:i386 libdrm-intel1 libkms1 libgbm1 --reinstall
$ _ reboot
$ _ rm -f /usr/lib/xorg/modules/extensions/libglx.so* /usr/lib/xorg/modules/extensions/nvidia_drv.so
$ _ reboot
$ _ rm /etc/X11/xorg.conf
$ _ reboot
$ _ apt-get install bumblebee

So essentially, I purged everything, re-installed everything and still nothing.

I followed the advise in Enable hardware-accelerated desktop effects with NVIDIA Optimus/Bumblebee:

$ ls -l /usr/lib/x86_64-linux-gnu/xorg/extra-modules

lrwxrwxrwx 1 root root 53 Oct 18 17:58 /usr/lib/x86_64-linux-gnu/xorg/extra-modules -> /etc/alternatives/x86_64-linux-gnu_xorg_extra_modules $ ls -l /etc/alternatives/x86_64-linux-gnu_xorg_extra_modules lrwxrwxrwx 1 root root 48 Oct 18 17:58 /etc/alternatives/x86_64-linux-gnu_xorg_extra_modules -> /usr/lib/x86_64-linux-gnu/xorg/x11-extra-modules $ ls -l /usr/lib/x86_64-linux-gnu/xorg/x11-extra-modules total 0


$ uname -a
Linux stan-inspiron 3.2.0-32-generic #51-Ubuntu SMP Wed Sep 26 21:33:09 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
$ $ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.1 LTS"

$ update-alternatives --display x86_64-linux-gnu_gl_conf
x86_64-linux-gnu_gl_conf - manual mode
  link currently points to /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf
/usr/lib/nvidia-current/ld.so.conf - priority 9700
  slave x86_64-linux-gnu_grub_fb_blacklist: /usr/share/nvidia-current/nvidia-current.grub-gfxpayload
  slave x86_64-linux-gnu_libOpenCL.so: /usr/lib/nvidia-current/libOpenCL.so
  slave x86_64-linux-gnu_libOpenCL.so_lib32: /usr/lib32/nvidia-current/libOpenCL.so
  slave x86_64-linux-gnu_libvdpau_nvidia.so: /usr/lib/nvidia-current/vdpau/libvdpau_nvidia.so
  slave x86_64-linux-gnu_libvdpau_nvidia.so.1: /usr/lib/nvidia-current/vdpau/libvdpau_nvidia.so.1
  slave x86_64-linux-gnu_libvdpau_nvidia.so.1_lib32: /usr/lib32/nvidia-current/vdpau/libvdpau_nvidia.so.1
  slave x86_64-linux-gnu_libvdpau_nvidia.so_lib32: /usr/lib32/nvidia-current/vdpau/libvdpau_nvidia.so
  slave x86_64-linux-gnu_man_nvidiaxconfig.gz: /usr/share/man/man1/alt-nvidia-current-xconfig.1.gz
  slave x86_64-linux-gnu_nvidia-autostart.desktop: /usr/share/nvidia-current/nvidia-autostart.desktop
  slave x86_64-linux-gnu_nvidia-smi.1.gz: /usr/share/man/man1/alt-nvidia-current-smi.1.gz
  slave x86_64-linux-gnu_nvidia.icd: /usr/share/nvidia-current/nvidia.icd
  slave x86_64-linux-gnu_nvidia_bug_report: /usr/lib/nvidia-current/bin/nvidia-bug-report.sh
  slave x86_64-linux-gnu_nvidia_desktop: /usr/share/nvidia-current/ubuntu-nvidia-settings.desktop
  slave x86_64-linux-gnu_nvidia_drv: /usr/lib/nvidia-current/xorg/nvidia_drv.so
  slave x86_64-linux-gnu_nvidia_modconf: /lib/nvidia-current/modprobe.conf
  slave x86_64-linux-gnu_nvidia_smi: /usr/lib/nvidia-current/bin/nvidia-smi
  slave x86_64-linux-gnu_nvidia_xconfig: /usr/lib/nvidia-current/bin/nvidia-xconfig
  slave x86_64-linux-gnu_xorg_extra_modules: /usr/lib/nvidia-current/xorg
  slave x86_64-linux-gnu_xvmcconfig: /usr/lib/nvidia-current/XvMCConfig
/usr/lib/x86_64-linux-gnu/mesa/ld.so.conf - priority 500
  slave x86_64-linux-gnu_xorg_extra_modules: /usr/lib/x86_64-linux-gnu/xorg/x11-extra-modules
Current 'best' version is '/usr/lib/nvidia-current/ld.so.conf'.

$ LIBGL_DEBUG=verbose /usr/lib/nux/unity_support_test -p
libGL: screen 0 does not appear to be DRI2 capable     
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/stan/.drirc: No such file or directory.
OpenGL vendor string:   VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 0x300)
OpenGL version string:  2.1 Mesa 8.0.4

Not software rendered:    no
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:       no

$ lspci -vnn | grep '\''[030[02]\]'                          
00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0116] (rev 09) (prog-if 00 [VGA controller])
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF108 [GeForce GT 540M] [10de:0df5] (rev ff) (prog-if ff)

$ LIBGL_DEBUG=verbose optirun /usr/lib/nux/unity_support_test -p 
OpenGL vendor string:   NVIDIA Corporation        
OpenGL renderer string: GeForce GT 525M/PCIe/SSE2
OpenGL version string:  4.2.0 NVIDIA 304.51

Not software rendered:    yes
Not blacklisted:          yes
GLX fbconfig:             yes
GLX texture from pixmap:  no
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:       no

My thinking is that Bumblebee is working as expected, however I am not able to make use of the Intel video and it fallbacks to VESA.

Could anyone shed any light and possibly help me?

For fullness, here is the Xorg.0.log file.

EDIT 1: I restored a back-up of my /etc directory from before the upgrade and compared all files againt their current version. There are no changes in any of the files in /etc/X11 so it leads me to think again it must be some library stuck somewhere causing mayhem.

EDIT 2: As suggested, xserver-xorg-core was re-installed:

$ dpkg -S libglx.so
  nvidia-current: /usr/lib/nvidia-current/xorg/libglx.so
  nvidia-current: /usr/lib/nvidia-current/xorg/libglx.so.304.51
  xserver-xorg-core: /usr/lib/xorg/modules/extensions/libglx.so
$ _ apt-get install --reinstall xserver-xorg-core
  Reading package lists... Done
  Building dependency tree
  Reading state information... Done
  0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
  Need to get 0 B/1,719 kB of archives.
  After this operation, 0 B of additional disk space will be used.
  (Reading database ... 342599 files and directories currently installed.)
  Preparing to replace xserver-xorg-core 2:1.11.4-0ubuntu10.8 (using .../xserver-xorg-core_2%3a1.11.4-0ubuntu10.8_amd64.deb) ...
  Unpacking replacement xserver-xorg-core ...
  Processing triggers for man-db ...
  Setting up xserver-xorg-core (2:1.11.4-0ubuntu10.8) ...
  localepurge: Disk space freed in /usr/share/locale: 0 KiB
  localepurge: Disk space freed in /usr/share/man: 0 KiB
  localepurge: Disk space freed in /usr/share/gnome/help: 0 KiB
  localepurge: Disk space freed in /usr/share/omf: 0 KiB
  Total disk space freed by localepurge: 0 KiB
$ _ reboot
$ LIBGL_DEBUG=verbose glxgears
  libGL: screen 0 does not appear to be DRI2 capable
  libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/swrast_dri.so
  libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
  libGL: Can't open configuration file /etc/drirc: No such file or directory.
  libGL: Can't open configuration file /home/stan/.drirc: No such file or directory.
  8434 frames in 5.0 seconds = 1686.685 FPS
  XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
        after 31148 requests (31148 known processed) with 0 events remaining.
$ _ updatedb
$ locate libglx.so
  /usr/lib/nvidia-current/xorg/libglx.so
  /usr/lib/nvidia-current/xorg/libglx.so.304.51
  /usr/lib/xorg/modules/extensions/libglx.so

Log files and issue experienced remain the same.

share|improve this question
add comment

1 Answer 1

$ apt-get install libgl1-mesa-dri libgl1-mesa-dri:i386 libgl1-mesa-dev mesa-common-dev libgl1-mesa-glx:i386 libgl1-mesa-glx libglapi-mesa libglapi-mesa:i386 libgles2-mesa libgles1-mesa libegl1-mesa-drivers libopenvg1-mesa libegl1-mesa libosmesa6:i386 libosmesa6 libdrm-nouveau1a libdrm-nouveau1a:i386 xserver-xorg-core libdrm-dev libdrm2 libdrm2:i386 libdrm-radeon1 libdrm-radeon1:i386 libdrm-nouveau1a libdrm-nouveau1a:i386 libdrm-intel1:i386 libdrm-intel1 libkms1 libgbm1 --reinstall
$ reboot
$ rm -f /usr/lib/xorg/modules/extensions/libglx.so* /usr/lib/xorg/modules/extensions/nvidia_drv.so

This sequence is wrong, you reinstalled a package providing libglx.so and removed that file again. Use http://packages.ubuntu.com/ (or dpkg -S libglx.so) to find which package provides that file. Then reinstall:

sudo apt-get install --reinstall xserver-xorg-core
share|improve this answer
    
Thanks for trying to help, it's a tough one this one. I think I tried your approach as well, but I repeated it just in case. See EDIT 2 above. –  StanAngeloff Oct 18 '12 at 22:29
    
I believe I've done something horrible and Intel video won't even start. The logs are not very helpful. I even tried startx with extreme verbosity, but that didn't yield anything good. I wish there was a way to debug why the Intel libraries are not being loaded. When I tried to force X to load just the intel driver in xorg.conf, I got a corrupted system so back to VESA for now. –  StanAngeloff Oct 18 '12 at 22:35
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.