xserver-xgl on gutsy doesn't work

Bug #136598 reported by Luca Carrogu
34
Affects Status Importance Assigned to Milestone
xserver-xgl (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Binary package hint: xserver-xgl

I upgrade to gusty since tribe 3
My configuration was xserver-xgl with separate xsession plus fglrx and everything was working (direct rendering enabled)
The xserver-xgl version that I was using since today was the one in feisty (xserver-xgl_7.2.0.git.20070224-0ubuntu3_i386)
Today a xerver-xgl deb appears in the gusty repo, it's 1:1.1.99.1~git20070727-0ubuntu1, so I upgraded.
But it causes direct rendering no longer work. The driver are correctly installed.
The strange thing is that also login in a only xorg xsession, xgl still load, causing the direct rendering to not work.
Removing the package solve the issues, but I need it.

Revision history for this message
Mircea Deaconu (mirceade) wrote :

What does fglrxinfo say? Try to reinstall the graphics drivers via the GUI.

Revision history for this message
Andreas Wenning (andreas-wenning) wrote :

Xgl is started everytime you start an xsession (changed in the new version). From the changelog:
  * debian/00xserver-xgl_session-start
    + Wrapper script to automatically add appropriate accel options to Xgl,
      make it fail to launch under some drivers that won't work, add
      appropriate cookie to xauth, and set DISPLAY.
    + Use xmodmap to disable shift-backspace killing Xgl
    + Install into /etc/X11/Xsession.d to automatically start Xgl (LP: 122939)
    + Start Xgl first so other session scripts such as seahorse get the right
      DISPLAY

Revision history for this message
John Dong (jdong) wrote : Re: [Bug 136598] Re: xserver-xgl on gutsy doesn't work

For what it's worth, I've been using fglrx on Gutsy and compiz with Xgl and
have not had a single issue.

Revision history for this message
Luca Carrogu (motoplux) wrote :

fglrxinfo says

display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI MOBILITY RADEON X600 SE
OpenGL version string: 2.0.6747 (8.40.4)

so how can I solve?

Revision history for this message
plun (plun) wrote :

I have exactly same trouble on a nVidia card.

If I uninstalls xserver-xgl and logs in with failsafe mode Direct Rendering
works again. (GTK crashes with normal login... searches for xserver-xgl)

Running CF from GIT with (of course) Direct Rendering.... :-)

Revision history for this message
hexion (hexium) wrote :

I can confirm this bug.
Everything was running well till I upgraded xserver-xgl.

Now, XGL is started but without any acceleration.
From Xorg.0.log:
(EE) AIGLX error: dlsym for __driCreateNewScreen_20050727 failed (/usr/lib/dri/fglrx_dri.so: undefined symbol: __driCreateNewScreen_20050727)
(EE) AIGLX: reverting to software rendering
(II) Loading local sub module "GLcore"
(II) LoadModule: "GLcore"

So AIGLX is started (it shouldn't). Note, I'm using the same xorg.conf as in my other partition with Feisty. There, XGL, fglrx, and compiz work without issues.

I tried to modify my xorg.conf to add "AIGLX" "off".. (I used "Composite" "0"). Doesn't work yet, but I saw in the logs that AIGLX wasn't started.

I tried also to downgrade to the previous version... no can do.

Changed in xserver-xgl:
status: New → Confirmed
Revision history for this message
plun (plun) wrote :

xserver-xgl brakes nvidias server

OK in failsafe mode (below)

Cannot find where xserver-xgl is started... a lot of scripts.... one comes from Kristian, Compiz-Fusion (dev).

plun@dunder:~$ glxinfo
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
server glx extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig,
    GLX_SGIX_pbuffer, GLX_SGI_video_sync, GLX_SGI_swap_control,
    GLX_EXT_texture_from_pixmap, GLX_ARB_multisample, GLX_NV_float_buffer,
    GLX_ARB_fbconfig_float
client glx vendor string: NVIDIA Corporation
client glx version string: 1.4
client glx extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info,
    GLX_EXT_visual_rating, GLX_EXT_import_context, GLX_SGI_video_sync,
    GLX_NV_swap_group, GLX_NV_video_out, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
    GLX_SGI_swap_control, GLX_NV_float_buffer, GLX_ARB_fbconfig_float,
    GLX_EXT_fbconfig_packed_float, GLX_EXT_texture_from_pixmap,
    GLX_EXT_framebuffer_sRGB

Revision history for this message
Justin Smith (erovore) wrote :

Confirmed here as well.. dont see how to revert not using it at all. Extremely slow. Can't use the desktop at all normally and if I remove the package it wont do anything after login.

Revision history for this message
hexion (hexium) wrote :

As someone stated in the forums ( http://ubuntuforums.org/showthread.php?t=540386 ), deleting this file and restarting will do the trick. At least for some of us.

sudo rm /etc/X11/Xsession.d/00xserver-xgl_start-server

Revision history for this message
Chris Halse Rogers (raof) wrote :

This is not actually a bug, but rather is intended behaviour. Installing xgl now makes it start automatically. Among other things, this means that those people who are already starting Xgl in a session script will have problems doing that, as they'll be trying to start it twice.

There is bug #136962 which affects people on the removal of Xgl - I'll attempt to fix this shortly.

Revision history for this message
Luca Carrogu (motoplux) wrote :

I tried to get 'round the problem...
In my /etc/X11/Xsession.d/ I have 10fglrx
so I moved 00xserver-xgl_start-server to 15xserver-xgl_start-server and now everything is working like before
In this way of course Xgl start automatically with normal session and I don't have to start with an "Xgl session"
By the way, IMHO was better having two separate session.

Revision history for this message
Chris Halse Rogers (raof) wrote :

Could you please attach your 10fglrx file? Do you know where it came from, because it doesn't seem to be installed by the xorg-driver-fglrx package from what I can tell (which is not a lot, I don't have ATI hardware).

Any other oddball Xsession.d files that people can throw at me, so I can make sure Xgl works for everyone?

Revision history for this message
Luca Carrogu (motoplux) wrote :

mMy 10fglrx attached.

It cames from the packet xorg-driver-fglrx that I have created downloading the latest driver (8.40.4) from the ATI official site.
To create it I followed this guide "http://wiki.cchtml.com/index.php/Ubuntu_Feisty_Installation_Guide" following the "Method 2: Install the 8.40.4 Driver Manually"

Revision history for this message
John Dong (jdong) wrote :

I can confirm same behavior -- 10fglrx needs to run before Xgl, else no 3D
is accelerated.

LIBGL_DRIVERS_PATH=/usr/lib/dri
if [ `uname -m` = 'x86_64' ]; then
  if [ -d /usr/lib32/dri ]; then
    LIBGL_DRIVERS_PATH=${LIBGL_DRIVERS_PATH}:/usr/lib32/dri
    LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib32
    export LD_LIBRARY_PATH
  fi
fi
export LIBGL_DRIVERS_PATH

Revision history for this message
lukas engelmann (lukeng) wrote :

same Problem here with the driver (8.39.4) from the ATI official site.

but after moving xserver-xgl_start-server to 15xserver-xgl_start-server xgl works fine, but no 3d support.

glxinfo says:
glxinfo
name of display: :1.0
Xlib: extension "XFree86-DRI" missing on display ":1.0".
display: :1 screen: 0
direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating,
    GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_OML_swap_method,
    GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_hyperpipe,
    GLX_SGIX_swap_barrier, GLX_SGIX_fbconfig
client glx vendor string: ATI
client glx version string: 1.3
client glx extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context,
    GLX_ARB_get_proc_address, GLX_SGI_video_sync, GLX_ARB_multisample,
    GLX_ATI_pixel_format_float, GLX_ATI_render_texture
GLX version: 1.2
GLX extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context,
    GLX_ARB_multisample
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Mobility Radeon X1400
OpenGL version string: 1.2 (2.0.6650 (8.39.4))
OpenGL extensions:
    GL_ARB_multitexture, GL_ARB_texture_border_clamp, GL_ARB_texture_cube_map,
    GL_ARB_texture_env_add, GL_ARB_texture_env_combine,
    GL_ARB_texture_env_dot3, GL_ARB_transpose_matrix, GL_EXT_abgr,
    GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract,
    GL_EXT_texture_env_add, GL_EXT_texture_env_combine,
    GL_EXT_texture_env_dot3, GL_EXT_texture_lod_bias

   visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
 id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x2c 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x2d 24 tc 0 32 0 r . . 8 8 8 8 0 0 0 0 0 0 0 0 0 None
0x2e 32 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 Ncon
0x2f 32 tc 0 32 0 r . . 8 8 8 8 0 0 0 0 0 0 0 0 0 Ncon

fglrxinfo says:
 fglrxinfo
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Mobility Radeon X1400
OpenGL version string: 2.0.6650 (8.39.4)

what to do? and is this change of having xgl always working meant, to have compiz-fusion enabled in the usual gnome-session with fglrx. because it doesnt work too.

thanks for help..

Revision history for this message
Luca Carrogu (motoplux) wrote :

to lukas engelmann
Having the "direct rendering: No" it's normal running Xgl, because it takes the 3D acceleration. But compiz has to work
Are you sure that you aren't starting twice Xgl?

Revision history for this message
John Dong (jdong) wrote :

Lukas, are you sure that you lost 3D support? verify by running some 3D
application instead of glxinfo output. Xgl accelerates 3D indirectly, but it
is still accelerated. Direct rendering != 3D support.

Also, wihtin Xgl, it is expected that FGLRX X11 extensions will not be
reachable.

Revision history for this message
Clay Fandre (clay-fandre) wrote :

Another side effect other than "Direct rendering = No" is XINERAMA stopped working, at least with the nvidia driver. ('xdpyinfo | grep XINERAMA' returned nothing. Once I removed
/etc/X11/Xsession.d/00xserver-xgl_start-server things started working again.

Revision history for this message
Pepie 34 (romain-herault+launchpad) wrote :

1) xserver-xgl is not mandatory
So if you have fglrx but no xgl, you can never log on
2) xorg fglrx can be loaded but not dri, for examples if something is wrong with linux-restricted
So Xgl is started on mesa, which is really slow...

