LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 07-18-2013, 01:35 PM   #1
BroX
Member
 
Registered: Oct 2003
Location: Sweden
Distribution: Slackware64-current, SlackwareARM-15.0
Posts: 833

Rep: Reputation: 90
Unhappy No 3D acceleration after reverting to open source radeon


After using AMD's proprietary fglrx driver I tried to revert to the radeon driver. But for some reason I can not get 3D rendering to work properly for my HD7750 card. This should not be too difficult, but I am at a loss. What am I missing???

What I did:
- uninstalled the fglrx driver using --uninstall=force
- removed /etc/X11/xorg.conf
- reinstalled mesa, libdrm and xorg-server
- reenabled drm/radeon in the kernel
- removed 'nomodeset' from lilo.conf

But I get this:
Code:
$ glxinfo|grep -i render
direct rendering: Yes
OpenGL renderer string: Software Rasterizer
    GL_NV_conditional_render, GL_NV_depth_clamp,
Some details:
Code:
$ uname -a
Linux shpritsz 3.9.10 #1 SMP Tue Jul 16 23:00:14 CEST 2013 x86_64 AMD Phenom(tm) II X4 960T Processor AuthenticAMD GNU/Linux

$ lspci|grep VGA
01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Cape Verde PRO [Radeon HD 7700 Series]

$ zgrep RADEON /proc/config.gz
CONFIG_DRM_RADEON=m
# CONFIG_DRM_RADEON_UMS is not set
CONFIG_FB_RADEON=m
CONFIG_FB_RADEON_I2C=y
CONFIG_FB_RADEON_BACKLIGHT=y
# CONFIG_FB_RADEON_DEBUG is not set

$ zgrep DRM /proc/config.gz
CONFIG_DRM=m
CONFIG_DRM_KMS_HELPER=m
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
CONFIG_DRM_RADEON=m
# CONFIG_DRM_RADEON_UMS is not set
..

$ grep WW /var/log/Xorg.0.log
[    25.448] (WW) Falling back to old probe method for vesa
[    25.448] (WW) Falling back to old probe method for modesetting
[    25.544] (WW) RADEON(0): Direct rendering disabled

$ lsmod|grep radeon
drm                   228451  4 ttm,drm_kms_helper,radeon
drm_kms_helper         27663  1 radeon
hwmon                   1337  4 it87,k10temp,radeon,thermal_sys
i2c_algo_bit            5319  1 radeon
i2c_core               19663  6 drm,i2c_dev,i2c_piix4,drm_kms_helper,i2c_algo_bit,radeon
radeon                747346  2 
ttm                    61508  1 radeon
Let me know what else I could provide, I'm sure I forgot something.

EDIT: attached Xorg.0.log
Attached Files
File Type: log Xorg.0.log (36.9 KB, 19 views)

Last edited by BroX; 07-18-2013 at 02:34 PM.
 
Old 07-18-2013, 02:52 PM   #2
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,147

Rep: Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308
Just going on memory, you should have somethiong in there about the video driver. It's loading ati (??), radeon (good) fbdev(bad) & vesa(bad). The first one that says "Uh, I can handle this" gets to drive your video. I have a box with (ancient)OSS ati stuff and you need

driver=radeon

when describing the card. Radeon actually loads r600 or r700 or somesuch, but it's all good. Where you had 'driver=fglrx' you now need 'driver=radeon'

Also check here
ls -l /usr/lib(64)/libGL*
and see if files like libGL.so are pointing at a Mesa version or an ATI version number.
 
Old 07-18-2013, 03:16 PM   #3
TobiSGD
Moderator
 
Registered: Dec 2009
Location: Germany
Distribution: Whatever fits the task best
Posts: 17,148
Blog Entries: 2

Rep: Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886
It seems that Mesa in Slackware current is not compiled with the Gallium3D radeonsi driver, which is needed for the HD7000 and HD8000 series.
You need to recompile Mesa, change the line
Code:
--with-gallium-drivers=nouveau,r300,r600,svga \
to
Code:
--with-gallium-drivers=nouveau,r300,r600,svga,radeonsi \
Then rebuilt the packe and use upgradepkg to install the new one. After that 3D acceleration should work, but since those newer chips do 2D acceleration using the GLAMOR framework I don't know if you will get proper 2D acceleration.
I will have to look into that, since it seems GLAMOR can also be used on my HD6870, but for know I can't help with that.
 
Old 07-18-2013, 06:40 PM   #4
BroX
Member
 
Registered: Oct 2003
Location: Sweden
Distribution: Slackware64-current, SlackwareARM-15.0
Posts: 833

