Bug 71516 - [SOLVED] RV350 Radeon 9550 - no Unity 3D hardware support in Ubuntu 13.10, extremely slow
Summary: [SOLVED] RV350 Radeon 9550 - no Unity 3D hardware support in Ubuntu 13.10, ex...
Status: RESOLVED NOTOURBUG
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/r300 (show other bugs)
Version: 9.2
Hardware: x86 (IA32) Linux (All)
: medium major
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-11-12 00:54 UTC by Elven Decker
Modified: 2013-12-31 13:35 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Xorg.0.log (45.82 KB, text/plain)
2013-11-12 00:54 UTC, Elven Decker
Details
log file without ALWAYS_SOFTWARE flag set. (39.06 KB, text/plain)
2013-11-15 01:29 UTC, Elven Decker
Details
lightm log file without ALWAYS_SOFTWARE flag set (login fails) (7.67 KB, text/plain)
2013-11-15 11:43 UTC, Elven Decker
Details

Description Elven Decker 2013-11-12 00:54:05 UTC
Created attachment 89062 [details]
Xorg.0.log

lspci -nn | grep VGA
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] RV350 [Radeon 9550] [1002:4153]

/usr/lib/nux/unity_support_test -p
OpenGL vendor string:   VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.3, 128 bits)
OpenGL version string:  2.1 Mesa 9.2.1

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

From Xorg.0.log
(--) RADEON(0): Chipset: "ATI Radeon 9600 AS (AGP)" (ChipID = 0x4153)

RV350 listed as fully supported by Ubuntu at 
https://help.ubuntu.com/community/RadeonDriver (August 2013)
but is not found in Xorg.0.log

I also tried using MESA 10.* but no change.

What am I missing?  Thank you
Comment 1 Michel Dänzer 2013-11-12 02:55:49 UTC
Please attach the output of

LIBGL_DEBUG=verbose glxinfo 2>&1 >/dev/null
Comment 2 Elven Decker 2013-11-12 13:21:29 UTC
LIBGL_DEBUG=verbose glxinfo 2>&1 > /dev/null
libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/swrast_dri.so
libGL: Can't open configuration file /home/xx/.drirc: No such file or directory.
libGL: Can't open configuration file /home/xx/.drirc: No such file or directory.
libGL: Can't open configuration file /home/xx/.drirc: No such file or directory.
libGL: Can't open configuration file /home/xx/.drirc: No such file or directory.
libGL: Can't open configuration file /home/xx/.drirc: No such file or directory.
libGL: Can't open configuration file /home/xx/.drirc: No such file or directory.
libGL: Can't open configuration file /home/xx/.drirc: No such file or directory.
libGL: Can't open configuration file /home/xx/.drirc: No such file or directory.
libGL: Can't open configuration file /home/xx/.drirc: No such file or directory.
Comment 3 Elven Decker 2013-11-12 13:23:50 UTC
Looks like some thinhgs are definitely not there.  I'll work tonight to get them in place. Thanks!
Comment 4 Elven Decker 2013-11-12 13:41:07 UTC
I posted the output, it looks like some things are missing. Tonight I'll try to get them installed. Thanks. 

+-}


On Nov 11, 2013, at 9:55 PM, bugzilla-daemon@freedesktop.org wrote:

> Comment # 1 on bug 71516 from Michel Dänzer
> Please attach the output of
> 
> LIBGL_DEBUG=verbose glxinfo 2>&1 >/dev/null
> You are receiving this mail because:
> You reported the bug.
Comment 5 Elven Decker 2013-11-13 01:58:04 UTC
Added dri configuration file, but realized that still left me with software acceleration.  Still puzzled.
Comment 6 Michel Dänzer 2013-11-13 03:51:37 UTC
libGL is directly loading swrast instead of r300 for some reason. Make sure the environment variable LIBGL_ALWAYS_SOFTWARE is not set.
Comment 7 Elven Decker 2013-11-14 01:25:46 UTC
Good news and bad news, and light at the end of the tunnel

