LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
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 09-11-2016, 07:06 PM   #16
hotchili
Member
 
Registered: Sep 2009
Location: Germany
Distribution: slackware64-current
Posts: 89

Rep: Reputation: 32

If you don't need the extra stuff from the pro driver (I think opencl and vulkan?) you may try with mesa.
Here some benchmarks, difference is often small sometimes is even faster: http://openbenchmarking.org/result/1...LO-AMDGPUVSM87

rx480 works fine here with slackware current, I only installed a newer Kernel (4.8.0rc5)
But if you play TF2 there is a crash problem with the mesa drivers it seems:
https://github.com/ValveSoftware/Sou...es/issues/1943
 
Old 09-11-2016, 07:12 PM   #17
mpyusko
Member
 
Registered: Oct 2003
Location: Rochester, NY, USA
Distribution: Salckware ver 10.1 - 14.1, Debian too.
Posts: 432

Original Poster
Blog Entries: 1

Rep: Reputation: 41
Quote:
Originally Posted by hotchili View Post
If you don't need the extra stuff from the pro driver (I think opencl and vulkan?) you may try with mesa.
Here some benchmarks, difference is often small sometimes is even faster: http://openbenchmarking.org/result/1...LO-AMDGPUVSM87

rx480 works fine here with slackware current, I only installed a newer Kernel (4.8.0rc5)
But if you play TF2 there is a crash problem with the mesa drivers it seems:
https://github.com/ValveSoftware/Sou...es/issues/1943

That's still under Ubuntu.

Currently reading through.... http://www.linuxquestions.org/questi...ckware-907732/
 
Old 09-11-2016, 07:18 PM   #18
mpyusko
Member
 
Registered: Oct 2003
Location: Rochester, NY, USA
Distribution: Salckware ver 10.1 - 14.1, Debian too.
Posts: 432

Original Poster
Blog Entries: 1

Rep: Reputation: 41
there is a part where it suggests a script....
Code:
mkdir -p work/pkg
cd work
ar -x /path/to/SpaceChem-i386.deb
cd pkg
tar xvf ../data.tar.gz
Then, as root, you run makepkg in the work/pkg directory, like
makepkg -l y -c n /tmp/SpaceChem-i386.txz
is there a way to do this in a batch mode so all .deb files are properly converted and respectively named?
 
Old 09-13-2016, 12:37 AM   #19
Ztcoracat
LQ Guru
 
Registered: Dec 2011
Distribution: Slackware, MX 18
Posts: 9,484
Blog Entries: 15

Rep: Reputation: 1176Reputation: 1176Reputation: 1176Reputation: 1176Reputation: 1176Reputation: 1176Reputation: 1176Reputation: 1176Reputation: 1176
If anything mpyusko it looks like your certainly getting a challenge here.-

Sorry that hacking the scripts didn't help.

Perhaps studying what the Arch user did that bassmadrigal spoke of will give you the ammunition you need to make it work under Slackware.

Quote:
is there a way to do this in a batch mode so all .deb files are properly converted and respectively named?
I don't know and trying to find out was not easily found by using Google.

----------------------------------------------------------
ReaperX7,

Was this what you meant?

Convert to SLP, LSB, Slackware TGZ packages
http://www.thegeekstuff.com/2010/11/...mmand-examples
 
Old 09-16-2016, 05:14 AM   #20
ReaperX7
LQ Guru
 
Registered: Jul 2011
Location: California
Distribution: Slackware64-15.0 Multilib
Posts: 6,558
Blog Entries: 15

Rep: Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097
Not exactly.

What you want to do is take the .deb files, batch extract them to a /temp/directory, then use appropriate Slackbuild style scripts, use a SlackBuild script to repackage everything as needed.

You might also want to consider cloning the SlackBuild.org nvidia-driver package's nvidia-switch script and reformulate it for amdgpupro to backup the existing system Mesa package.

If you need help, look at the Slackware install media's /extras directory and see how Google-Chrome is installed. It uses a .deb package also.
 
Old 09-16-2016, 07:23 AM   #21
mpyusko
Member
 
Registered: Oct 2003
Location: Rochester, NY, USA
Distribution: Salckware ver 10.1 - 14.1, Debian too.
Posts: 432