Original Poster
Rep: Reputation: 90
@business_kid: thanks, those seem to be ok.

@TobiSGD:
I tried to rebuild mesa as per your suggestion, which should be straight forward, but there seems to be more to it. With radeonsi added, the build script fails and installs in /usr/local/lib (instead of /usr/lib64/ and /usr/lib64/xorg/modules). It seems to ignore the configure options, even when providing them on the command line. To be sure, I tried to build mesa without modifying the Slackbuild and then it works fine.

Does radeonsi depend on glamor-egl? Will continue with this tomorrow.
 
Old 07-18-2013, 08:23 PM   #5
TobiSGD
Moderator
 
Registered: Dec 2009
Location: Germany
Distribution: Whatever fits the task best
Posts: 17,148
Blog Entries: 2

Rep: Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886
Have a look at this thread, there is more into it than I thought: http://www.linuxquestions.org/questi...51#post4992851
 
Old 07-19-2013, 01:17 AM   #6
BroX
Member
 
Registered: Oct 2003
Location: Sweden
Distribution: Slackware64-current, SlackwareARM-15.0
Posts: 833

Original Poster
Rep: Reputation: 90
Thanks, I'll follow that discussion, and test what is suggested.
 
Old 07-19-2013, 03:31 AM   #7
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,147

Rep: Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308
Looking at the Xorg.0.log, TobiSGD seems onto it. If that trail peters out, google for the errors here.

Quote:
bash-4.2$ grep AIGLX Xorg.0.log
[ 25.423] (==) AIGLX enabled
[ 25.553] (II) AIGLX: Screen 0 is not DRI2 capable
[ 25.553] (II) AIGLX: Screen 0 is not DRI capable
[ 25.582] (II) AIGLX: Loaded and initialized swrast
 
Old 07-19-2013, 02:30 PM   #8
BroX
Member
 
Registered: Oct 2003
Location: Sweden
Distribution: Slackware64-current, SlackwareARM-15.0
Posts: 833

Original Poster
Rep: Reputation: 90
I got a bit further with this.

First I rebuilt llvm-3.3 with --enable-experimental-targets=R600, which seemed to work:
Code:
$ grep -i targets /tmp/llvm-3.3.src/config.log
TARGETS_TO_BUILD='R600 X86 Sparc PowerPC AArch64 ARM Mips XCore MSP430 CppBackend MBlaze NVPTX Hexagon SystemZ'
Then I rebuilt mesa-9.1.4 with radeonsi added to the gallium-drivers, but had to add a patch from LFS (MesaLib-9.1.4-llvm_fixes-1.patch; see attachment)
Also added the following to the configure options (I removed some of the gallium-drivers to speed up the build):
Code:
--with-gallium-drivers=r600,svga,radeonsi
--enable-texture-float
--enable-r600-llvm-compiler
--enable-egl1
--enable-egl2
--enable-xorg
--enable-xa
I did not add --enable-openvg and --enable-opencl (as per this thread) since openvg and opencl are not (yet) installed on my system. Mind you, I have no idea what I am doing here, I just excluded them and then the build succeeded.

All seemed well, radeonsi is built:
Code:
$ find /usr/lib64/ -name radeonsi*
/usr/lib64/xorg/modules/dri/radeonsi_dri.la
/usr/lib64/xorg/modules/dri/radeonsi_dri.so
But all this still only gave me software rastering

As a guess, I then installed glamor-egl-0.5.0, and copied /usr/share/X11/xorg.conf/glamor.conf to /etc/X11/xorg.conf.d/
Code:
Section "Module"
        Load  "dri2"
        Load  "glamoregl"
EndSection
To be safe I rebuilt mesa.
Fine, glamoregl got loaded:
Code:
$ grep -i glamor /var/log/Xorg.0.log
[    36.240] (II) LoadModule: "glamoregl"
[    36.244] (II) Loading /usr/lib64/xorg/modules/libglamoregl.so
[    36.257] (II) Module glamoregl: vendor="X.Org Foundation"
But still no hardware acceleration, and radeonsi did not automagically get loaded, so I added it to glamor.conf:
Code:
Section "Module"
        Load  "dri2"
        Load  "glamoregl"
EndSection
Section "Device"
        Identifier "radeonsi"
        Driver "radeonsi"
        Option "AccelMethod" "glamor"
