Fedora 21 Installation Guide: Difference between revisions

From cchtml.com
("cd /extensions/" to "cd extensions/")
(Update for 3.19 kernels)
Line 11: Line 11:
  unzip amd-catalyst-omega-{{Catalystversion}}-linux-run-installers.zip
  unzip amd-catalyst-omega-{{Catalystversion}}-linux-run-installers.zip


* '''now we need to extract the installer in order to patch "kcl_acpi.c" '''
* '''now we need to extract the installer in order to patch a few files. '''
  cd fglrx
  cd fglrx*
  sh amd-driver-installer-14.501.1003-x86.x86_64.run --extract catalyst  
  sh amd-driver-installer-14.501.1003-x86.x86_64.run --extract catalyst  
now using gedit or whatever text editor open /catalyst/common/lib/modules/fglrx/build_mod/kcl_acpi.c
cd catalyst
at '''line 834''' replace 


'''#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,7)'''  
* '''Create the empty patch files'''
touch 3-{17,19}.patch


by
Edit the files with your favorite text editor and paste the contents below:


'''#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,7) && LINUX_VERSION_CODE < KERNEL_VERSION(3,17,0)'''
Contents of 3-17.patch
--- common/lib/modules/fglrx/build_mod/kcl_acpi.c      2014-09-23 10:42:10.000000000 -0400
+++ common/lib/modules/fglrx/build_mod/kcl_acpi.c      2014-11-13 16:44:23.187112123 -0500
@@ -831,7 +831,7 @@
  static acpi_status KCL_ACPI_Slot_No_Hotplug(KCL_ACPI_DevHandle handle, u32 lvl, void *data, void **rv)
  {
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,7)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,7) && LINUX_VERSION_CODE < KERNEL_VERSION(3,17,0)
    struct acpi_device *tdev = NULL;
    struct pci_dev *pdev = (struct pci_dev *)data;
    int device = 0;


save it somewhere and then replace it whit yours
Contents of 3-19.patch
--- common/lib/modules/fglrx/build_mod/firegl_public.c  2015-03-22 14:13:36.628837777 -0400
+++ common/lib/modules/fglrx/build_mod/firegl_public.c  2015-03-22 14:14:43.678029922 -0400
@@ -4816,8 +4816,8 @@
  {
      unsigned long orig_level;
-    orig_level = __get_cpu_var(kasExecutionLevel);
-    __get_cpu_var(kasExecutionLevel) = level;
+    orig_level = __this_cpu_read(kasExecutionLevel);
+    __this_cpu_write(kasExecutionLevel, level);
      return orig_level;
  }
@@ -4829,7 +4829,7 @@
  */
  static unsigned long kas_GetExecutionLevel(void)
  {
-    return __get_cpu_var(kasExecutionLevel);
+    return __this_cpu_read(kasExecutionLevel);
  }
  /** \brief Type definition for kas_spin_lock() parameter */
 
 
* '''Patch the files'''
patch -p0 < 3.17.patch
patch -p0 < 3.19.patch


==This next part is for '''KDE ONLY'''==
==This next part is for '''KDE ONLY'''==

Revision as of 20:28, 26 April 2015

AMD CATALYST-14.12 FOR GNOME AND KDE ENVIRONMENT

First off this is still a work in progress! and not a walk in the park! but it works very good and is stable.

This part is for KDE & GNOME

  • fully update your system and make sure your running kernel 3.18+
  • install pre-requisite packages:
yum install gcc kernel-headers kernel-devel
mkdir catalyst15.12 && cd catalyst15.12
wget --referer='http://support.amd.com/en-us/download/desktop?os=Linux+x86' http://www2.ati.com/drivers/linux/amd-catalyst-omega-15.12-linux-run-installers.zip 
unzip amd-catalyst-omega-15.12-linux-run-installers.zip
  • now we need to extract the installer in order to patch a few files.
cd fglrx*
sh amd-driver-installer-14.501.1003-x86.x86_64.run --extract catalyst 
cd catalyst
  • Create the empty patch files
touch 3-{17,19}.patch

Edit the files with your favorite text editor and paste the contents below:

Contents of 3-17.patch

--- common/lib/modules/fglrx/build_mod/kcl_acpi.c       2014-09-23 10:42:10.000000000 -0400
+++ common/lib/modules/fglrx/build_mod/kcl_acpi.c       2014-11-13 16:44:23.187112123 -0500 
@@ -831,7 +831,7 @@

 static acpi_status KCL_ACPI_Slot_No_Hotplug(KCL_ACPI_DevHandle handle, u32 lvl, void *data, void **rv)
 {
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,7)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,7) && LINUX_VERSION_CODE < KERNEL_VERSION(3,17,0)
    struct acpi_device *tdev = NULL;
    struct pci_dev *pdev = (struct pci_dev *)data;
    int device = 0;

Contents of 3-19.patch

--- common/lib/modules/fglrx/build_mod/firegl_public.c  2015-03-22 14:13:36.628837777 -0400
+++ common/lib/modules/fglrx/build_mod/firegl_public.c  2015-03-22 14:14:43.678029922 -0400
@@ -4816,8 +4816,8 @@
 {
     unsigned long orig_level;

-    orig_level = __get_cpu_var(kasExecutionLevel);
-    __get_cpu_var(kasExecutionLevel) = level;
+    orig_level = __this_cpu_read(kasExecutionLevel);
+    __this_cpu_write(kasExecutionLevel, level);

     return orig_level;
 }
@@ -4829,7 +4829,7 @@
  */
 static unsigned long kas_GetExecutionLevel(void)
 {
-    return __get_cpu_var(kasExecutionLevel);
+    return __this_cpu_read(kasExecutionLevel);
 }

 /** \brief Type definition for kas_spin_lock() parameter */


  • Patch the files
patch -p0 < 3.17.patch
patch -p0 < 3.19.patch

This next part is for KDE ONLY

cd catalyst15.12/catalyst
sh ati-installer.sh 14.501 --install

and reboot. your done!

This funny part is for GNOME

cd catalyst15.12/catalyst
sh ati-installer.sh 14.501 --install

do not reboot after the installation

Now the problem is that even though aticonfig will work, the libglx.so and fglrx_drv.so blobs provided by AMD are broken. They won’t work with GDM and Xserver 1.16.

to fix it open terminal and copy & past one line at the time

cd /usr/lib64/xorg/modules/drivers/
Xorg -version > /amd_xversion 2>&1
offset=`strings -td fglrx_drv.so | grep '/proc/%i/fd/0' | sed 's/^ *//' | cut -d' ' -f1`
echo -ne '/amd_xversion' | dd conv=notrunc of=fglrx_drv.so bs=1 count=13 seek=$offset
cd ..
cd extensions/
offset=`strings -td libglx.so | grep '/proc/%i/fd/0' | sed 's/^ *//' | cut -d' ' -f1`
echo -ne '/amd_xversion' | dd conv=notrunc of=libglx.so bs=1 count=13 seek=$offset

last part is to Assist Clutter in recognizing the OpenGL version

open gedit and edit /etc/profile at the bottom add those following line

export COGL_DRIVER=gl

export COGL_OVERRIDE_GL_VERSION=1.4

export COGL_RENDERER=GLX

export LD_PRELOAD=/usr/lib64/fglrx/fglrx-libGL.so.1.2

gnome-session

save it replace it

Now we need to switch from GDM to lightdm in order to login {will be fix soon )

dnf install lightdm
systemctl disable gdm
systemctl enable lightdm

and now you can finally reboot===

FlashPlayer HW Acceleration using Firefox

This only applies to Firefox and other NPAPI-compatible web browsers not Pepper Flash included in Chrome.KDE user must uninstall pepper and re-intall Flash

Add RPM Fusion Repo right-click Open link in new tab and install it.

http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-21.noarch.rpm

http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-21.noarch.rpm

This next part will provide a generic VDPAU library. It uses OpenGL under the hood to accelerate drawing and scaling and VA-API (if available) to accelerate video decoding.

yum install gstreamer1-vaapi.x86_64 libvdpau-va-gl.x86_64

now open text editor and add this line export VDPAU_DRIVER=va_gl

to

/etc/profile at the end just above export COGL_DRIVER=gl

and reboot! voila

enjoy gang!

winglman