LinuxQuestions.org
Latest LQ Deal: Linux Power User Bundle
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 12-30-2013, 02:23 PM   #1
kpc21
LQ Newbie
 
Registered: Dec 2013
Distribution: Arch
Posts: 8

Rep: Reputation: Disabled
Radeon GPU - (very) low performance with open-source drivers and other problems


My distro is Archlinux, the kernel is now 3.12.6-1 (standard from the Arch repository):
Code:
$ uname -a
Linux kacper-archlinux 3.12.6-1-ARCH #1 SMP PREEMPT Fri Dec 20 19:54:53 CET 2013 i686 GNU/Linux
GPU - ATI Radeon HD3200 (integrated with the motherboard).

If someone is interested in the total lspci result - I've put it here: http://pastebin.com/mqLaC634


Initially I used open source ("radeon") drivers, but I wasn't pleased with their efficiency in 3D, so I changed them to closed source ("catalyst") drivers - exactly legacy ones, because the latest ones no longer supported my GPU. 3D really improved, but reading that open drivers should be almost as efficient as closed ones, and being a bit discouraged by some errors (sometimes after resume from suspend I couldn't see anything on the screen, it was all black) I decided to return to open drivers, at least for a while, and check their performance with better tools than glxgears.

Following a recommendation of a user of Archlinux forum, I tested both drivers with lightsmark benchmark. And it looks as follows:
* results of lightsmark for fglrx: http://openbenchmarking.org/result/1...SO-FGLRXRESU00
* for open-sourced driver: http://openbenchmarking.org/result/1...SO-RADEONRES23 (for resolution 1024x768, the benchmark didn't recognize 1440x900, but I seem that for lower resolution results should be better)

And after the return I have even greater problems than with the catalyst driver.

Firstly I had problems with setting the screen resolution of 1440x900. Drivers insisted on using a resolution not greater than 1024x768. I had to persuade them using xorg.conf - in theory use of this file with open drivers shouldn't be needed at all, and it wasn't needed previously, before installing closed drivers.

Still I have problems with setting such a resolution in TTY console and in Grub. Previously everything was OK, I had it everywhere. To use closed drivers I had to disable KMS and consequently I had to stay with 1024x768 (or, alternatively, 1280x1024, but from these two I preferred 1024x768) in Grub and TTY. Now I turned KMS on back, but still I have 1024x768 in TTY and if I disable manual resolution setting in Grub config, I get something very strange - the Grub resolution is very low (something like 800x600, or even 640x480), but widescreen.

And, what is most important, I have also a problem with suspending and hibernating the system from Xfce (which I use as a graphical environment) - getting a dialogue box with a statement:
Quote:
GDBus.Errorrg.freedesktop.DBus.Error.AccessDenied: Operation not permitted
If it matters, I don't use a login manager like gdm, I use just this method: https://wiki.archlinux.org/index.php/Start_X_at_Login - but previously everything worked. And now suspend from the console, with pm-suspend command, still works. But from the Xfce it doesn't.


What can I do with these problems? And is it normal that open-source drivers are so inefficient in comparison with these from ATI/AMD?


What may matter yet...
Xorg.0.log: http://pastebin.com/XzYEuUum
/etc/X11/xorg.conf.d/10-monitor.conf: http://pastebin.com/qsv94dSc
/boot/grub/grub.cfg: http://pastebin.com/k41ubd3V
(i edit it manually because when I use grub-mkconfig I get errors).

Errors of grub-mkconfig:
Code:
$ grub-mkconfig -o /test
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
  No volume groups found