EndSection
This does load the radeonsi module, but X crashes with a segfault (full Xorg log attached)
Code:
$ grep EE Xorg.0.log 
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[   388.701] Initializing built-in extension MIT-SCREEN-SAVER
[   388.818] (EE) 
[   388.818] (EE) Backtrace:
[   388.818] (EE) 0: /usr/bin/X (xorg_backtrace+0x3d) [0x57a5ed]
[   388.818] (EE) 1: /usr/bin/X (0x400000+0x17e029) [0x57e029]
[   388.818] (EE) 2: /lib64/libpthread.so.0 (0x7f62067b5000+0xf670) [0x7f62067c4670]
[   388.818] (EE) 3: /usr/lib64/libllvmradeon9.1.4.so (_ZTVN4llvm16SITargetLoweringE+0x10) [0x7f62015ff990]
[   388.818] (EE) 
[   388.818] (EE) Segmentation fault at address 0x7f62015ff990
[   388.818] (EE) 
[   388.818] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[   388.818] (EE)
That's where I got stuck. Apparently something is up with llvm.

I thought of rebuilding xf86-video-ati with --enable-glamor, but do not know how to modify the X11 build script. I am sure some one will come along to tell me how to do that.

Other things I have not yet tested are upgrading to the latest mesa-9.1.5 and xorg-server-1.14, and installing openvg and opencl. But I'd appreciate to get some pointers before the whole thing grows over my head

All suggestions very welcome!

EDIT: upgrade to mesa-9.1.5 and xorg-1.14 (packages from testing) give the same segfault.
Attached Files
File Type: log Xorg.0.log (15.2 KB, 7 views)
File Type: txt MesaLib-9.1.4-llvm_fixes-1.patch.txt (2.2 KB, 16 views)

Last edited by BroX; 07-19-2013 at 04:25 PM.
 
Old 07-19-2013, 03:27 PM   #9
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,147

Rep: Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308
My (weak) understanding was that llvm was only needed on really crappy (early) cards. I have an rs600 in a laptop - that benefits from llvm (theoretically, anyhow), because it has basically no vertex shader (whatever THAT is). I also have a HD4650, but that did not benefit.

If you don't get answers try phoronix.com forums, because the developers hang out there.
 
Old 07-20-2013, 05:09 AM   #10
BroX
Member
 
Registered: Oct 2003
Location: Sweden
Distribution: Slackware64-current, SlackwareARM-15.0
Posts: 833

Original Poster
Rep: Reputation: 90
I upgraded to X11 1.14 (from /testing) and mesa-9.2 from git, which required an upgrade of libdrm ≥2.4.46.

And YES, this gets radeonsi loaded without segfault!

Code:
$ glxinfo |grep -i render
direct rendering: Yes
OpenGL renderer string: Gallium 0.4 on AMD CAPE VERDE
BUT still something is missing because GL graphics display is corrupted. See attached screenshot.

Could that have something to do with this?:
Code:
$ grep -i accel /var/log/Xorg.0.log
[    25.969] (II)         Composite (RENDER acceleration)
[    25.969] (II) RADEONSI(0): 2D Acceleration is disabled
[    25.969] (--) RADEONSI(0): 3D Acceleration is enabled
[    25.970] (WW) RADEONSI(0): Option "AccelMethod" is not used
No other (EE) or (WW) in the log.
Attached Thumbnails
Click image for larger version

Name:	2013-07-20-120209_636x483_scrot.png
Views:	42
Size:	26.3 KB
ID:	13028  
 
Old 07-20-2013, 07:04 AM   #11
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,147

Rep: Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308
You've updated libdrm, the X server, Mesa and Radeon drivers.

The only other thing that springs to mind to update is pixman. But when you update the X server, they usually bump the required versions on a lot of stuff. No harm to run ldconfig again, and then check the /usr/lib64/libGL* stuff that all the symlinks point to Mesa versions. I never trust uninstalls
 
Old 07-20-2013, 07:46 AM   #12
BroX
Member
 
Registered: Oct 2003
Location: Sweden
Distribution: Slackware64-current, SlackwareARM-15.0
Posts: 833

Original Poster
Rep: Reputation: 90
Quote:
Originally Posted by business_kid View Post
You've updated libdrm, the X server, Mesa and Radeon drivers.
X server is not recompiled, just upgraded the packages. Would that suffice?

But now I have a more serious problem... to upgrade llvm to latest svn I messed up with the build script, resulting in a chown -R root:root /

I _think_ I ctrl-C'd out of it before an additional chmod got executed... I have restored ownership of stuff in /home and other personal files. Any of the system directories that I should worry about?

EDIT: using this smprms script I restored non root.root ownership. Let's hope this will do.
EDIT2: just a note for those who want to use this restore script: in my case it didn't work nicely with file names containing a dash '-'. The dash was left out in the file list it created.