LIBGL_ALWAYS_SOFTWARE was getting set to one in /etc/X11/Xsession.d/50_check_unity_support. So I overrode the value as below:

cat 50_check_unity_support
# This file is sourced by Xsession(5), not executed.
# If the hardware does not pass unity_support_test, fall back to LLVMpipe
# which does.

if [ "x$DESKTOP_SESSION" = "xubuntu" ]; then
    /usr/lib/nux/unity_support_test || export LIBGL_ALWAYS_SOFTWARE=1
fi
export LIBGL_ALWAYS_SOFTWARE=0

which set LIBGL_ALWAYS_SOFTWARE to zero:

printenv | grep ALWAYS
LIBGL_ALWAYS_SOFTWARE=0

Unfortunately there was no change in the behavior of the system and we still see unity not supported... 

/usr/lib/nux/unity_support_test -p
OpenGL vendor string:   VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.3, 128 bits)
OpenGL version string:  2.1 Mesa 9.2.1

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

LIBGL_DEBUG=verbose glxinfo 2>&1 >/dev/null
libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/swrast_dri.so

based on your comment about the r300 driver, I tried a forced loading of R300 by putting it into an xorg.conf... in Xorg.0.log we see
[    54.122] (II) LoadModule: "r300"
[    54.122] (WW) Warning, couldn't open module r300
[    54.122] (II) UnloadModule: "r300"
[    54.123] (II) Unloading r300
[    54.123] (EE) Failed to load module "r300" (module does not exist, 0)