error: out of memory.
error: syntax error.
error: Incorrect command.
error: syntax error.
Syntax error at line 164
Syntax errors are detected in generated GRUB config file.
Ensure that there are no errors in /etc/default/grub
and /etc/grub.d/* files or please file a bug report with
/test.new file attached.done

My topic on Arch forum, where my issues with both open and closed driver are described in detail: https://bbs.archlinux.org/viewtopic.php?id=173077

Last edited by kpc21; 12-30-2013 at 03:20 PM.
 
Old 12-31-2013, 09:09 AM   #2
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware & Android
Posts: 9,361

Rep: Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980
RS780 Not old, but "obsolete" at about 2 years of age because radeon has dropped them from their driver.

You need latest stuff with the latest radeon drivers. Xorg-server, libdrm, pixman, & mesa have all been advancing big time. Get the latest of all of them. I had the same thing with an RS690M except that was basically new when radeon called it obsolete. Updating the OS is probably the easiest way to do it. I tried building my way forward and hit the rocks big time despite my LFS experience.

Also, with all those installs, check the output of
ls -l /usr/lib(64)/libGL*
on OSS, libGL.so --> libGL.so.1 --> libGL.so.1.2
on catalyst, libGL.so --> libGL.so.1 --> libGL.so-fglrx-version
and similar for the other libGL* files.
 
1 members found this post helpful.
Old 12-31-2013, 10:35 AM   #3
kpc21
LQ Newbie
 
Registered: Dec 2013
Distribution: Arch
Posts: 8

Original Poster
Rep: Reputation: Disabled
But now, with radeon (open source) drivers I have everything up to date. When I used fglrx, I had to downgrade Xorg (as far as I remember - to the version 1.12), because legacy Catalyst drivers didn't support the latest version. After removing Catalyst I upgraded everything and now I have Xorg in version 1.14. Radeon driver is in version 1:7.2.0-1, libdrm in 1:7.2.0-1, pixman in 0.32.4-1, mesa in 10.0.1-1. Aren't they the latest versions?

The result of ls -l for libGL in /usr/lib (i use 32-bit kernel) is:
Code:
$  ls -l /usr/lib/*libGL*
lrwxrwxrwx 1 root root     21 12-13 19:18 /usr/lib/libGLESv1_CM.so -> libGLESv1_CM.so.1.1.0
lrwxrwxrwx 1 root root     21 12-13 19:18 /usr/lib/libGLESv1_CM.so.1 -> libGLESv1_CM.so.1.1.0
-rwxr-xr-x 1 root root  20700 12-13 19:18 /usr/lib/libGLESv1_CM.so.1.1.0
lrwxrwxrwx 1 root root     18 12-13 19:18 /usr/lib/libGLESv2.so -> libGLESv2.so.2.0.0
lrwxrwxrwx 1 root root     18 12-13 19:18 /usr/lib/libGLESv2.so.2 -> libGLESv2.so.2.0.0
-rwxr-xr-x 1 root root  21692 12-13 19:18 /usr/lib/libGLESv2.so.2.0.0
lrwxrwxrwx 1 root root     19 08-09 22:34 /usr/lib/libGLEWmx.so -> libGLEWmx.so.1.10.0
lrwxrwxrwx 1 root root     19 08-09 22:34 /usr/lib/libGLEWmx.so.1.10 -> libGLEWmx.so.1.10.0
-rwxr-xr-x 1 root root 399972 08-09 22:34 /usr/lib/libGLEWmx.so.1.10.0
lrwxrwxrwx 1 root root     26 12-29 00:57 /usr/lib/libGLEWmx.so.1.5 -> /usr/lib/libGLEWmx.so.1.10
lrwxrwxrwx 1 root root     28 12-29 00:57 /usr/lib/libGLEWmx.so.1.5.0 -> /usr/lib/libGLEWmx.so.1.10.0
lrwxrwxrwx 1 root root     17 08-09 22:34 /usr/lib/libGLEW.so -> libGLEW.so.1.10.0
lrwxrwxrwx 1 root root     17 08-09 22:34 /usr/lib/libGLEW.so.1.10 -> libGLEW.so.1.10.0
-rwxr-xr-x 1 root root 437952 08-09 22:34 /usr/lib/libGLEW.so.1.10.0
lrwxrwxrwx 1 root root     24 12-29 00:56 /usr/lib/libGLEW.so.1.5 -> /usr/lib/libGLEW.so.1.10
lrwxrwxrwx 1 root root     26 12-29 00:57 /usr/lib/libGLEW.so.1.5.0 -> /usr/lib/libGLEW.so.1.10.0
lrwxrwxrwx 1 root root     19 12-13 19:19 /usr/lib/libGL.so -> mesa-libGL.so.1.2.0
lrwxrwxrwx 1 root root     19 12-13 19:19 /usr/lib/libGL.so.1 -> mesa-libGL.so.1.2.0
lrwxrwxrwx 1 root root     19 12-13 19:19 /usr/lib/libGL.so.1.2.0 -> mesa-libGL.so.1.2.0
lrwxrwxrwx 1 root root     15 2013-02-26  /usr/lib/libGLU.so -> libGLU.so.1.3.1
lrwxrwxrwx 1 root root     15 2013-02-26  /usr/lib/libGLU.so.1 -> libGLU.so.1.3.1
-rwxr-xr-x 1 root root 546512 2013-02-26  /usr/lib/libGLU.so.1.3.1
lrwxrwxrwx 1 root root     19 12-13 19:18 /usr/lib/mesa-libGL.so.1 -> mesa-libGL.so.1.2.0
-rwxr-xr-x 1 root root 362548 12-13 19:18 /usr/lib/mesa-libGL.so.1.2.0
I seem it's OK, at the ends of chains of symlinks there are the latest available versions.

Symlinks for libGLEWmx.so.1.5, libGLEW.so.1.5.0, libGLEW.so.1.5 and libGLEW.so.1.5.0 has been created manually by me, forcing some software to work - but, as I hope, it doesn't matter.

Last edited by kpc21; 12-31-2013 at 10:38 AM.
 
Old 01-01-2014, 06:11 AM   #4
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware & Android
Posts: 9,361

Rep: Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980
How's the performance?
 
1 members found this post helpful.
Old 01-01-2014, 07:58 AM   #5
kpc21
LQ Newbie
 
Registered: Dec 2013
Distribution: Arch
Posts: 8

Original Poster
Rep: Reputation: Disabled
In Lightsmark - approximately 2.39 FPS (1024x768). Sometimes one frame was stopped for more than 1 second.

For comparison - in case of drivers from ATI the mean value in Lightsmark is 30.07 FPS (for 1440x900).
 
Old 01-01-2014, 08:40 AM   #6
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware & Android
Posts: 9,361

Rep: Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980
I don't know lightsmark. They offer a Windows+linux installer which is weird. 2.x fps sounds crazy - any output (errors visible in syslog, 'dmesg |tail', or on Ctrl_Alt_F1, or wherever stdout resides)?

I would expect more than 2 FPS on anything later than my old RS690M, and even that too, but that required LLVM because it had basically no vertex shader at all. It's very difficult to guess now where your system is messed up, but that is the case, I'm sure. Much as I hate doing it myself, a reinstall is what I would think of unless there was some errors showing to give you a clue. If Mesa hasn't been reinstalled, I would do that more or less as a just-in-case thing.

Also illuminating might be a look at top while lightsmark is chewing at 2fps. What's grabbibg the power? one (bug laden) wine process consumed darn near 200% cpu on a twin core here and took hours to do what windows did in a minute.
 
1 members found this post helpful.
Old 01-01-2014, 10:30 AM   #7
kpc21
LQ Newbie
 
Registered: Dec 2013
Distribution: Arch
Posts: 8

Original Poster
Rep: Reputation: Disabled
There is something called Phoronix Test Suite in Arch repo, allowing to install Lightsmark (and lots of other benchmarks) in a quick and easy way.

The problem with KMS resolution has solved on its own. Yesterday I had to move the desk under which there is the PC. Something must have happened with the VGA cable, because now, after that, everything works fine. So I managed to run Lightsmark with 1440x900 resolution (and still open drivers). Results:

http://i.imgur.com/HDE45SF.png

So in 1440x900 with open-source drivers I have 1.79 FPS - what was predictable. I see that it's very strange, possibly looking as I didn't have 3D acceleration at all (but in glxinfo I have: direct rendering - yes)...

I will show even all dmesg result (in the last 10 lines nothing interesting and connected with graphics): http://pastebin.com/vEj5y7PB
Maybe you will find something as a more experienced user.

Later on I will redirect Xorg stdout to a file and also show it. And look for something on my own, but I am not experienced in reading such logs, so most of all I count on help of other users.

I have already shown Xorg.0.log (isn't is just a stdout or stderr of Xorg?) in the first post: http://pastebin.com/XzYEuUum
Such a log from today is here: http://pastebin.com/aPqUjpnK

Last edited by kpc21; 01-01-2014 at 10:32 AM.
 
Old 01-02-2014, 03:34 AM   #8
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware & Android
Posts: 9,361

Rep: Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980
With my old banger RS690M, two things were important
1. the kernel module had to do KMS and that shrunk the fonts to these tiny squiggles that looked vaguely like Arabic full stops. I would then load a terminus font to get a visible font again.

2. The important stuff was in /var/log/Xorg.0.log. You had to get DRI. It wasn't always faster for me, but it eventually edged over the software rendering. (People may laugh - I did). The reason you want it is that if you don't have it, your cpu is your gpu, and the load goes up accordingly. On a video test suite, it just falls to it's knees.

Grok your Xorg.0.log. It tells you pretty plainly what is wrong. And I wouldn't depress yourself with test suites. I would go at what you are doing. If you play a video full screen and there's real fast talking, do the lips keep in sync? How does it perform in a game, if you do games.
 
1 members found this post helpful.
Old 01-02-2014, 08:44 AM   #9
kpc21
LQ Newbie
 
Registered: Dec 2013
Distribution: Arch
Posts: 8

Original Poster
Rep: Reputation: Disabled
In normal video playing everything was fine, but XBMC was very slow even without playing any video (moved mouse pointer jumps from one position to another). If I wanted to play something, it crashed:
Code:
$ xbmc
libGL error: failed to load driver: r600
libGL error: Try again with LIBGL_DEBUG=verbose for more details.
libGL error: failed to load driver: r600
libGL error: Try again with LIBGL_DEBUG=verbose for more details.
libGL error: failed to load driver: r600
libGL error: Try again with LIBGL_DEBUG=verbose for more details.
libpng warning: iCCP: known incorrect sRGB profile
libva info: VA-API version 0.34.0
xbmc.bin: dri2_util.c:199: isDRI2Connected: Assertion `dri_state->base.fd >= 0' failed.
/usr/bin/xbmc: line 137:  1170 Przerwane               (core dumped) "$LIBDIR/xbmc/xbmc.bin" $SAVED_ARGS
which: no lsb_release in (/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/vendor_perl:/usr/bin/core_perl)
Crash report available at /home/kacper/xbmc_crashlog-20140102_144621.log
I googled about that error and find out that I should add the user to the "video" group.

So I did it. Now the mouse pointer in XMBC is much more fluent (although it's still far from perfect). When I try to run a video, it doesn't disappear, but it just stops (nothing happens on moving the mouse and pressing keys) and crashes the Xserver.

Lightsmark also is better (the results are no longer as strange as before, but they are still very poor). But it performs the test three times (what is normal) and then... crashes the kernel. I can do anything neither with Ctrl+Alt+Fx keys, trying to turn to a TTY console, nor with Alt+SysRq+REISUB. The only thing I can do is to press RESET on the PC case.

Due to that crash it doesn't save the results, but since it shows FPS-es all the time during the test, I can estimate it as more or less 10 FPS.


I don't see anything important in those Xorg.0.logs - I can see an information: "direct rendering enabled". But as you could read more from it, I will show a new log, after the latest changes:
http://pastebin.com/4f9sVv8J

What do you mean writing that you edged over the software rendering? Sorry, but I am not a native English speaker and I don't understand it. And I cannot find this anywhere, what does it mean "to edge over something".
 
Old 01-03-2014, 03:10 AM   #10
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware & Android
Posts: 9,361

Rep: Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980
Code:
libGL error: failed to load driver: r600
The radeon module loads the appropriate driver from the stable. You evidently want the r600, and are not getting it. That, effectively, is the ati driver

i would check it exists (/usr/lib64/xorg/modules/dri, and mebbe /usr/lib/xorg/modules/dri for the 32 bit version if you have multilib). Last time I checked somebody was writing some r600g driver from the ground up which was supposed to be better than the r600 speed wise. Chunks remain to be done, and it will stagger there.
http://xorg.freedesktop.org/wiki/RadeonFeature/
 
1 members found this post helpful.
Old 01-03-2014, 07:17 AM   #11
kpc21
LQ Newbie
 
Registered: Dec 2013
Distribution: Arch
Posts: 8

Original Poster
Rep: Reputation: Disabled
After adding a user to the "video" group (something must have changed in Arch, because I had similiar problems with audio) the driver seems to load. I don't know what have changed, but now (just after a reboot) XBMC works flawlessly. But the open-source driver is about 3 times less powerful than the official one.

The content of /usr/lib/xorg/modules/dri (I've already said that I use 32-bit OS) is:
Code:
$ ls -la
razem 57888
drwxr-xr-x 2 root root    4096 12-29 15:28 .
drwxr-xr-x 7 root root    4096 12-29 15:28 ..
-rwxr-xr-x 2 root root 5230592 12-13 19:18 i915_dri.so
-rwxr-xr-x 2 root root 5230592 12-13 19:18 i965_dri.so
-rwxr-xr-x 1 root root 6137400 12-13 19:18 nouveau_dri.so
-rwxr-xr-x 1 root root 5230592 12-13 19:18 nouveau_vieux_dri.so
-rwxr-xr-x 2 root root 5230592 12-13 19:18 r200_dri.so
-rwxr-xr-x 1 root root 5375384 12-13 19:18 r300_dri.so
-rwxr-xr-x 1 root root 5854320 12-13 19:18 r600_dri.so
-rwxr-xr-x 2 root root 5230592 12-13 19:18 radeon_dri.so
-rwxr-xr-x 1 root root 5214640 12-13 19:18 radeonsi_dri.so
-rwxr-xr-x 1 root root 5329024 12-13 19:18 swrast_dri.so
-rwxr-xr-x 1 root root 5187320 12-13 19:18 vmwgfx_dri.so
 
Old 01-03-2014, 08:20 AM   #12
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware & Android
Posts: 9,361

Rep: Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980
Glad things are improving. You may yet find more to even them up. If your cpu is hitting 100% things are wrong still.
Yes, it may be slower - I think three times is a bit harsh; It will probably be faster in places, and phoronix probably have a relevant comparison between drivers. My other card a HD4650, was actually faster in many places than the binary blob.

The alternative is to drop back versions and go to the last working binary object. Your box, you rule.
 
1 members found this post helpful.
Old 01-03-2014, 09:33 AM   #13
kpc21
LQ Newbie
 
Registered: Dec 2013
Distribution: Arch
Posts: 8

Original Poster
Rep: Reputation: Disabled
But still I have problems with power management from the graphical environment (I use Xfce).

When I try to suspend, I get:
Code:
GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Operation not permitted
In case of hibernate:
Code:
GDBus.Error:org.freedesktop.DBus.Error.Failed: Operation not supported
Trying to poweroff, it only closes X-server and logs me out.

Commands like pm-suspend, shutdown now, systemctl shutdown from root terminal work (although I had a problem with halt, it hanged and even Alt+SysRq+O didn't work, so I just had to turn the power off - but I tried it once, so maybe it was because of some other issues). But from Xfce graphical interface - they don't. Despite the fact that they worked before.

Last edited by kpc21; 01-03-2014 at 09:36 AM.
 
Old 01-03-2014, 03:06 PM   #14
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware & Android
Posts: 9,361

Rep: Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980Reputation: 980
We're drifting here. That sounds like a permissions thing. I use Xfce. I absolutely detest revised GUIs. It's just another load of <expletive deleted> to learn before they revise it again and make your effort redundant.

I think I fixed that by running a 'chmod 4755' on the power manager thing when that issue arose once. Adding yourself to the power group also helps.
 
1 members found this post helpful.
Old 01-03-2014, 05:11 PM   #15
kpc21
LQ Newbie
 
Registered: Dec 2013
Distribution: Arch
Posts: 8

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by business_kid View Post
Adding yourself to the power group also helps.
Yes, it works! Thanks!

It seems that they did something weird with groups in Arch. And it had nothing in common with GPU drivers, it was just because of the OS upgrade.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: AMD APU vs. Radeon GPU Open-Source Comparison LXer Syndicated Linux News 0 12-09-2013 04:42 AM
LXer: 7-Way Low-End Open-Source Linux GPU Comparison LXer Syndicated Linux News 0 10-17-2013 08:42 PM
LXer: Low-End NVIDIA/AMD GPU Comparison On Open-Source Drivers LXer Syndicated Linux News 0 02-27-2013 10:20 PM
LXer: The Challenge In Delivering Open-Source GPU Drivers LXer Syndicated Linux News 0 01-04-2011 01:50 AM
Low GPU performance Padawan.AVT Linux - Software 1 05-14-2009 01:49 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 08:23 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration