<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.cchtml.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=80.181.167.115</id>
	<title>cchtml.com - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.cchtml.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=80.181.167.115"/>
	<link rel="alternate" type="text/html" href="http://wiki.cchtml.com/index.php?title=Special:Contributions/80.181.167.115"/>
	<updated>2026-06-11T07:15:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>http://wiki.cchtml.com/index.php?title=Slackware:_ATI_SlackBuild_(ENG)&amp;diff=6075</id>
		<title>Slackware: ATI SlackBuild (ENG)</title>
		<link rel="alternate" type="text/html" href="http://wiki.cchtml.com/index.php?title=Slackware:_ATI_SlackBuild_(ENG)&amp;diff=6075"/>
		<updated>2010-09-23T07:58:54Z</updated>

		<summary type="html">&lt;p&gt;80.181.167.115: /* Known problems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This wiki explains how to install the proprietary ATI drivers in a Slackware Linux distribution, creating, thanks to a SlackBuild, packages that can be installed through the &#039;&#039;&#039;installpkg&#039;&#039;&#039; command.&amp;lt;br&amp;gt;&lt;br /&gt;
This wiki DOES NOT explain how to improve performance. In particular, It provides only a minimal description of how to set up the X.Org server with the only purpose of loading the proprietary drivers (a description on how to configure the X.Org server to increase performance can be found here). &lt;br /&gt;
All commands starting with a &#039;#&#039; must be executed with root rights, while commands beginning with &#039;$&#039; can be performed by a user without such rights.&lt;br /&gt;
&lt;br /&gt;
== Proprietary ATI Drivers and ATI Catalyst ==&lt;br /&gt;
Since 21 November 2007, ATI drivers have changed the name and the number version. The new drivers, which were first mentioned only as Proprietary ATI Driver, are now called ATI Catalyst. Moreover, the version number has passed from 8.XX.X to 7.XX. &lt;br /&gt;
&lt;br /&gt;
When in this wiki we will talk about drivers version &amp;lt;8.37.6, we will refer implicitly to the old driver, such as Proprietary ATI Driver, while the new ATI Catalyst have a number version &amp;gt;= 8.37.6, even if, for instance, have a release number 7.11.&lt;br /&gt;
&lt;br /&gt;
== Getting all the necessary ==&lt;br /&gt;
The proprietary ATI drivers can be downloaded from the [http://ati.amd.com/support/driver.html  official web site], after selecting the Linux x86 operating system  (or Linux x86_64) and selecting your video card, pressing the “go” button takes you directly into the download page from which you can download the installer (which henceforth we call installer.run).&amp;lt;br&amp;gt;&lt;br /&gt;
Since drivers also contain a kernel module which will be compiled directly on your system, you&#039;ll need the kernel source currently installed in the system as well. &lt;br /&gt;
&lt;br /&gt;
  &#039;&#039;&#039;NOTE:&#039;&#039;&#039; Drivers for x86 and x86_64 architectures are equivalent.&amp;lt;br&amp;gt;&lt;br /&gt;
  The installer &#039;&#039;&#039;contains files for both architectures&#039;&#039;&#039;, then It will be the compilation process and the package &lt;br /&gt;
  creation process to choose the appropriate files. &lt;br /&gt;
  This means that &#039;&#039;&#039;the SlackBuild will be good for Slackware and for Slackware 64-bit portings (Slamd64, Bluewhite64, etc. ...)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Important notice ==&lt;br /&gt;
If the downloaded driver version is less than 8.37.6, then you need to know from now that it will not work onto X.Org 7.2 server (or 1.3) or later.&lt;br /&gt;
&lt;br /&gt;
== How to create Slackware packages ==&lt;br /&gt;
The packages creation follows two different ways depending on whether you use the official driver version &#039;&#039;&#039;&amp;lt; 8.37.6&#039;&#039;&#039; or &#039;&#039;&#039;&amp;gt;= 8.37.6&#039;&#039;&#039;. or new &#039;&#039;&#039;ATI Catalyst&#039;&#039;&#039;. The first way uses what is called &#039;&#039;&#039;external SlackBuild&#039;&#039;&#039; while the second way what we will call &#039;&#039;&#039;internal SlackBuild&#039;&#039;&#039;. In both cases the two packages will be created and they can be installed by Slackware &#039;&#039;&#039;installpkg&#039;&#039;&#039; utility. So let&#039;s see the two cases saying that the program that here is called installer.run is the installer  downloaded from ATI web site.&lt;br /&gt;
&lt;br /&gt;
  &#039;&#039;&#039;NOTE:&#039;&#039;&#039; The external SlackBuild use is not limited to the driver &amp;lt;8.37.6 but you can use it &lt;br /&gt;
  (and at times we will see that It&#039;s the only alternative) with all versions of ATI drivers.&lt;br /&gt;
&lt;br /&gt;
=== Drivers version &amp;lt;8.37.6 (external SlackBuild) ===&lt;br /&gt;
For these types of drivers I&#039;ve created an &#039;&#039;&#039;external SlackBuild&#039;&#039;&#039; for Slackware and I made a package that can be found at: http://www.cli.di.unipi.it/~tomasi/ati-slack-packager/ati-slack-packager-current-noarch-1.tgz&lt;br /&gt;
To create Slackware packages simply run:&lt;br /&gt;
  # installpkg ati-slack-packager-current-noarch-1.tgz &lt;br /&gt;
  # sh installer.run -- buildpkg custom-package/Slackware&lt;br /&gt;
&lt;br /&gt;
=== Drivers version &amp;gt;= 8.37.6 or new ATI Catalyst (internal SlackBuild) ===&lt;br /&gt;
For these drivers I&#039;ve sent the SlackBuild directly to ATI which inserted it into the installer, then simply run:&lt;br /&gt;
  # sh installer.run --buildpkg Slackware/All&lt;br /&gt;
or, if drivers are quite recent, it suffices:&lt;br /&gt;
  # sh installer.run --buildpkg&lt;br /&gt;
Otherwise, in order to create and install directly the packages you can use (always with recent versions of the driver):&lt;br /&gt;
  # sh installer.run --buildandinstallpkg&lt;br /&gt;
&lt;br /&gt;
此处的意思是：如果是新装的系统，直接运行本处的最后一个命令即可同时完成创建包和安装包的过程。&lt;br /&gt;
&lt;br /&gt;
== What do created packages contain? ==&lt;br /&gt;
The two packages created by SlackBuild, that we&#039;ll call &#039;&#039;fglrx-module&#039;&#039; and &#039;&#039;fglrx-x&#039;&#039; contain, respectively, the kernel module and the X.Org server driver currently installed in the system. In this way, if you upgrade the kernel or the X.Org server, you can create only one  package.&lt;br /&gt;
&lt;br /&gt;
=== Creating only fglrx-module package ===&lt;br /&gt;
To create just the package containing the kernel module for the currently installed kernel, simply run the installer with the &#039;&#039;Only_Module&#039;&#039; option &lt;br /&gt;
So with &#039;&#039;&#039;external SlackBuild&#039;&#039;&#039;:&lt;br /&gt;
  # sh installer.run --buildpkg custom-package/Only_Module&lt;br /&gt;
With internal SlackBuild:&lt;br /&gt;
  # sh installer.run --buildpkg Slackware/Only_Module&lt;br /&gt;
&lt;br /&gt;
=== Creating only fglrx-x package ===&lt;br /&gt;
To create just the package containing the X.Org driver currently installed in your system, simply run installer with &#039;&#039;Only_X&#039;&#039; option&lt;br /&gt;
With &#039;&#039;&#039;external SlackBuild&#039;&#039;&#039;:&lt;br /&gt;
  # sh installer.run --buildpkg custom-package/Only_X&lt;br /&gt;
With &#039;&#039;&#039;internal SlackBuild&#039;&#039;&#039;: &lt;br /&gt;
  # sh installer.run --buildpkg Slackware/Only_X&lt;br /&gt;
&lt;br /&gt;
（如果进行了上一小节的 --buildandinstallpkg则本小节的命令可不必再执行）&lt;br /&gt;
&lt;br /&gt;
接下来，执行&lt;br /&gt;
&lt;br /&gt;
  # sh installer.run&lt;br /&gt;
&lt;br /&gt;
即可进入ATI配置的界面，完成显卡的简单配置。&lt;br /&gt;
&lt;br /&gt;
== Minimal X.Org server configuration ==&lt;br /&gt;
Once installed the two indicated packages, you must tell to the X.Org server to use ATI proprietary drivers, to do this we must check if the xorg.conf file, which is usually located in the &#039;&#039;/etc/X11/&#039;&#039; directory, contains the following items:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
  Section &amp;quot;Module&amp;quot;&lt;br /&gt;
        ...&lt;br /&gt;
        Load    &amp;quot;dri&amp;quot;&lt;br /&gt;
        Load    &amp;quot;glx&amp;quot;&lt;br /&gt;
        ...&lt;br /&gt;
  EndSection&lt;br /&gt;
&lt;br /&gt;
  Section &amp;quot;Device&amp;quot;&lt;br /&gt;
        ...&lt;br /&gt;
        Driver  &amp;quot;fglrx&amp;quot;&lt;br /&gt;
        ...&lt;br /&gt;
  EndSection&lt;br /&gt;
&lt;br /&gt;
  Section &amp;quot;DRI&amp;quot;&lt;br /&gt;
        Group   0&lt;br /&gt;
        Mode    0666&lt;br /&gt;
  EndSection &lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation checking ==&lt;br /&gt;
To see if proprietary ATI drivers are properly installed run the command: &lt;br /&gt;
  $ fglrxinfo&lt;br /&gt;
On my computer the output is: &lt;br /&gt;
  display::0.0  screen: 0&lt;br /&gt;
  OpenGL vendor string: ATI Technologies Inc.&lt;br /&gt;
  OpenGL renderer string: ATI Mobility Radeon X1400&lt;br /&gt;
  OpenGL version string: 2.0.6650 (8.39.4)&lt;br /&gt;
&lt;br /&gt;
== Remove installed packages ==&lt;br /&gt;
To remove installed packages you can use the &#039;&#039;&#039;removepkg&#039;&#039;&#039; utility. However, there are aspects that should be considered: &lt;br /&gt;
* The packages&#039; removing don&#039;t delete fglrx&#039;s driver configuration files, these files are located in &#039;&#039;/etc/ati&#039;&#039; directory&lt;br /&gt;
  &#039;&#039;&#039;NOTE:&#039;&#039;&#039; The /etc/ati/custom-package directory, if exists, contains the external SlackBuild and therefore should not be deleted.&lt;br /&gt;
* The fglrx-x package contains ATI&#039;s OpenGL libraries, and these libraries are located in the same directory of the Mesa libraries, so when you install the fglrx-x package Mesa OpenGL libraries are overridden. To restore the situation you should simply reinstall the package containing these libraries, like:&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;x11&amp;lt;br&amp;gt;&lt;br /&gt;
for slackware 11, or:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;mesa&amp;lt;br&amp;gt;&lt;br /&gt;
for slackware 12.&lt;br /&gt;
= Patching the drivers =&lt;br /&gt;
Ati drivers are usually not compatible with brand new version of kernel linux.&lt;br /&gt;
You often need to patch the driver so that you can create the kernel module successfully.&lt;br /&gt;
Since Ati Catalyst &amp;gt; 8.11 you can patch Ati drivers within the &amp;quot;internal slackbuild&amp;quot; before that same slackbuild compiles the kernel module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order to do that, you just have to create (or download from the Internet) a patch and rename it like this:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;/etc/ati/patch/patch-ATI_DRIVER_VERSION-KERNEL_VERSION&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
where&amp;lt;br&amp;gt;&lt;br /&gt;
ATI_DRIVER_VERSION must be equal to the output of:&amp;lt;br&amp;gt;&lt;br /&gt;
 $ sh installer.run -i | head -n1 | cut -d&#039;-&#039; -f2&amp;lt;br&amp;gt;&lt;br /&gt;
KERNEL_VERSION must be equal to the output of:&amp;lt;br&amp;gt;&lt;br /&gt;
 uname -r&lt;br /&gt;
If &#039;&#039;/etc/ati/patch&#039;&#039; doesn&#039;t exist, it must be made.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For example, if the former command outputs &amp;quot;8.55&amp;quot; and the latter &amp;quot;2.6.27.6&amp;quot;, you need to name the patch &#039;&#039;/etc/ati/patch/patch-8.56-2.6.27.6&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;internal slackbuild&#039;&#039; will find the patch automatically and, if the command &#039;&#039;patch&#039;&#039; is installed, it will run:&amp;lt;br&amp;gt;&lt;br /&gt;
 # patch -p0 &amp;lt; /etc/ati/patch/patch-8.56-2.6.27.6&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Known problems =&lt;br /&gt;
== FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol &#039;paravirt_ops&#039; ==&lt;br /&gt;
The error occurs during module compilation and It&#039;s due to the fact that the kernel was compiled with the option of paravirtualization active. This option among other things, prevents to load, and then to compile, modules that do not have the GPL license. Since that ATI drivers don&#039;t have this type of license, they aren&#039;t compiled.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this problem you can:&amp;lt;br&amp;gt;&lt;br /&gt;
==== Disable kernel paravirtualization option ====&lt;br /&gt;
The paravirtualization option is called &#039;&#039;&#039;CONFIG_PARAVIRT&#039;&#039;&#039; and generally is in the &#039;&#039;&#039;Processor type and features&#039;&#039;&#039; kernel submenu.&lt;br /&gt;
==== Patch ATI drivers ====&lt;br /&gt;
This operation is illegal because It changes the type of license issued by ATI in a GPL license. I wrote the [http://www.cli.di.unipi.it/~tomasi/ati-slack-packager/patch/ati_to_gpl.patch ati_to_gpl.patch] (md5sum: 4207f41a71035dc2eed3ea9346b881bb) patch but I do not take any responsibility, I do not use It and I discourage the use in order to prefer the alternative to disable the paravirtualization kernel option. To use this patch You need to:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;External slackbuild&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Copy the patch in the &#039;&#039;/etc/ati/custom-package/patch&#039;&#039; directory&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Internal slackbuild (only with Ati Catalyst &amp;gt; 8.11)&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Copy the patch in the &#039;&#039;/etc/ati/patch&#039;&#039; directory (if it doesn&#039;t exist you must create it)&lt;br /&gt;
&lt;br /&gt;
The SlackBuild will find and apply the patch automatically. In order to uninstall it you simply need to delete it.&lt;br /&gt;
&lt;br /&gt;
In order to uninstall the patch simply delete It from &#039;&#039;/etc/ati/custom-package/patch&#039;&#039; directory.&lt;br /&gt;
&lt;br /&gt;
== Using GLX_SGIX_pbuffer FGLTexMgr: open of shared memory object failed (Permission denied) __FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!! ==&lt;br /&gt;
This problem is due to the lack of SHM filesystem (now called tmpfs), that is virtual memory filesystem. To work around this problem you must: &lt;br /&gt;
* Add into &#039;&#039;/etc/fstab&#039;&#039; file the following line:&lt;br /&gt;
  shm		/dev/shm		tmpfs		defaults	0	0 &lt;br /&gt;
* Then mount the filesystem through: &lt;br /&gt;
  # mount /dev/shm &lt;br /&gt;
Obviously the kernel must be predisposed for the &amp;quot;mounting&amp;quot; of this filesystem, in particular the&lt;br /&gt;
kernel option that must be enabled is &#039;&#039;&#039;CONFIG_TMPFS&#039;&#039;&#039; that is generally placed in &#039;&#039;&#039;File system --&amp;gt; Pseudo filesystems&#039;&#039;&#039; submenu. However all the compiled kernel generally have this option enabled.&lt;br /&gt;
== kernel includes at /lib/modules/`uname -r`/build/include do not match current kernel ==&lt;br /&gt;
The complete mistake is something like this:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
  Error:&lt;br /&gt;
  kernel includes at /lib/modules/`uname -r`/build/include do not match current kernel.&lt;br /&gt;
  they are versioned as &amp;quot;&amp;quot;&lt;br /&gt;
  instead of &amp;quot;`uname -r`&amp;quot;.&lt;br /&gt;
  you might need to adjust your symlinks:&lt;br /&gt;
  - /usr/include&lt;br /&gt;
  - /usr/src/linux&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
The error, also if explained, could be not clear. In practice It results from the fact that the symbolic link:&amp;lt;br&amp;gt;&lt;br /&gt;
/lib/modules/`uname -r`/source&amp;lt;br&amp;gt;&lt;br /&gt;
/lib/modules/`uname -r`/build&amp;lt;br&amp;gt;&lt;br /&gt;
don&#039;t point to the directory where are inserted the current kernel sources (which is generally &#039;&#039;/usr/src/linux- &#039;uname-r&#039;&#039;&#039;). It happens to those who use a kernel contained in Slackware, so I will try to explain It in terms of Slackware &amp;quot;packages&amp;quot;. This can happen:&lt;br /&gt;
* because the kernel source were not installed. In this case should be enough to install the source package which can be found in Slackware k/ directory. However, It is not granted that the problem will be solved, You&#039;ll need to see the second reason why there is an error. &lt;br /&gt;
* because sources (also if installed) do not reflect the settings of the current kernel. The new Slackware 12 has some precompiled  kernels (which means different settings), while just a single package for the sources (unless seeing the branch extra/). In particular, the sources are for the SMP kernel and so if you use a non-SMP kernel can appear this error. To avoid this, after making sure that the package source has been installed, do simply the following:&lt;br /&gt;
  # cd /usr/src/linux&lt;br /&gt;
  # cp /boot/config .config&lt;br /&gt;
  # make&lt;br /&gt;
running make, in addition to compiling the kernel modules (which we will not use), some header files are regenerated, and they will reflect the kernel configuration (as  it&#039;s set in the .config file).&lt;br /&gt;
== Driver 8.39.4 logo ==&lt;br /&gt;
This &amp;quot;bug&amp;quot; in 8.39.4 drivers results from the fact that ATI developers don&#039;t update the packager maintainers before the official releases. It should be nice first if they did test us official releases in order to certify the proper functioning of the scripts for creating packages. To solve the problem It&#039;s necessary to use the external SlackBuild as described here.&lt;br /&gt;
== amdcccle don&#039;t start on slackware 12 ==&lt;br /&gt;
Many users of the X.Org 7.2 (or 1.3) server version fail to start properly the Catalyst. The command to run the Catalyst is: &lt;br /&gt;
  # amdcccle&lt;br /&gt;
For this problem it seems there is no solution yet, but we are working on to solve it.&lt;br /&gt;
&lt;br /&gt;
= Useful links =&lt;br /&gt;
The discussion thread from which it was derived this article:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.slacky.eu/forum/viewtopic.php?t=18134&amp;amp;highlight= &amp;lt;br&amp;gt;&lt;br /&gt;
An alternative to official ATI drivers is given by the following website:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.schneider-digital.de/ &amp;lt;br&amp;gt;&lt;br /&gt;
A wiki in italian about installing and configuring ATI drivers (open source and proprietary) can be found at:&lt;br /&gt;
http://www.slacky.eu/wikislack/index.php?title=Installazione_driver_ATI_su_Slackware_GNU/Linux&lt;br /&gt;
&lt;br /&gt;
= Conclusion =&lt;br /&gt;
Proprietary ATI drivers for many modern desktop and notebook PC seems are almost the only alternative to the use of 3d acceleration with linux. Unfortunately ATI developers don&#039;t make back porting and then users using drivers&#039; version older than 8.37.6 will never go to X.Org server version 7.2 (or 1.3) or later. Let&#039;s hope that Mesa drivers can also be used for these cards. &lt;br /&gt;
The &#039;&#039;&#039;external SlackBuild&#039;&#039;&#039; is deprecated because now the &#039;&#039;internal slackbuild&#039;&#039; can apply patch natively. Also, because It hasn&#039;t been tested the SlackBuild with all possible versions of ATI drivers and kernels, It could happen that the module compilation fails. If so, feel free to write me at &#039;&#039;&#039;spina80@gmail.com&#039;&#039;&#039; posting me the output generated by Only_Module option.&lt;/div&gt;</summary>
		<author><name>80.181.167.115</name></author>
	</entry>
	<entry>
		<id>http://wiki.cchtml.com/index.php?title=Slackware:_ATI_SlackBuild_(ENG)&amp;diff=6074</id>
		<title>Slackware: ATI SlackBuild (ENG)</title>
		<link rel="alternate" type="text/html" href="http://wiki.cchtml.com/index.php?title=Slackware:_ATI_SlackBuild_(ENG)&amp;diff=6074"/>
		<updated>2010-09-23T07:57:22Z</updated>

		<summary type="html">&lt;p&gt;80.181.167.115: /* Patching the drivers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This wiki explains how to install the proprietary ATI drivers in a Slackware Linux distribution, creating, thanks to a SlackBuild, packages that can be installed through the &#039;&#039;&#039;installpkg&#039;&#039;&#039; command.&amp;lt;br&amp;gt;&lt;br /&gt;
This wiki DOES NOT explain how to improve performance. In particular, It provides only a minimal description of how to set up the X.Org server with the only purpose of loading the proprietary drivers (a description on how to configure the X.Org server to increase performance can be found here). &lt;br /&gt;
All commands starting with a &#039;#&#039; must be executed with root rights, while commands beginning with &#039;$&#039; can be performed by a user without such rights.&lt;br /&gt;
&lt;br /&gt;
== Proprietary ATI Drivers and ATI Catalyst ==&lt;br /&gt;
Since 21 November 2007, ATI drivers have changed the name and the number version. The new drivers, which were first mentioned only as Proprietary ATI Driver, are now called ATI Catalyst. Moreover, the version number has passed from 8.XX.X to 7.XX. &lt;br /&gt;
&lt;br /&gt;
When in this wiki we will talk about drivers version &amp;lt;8.37.6, we will refer implicitly to the old driver, such as Proprietary ATI Driver, while the new ATI Catalyst have a number version &amp;gt;= 8.37.6, even if, for instance, have a release number 7.11.&lt;br /&gt;
&lt;br /&gt;
== Getting all the necessary ==&lt;br /&gt;
The proprietary ATI drivers can be downloaded from the [http://ati.amd.com/support/driver.html  official web site], after selecting the Linux x86 operating system  (or Linux x86_64) and selecting your video card, pressing the “go” button takes you directly into the download page from which you can download the installer (which henceforth we call installer.run).&amp;lt;br&amp;gt;&lt;br /&gt;
Since drivers also contain a kernel module which will be compiled directly on your system, you&#039;ll need the kernel source currently installed in the system as well. &lt;br /&gt;
&lt;br /&gt;
  &#039;&#039;&#039;NOTE:&#039;&#039;&#039; Drivers for x86 and x86_64 architectures are equivalent.&amp;lt;br&amp;gt;&lt;br /&gt;
  The installer &#039;&#039;&#039;contains files for both architectures&#039;&#039;&#039;, then It will be the compilation process and the package &lt;br /&gt;
  creation process to choose the appropriate files. &lt;br /&gt;
  This means that &#039;&#039;&#039;the SlackBuild will be good for Slackware and for Slackware 64-bit portings (Slamd64, Bluewhite64, etc. ...)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Important notice ==&lt;br /&gt;
If the downloaded driver version is less than 8.37.6, then you need to know from now that it will not work onto X.Org 7.2 server (or 1.3) or later.&lt;br /&gt;
&lt;br /&gt;
== How to create Slackware packages ==&lt;br /&gt;
The packages creation follows two different ways depending on whether you use the official driver version &#039;&#039;&#039;&amp;lt; 8.37.6&#039;&#039;&#039; or &#039;&#039;&#039;&amp;gt;= 8.37.6&#039;&#039;&#039;. or new &#039;&#039;&#039;ATI Catalyst&#039;&#039;&#039;. The first way uses what is called &#039;&#039;&#039;external SlackBuild&#039;&#039;&#039; while the second way what we will call &#039;&#039;&#039;internal SlackBuild&#039;&#039;&#039;. In both cases the two packages will be created and they can be installed by Slackware &#039;&#039;&#039;installpkg&#039;&#039;&#039; utility. So let&#039;s see the two cases saying that the program that here is called installer.run is the installer  downloaded from ATI web site.&lt;br /&gt;
&lt;br /&gt;
  &#039;&#039;&#039;NOTE:&#039;&#039;&#039; The external SlackBuild use is not limited to the driver &amp;lt;8.37.6 but you can use it &lt;br /&gt;
  (and at times we will see that It&#039;s the only alternative) with all versions of ATI drivers.&lt;br /&gt;
&lt;br /&gt;
=== Drivers version &amp;lt;8.37.6 (external SlackBuild) ===&lt;br /&gt;
For these types of drivers I&#039;ve created an &#039;&#039;&#039;external SlackBuild&#039;&#039;&#039; for Slackware and I made a package that can be found at: http://www.cli.di.unipi.it/~tomasi/ati-slack-packager/ati-slack-packager-current-noarch-1.tgz&lt;br /&gt;
To create Slackware packages simply run:&lt;br /&gt;
  # installpkg ati-slack-packager-current-noarch-1.tgz &lt;br /&gt;
  # sh installer.run -- buildpkg custom-package/Slackware&lt;br /&gt;
&lt;br /&gt;
=== Drivers version &amp;gt;= 8.37.6 or new ATI Catalyst (internal SlackBuild) ===&lt;br /&gt;
For these drivers I&#039;ve sent the SlackBuild directly to ATI which inserted it into the installer, then simply run:&lt;br /&gt;
  # sh installer.run --buildpkg Slackware/All&lt;br /&gt;
or, if drivers are quite recent, it suffices:&lt;br /&gt;
  # sh installer.run --buildpkg&lt;br /&gt;
Otherwise, in order to create and install directly the packages you can use (always with recent versions of the driver):&lt;br /&gt;
  # sh installer.run --buildandinstallpkg&lt;br /&gt;
&lt;br /&gt;
此处的意思是：如果是新装的系统，直接运行本处的最后一个命令即可同时完成创建包和安装包的过程。&lt;br /&gt;
&lt;br /&gt;
== What do created packages contain? ==&lt;br /&gt;
The two packages created by SlackBuild, that we&#039;ll call &#039;&#039;fglrx-module&#039;&#039; and &#039;&#039;fglrx-x&#039;&#039; contain, respectively, the kernel module and the X.Org server driver currently installed in the system. In this way, if you upgrade the kernel or the X.Org server, you can create only one  package.&lt;br /&gt;
&lt;br /&gt;
=== Creating only fglrx-module package ===&lt;br /&gt;
To create just the package containing the kernel module for the currently installed kernel, simply run the installer with the &#039;&#039;Only_Module&#039;&#039; option &lt;br /&gt;
So with &#039;&#039;&#039;external SlackBuild&#039;&#039;&#039;:&lt;br /&gt;
  # sh installer.run --buildpkg custom-package/Only_Module&lt;br /&gt;
With internal SlackBuild:&lt;br /&gt;
  # sh installer.run --buildpkg Slackware/Only_Module&lt;br /&gt;
&lt;br /&gt;
=== Creating only fglrx-x package ===&lt;br /&gt;
To create just the package containing the X.Org driver currently installed in your system, simply run installer with &#039;&#039;Only_X&#039;&#039; option&lt;br /&gt;
With &#039;&#039;&#039;external SlackBuild&#039;&#039;&#039;:&lt;br /&gt;
  # sh installer.run --buildpkg custom-package/Only_X&lt;br /&gt;
With &#039;&#039;&#039;internal SlackBuild&#039;&#039;&#039;: &lt;br /&gt;
  # sh installer.run --buildpkg Slackware/Only_X&lt;br /&gt;
&lt;br /&gt;
（如果进行了上一小节的 --buildandinstallpkg则本小节的命令可不必再执行）&lt;br /&gt;
&lt;br /&gt;
接下来，执行&lt;br /&gt;
&lt;br /&gt;
  # sh installer.run&lt;br /&gt;
&lt;br /&gt;
即可进入ATI配置的界面，完成显卡的简单配置。&lt;br /&gt;
&lt;br /&gt;
== Minimal X.Org server configuration ==&lt;br /&gt;
Once installed the two indicated packages, you must tell to the X.Org server to use ATI proprietary drivers, to do this we must check if the xorg.conf file, which is usually located in the &#039;&#039;/etc/X11/&#039;&#039; directory, contains the following items:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
  Section &amp;quot;Module&amp;quot;&lt;br /&gt;
        ...&lt;br /&gt;
        Load    &amp;quot;dri&amp;quot;&lt;br /&gt;
        Load    &amp;quot;glx&amp;quot;&lt;br /&gt;
        ...&lt;br /&gt;
  EndSection&lt;br /&gt;
&lt;br /&gt;
  Section &amp;quot;Device&amp;quot;&lt;br /&gt;
        ...&lt;br /&gt;
        Driver  &amp;quot;fglrx&amp;quot;&lt;br /&gt;
        ...&lt;br /&gt;
  EndSection&lt;br /&gt;
&lt;br /&gt;
  Section &amp;quot;DRI&amp;quot;&lt;br /&gt;
        Group   0&lt;br /&gt;
        Mode    0666&lt;br /&gt;
  EndSection &lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation checking ==&lt;br /&gt;
To see if proprietary ATI drivers are properly installed run the command: &lt;br /&gt;
  $ fglrxinfo&lt;br /&gt;
On my computer the output is: &lt;br /&gt;
  display::0.0  screen: 0&lt;br /&gt;
  OpenGL vendor string: ATI Technologies Inc.&lt;br /&gt;
  OpenGL renderer string: ATI Mobility Radeon X1400&lt;br /&gt;
  OpenGL version string: 2.0.6650 (8.39.4)&lt;br /&gt;
&lt;br /&gt;
== Remove installed packages ==&lt;br /&gt;
To remove installed packages you can use the &#039;&#039;&#039;removepkg&#039;&#039;&#039; utility. However, there are aspects that should be considered: &lt;br /&gt;
* The packages&#039; removing don&#039;t delete fglrx&#039;s driver configuration files, these files are located in &#039;&#039;/etc/ati&#039;&#039; directory&lt;br /&gt;
  &#039;&#039;&#039;NOTE:&#039;&#039;&#039; The /etc/ati/custom-package directory, if exists, contains the external SlackBuild and therefore should not be deleted.&lt;br /&gt;
* The fglrx-x package contains ATI&#039;s OpenGL libraries, and these libraries are located in the same directory of the Mesa libraries, so when you install the fglrx-x package Mesa OpenGL libraries are overridden. To restore the situation you should simply reinstall the package containing these libraries, like:&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;x11&amp;lt;br&amp;gt;&lt;br /&gt;
for slackware 11, or:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;mesa&amp;lt;br&amp;gt;&lt;br /&gt;
for slackware 12.&lt;br /&gt;
= Patching the drivers =&lt;br /&gt;
Ati drivers are usually not compatible with brand new version of kernel linux.&lt;br /&gt;
You often need to patch the driver so that you can create the kernel module successfully.&lt;br /&gt;
Since Ati Catalyst &amp;gt; 8.11 you can patch Ati drivers within the &amp;quot;internal slackbuild&amp;quot; before that same slackbuild compiles the kernel module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order to do that, you just have to create (or download from the Internet) a patch and rename it like this:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;/etc/ati/patch/patch-ATI_DRIVER_VERSION-KERNEL_VERSION&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
where&amp;lt;br&amp;gt;&lt;br /&gt;
ATI_DRIVER_VERSION must be equal to the output of:&amp;lt;br&amp;gt;&lt;br /&gt;
 $ sh installer.run -i | head -n1 | cut -d&#039;-&#039; -f2&amp;lt;br&amp;gt;&lt;br /&gt;
KERNEL_VERSION must be equal to the output of:&amp;lt;br&amp;gt;&lt;br /&gt;
 uname -r&lt;br /&gt;
If &#039;&#039;/etc/ati/patch&#039;&#039; doesn&#039;t exist, it must be made.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For example, if the former command outputs &amp;quot;8.55&amp;quot; and the latter &amp;quot;2.6.27.6&amp;quot;, you need to name the patch &#039;&#039;/etc/ati/patch/patch-8.56-2.6.27.6&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;internal slackbuild&#039;&#039; will find the patch automatically and, if the command &#039;&#039;patch&#039;&#039; is installed, it will run:&amp;lt;br&amp;gt;&lt;br /&gt;
 # patch -p0 &amp;lt; /etc/ati/patch/patch-8.56-2.6.27.6&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Known problems =&lt;br /&gt;
== FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol &#039;paravirt_ops&#039; ==&lt;br /&gt;
The error occurs during module compilation and It&#039;s due to the fact that the kernel was compiled with the option of paravirtualization active. This option among other things, prevents to load, and then to compile, modules that do not have the GPL license. Since that ATI drivers don&#039;t have this type of license, they aren&#039;t compiled.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this problem you can:&amp;lt;br&amp;gt;&lt;br /&gt;
==== Disable kernel paravirtualization option ====&lt;br /&gt;
The paravirtualization option is called &#039;&#039;&#039;CONFIG_PARAVIRT&#039;&#039;&#039; and generally is in the &#039;&#039;&#039;Processor type and features&#039;&#039;&#039; kernel submenu.&lt;br /&gt;
==== Patch ATI drivers ====&lt;br /&gt;
This operation is illegal because It changes the type of license issued by ATI in a GPL license. I wrote the [http://www.cli.di.unipi.it/~tomasi/ati-slack-packager/patch/ati_to_gpl.patch ati_to_gpl.patch] (md5sum: 4207f41a71035dc2eed3ea9346b881bb) patch but I do not take any responsibility, I do not use It and I discourage the use in order to prefer the alternative to disable the paravirtualization kernel option. To use this patch You need to:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;External slackbuild&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Copy the patch in the &#039;&#039;/etc/ati/custom-package/patch&#039;&#039; directory&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Internal slackbuild (only with Ati Catalyst &amp;gt; 8.11)&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Copy the patch in the &#039;&#039;/etc/ati/patch&#039;&#039; directory (if it doesn&#039;t exist you must create it)&lt;br /&gt;
&lt;br /&gt;
The SlackBuild will find and apply the patch automatically. In order to uninstall it you simply need to delete it.&lt;br /&gt;
&lt;br /&gt;
In order to uninstall the patch simply delete It from &#039;&#039;/etc/ati/custom-package/patch&#039;&#039; directory.&lt;br /&gt;
&lt;br /&gt;
=== Using GLX_SGIX_pbuffer FGLTexMgr: open of shared memory object failed (Permission denied) __FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!! ===&lt;br /&gt;
This problem is due to the lack of SHM filesystem (now called tmpfs), that is virtual memory filesystem. To work around this problem you must: &lt;br /&gt;
* Add into &#039;&#039;/etc/fstab&#039;&#039; file the following line:&lt;br /&gt;
  shm		/dev/shm		tmpfs		defaults	0	0 &lt;br /&gt;
* Then mount the filesystem through: &lt;br /&gt;
  # mount /dev/shm &lt;br /&gt;
Obviously the kernel must be predisposed for the &amp;quot;mounting&amp;quot; of this filesystem, in particular the&lt;br /&gt;
kernel option that must be enabled is &#039;&#039;&#039;CONFIG_TMPFS&#039;&#039;&#039; that is generally placed in &#039;&#039;&#039;File system --&amp;gt; Pseudo filesystems&#039;&#039;&#039; submenu. However all the compiled kernel generally have this option enabled.&lt;br /&gt;
=== kernel includes at /lib/modules/`uname -r`/build/include do not match current kernel ===&lt;br /&gt;
The complete mistake is something like this:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
  Error:&lt;br /&gt;
  kernel includes at /lib/modules/`uname -r`/build/include do not match current kernel.&lt;br /&gt;
  they are versioned as &amp;quot;&amp;quot;&lt;br /&gt;
  instead of &amp;quot;`uname -r`&amp;quot;.&lt;br /&gt;
  you might need to adjust your symlinks:&lt;br /&gt;
  - /usr/include&lt;br /&gt;
  - /usr/src/linux&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
The error, also if explained, could be not clear. In practice It results from the fact that the symbolic link:&amp;lt;br&amp;gt;&lt;br /&gt;
/lib/modules/`uname -r`/source&amp;lt;br&amp;gt;&lt;br /&gt;
/lib/modules/`uname -r`/build&amp;lt;br&amp;gt;&lt;br /&gt;
don&#039;t point to the directory where are inserted the current kernel sources (which is generally &#039;&#039;/usr/src/linux- &#039;uname-r&#039;&#039;&#039;). It happens to those who use a kernel contained in Slackware, so I will try to explain It in terms of Slackware &amp;quot;packages&amp;quot;. This can happen:&lt;br /&gt;
* because the kernel source were not installed. In this case should be enough to install the source package which can be found in Slackware k/ directory. However, It is not granted that the problem will be solved, You&#039;ll need to see the second reason why there is an error. &lt;br /&gt;
* because sources (also if installed) do not reflect the settings of the current kernel. The new Slackware 12 has some precompiled  kernels (which means different settings), while just a single package for the sources (unless seeing the branch extra/). In particular, the sources are for the SMP kernel and so if you use a non-SMP kernel can appear this error. To avoid this, after making sure that the package source has been installed, do simply the following:&lt;br /&gt;
  # cd /usr/src/linux&lt;br /&gt;
  # cp /boot/config .config&lt;br /&gt;
  # make&lt;br /&gt;
running make, in addition to compiling the kernel modules (which we will not use), some header files are regenerated, and they will reflect the kernel configuration (as  it&#039;s set in the .config file).&lt;br /&gt;
=== Driver 8.39.4 logo ===&lt;br /&gt;
This &amp;quot;bug&amp;quot; in 8.39.4 drivers results from the fact that ATI developers don&#039;t update the packager maintainers before the official releases. It should be nice first if they did test us official releases in order to certify the proper functioning of the scripts for creating packages. To solve the problem It&#039;s necessary to use the external SlackBuild as described here.&lt;br /&gt;
=== amdcccle don&#039;t start on slackware 12 ===&lt;br /&gt;
Many users of the X.Org 7.2 (or 1.3) server version fail to start properly the Catalyst. The command to run the Catalyst is: &lt;br /&gt;
  # amdcccle&lt;br /&gt;
For this problem it seems there is no solution yet, but we are working on to solve it.&lt;br /&gt;
&lt;br /&gt;
= Useful links =&lt;br /&gt;
The discussion thread from which it was derived this article:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.slacky.eu/forum/viewtopic.php?t=18134&amp;amp;highlight= &amp;lt;br&amp;gt;&lt;br /&gt;
An alternative to official ATI drivers is given by the following website:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.schneider-digital.de/ &amp;lt;br&amp;gt;&lt;br /&gt;
A wiki in italian about installing and configuring ATI drivers (open source and proprietary) can be found at:&lt;br /&gt;
http://www.slacky.eu/wikislack/index.php?title=Installazione_driver_ATI_su_Slackware_GNU/Linux&lt;br /&gt;
&lt;br /&gt;
= Conclusion =&lt;br /&gt;
Proprietary ATI drivers for many modern desktop and notebook PC seems are almost the only alternative to the use of 3d acceleration with linux. Unfortunately ATI developers don&#039;t make back porting and then users using drivers&#039; version older than 8.37.6 will never go to X.Org server version 7.2 (or 1.3) or later. Let&#039;s hope that Mesa drivers can also be used for these cards. &lt;br /&gt;
The &#039;&#039;&#039;external SlackBuild&#039;&#039;&#039; is deprecated because now the &#039;&#039;internal slackbuild&#039;&#039; can apply patch natively. Also, because It hasn&#039;t been tested the SlackBuild with all possible versions of ATI drivers and kernels, It could happen that the module compilation fails. If so, feel free to write me at &#039;&#039;&#039;spina80@gmail.com&#039;&#039;&#039; posting me the output generated by Only_Module option.&lt;/div&gt;</summary>
		<author><name>80.181.167.115</name></author>
	</entry>
	<entry>
		<id>http://wiki.cchtml.com/index.php?title=Slackware:_ATI_SlackBuild_(ITA)&amp;diff=6073</id>
		<title>Slackware: ATI SlackBuild (ITA)</title>
		<link rel="alternate" type="text/html" href="http://wiki.cchtml.com/index.php?title=Slackware:_ATI_SlackBuild_(ITA)&amp;diff=6073"/>
		<updated>2010-09-23T07:53:49Z</updated>

		<summary type="html">&lt;p&gt;80.181.167.115: /* Patchare i driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduzione=&lt;br /&gt;
Questo wiki spiega come installare i driver propritari ATI con la distribuzione linux Slackware, creando, grazie ad uno SlackBuild, dei &lt;br /&gt;
pacchetti che possono essere installati tramite il comando &#039;&#039;&#039;installpkg&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Il wiki NON spiega come migliorare le prestazioni. In particolare fornisce solo una descrizione minimale di come impostare il server X.Org &lt;br /&gt;
con l&#039;unico scopo di far funzionare i driver proprietari (una descrizione su come configurare il server X.Org per ottenere prestazioni &lt;br /&gt;
pi&amp;amp;ugrave; elevate la potete trovare [http://www.slacky.eu/wikislack/index.php?title=Installazione_driver_ATI_su_Slackware_GNU/Linux qui]).&lt;br /&gt;
&lt;br /&gt;
Tutti i comandi che iniziano con un &#039;#&#039; devono essere eseguiti con i diritti dell&#039;utente root, mentre quello che iniziano con &#039;$&#039; possono &lt;br /&gt;
essere eseguiti anche da un utente senza tali diritti.&lt;br /&gt;
&lt;br /&gt;
=ATI Proprietary Driver e ATI Catalyst=&lt;br /&gt;
A partire dal 21 Novembre 2007 i driver ATI hanno cambiato nome e numero di versione. I nuovi driver, che prima venivano&lt;br /&gt;
indicati solo come &#039;&#039;&#039;ATI Proprietary Driver&#039;&#039;&#039;, ora si chiamano &#039;&#039;&#039;ATI Catalyst&#039;&#039;&#039;. Non solo, il numero di versione&lt;br /&gt;
&amp;amp;egrave; passato da &#039;&#039;&#039;8.XX.X&#039;&#039;&#039; a &#039;&#039;&#039;7.XX&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Quando in questo articolo si parler&amp;amp;agrave; dei driver &#039;&#039;versione &amp;lt; 8.37.6&#039;&#039;, ci si riferir&amp;amp;agrave; implicitamente ai&lt;br /&gt;
vecchi driver, ovvero agli ATI Proprietary Driver, i nuovi ATI Catalyst sono da considerarsi &#039;&#039;versione &amp;gt;= 8.37.6&#039;&#039;,&lt;br /&gt;
anche se, ad esempio, hanno come numero di release 7.11.&lt;br /&gt;
&lt;br /&gt;
=Come ottenere tutto il software necessario=&lt;br /&gt;
I driver proprietari ATI possono essere scaricati dal sito ufficiale: http://ati.amd.com/support/driver.html, dopo aver selezionato il &lt;br /&gt;
sistema operativo Linux x86 (o Linux x86_64) e selezionato la propria scheda video, premendo il tasto &amp;quot;go&amp;quot; si arriva direttamente alla &lt;br /&gt;
pagina del download da cui bisogner&amp;amp;agrave; scaricare l&#039;installer (che d&#039;ora in poi chiameremo &#039;&#039;installer.run&#039;&#039;).&lt;br /&gt;
Dato che i driver contengono anche un modulo del kernel che verr&amp;amp;agrave; compilato direttamente sul vostro sistema, &amp;amp;egrave; necessario &lt;br /&gt;
avere anche i sorgenti del kernel attualmente installato sul sistema.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;NOTA:&#039;&#039;&#039; I driver per le architetture x86 e x86_64 sono equivalenti. L&#039;installer infatti contiene i file per entrambe &lt;br /&gt;
 le architetture, sar&amp;amp;agrave; poi il processo di compilazione e creazione dei pacchetti che sceglier&amp;amp;agrave; i file  adeguati. &lt;br /&gt;
 Questo vuol dire che lo SlackBuild andr&amp;amp;agrave; bene sia per la Slackware sia per le varie versioni porting a 64 bit&lt;br /&gt;
 (Slamd64, Bluewhite64, etc...).&lt;br /&gt;
&lt;br /&gt;
=Nota IMPORTANTE=&lt;br /&gt;
Se la versione dei driver che si &amp;amp;egrave; scaricata &amp;amp;egrave; minore della 8.37.6 allora dovete sapere fin d&#039;ora che non funzioneranno con &lt;br /&gt;
il server X.Org 7.2 (o 1.3) o successivi.&lt;br /&gt;
&lt;br /&gt;
=Come creare i pacchetti per la Slackware=&lt;br /&gt;
La creazione dei pacchetti segue due strade differenti a seconda che si usino i driver ufficiali &#039;&#039;&#039;versione &amp;lt; 8.37.6&#039;&#039;&#039; oppure &lt;br /&gt;
&#039;&#039;&#039;versione &amp;gt;= 8.37.6 o nuovi ATI Catalyst&#039;&#039;&#039;.&lt;br /&gt;
La prima strada fa uso di quello che chiameremo &#039;&#039;&#039;SlackBuild esterno&#039;&#039;&#039; mentre la seconda di quello che chiameremo &lt;br /&gt;
&#039;&#039;&#039;SlackBuild interno&#039;&#039;&#039;. &lt;br /&gt;
In entrambi i casi verranno creati due pacchetti che potranno quindi essere installati tramite l&#039;utiliti &#039;&#039;&#039;installpkg&#039;&#039;&#039; della Slackware. &lt;br /&gt;
Quindi passiamo a vedere i due casi ricordando che il programma che qui chiamiamo &#039;&#039;installer.run&#039;&#039; &amp;amp;egrave; l&#039;installer che si &amp;amp;egrave; &lt;br /&gt;
scaricato dal sito della ATI.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;NOTA:&#039;&#039;&#039; L&#039;uso dello &#039;&#039;SlackBuild esterno&#039;&#039; non &amp;amp;egrave; limitato alla versione dei &#039;&#039;driver &amp;lt; 8.37.6&#039;&#039; ma lo si pu&amp;amp;ograve;  usare &lt;br /&gt;
 (e a volte vedremo che &amp;amp;egrave; l&#039;unica alternativa) con tutte le versioni dei driver ATI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Versione dei driver &amp;lt; 8.37.6 (SlackBuild esterno)==&lt;br /&gt;
Per questi tipi di driver ho creato uno &#039;&#039;&#039;SlackBuild esterno&#039;&#039;&#039; per la slackware di cui ho fatto un pacchetto che potete trovare alla &lt;br /&gt;
pagina: http://www.cli.di.unipi.it/~tomasi/ati-slack-packager/ati-slack-packager-current-noarch-1.tgz&lt;br /&gt;
&lt;br /&gt;
Per creare i pacchetti slackware basta eseguire:&lt;br /&gt;
&lt;br /&gt;
 # installpkg ati-slack-packager-current-noarch-1.tgz&lt;br /&gt;
 # sh installer.run --buildpkg custom-package/Slackware&lt;br /&gt;
&lt;br /&gt;
==Versione dei driver &amp;gt;= 8.37.6 o nuovi ATI Catalyst (SlackBuild interno)==&lt;br /&gt;
Per questi driver lo SlackBuild l&#039;ho inviato direttamente alla ATI che ha provveduto ad inserirlo all&#039;interno dell&#039;installer, quindi basta &lt;br /&gt;
eseguire:&lt;br /&gt;
&lt;br /&gt;
 # sh installer.run --buildpkg Slackware/All&lt;br /&gt;
o, se i driver sono abbastanza recenti (non ricordo la versione esatta), basta un semplice:&lt;br /&gt;
 # sh installer.run --buildpkg&lt;br /&gt;
Oppure, per creare ed installare direttamente i pacchetti, si può usare (sempre con versioni recenti dei driver):&lt;br /&gt;
 # sh intaller.run --buildandinstallpkg&lt;br /&gt;
&lt;br /&gt;
=Cosa contengono i pacchetti creati?=&lt;br /&gt;
I due pacchetti creati dallo SlackBuild, che chiameremo &#039;&#039;fglrx-module&#039;&#039; e &#039;&#039;fglrx-x&#039;&#039;, contengono, rispettivamente, il modulo per il &lt;br /&gt;
kernel attualmente installato sul sistema, e i driver per la versione del server X.Org installata.&lt;br /&gt;
In questo modo, se si aggiorna il kernel oppure il server X.Org si pu&amp;amp;ograve; creare solo il relativo pacchetto.&lt;br /&gt;
&lt;br /&gt;
==Creare solo il pacchetto fglrx-module==&lt;br /&gt;
Per creare solo il pacchetto contenente il modulo per il kernel attualmente installato, basta lanciare l&#039;installer con l&#039;opzione &lt;br /&gt;
&#039;&#039;Only_Module &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quindi con lo &#039;&#039;&#039;SlackBuild esterno&#039;&#039;&#039;:&lt;br /&gt;
 # sh installer.run --buildpkg custom-package/Only_Module&lt;br /&gt;
Con lo &#039;&#039;&#039;SlackBuild interno&#039;&#039;&#039;:&lt;br /&gt;
 # sh installer.run --buildpkg Slackware/Only_Module&lt;br /&gt;
&lt;br /&gt;
==Creare solo il pacchetto fglrx-x==&lt;br /&gt;
Per creare solo il pacchetto contenente i driver per il server X.Org attualmente installato sul sistema, basta lanciare l&#039;installer con &lt;br /&gt;
l&#039;opzione &#039;&#039;Only_X&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Con lo &#039;&#039;&#039;SlackBuild esterno&#039;&#039;&#039;:&lt;br /&gt;
 # sh installer.run --buildpkg custom-package/Only_X&lt;br /&gt;
Con lo &#039;&#039;&#039;SlackBuild interno&#039;&#039;&#039;:&lt;br /&gt;
 # sh installer.run --buildpkg Slackware/Only_X&lt;br /&gt;
&lt;br /&gt;
=Configurazione minimale del server X.Org=&lt;br /&gt;
Una volta installati i due pacchetti bisogna segnalare al server X.Org di usare i driver proprietari ATI, per fare questo bisogna &lt;br /&gt;
controllare che il file xorg.conf, che generalmente &amp;amp;egrave; situato nella directory /etc/X11/, contenga le seguenti voci:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
 	....&lt;br /&gt;
 	Load	&amp;quot;dri&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;glx&amp;quot;&lt;br /&gt;
 	....&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
 	....&lt;br /&gt;
 	Driver	&amp;quot;fglrx&amp;quot;&lt;br /&gt;
 	....&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;DRI&amp;quot;&lt;br /&gt;
 	Group	0&lt;br /&gt;
 	Mode	0666&lt;br /&gt;
 EndSection &lt;br /&gt;
&lt;br /&gt;
=Verifica=&lt;br /&gt;
Per verificare se i driver proprietari ATI sono stati correttamente installati si pu&amp;amp;ograve; eseguire il comando:&lt;br /&gt;
 $ fglrxinfo&lt;br /&gt;
Sulla mia macchina l&#039;output &amp;amp;egrave;:&lt;br /&gt;
 display: :0.0  screen: 0&lt;br /&gt;
 OpenGL vendor string: ATI Technologies Inc.&lt;br /&gt;
 OpenGL renderer string: ATI Mobility Radeon X1400&lt;br /&gt;
 OpenGL version string: 2.0.6650 (8.39.4)&lt;br /&gt;
&lt;br /&gt;
=Rimuovere i pacchetti installati=&lt;br /&gt;
Per rimuovere i pacchetti installati si pu&amp;amp;ograve; tranquillamente usare l&#039;utiliti &#039;&#039;&#039;removepkg&#039;&#039;&#039;. Ci sono per&amp;amp;ograve; aspetti che vanno &lt;br /&gt;
considerati:&lt;br /&gt;
*La rimozione dei pacchetti non elimina i file di configurazione del driver fglrx, questi file sono situati nella directory &#039;&#039;/etc/ati&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;NOTA:&#039;&#039;&#039; La directory &#039;&#039;/etc/ati/custom-package&#039;&#039; se esiste, contiene lo SlackBuild esterno e quindi non va cancellata.&lt;br /&gt;
*Il pacchetto &#039;&#039;fglrx-x&#039;&#039; contiene le librerie OpenGL della ATI, e queste librerie sono posizionate nella stessa directory di quelle Mesa, indi per cui quando si installa il pacchetto &#039;&#039;fglrx-x&#039;&#039; vengono sovrascritte le OpenGL Mesa. Per ripristinare la situazione si deve semplicemente reinstallare il pacchetto contenente queste librerie, ovvero il pacchetto:&lt;br /&gt;
::x11&lt;br /&gt;
:si usa la slackware 11, oppure:&lt;br /&gt;
::mesa&lt;br /&gt;
:se si usa la slackware 12.&lt;br /&gt;
&lt;br /&gt;
=Patchare i driver=&lt;br /&gt;
I driver ATI sono noti per essere sempre in ritardo rispetto all&#039;aggiornamento del kernel linux. Spesso occorre quindi patchare i driver in modo tale che la creazione del modulo per il kernel abbia successo. A partire dagli ATI Catalist &amp;gt; 8.11 abbiamo inserito nello &#039;&#039;&#039;SlackBuild interno&#039;&#039;&#039; la possibilit&amp;amp;agrave; di patchare i driver ATI prima che lo SlackBuild stesso esegua la compilazione del modulo per il kernel.&lt;br /&gt;
&lt;br /&gt;
Per fare questo basta creare (o scaricare da internet) una patch e dargli questo path:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/etc/ati/patch/patch-ATI_DRIVER_VERSION-KERNEL_VERSION&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
dove:&lt;br /&gt;
&lt;br /&gt;
ATI_DRIVER_VERSION deve essere uguale al risultato del comando:&lt;br /&gt;
 $ sh installer.run -i | head -n1 | cut -d&#039;-&#039; -f2&lt;br /&gt;
KERNEL_VERSION deve essere uguale al risultato del comando:&lt;br /&gt;
 $ uname -r&lt;br /&gt;
&lt;br /&gt;
se la directory &#039;&#039;/et/ati/patch&#039;&#039; non esiste, va ovviamente creata.&lt;br /&gt;
&lt;br /&gt;
Quindi ad esempio, se si il primo dei due comandi da come risultato &#039;&#039;&#039;8.56&#039;&#039;&#039; e il secondo &#039;&#039;&#039;2.6.27.6&#039;&#039;&#039;, la patch va chiamata: &#039;&#039;/etc/ati/patch/patch-8.56-2.6.27.6&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lo &#039;&#039;&#039;SlackBuild interno&#039;&#039;&#039; automaticamente noter&amp;amp;agrave; la patch, e, se si &amp;amp;egrave; in possesso del programma &#039;&#039;&#039;patch&#039;&#039;&#039;, eseguir&amp;amp;agrave;:&lt;br /&gt;
 # patch -p0 &amp;lt; /etc/ati/patch/patch-8.56-2.6.27.6&lt;br /&gt;
&lt;br /&gt;
=Problemi noti=&lt;br /&gt;
==FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol &#039;paravirt_ops&#039;==&lt;br /&gt;
L&#039;errore accade in fase di compilazione del modulo ed &amp;amp;egrave; dovuto al fatto che il kernel &amp;amp;egrave; stato compilato con l&#039;opzione di &lt;br /&gt;
paravirtualizzazione attiva. Questa opzione tra le altre cose, impedisce di caricare, e quindi di compilare, moduli che non hanno la &lt;br /&gt;
licenza GPL. Visto che i driver ATI non hanno questo tipo di licenza, non vengono compilati.&lt;br /&gt;
&lt;br /&gt;
Per ovviare al problema si pu&amp;amp;ograve;:&lt;br /&gt;
===Disabilitare la paravirtualizzazione nel kernel ===&lt;br /&gt;
L&#039;opzione di paravirtualizzazione si chiama &#039;&#039;&#039;CONFIG_PARAVIRT&#039;&#039;&#039; e generalmente si trova nel sottomen&amp;amp;ugrave; &lt;br /&gt;
&#039;&#039;&#039;Processor type and features&#039;&#039;&#039; del kernel.&lt;br /&gt;
===Patchare i driver ATI===&lt;br /&gt;
Questa operazione &amp;amp;egrave; illegale poich&amp;amp;egrave; si deve modificare il tipo di licenza rilasciata dalla ATI in GPL.&lt;br /&gt;
Ho scritto la patch:&lt;br /&gt;
&lt;br /&gt;
[http://www.cli.di.unipi.it/~tomasi/ati-slack-packager/patch/ati_to_gpl.patch ati_to_gpl.patch] (md5sum: 4207f41a71035dc2eed3ea9346b881bb)&lt;br /&gt;
&lt;br /&gt;
di cui non mi prendo nessuna responsabilit&amp;amp;agrave;, io non la uso e ne sconsiglio l&#039;uso preferendo l&#039;alternativa di disabilitare la paravirtualizzazione del kernel.&lt;br /&gt;
Per usare questa patch bisogna:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SlackBuild esterno&#039;&#039;&#039;:&lt;br /&gt;
* Copiare la patch nella directory &#039;&#039;/etc/ati/custom-package/patch&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SlackBuild interno&#039;&#039;&#039; (solo con ATI Catalist &amp;gt; 8.11):&lt;br /&gt;
* Copiare la patch nella directory &#039;&#039;/etc/ati/patch&#039;&#039; (se non esiste, va creata)&lt;br /&gt;
&lt;br /&gt;
Lo SlackBuild noter&amp;amp;agrave; la presenza della patch e la applicher&amp;amp;agrave;. Per disinstallare la patch basterà quindi cancellarla.&lt;br /&gt;
&lt;br /&gt;
==Using GLX_SGIX_pbuffer FGLTexMgr: open of shared memory object failed (Permission denied) __FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!==&lt;br /&gt;
Questo problema &amp;amp;egrave; dovuto alla mancanza nel sistema del filesystem SHM (oggi chiamato tmpfs), ovvero il virtual memory filesystem. &lt;br /&gt;
Per ovviare al problema si deve:&lt;br /&gt;
* Aggiungere al file &#039;&#039;/etc/fstab&#039;&#039; la seguente riga:&lt;br /&gt;
 shm                     /dev/shm                tmpfs           defaults                        0   0&lt;br /&gt;
* Quindi montare il filesystem tramite:&lt;br /&gt;
 # mount /dev/shm&lt;br /&gt;
Ovviamente il kernel deve essero predisposto al &amp;quot;montaggio&amp;quot; di questo filesystem, in particolare l&#039;opzione del kernel che deve essere &lt;br /&gt;
abilitata &amp;amp;egrave; &lt;br /&gt;
&#039;&#039;&#039;CONFIG_TMPFS&#039;&#039;&#039; che generalmente &amp;amp;egrave; sistuata nel sottomen&amp;amp;ugrave; del kernel &#039;&#039;&#039;File systems --&amp;gt; Pseudo filesystems&#039;&#039;&#039;. &lt;br /&gt;
C&#039;&amp;amp;egrave; da dire per&amp;amp;ograve; che tutti i kernel precompilati hanno generalmente questa opzione abilitata.&lt;br /&gt;
&lt;br /&gt;
==kernel includes at /lib/modules/`uname -r`/build/include do not match current kernel==&lt;br /&gt;
L&#039;errore completo &amp;amp;egrave; qualcosa del genere:&lt;br /&gt;
 &lt;br /&gt;
 Error:&lt;br /&gt;
 kernel includes at /lib/modules/`uname -r`/build/include do not match current kernel.&lt;br /&gt;
 they are versioned as &amp;quot;&amp;quot;&lt;br /&gt;
 instead of &amp;quot;`uname -r`&amp;quot;.&lt;br /&gt;
 you might need to adjust your symlinks:&lt;br /&gt;
 - /usr/include&lt;br /&gt;
 - /usr/src/linux&lt;br /&gt;
&lt;br /&gt;
L&#039;errore, se pur spiegato pu&amp;amp;ograve; non essere chiaro. In pratica deriva dal fatto che i link simbolici:&lt;br /&gt;
 /lib/modules/`uname -r`/source&lt;br /&gt;
 /lib/modules/`uname -r`/build&lt;br /&gt;
non puntano alla directory in cui sono inseriti i sorgenti del kernel attuale (che generalmente &amp;amp;egrave; /usr/src/linux-`uname -r`). &lt;br /&gt;
Accade a coloro che usano uno dei kernel contenuto nella Slackware, per cui cercher&amp;amp;ograve; di spiegarlo in termini di &amp;quot;pacchetti&amp;quot; &lt;br /&gt;
Slackware.&lt;br /&gt;
Questo pu&amp;amp;ograve; succedere:&lt;br /&gt;
* O perch&amp;amp;egrave; i sorgenti del kernel effettivamente non sono stati installati. In questo caso dovrebbe bastare installare il pacchetto dei sorgenti che si trova nella directory k/ della Slackware. Non &amp;amp;egrave; detto per&amp;amp;ograve; che il problema venga risolto, si veda il secondo motivo per cui sussiste l&#039;errore.&lt;br /&gt;
* O perch&amp;amp;egrave; i sorgenti (se pur installati) non rispecchiano le impostazioni dell&#039;attuale kernel. La nuova Slackware 12 ha al suo interno un p&amp;amp;ograve; di kernel precompilati (che vuol dire impostazioni differenti) mentre un solo pacchetto per i sorgenti (a meno di vedere nel ramo extra/). In particolare i sorgenti sono per un kernel SMP e quindi se si utilizza un kernel precompilato non SMP pu&amp;amp;ograve; accare che si verifichi l&#039;errore suddetto. Per ovviare basta fare quanto segue, dopo essersi assicurati che il pacchetto dei sorgenti &amp;amp;egrave; stato installato:&lt;br /&gt;
 # cd /usr/src/linux&lt;br /&gt;
 # cp /boot/config .config&lt;br /&gt;
 # make&lt;br /&gt;
:eseguendo il make, oltre a compilare il kernel e relativi moduli (che poi non useremo), si rigenerano alcuni file headers che rispecchiano la configurazione del kernel (per come impostata nel file .config).&lt;br /&gt;
&lt;br /&gt;
==Logo nei driver 8.39.4==&lt;br /&gt;
Questo &amp;quot;bug&amp;quot; nei driver 8.39.4 deriva dal fatto che gli sviluppatori ATI non aggiornano i packager mantainer prima della release &lt;br /&gt;
ufficiale. Sarebbe carino se facessero testare prima a noi le release ufficiali, in modo da certificare il corretto funzionamento degli &lt;br /&gt;
script per creare i pacchetti. Per risolvere il problema si deve usare lo SlackBuild esterno come descritto &lt;br /&gt;
[[#Versione dei driver &amp;lt; 8.37.6 (SlackBuild esterno) | qui]].&lt;br /&gt;
&lt;br /&gt;
==amdcccle non parte con la slackware 12==&lt;br /&gt;
Molti utenti che utilizzano la versione del server X.Org 7.2 (o 1.3) non riescono a lanciare correttamente il Catalyst. &lt;br /&gt;
Il comando per eseguire il Catalyst &amp;amp;egrave;:&lt;br /&gt;
 # amdcccle&lt;br /&gt;
Per questo problema sembra non esserci ancora soluzione, ma stiamo lavorando per risolverlo.&lt;br /&gt;
&lt;br /&gt;
=Link utili=&lt;br /&gt;
La Homepage dello SlackBuild esterno per i driver ATI la trovate all&#039;indirizzo:&lt;br /&gt;
http://www.cli.di.unipi.it/~tomasi/ati-slack-packager/sito/ati-slack-packager.html&lt;br /&gt;
&lt;br /&gt;
La principale &amp;quot;non-ufficiale&amp;quot; fonte di informazione per quanto riguarda i driver proprietari ATI:&lt;br /&gt;
http://wiki.cchtml.com/index.php/Main_Page&lt;br /&gt;
&lt;br /&gt;
Il thread di discussione da cui &amp;amp;egrave; stato tratto questo articolo:&lt;br /&gt;
http://www.slacky.eu/forum/viewtopic.php?t=18134&amp;amp;highlight=&lt;br /&gt;
&lt;br /&gt;
Un alternativa ai driver ufficiali ATI &amp;amp;egrave; data dal seguente sito:&lt;br /&gt;
http://www.schneider-digital.de/&lt;br /&gt;
&lt;br /&gt;
Una guida su come installare e configurare i driver Open Source ATI la trovate all&#039;indirizzo:&lt;br /&gt;
http://www.slacky.eu/wikislack/index.php?title=Installazione_driver_ATI_su_Slackware_GNU/Linux&lt;br /&gt;
&lt;br /&gt;
=Conclusione=&lt;br /&gt;
I driver proprietari ATI per molti notebook e moderni PC fissi risultano essere quasi l&#039;unica alternativa per l&#039;uso dell&#039;accelerazione &lt;br /&gt;
3d con linux. &lt;br /&gt;
Purtroppo gli sviluppatori ATI non effettuano il back porting e quindi gli utenti che fanno uso dei driver precedenti alla versione 8.37.6 &lt;br /&gt;
non potranno mai passare alla versione 7.2 (o 1.3) o successive del server X.Org. Si spera quindi che ben presto i driver Mesa possano essere usati &lt;br /&gt;
anche per queste schede video.&lt;br /&gt;
&lt;br /&gt;
Lo &#039;&#039;&#039;SlackBuild esterno&#039;&#039;&#039; &amp;amp;egrave; &#039;&#039;&#039;deprecato&#039;&#039;&#039; avendo aggiunto allo &#039;&#039;&#039;SlackBuild interno&#039;&#039;&#039; la possibilit&amp;amp;agrave; di patchare i driver.&lt;br /&gt;
&lt;br /&gt;
Inoltre, dato che non si &amp;amp;egrave; testato lo SlackBuild con tutte le versioni dei driver ATI e kernel possibili, pu&amp;amp;ograve; succedere che &lt;br /&gt;
la compilazione del modulo non abbia successo. Se &amp;amp;egrave; il vostro caso, scrivetemi tranquillamente all&#039;indirizzo &lt;br /&gt;
&#039;&#039;&#039;spina80@gmail.com&#039;&#039;&#039; postandomi l&#039;output dell&#039;installer lanciato con l&#039;opzione &#039;&#039;Only_Module&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Autore (data dell&#039;ultimo aggiornamento):&lt;br /&gt;
[[Utente:Spina|Spina]] 08:43, 19 Dic 2007 (CET)&lt;/div&gt;</summary>
		<author><name>80.181.167.115</name></author>
	</entry>
</feed>