Last edited by BroX; 07-22-2013 at 05:28 PM.
 
Old 07-20-2013, 03:01 PM   #13
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,147

Rep: Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308Reputation: 2308
Quote:
Originally Posted by BroX View Post
X server is not recompiled, just upgraded the packages. Would that suffice?

But now I have a more serious problem... to upgrade llvm to latest svn I messed up with the build script, resulting in a chown -R root:root /

I _think_ I ctrl-C'd out of it before an additional chmod got executed... I have restored ownership of stuff in /home and other personal files. Any of the system directories that I should worry about?

EDIT: using this smprms script I restored non root.root ownership. Let's hope this will do.
Most stuff is root:root. /var/spool/mail/* is all different. If you're running servers (postfix, qmail, etc.) there will be issues. /dev may have to redone from scratch. Otherwise, you should be ok.

If you upgraded the packages, it depends on your package. Slackwrare - you may have issues as there is no dependency tracking. RPMs generally puke and refuse if the dependencies aren't right.

If you're worried, go around trying this on things

ldd /path/to/file |grep found

It lists the libs used and then checks them for ones marked "not found" The correct output is NO output. If you don't believe me, just check without the |grep command
 
Old 07-22-2013, 04:48 PM   #14
hadack
LQ Newbie
 
Registered: Jun 2006
Posts: 25

Rep: Reputation: 8
Quote:
Originally Posted by BroX View Post
Code:
Section "Module"
        Load  "dri2"
        Load  "glamoregl"
EndSection
Section "Device"
        Identifier "radeonsi"
        Driver "radeonsi"
        Option "AccelMethod" "glamor"
EndSection
I think Driver should be radeon not radeonsi. radeonsi is using the xorg state tracker, which is not really working.
The radeon driver is used for all radeon cards including the new HD7000+ cards with the glamor acceleration.
 
Old 07-22-2013, 09:20 PM   #15
ReaperX7
LQ Guru
 
Registered: Jul 2011
Location: California
Distribution: Slackware64-15.0 Multilib
Posts: 6,554
Blog Entries: 15

Rep: Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097
You may want to consort these pages for information regarding how to get "radeonsi" working fully. These are from the current "Beyond Linux From Scratch" book.

http://www.linuxfromscratch.org/blfs.../x7driver.html

http://www.linuxfromscratch.org/blfs...x/mesalib.html

You will need to download and install Glamor-EGL from the x11 driver page and possibly build, patch, and install it by hand.

Apparently there are parts of X that need to be rebuilt to support the "glamoregl" driver as well as other portions with libmesa also such, as is this flag for the xf86-video-ati DRI driver.

ftp://ftp.x.org/pub/individual/drive...-7.1.0.tar.bz2

Code:
./configure $XORG_CONFIG --enable-glamor &&
You may also need this to be added to the xorg.conf file:

Code:
Section "Module"
        Load "dri2"
        Load "glamoregl"
EndSection

Section "Device"
        Identifier "radeonsi"
        Driver "radeonsi"
        Option "AccelMethod" "glamor"
EndSection
You way want to rebuild libmesa 9.1.4 or later with these flags also:

Code:
./configure CFLAGS="-O2" CXXFLAGS="-O2"    \
            --prefix=/usr                  \
            --sysconfdir=/etc              \
            --enable-texture-float         \
            --enable-gles1                 \
            --enable-gles2                 \
            --enable-openvg                \
            --enable-osmesa                \
            --enable-xa                    \
            --enable-gbm                   \
            --enable-gallium-egl           \
            --enable-gallium-gbm           \
            --enable-glx-tls               \
            --with-llvm-shared-libs        \
            --with-egl-platforms="drm,x11" \
            --with-gallium-drivers="nouveau,r300,r600,radeonsi,svga,swrast" &&
 
  


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
Radeon open source drivers for 7970m? dffx Linux - Hardware 1 02-03-2013 02:29 AM
LXer: Open source Linux driver supports 3D acceleration with all GeForce GPUs LXer Syndicated Linux News 0 01-02-2013 11:42 PM
LXer: AMD's RS880 / 785G Gains Open-Source Acceleration LXer Syndicated Linux News 0 08-05-2009 03:50 AM
LXer: Open-Source Radeon TV Out LXer Syndicated Linux News 0 08-15-2007 12:20 PM
Has anyone got Beryl working with open source driver for Radeon X600 and Radeon 9550 Bjwebb Linux - Software 0 04-17-2007 04:44 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 06:59 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
Open Source Consulting | Domain Registration