I'm clearly missing a package... which one??  Thanks
Comment 8 Michel Dänzer 2013-11-14 02:07:46 UTC
(In reply to comment #7)
> printenv | grep ALWAYS
> LIBGL_ALWAYS_SOFTWARE=0

LIBGL_ALWAYS_SOFTWARE forces software rendering regardless of its value. You need

 unset LIBGL_ALWAYS_SOFTWARE

instead, or just don't set it in the first place.

So, why does unity_support_test fail without LIBGL_ALWAYS_SOFTWARE set?
Comment 9 Elven Decker 2013-11-15 01:29:32 UTC
Created attachment 89244 [details]
log file without ALWAYS_SOFTWARE flag set.
Comment 10 Michel Dänzer 2013-11-15 02:20:41 UTC
(In reply to comment #9)
> log file without ALWAYS_SOFTWARE flag set.

Thanks, but LIBGL_ALWAYS_SOFTWARE only affects libGL, not the X server. We need to see the output of unity_support_test without it set.

Does Unity work if you hack the script not to set LIBGL_ALWAYS_SOFTWARE?
Comment 11 Elven Decker 2013-11-15 02:34:59 UTC
X won't start without LIBGL_ALWAYS_SOFTWARE set.  Log file is Xort.0.log.sav above.

I notice that Xorg.0.log and lspci identify my card in different ways?  Radeon 9600 vs. 9550?

From Xorg.0.log
(--) RADEON(0): Chipset: "ATI Radeon 9600 AS (AGP)" (ChipID = 0x4153)

lspci -nn | grep VGA
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] RV350 [Radeon 9550] [1002:4153]

***

Another thought... 

Not sure anybody needs to run Xorg -configure anymore, but I tried it to see if I could learn anything and got the message "Number of created screens does not match number of detected devices".  The configure process noted three screens and three monitors, I believe my card supports my monitor and an external TV.
Comment 12 Michel Dänzer 2013-11-15 03:05:42 UTC
(In reply to comment #11)
> X won't start without LIBGL_ALWAYS_SOFTWARE set.  Log file is Xort.0.log.sav
> above.

That doesn't show any problem. Maybe check the display manager (lightdm?) log files to see if the X server stderr contains more information.

Meanwhile, you could let it set LIBGL_ALWAYS_SOFTWARE to get into X, then run unity_support_test something like this:

( unset LIBGL_ALWAYS_SOFTWARE; /usr/lib/nux/unity_support_test -p )


> Radeon 9600 vs. 9550?

Just two different marketing names for the same hardware.


> Not sure anybody needs to run Xorg -configure anymore, [...]

Nobody does. It's been deprecated and barely working for a long time.
Comment 13 Elven Decker 2013-11-15 11:23:08 UTC
unset LIBGL_ALWAYS_SOFTWARE; /usr/lib/nux/unity_support_test -p

yields:
unset LIBGL_ALWAYS_SOFTWARE; /usr/lib/nux/unity_support_test -p
OpenGL vendor string:   X.Org R300 Project
OpenGL renderer string: Gallium 0.4 on ATI RV350
OpenGL version string:  2.1 Mesa 9.2.1

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


***

I assume (don't know how to test and gdm is not installed) lightdm is my display manager, I reinstalled lightdm but no change. Logs look ok, I am going to restart without software rendering (so X fails and I get kicked back to login screen) and check those logs.
Comment 14 Elven Decker 2013-11-15 11:43:08 UTC
Created attachment 89261 [details]
lightm log file without ALWAYS_SOFTWARE flag set (login fails)
Comment 15 Elven Decker 2013-11-15 11:46:04 UTC
I uploaded the lightdm log from an attempted login when I had stopped the ALWAYS_SOFTWARE flag from getting set.

Thanks for staying with this one.
Comment 16 Elven Decker 2013-11-15 22:30:20 UTC
Progress!!

Starting from the login screen, I press control-alt F2 to bring up a command line.  Then I run startx.  I don't get a window manager, but I can find my way to xterm and then work from the command line after X starts.  glxgears looks normal - smooth and as quickly as I believe the 9550 can go. :)  Opening firefox, CNN and youtube videos play smoothly.

From your comments, I believe I have sidestepped lightdm. I opened synaptic and reinstalled lightdm and associated programs.  I then minimized synaptic and now I know what the display manager does.  That's OK, I'll be rebooting anyway.

Next steps?  I believe there is /usr/lib and an /etc folders.  Can I clean them out and do another re-install?  Will the config files get regenerated?

Thanks
Comment 17 Elven Decker 2013-11-16 22:26:27 UTC
Found in x-0-greeter.log:

** (at-spi2-registryd:1630): WARNING **: Failed to register client: GDBus.Error:
org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was
 not provided by any .service files

** (at-spi2-registryd:1630): WARNING **: Unable to register client with session 
manager

and

** (gnome-settings-daemon:1928): WARNING **: Unable to register client: GDBus.Er
ror:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager
 was not provided by any .service files

Same fil...My screen background isn't getting loaded... Looks like a permissions problem, but I haven't changed permissions on the file. Odd.

[+11.17s] DEBUG: background.vala:155: Error loading background: Failed to open file '/home/arthur/Desktop/IMG_0274.JPG': Permission denied

file closes with three more messages

** (gnome-settings-daemon:1928): WARNING **: Name taken or bus went away - shutting down

(gnome-settings-daemon:1928): dconf-WARNING **: failed to commit changes to dconf: The connection is closed
** Message: PID 2470 (we are 2470) sent signal 15, shutting down...

(nm-applet:2470): libappindicator-WARNING **: Unable to send signal for NewStatus: The connection is closed
Comment 18 Elven Decker 2013-11-17 20:00:17 UTC
I installed gdm and it works fine.  I'm happy to help you debug this, but if you have more urgent requests, please feel free to ignore this.  Thank you for helping me pin this down.
Comment 19 Michel Dänzer 2013-11-18 06:35:17 UTC
I think you need to work this out downstream with Ubuntu.
Comment 20 Elven Decker 2013-12-31 13:35:32 UTC
(In reply to comment #18)
> I installed gdm and it works fine.  I'm happy to help you debug this, but if
> you have more urgent requests, please feel free to ignore this.  Thank you
> for helping me pin this down.

Another fix for this issue is to install lightdm-gtk-greeter.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.