Original Poster
Blog Entries: 1

Rep: Reputation: 41
Post

Quote:
Originally Posted by ReaperX7 View Post
Not exactly.

What you want to do is take the .deb files, batch extract them to a /temp/directory, then use appropriate Slackbuild style scripts, use a SlackBuild script to repackage everything as needed.

You might also want to consider cloning the SlackBuild.org nvidia-driver package's nvidia-switch script and reformulate it for amdgpupro to backup the existing system Mesa package.

If you need help, look at the Slackware install media's /extras directory and see how Google-Chrome is installed. It uses a .deb package also.
Honestly, except for the bit about the Nvidia driver, that is exactly the approach is as going to take. Just was wondering about a batch extraction because 44 files is a lot to sift through.
 
Old 09-16-2016, 07:57 AM   #22
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
EDIT: This doesn't work yet... I'm trying to tweak it on my phone while ssh'ed in to my desktop. Progress is a bit slow. Figured it out. They were using xz compression instead of gzip like most the archives I've dealt with in the past. This will create etc/, lib/, and usr/ folders under $TMP, so it is then just a matter of going through those folders and see what needs tweaking and what needs removal.

You could do something like the following (not at home, so I can't check how well this works... if at all -- it might need some tweaking):

Code:
CWD=$(pwd)
TMP=${TMP:-tmp_amdgpu-pro}

if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i586 ;;
    arm*) ARCH=arm ;;
       *) ARCH=$( uname -m ) ;;
  esac
fi

if [ "$ARCH" = "i586" ]; then
  DEBARCH="i386"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  DEBARCH="amd64"
  LIBDIRSUFFIX="64"
fi

rm -rf $TMP
mkdir $TMP
cd $TMP