Expeted behaviour in my point of view
1) you should definitively be able to choose to start XGL at GDM.
2) never start XGL if mesa is used with no Direct rendering

A better solution than to remove /etc/X11/Xsession.d/00xserver-xgl_start-server is to edit this file: add your xorg driver to the XGL_BLACKLIST

Revision history for this message
Trond Thorbjørnsen (tthorb) wrote :

Xgl works when changing 00xserver-xgl_start-server to 15xserver-xgl_start-server, but when trying:

$ fgl_glxgears
Using GLX_SGIX_pbuffer
Xlib: extension "XFree86-DRI" missing on display ":1.0".
Error: couldn't get fbconfig

But the following gives:

$ fglrxinfo
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Mobility Radeon X1400
OpenGL version string: 2.0.6473 (8.37.6)

and Beryl works...

I've read the last post, but I can't find the XGL_BLACKLIST, so I haven't tried that yet.

Revision history for this message
Pepie 34 (romain-herault+launchpad) wrote :

In 00xserver-xgl_start-server at the line 24

replace
XGL_BLACKLIST="nv vga vesa vmware"
by
XGL_BLACKLIST="nv vga vesa vmware fglrx avivo"

Doing that you will start on a standard Xorg (no XGL) so no desktop effect but you can run openGL application like google eartgh

Revision history for this message
Mircea Deaconu (mirceade) wrote :

"fglrxinfo says

display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI MOBILITY RADEON X600 SE
OpenGL version string: 2.0.6747 (8.40.4)

so how can I solve?"

Dude, first get rid of that ati driver - 8.40. It has caused me only sorrow. Use the one Ubuntu provides by default (8.37.6) using the Restricted Drivers utility.
Second, report if the latest xgl Ubuntu update solved anything.

