Universal ATI/NVIDIA drivers

Problems and successes with specific brands/models of computer video hardware
Post Reply
Message
Author
User avatar
_gg
Posts: 10
Joined: Wed 21 Jan 2009, 12:48

Universal ATI/NVIDIA drivers

#1 Post by _gg »

Hi mates!

I started using Puppy Linux a couple of weeks ago.
I think, I have finally found the thing. (tnx 2 Barry and all Puppy Linux team =)
After installing to USB Flash drive I had an opportunity to boot almost any computer I met on my way... the same Xorg with old but reliable Vesa and specific JWM presented nice desktops and funcs everywhere...

Once I got an idea to advance my Flash installation to make it support DRI of the most popular ATI and NVIDIA GPUs.
After analyzing three driver packages I dealed with: (EDITED)
- NVIDIA 71.86.06 legacy drivers - nvidia_old configuration
- NVIDIA 177.82 proprietary drivers - nvidia_new configuration
- ATI 8-12 proprietary drivers - fglrx_new configuration
- ATI 8.18 legacy drivers - fglrx_old configuration
(EDITED) ... I created the common installer for them and the scripts (fglrx_new, fglrx_old, nvidia_new, nvidia_old, opengl - they can be found in /usr/etc/X11) which do all necessary to switch between the drivers and introduced the way of their execution in xorg.conf. opengl is the default configuration and is applied if no #ggconf entries found in xorg.conf
For example:
#ggconf fglrx_new -- somewhere in xorg.conf means that fglrx_new configuration is applied before xinit gets started.

This method assumes xorg.conf of each hardware profile have #ggconf string, telling ggconf configurator which driver to use.
This means that after the xorgwizard and aticonfig/nvidia-xconfig configurations on each new profile, the user must edit xorg.conf and place #ggconf of the driver version needed.

Before finally modifying xorg.conf, you can probe for configuration:

Example probe commands: (EDITED)
nvidia-xconfig; echo "#ggconf nvidia_old" > /etc/X11/xorg.conf; xwin
nvidia-xconfig; echo "#ggconf nvidia_new" > /etc/X11/xorg.conf; xwin
aticonfig --initial; echo "#ggconf fglrx_old" > /etc/X11/xorg.conf; xwin
aticonfig --initial; echo "#ggconf fglrx_new" > /etc/X11/xorg.conf; xwin
etc.

The problem was to apply the configuration just before xinit starts. The only solution I made was to rename xinit to xinit.original.ggconf and instead of this create symbolic link to xinit.ext.ggconf, which applies the configuration and then runs original xinit. I know that looks weird. So I ask more experienced Puppy users for an advice on this problem.

Here is the package (Only for installation, not for uninstallation):
h t t p : //s3.mixal.org.ua/puppy/ggvideo-4.1.2.pet
EDIT: Sorry, initial package was buggy ang no longer available.

Here is a version, tested with nvidia_old, nvidia_new and fglrx_new configurations (going to test in fglrx_old asa I get onto old ATI machine):
http://s3.mixal.org.ua/puppy/ggvideo-fg ... ppy412.pet

Please feel free to post your test results/bugs here...
Sorry again for previous buggy package.


I plan to advance the package with more video drivers.

Happy using,
Taras

User avatar
_gg
Posts: 10
Joined: Wed 21 Jan 2009, 12:48

#2 Post by _gg »

Edited previous post.

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#3 Post by MU »

very interesting.
I try to buld something similar for ultrapup, but it uses xorg 7.4, and so (very) the old nvidia drivers 77 do not work.
I did not yet integrate the 9.x driver, just forgot them...

With the old Ati driver 8.18 you will encounter the problem, that new versions of xorg are not supported.
See:
http://www.murga-linux.com/puppy/viewtopic.php?t=36567