for i in $CWD/*_{$DEBARCH,all}.deb; do
  ar p $i data.tar.gz | unxz | tar xv
done
This should extract all the debs for your architecture (and the "all" arch) into a amdgpu-pro_tmp directory... if I did it properly. From there, you'd need to see what is needed for Slackware and you could then work on removing/changing the things that are needed, finally culminating in creating a Slackware package using makepkg. Basically, you could use this code as the basis to start a SlackBuild for this (if you feel so inclined).

Last edited by bassmadrigal; 09-16-2016 at 08:22 AM.
 
2 members found this post helpful.
Old 09-16-2016, 11:03 AM   #23
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
Ok, so I was bored at work (don't tell my boss) and I decided to try and work out a full SlackBuild. This results in a created package, however, I don't have the hardware to test if this works or not. I also haven't had a chance to dig through the files to see if anything overwrites anything important or if we should be adding any .new extensions to the end of conf files and use a doinst.sh. I also don't know if there should be any xorg.conf type files created, but the package doesn't create any (I'm guessing the xorg portion is covered by the opensource amdgpu driver, but that's just a guess).

Feel free to try it out, but you might want to check through the /tmp/SBo/package-amdgpu-pro-driver/ folder to see if it seems like it might clobber something important. If it does, we can adjust the script if needed to take that into account. Feel free to leave me any feedback, positive or negative.

https://github.com/bassmadrigal/slac...ver.SlackBuild
 
Old 09-16-2016, 04:41 PM   #24
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
Now that I'm home (and not doing everything through my phone), I did a more thorough check. It seems that everything should install without clobbering anything else. There is a 01-amdgpu-pro.conf file under /usr/share/X11/xorg.conf.d/, so that will be where X loads its information (and should mean we shouldn't need a custom conf file for xorg).

If anyone wants to peruse the ~1300 line file tree, check it out here.

I have to say, other than only providing us a ton of .deb packages, this seems to be pretty well put together. I'm not noticing anything that should conflict with files in existing packages (like with the Nvidia blob clobbering some of mesa's files).

But still, this hasn't been tested by me, only perused, so I'd love to hear some feedback
 
Old 09-16-2016, 10:20 PM   #25
Rinndalir
Member
 
Registered: Sep 2015
Posts: 733

Rep: Reputation: Disabled
For vulkan I think you'd need to get the vulkan SDK. There is radv on github. But @ReaperX7 gave good advice to use amdgpu and Mesa. Oh in any case make sure you get the latest firmware for your driver.

Out of curiosity why do you want to use the proprietary driver?
 
Old 09-17-2016, 10:43 AM   #26
ReaperX7
LQ Guru
 
Registered: Jul 2011
Location: California
Distribution: Slackware64-15.0 Multilib
Posts: 6,558
Blog Entries: 15

Rep: Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097
Also, the reasoning behind the reworking nvidia-switch to become an amd-switch script is to preserve mesa equally in the system alongside amdgpu-pro's OpenGL libraries.

The proprietary driver does have a few features like built-in firmware, s3tc support natively, config tools, etc. but mostly the amdgpu and amdgpu-pro drivers are fairly equal. Libtxc-dxtn and driconf can supplement you nicely enough.
 
Old 09-17-2016, 02:43 PM   #27
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
Quote:
Originally Posted by Rinndalir View Post
Oh in any case make sure you get the latest firmware for your driver.
If you use amdgpu-pro, it includes firmware. But Slackware includes almost all that firmware anyway (there's only 6 new files -- see below).

Out of curiosity why do you want to use the proprietary driver?[/QUOTE]

Performance is typically a bit better... if you're willing to deal with the binary aspect of it. (But regular opensource performance is still pretty good.)

Quote:
Originally Posted by ReaperX7 View Post
Also, the reasoning behind the reworking nvidia-switch to become an amd-switch script is to preserve mesa equally in the system alongside amdgpu-pro's OpenGL libraries.
If you read my last post, you'd see that it doesn't seem to clobber any of mesa. There should be no need for an amd-switch script. However, after finally building it on a 14.2 machine (all the previous work was done on a 14.1 machine that is easily accessible from outside my network), I was able to run installpkg --warn on the package, and it looks like it will overwrite some firmware, however, after comparing filesizes, there's only two (fiji_sdma1.bin and tonga_sdma1.bin) that are actually different from what's included in 14.2's firmware package (and those two files are both only 20 bytes larger). It does include 6 new firmware files (although, according to various web reports, the Amur project was cancelled):

Code:
amur_ce.bin
amur_me.bin
amur_mec.bin
amur_pfp.bin
amur_rlc.bin
amur_sdma.bin
Overall, there's the only differences I've found between the firmware.

Code:
diff --git a/stock-14.2 b/amdgpu-pro
index 53b9ebe..f81c37a 100644
--- a/stock-14.2
+++ b/amdgpu-pro
@@ -1,3 +1,9 @@
+8832 amur_ce.bin
+17024 amur_me.bin
+262784 amur_mec.bin
+17024 amur_pfp.bin
+16076 amur_rlc.bin
+10624 amur_sdma.bin
 8832 carrizo_ce.bin
 17024 carrizo_me.bin
 262784 carrizo_mec.bin
@@ -16,7 +22,7 @@
 17024 fiji_pfp.bin
 16616 fiji_rlc.bin
 10644 fiji_sdma.bin
-10624 fiji_sdma1.bin
+10644 fiji_sdma1.bin
 129604 fiji_smc.bin
 252112 fiji_uvd.bin
 169344 fiji_vce.bin
@@ -62,7 +68,7 @@
 17024 tonga_pfp.bin
 14736 tonga_rlc.bin
 10644 tonga_sdma.bin
-10624 tonga_sdma1.bin
+10644 tonga_sdma1.bin
 130460 tonga_smc.bin
 321456 tonga_uvd.bin
 169344 tonga_vce.bin
 
Old 09-17-2016, 05:58 PM   #28
ReaperX7
LQ Guru
 
Registered: Jul 2011
Location: California
Distribution: Slackware64-15.0 Multilib
Posts: 6,558
Blog Entries: 15

Rep: Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097
If it uses Mesa then this is a welcome sign. However, did you check for any symlinks created by the .deb post-install scripts, if there were any? Amdgpu-pro should support s3tc and by so, have it's own libGL.so.xxx files that are then relinked as libGL.so.# and libGL.so, and so forth for vulkan, etc.
 
Old 09-17-2016, 06:16 PM   #29
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
It might overwrite a libOpenCL.so file if you already have that, otherwise it looks clean.

Code:
jbhansen@febtober:~/amdgpu/install$ cat doinst.sh 
( cd usr/lib/x86_64-linux-gnu ; rm -rf libOpenCL.so )
( cd usr/lib/x86_64-linux-gnu ; ln -sf amdgpu-pro/libOpenCL.so.1 libOpenCL.so )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; rm -rf libdrm_amdgpu.so.1 )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; ln -sf libdrm_amdgpu.so.1.0.0 libdrm_amdgpu.so.1 )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; rm -rf libEGL.so )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; ln -sf libEGL.so.1 libEGL.so )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; rm -rf libGL.so.1 )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; ln -sf libGL.so.1.2 libGL.so.1 )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; rm -rf libGLESv2.so )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; ln -sf libGLESv2.so.2 libGLESv2.so )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; rm -rf libkms.so.1 )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; ln -sf libkms.so.1.0.0 libkms.so.1 )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; rm -rf libdrm.so )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; ln -sf libdrm.so.2.4.0 libdrm.so )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro/gbm ; rm -rf libdummy.so )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro/gbm ; ln -sf gbm_amdgpu.so libdummy.so )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; rm -rf libdrm.so.2 )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; ln -sf libdrm.so.2.4.0 libdrm.so.2 )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; rm -rf libOpenCL.so )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; ln -sf libOpenCL.so.1 libOpenCL.so )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; rm -rf xorg )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; ln -sf 1.15 xorg )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; rm -rf libgbm.so.1 )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; ln -sf libgbm.so.1.0.0 libgbm.so.1 )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; rm -rf libGL.so )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; ln -sf libGL.so.1.2 libGL.so )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; rm -rf libdrm_amdgpu.so )
( cd usr/lib/x86_64-linux-gnu/amdgpu-pro ; ln -sf libdrm_amdgpu.so.1.0.0 libdrm_amdgpu.so )
( cd usr/lib/x86_64-linux-gnu/vdpau ; rm -rf libvdpau_amdgpu.so.1.0 )
( cd usr/lib/x86_64-linux-gnu/vdpau ; ln -sf libvdpau_amdgpu.so.1.0.0 libvdpau_amdgpu.so.1.0 )
( cd usr/lib/x86_64-linux-gnu/vdpau ; rm -rf libvdpau_amdgpu.so.1 )
( cd usr/lib/x86_64-linux-gnu/vdpau ; ln -sf libvdpau_amdgpu.so.1.0.0 libvdpau_amdgpu.so.1 )
( cd usr/lib/x86_64-linux-gnu/vdpau ; rm -rf libvdpau_amdgpu.so )
( cd usr/lib/x86_64-linux-gnu/vdpau ; ln -sf libvdpau_amdgpu.so.1.0.0 libvdpau_amdgpu.so )
It seems to be a pretty self-contained install. Bravo to AMD for this. This is a HUGE step up from Nvidia's binary blob.
 
Old 09-17-2016, 09:34 PM   #30
ReaperX7
LQ Guru
 
Registered: Jul 2011
Location: California
Distribution: Slackware64-15.0 Multilib
Posts: 6,558
Blog Entries: 15

Rep: Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097
Yes, but it's still not anywhere near Nvidia as well.

It packages it's own xorg-server-1.15 binary, several Mesa, libdrm, libvdpau, and OpenCL files. Why not just source release the kernel module like Nvidia and the main xorg driver components to avoid an ABI issue? Mostly it's nothing but a full binary only package.
 
  


Reply

Tags
amdgpu-pro, slack64, slackbuild



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
RX 480 AMDGPU Driver Failing To Load On Debian Sid jwhittles Linux - Hardware 4 08-25-2016 06:18 PM
Configuring AMDGPU / PRO drivers with 390x with Linux Mint CordedConch Linux - Newbie 1 08-06-2016 10:38 AM
LXer: AMDGPU-PRO Driver 16.30 Officially Released with Support for Ubuntu 16.04 LTS LXer Syndicated Linux News 0 06-30-2016 02:11 AM
LXer: AMD Going Open Source with AMDGPU Linux Driver and GPUOpen Tools LXer Syndicated Linux News 0 12-15-2015 09:00 PM
HELP! Installing Driver for ATI 3D Rage Pro on Slackware 10 mmarkvillanueva Linux - Hardware 6 06-08-2005 05:43 AM

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

All times are GMT -5. The time now is 10:01 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