Revision history for this message
Mircea Deaconu (mirceade) wrote :

Forget about it. I haven't exactly read all your comments before posting mine. Sorry about that.

Revision history for this message
Lee Sudduth (lsudduth) wrote :

There are some changes since the earlier comments were posted. 00xserver-xgl_start-server in /etc/X11/Xsession.d/ is replaced with 98xserver-xgl_start-server as installed. However there are still problems with very slow performance on fglrx. The XGL_BLACKLIST is not in the file anymore. Instead you should touch ~/.config/xserver-xgl/disable to turn off XGL at startup.

Revision history for this message
rhY (rhy) wrote : Wrong Vendor.

I'm having a similar issue. Also, when I run glxinfo it tells me Direct Rendering: No (even though glxgears gets 2000+ fps!), and says my vendor is SGI, even though I am clearly only on Nvidia.

Very strange. Games run terribly, and any kind of 3d in wine crashes the wine app immediately, leaving me back on the desktop with no Mario Kart.

Revision history for this message
John Dong (jdong) wrote :

This is completely normal behavior -- Applications inside Xgl do OpenGL via Xgl's OpenGL library (which does have vendor = SGI). It is hardware accelerated, but also indirect at the same time. It's also sometimes quirky and will NOT run intensive games or heavy opengl apps well. This is a limitation of the xgl server

Revision history for this message
rhY (rhy) wrote : Re: [Bug 136598] Re: xserver-xgl on gutsy doesn't work

John Dong wrote:
> This is completely normal behavior -- Applications inside Xgl do OpenGL
> via Xgl's OpenGL library (which does have vendor = SGI). It is hardware
> accelerated, but also indirect at the same time. It's also sometimes
> quirky and will NOT run intensive games or heavy opengl apps well. This
> is a limitation of the xgl server
>
>
Well I've tried everything, and I cannot get Direct Rendering to work.
glxinfo says "Direct Rendering: No", no matter what else I try.

Revision history for this message
Chris Halse Rogers (raof) wrote :

I believe that the original bug here (Xgl being unaccelerated due to it starting before fglrx has set up its 3D stuff) has been fixed by xserver-xgl version 1:1.1.99.1~git20070727-0ubuntu2. If anyone still has unaccelerated Xgl on fglrx with compiz (Xgl+metacity is slow on fglrx due to bugs in the fglrx drivers), please feel free to reopen this bug.

Comments here which are *not* bugs:
1) fgl_glxgears doesn't work: This is a problem with the way fgl_glxgears works. It is not (as far as I can tell) an Xgl bug, nor does it indicate that 3D acceleration won't work.
2) glxinfo returns "Direct rendering: no": This is not a bug. 3D acceleration under Xgl *must* go through the Xgl server (hence, "indirect"). However, this does not mean that 3D acceleration doesn't work. There is a small 3D performance penalty involved, but it is quite small.
3) 3D apps don't work under Wine: This is not an Xgl bug. This is a bug in Wine for Direct3D apps (Wine doesn't believe that it can do 3D under Xgl, even though it can), and a stupid design for Windows OpenGL apps (which believe "direct rendering: no" means no OpenGL).

The "no Xinerama under Xgl" comment should also be fixed by 1:1.1.99.1~git20070727-0ubuntu2. If it isn't, please open a *new* bug.

Changed in xserver-xgl:
importance: Undecided → Medium
status: Confirmed → Fix Released
Revision history for this message
eldelinux (eldelinux) wrote :

Upgrade from feisty to gutsy with same problem on laptop "Acer Aspire 5100". The new xorg-driver-fglrx driver work fine on laptop, when I installed previous fglrx driver, X session did not close, the system remained in an indeterminate state and the system did not powerdown, if I closed the X session with keys "CTRL+ALT+BACKSPACE" and in kdm window selected close system option, this worked fine.

Revision history for this message
Ali Sattari (corelist) wrote :

Just to confirm the issue.
I have removed xserver-xgl package, now i have both direct rendering and compositing (compiz fusion) working well.

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.