I think you mean the fglrx driver from 2006 or so?
The naming convention by Ati is very confusing, now that the catalyst drivers use names like 8.12.
Mark
[url=http://murga-linux.com/puppy/viewtopic.php?p=173456#173456]my recommended links[/url]

User avatar
_gg
Posts: 10
Joined: Wed 21 Jan 2009, 12:48

#4 Post by _gg »

I think you mean the fglrx driver from 2006 or so?
The naming convention by Ati is very confusing, now that the catalyst drivers use names like 8.12.
Yes, this is old driver, named ati-driver-installer-8.28.8.run (2006 year) is the last one, I needed to get DRI on Radeon 9200. Had lots of troubles compiling it under 2.6 kernel as ATI didn't patch firegl_public.c for k2.6. So this is done by I still need to test all the fglrx_old config getting right.

The naming is really queer: 8.28.8 (old) vs. 8-12-x86 (new). The main difference is that new versions got separated by hyphens instead of dots.

Taras

glassparrot
Posts: 286
Joined: Sun 01 Jun 2008, 16:07
Location: Durango, Colorado - USA
Contact:

#5 Post by glassparrot »

Hi Taras... thanks for your work.

I've been embarking on the same sort of project... Mark (Mu) here has agreed to help me create a puplet which has both the ati and nvidia drivers, along with the smp kernel. I ordered a cheap ati video card in order to use it for testing this project. The card I have installed currently has the chipset: "radeon HD 3450"... and neither of your fglrx scripts worked for me. Both returned an error:

Code: Select all

ERROR: Module fglrx does not exist in /proc/modules

UPDATE:
I take it back. The error does not show up if I reboot the computer before running that install script.

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#6 Post by MU »

glassparrot wrote:Hi Taras... thanks for your work.

I've been embarking on the same sort of project... Mark (Mu) here has agreed to help me create a puplet which has both the ati and nvidia drivers, along with the smp kernel. I ordered a cheap ati video card in order to use it for testing this project. The card I have installed currently has the chipset: "radeon HD 3450"... and neither of your fglrx scripts worked for me. Both returned an error:

Code: Select all

ERROR: Module fglrx does not exist in /proc/modules

UPDATE:
I take it back. The error does not show up if I reboot the computer before running that install script.
you might have to type:
depmod -a
after you installed a kernelmodule.
It adds it to /lib/modules/2.6.*/modules.dep.
Just then it can be loaded.
Maybe depmod is run at startup, so the reboot solves this.

Also if you want to load fglrx.ko, first radeon.ko (the free driver) must be unloaded
rmmod drm
rmmod radeon
This must be done, if X does not run, as you just can unload, when it is not in use.
So often a reboot also solves this.
[url=http://murga-linux.com/puppy/viewtopic.php?p=173456#173456]my recommended links[/url]

glassparrot
Posts: 286
Joined: Sun 01 Jun 2008, 16:07
Location: Durango, Colorado - USA
Contact:

#7 Post by glassparrot »

Thanks for your help, Mark. :) I'll try what you suggest. The other project I'm working on, of course, is trying to manually install the ati drivers which amd/ati distribute. the latest one appears to be version 8.12. However, I'm having some difficulty finding the sfs file for the 2.6.25.16 kernel. Ibiblio only has 2.6.25.15 and the puptrix site which Barry pointed us to here is down, currently. Do you know where I could get a copy of that sfs file for puppy 4.12? :?: And do you know if I would need to use a different sfs file when compiling the ati driver for my smp 4.12 puppy installations?

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#8 Post by MU »

puptrix-sources-mirror:
http://www.murga-linux.com/puppy/viewtopic.php?t=34183


yes, the smp needs a different source.
http://www.murga-linux.com/puppy/viewto ... 6&start=45
last message.
Mark
[url=http://murga-linux.com/puppy/viewtopic.php?p=173456#173456]my recommended links[/url]

glassparrot
Posts: 286
Joined: Sun 01 Jun 2008, 16:07
Location: Durango, Colorado - USA
Contact:

#9 Post by glassparrot »

OK... Mark. Thanks again. Let me be sure I understand this, correctly.

I found an sfs file here, at your website: http://puppyisos.org/files/sfs/Puppy-4.1-smp/
which is named
  • 2.6.25.16_410.sfs
This is the sfs file for the 2.6.25.16 smp kernel, and is usable for puppy 4.12, right?



Now, over at those mirror websites you showed me I did not find a source .sfs file, but instead, here: http://puppylinux.ca/puppyfiles/sources/kernel-2.6.25.16/
I found a file named:
  • linux-2.6.25.16-src-patched_squashfs_unionfs_aufs_lzma_mt.tar.gz
In order to create the appropriate sfs file for the nosmp 2.6.25.16 kernel, I would have to put the proper .config file in there, run "configure," and then "make," and then sort a few things out, is that correct? Or if I installed that whole pile of files at /usr/src/linux-2.6.25.16, would the ati driver installation program work fine, immediately?

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#10 Post by MU »

glassparrot wrote:I found an sfs file here, at your website: http://puppyisos.org/files/sfs/Puppy-4.1-smp/
which is named
  • 2.6.25.16_410.sfs
This is the sfs file for the 2.6.25.16 smp kernel, and is usable for puppy 4.12, right?
yes.

For the normal Puppy 4.12 (without SMP), you can use the same sfs.
But replace /usr/src/linux-2.6.25.16/.config with this one:
http://puppylinux.asia/sources/BarryKau ... 8-STANDARD

Then type:
cd /usr/src/linux-2.6.25.16/
make oldconfig
make modules_prepare


I think this should be sufficient to compile the graficscarddrivers correctly.
If not, run:
cd /usr/src/linux-2.6.25.16/
make oldconfig
make
make modules_install


Mark

(note for me: I looked up here:
http://www.murga-linux.com/puppy/viewto ... 056#239056
http://www.murga-linux.com/puppy/viewtopic.php?t=34186 )
[url=http://murga-linux.com/puppy/viewtopic.php?p=173456#173456]my recommended links[/url]

glassparrot
Posts: 286
Joined: Sun 01 Jun 2008, 16:07
Location: Durango, Colorado - USA
Contact:

#11 Post by glassparrot »

Thanks Mark. I seem to have gotten the drivers themselves working. Following your suggestions, I unwrapped the sfs file with

Code: Select all

cp -a --remove-destination ./* /path/to/unwrapped/folder
...then ran the commands you told me about, after putting the proper .config file into place.

Code: Select all

make oldconfig
make modules_prepare
then I wrapped the sfs back up like this:

Code: Select all

mksquashfs /path/to/unwrapped/folder myname.sfs
And put it into /mnt/home where puppy will find it and use it.

Then I installed the official ati 8.12 driver using the gui installation program.

And after also installing the xorg_xorg_full_dri-7.3.pet, it worked great. You might double check that sfs file you posted. I didn't run more than one test or two... but it seems to me that there may have been a mix up and it might be actually for the original kernel. I had to build the modules for the smp sfs file using a dot config file you gave me a while back.

I checked the log at /usr/share/ati/fglrx-install.log

and ran the tests which are listed at:
http://wiki.cchtml.com/index.php/Verifying

For anyone who is reading this, and trying out the process: if you run into trouble, you can do two things to recover when X won't start: manually restore a working /etc/X11/xorg.conf file, or run the script at /usr/share/ati/fglrx-uninstall.sh to completely uninstall the driver.

My next question, Mark, is where you found the catalyst control panel, the ant simulation and the temperature thing for the ati drivers which are included in the Ati-Catalyst-8.12-xorg7.4-k2.6.27.5.pet package you talk about here. These don't seem to be included by ati in that 8.12 driver package.

And the next task I'll have to puzzle over, is seeing about getting compiz working on xfce using these drivers. There must be a special trick to it.
Last edited by glassparrot on Sun 25 Jan 2009, 17:45, edited 3 times in total.

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#12 Post by MU »

ah, that is possible, that it is the sfs I made for the original Puppy, so that you explicitly must modify .config to use SMP.
This is a while back and we lost a server, so I'm not so up to date any more with that.

I attach a pet of all things mentioned here in the next message.

control panel is
amdcccle

Create a file amdcccle.desktop in /usr/share/applications:

Code: Select all

[Desktop Entry]
Encoding=UTF-8
Name=ATI Catalyst Control Center
Comment=ATI graphics adapter settings
Name[de]=ATI Catalyst Control Center
Comment[de]=ATI grafics adapter settings
Categories=X-Desktop
Icon=ccc_large.xpm
MiniIcon=ccc_small.xpm
MimeType=
Exec=rxvt -e amdcccle
Type=Application
then type "fixmenus" to rebuild the menu.
I run it using rxvt, as running it directly often crashed it.

Antinspect is an old module from xscreensaver, extract to /usr/X11R7/bin, then run:
antinspect -fps

menu:
create /usr/share/applications/antinspect.desktop

Code: Select all

[Desktop Entry]
Encoding=UTF-8
Name=antinspect
Comment=antinspect
Exec=rxvt -e bash -c "antinspect -fps;echo '-hit a key to exit-';read a"
Icon=/usr/share/icons/ccc_large.xpm
Categories=X-Desktop
MimeType=
Type=Application

The temperature is a small script I wrote:
/usr/bin/ati-get-temperature-MU

Code: Select all

#!/bin/bash

while [ 1 ];do aticonfig --pplib-cmd "get temperature 0";sleep 1;done
To run it from the menu, create /usr/share/applications/ati-get-temperature-MU.desktop

Code: Select all

[Desktop Entry]
Encoding=UTF-8
Name=ati-graficscard temperature
Comment=ati-graficscard temperature
Exec=rxvt -e /usr/bin/ati-get-temperature-MU
Icon=/usr/share/icons/ccc_large.xpm
Categories=X-Desktop
MimeType=
Type=Application
Mark
Last edited by MU on Sun 25 Jan 2009, 08:32, edited 1 time in total.
[url=http://murga-linux.com/puppy/viewtopic.php?p=173456#173456]my recommended links[/url]

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#13 Post by MU »

here is a pet with all the mentioned files :)
Attachments
ati-stuff.pet
(28.52 KiB) Downloaded 841 times
Last edited by MU on Mon 16 Mar 2009, 15:46, edited 1 time in total.
[url=http://murga-linux.com/puppy/viewtopic.php?p=173456#173456]my recommended links[/url]

glassparrot
Posts: 286
Joined: Sun 01 Jun 2008, 16:07
Location: Durango, Colorado - USA
Contact:

#14 Post by glassparrot »

Hmmm... I've met a hurdle when trying to run amdcccle. I get this response:

Code: Select all

sh: users: command not found
sh: users: command not found
Segmentation fault
Do I need to install a dependency or two or three?

This is the list of needed packages which AMD/ATI mentions in their installation documentation:

fontconfig
gcc
xfree86-libs
libgcc
xfree86mesa-libgl
zlib
freetype
libstdc++

I see that the last three have been included in the standard version of puppy linux . Should I install the others?

User avatar
_gg
Posts: 10
Joined: Wed 21 Jan 2009, 12:48

#15 Post by _gg »

glassparrot wrote: I've been embarking on the same sort of project... Mark (Mu) here has agreed to help me create a puplet which has both the ati and nvidia drivers, along with the smp kernel. I ordered a cheap ati video card in order to use it for testing this project.
Yep, powerful thing. Did you bundled proprietary or unofficial drivers there?
As for legacy proprietary ATI drivers, here are the sources of old fglrx.ko, patched for k2.6.*, but not yet tested on any old ATI card:
http://s3.mixal.org.ua/puppy/fglrx_ko-8_18-old.tar.gz

Actually, that's 8.28.8 version, but here it's codenamed as 8_18.
The patch is included in archive. Unfortunately, it did not match correctly in specs, so I had to patch manually.
MU wrote: I try to buld something similar for ultrapup, but it uses xorg 7.4, and so (very) the old nvidia drivers 77 do not work.
I did not yet integrate the 9.x driver, just forgot them...
Mark, ati 8.28.* also fails fitting on xorg 7.4. So we get a deadlock with old drivers at Xorg 7.4. Maybe someday the vendors recompile their legacy Xorg modules. IMHO As for now it's better keeping xorg 7.3 for staying universal.
I think it's possible to branch at some common medium libs to downgraded module interface... Or maybe not - that's too freaky. But it's interesting to play with this.

Taras

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#16 Post by MU »

_gg.
I had problems to download your pet.
After many tries with wget, it finally succeeded.
I have not installed it on my own yet, but used your catalyst 8-12 kernelmodule for another pet, see:
http://www.murga-linux.com/puppy/viewtopic.php?t=38516
That works for my 4850.

I mirror your pet here:
http://puppyfiles.ca/dotpupsde/puppy4/d ... ppy412.pet (60 MB!)

Mark
[url=http://murga-linux.com/puppy/viewtopic.php?p=173456#173456]my recommended links[/url]

Post Reply