============================================================================
My research : WHAT FOR's for ATI 3D Acceleration
System requirement must haves before attempting to install the ATI driver:
* glibc (version 2.2 or 2.3)
--- Link:
ftp.gnu.org/gnu/glibc/
* GCC installed (which is a compiler / current version 3.4.3)
--- Link:
ftp.gnu.org/gnu/gcc/
* Make utility (rcurrent version 3.8.0)
--- Link:
ftp.gnu.org/gnu/make/
In my opinion they should be installed by default or there should be a warning/notice that there are no compilers or make utils installed with the "style" of install you've chosen from the distro install gui.
For me I installed all of the compilers that came with Fedora Core 3 for whatever I might install in the future. (In the case of Fedora Core 3 I used the RPM's located on the (4) Fedora Core 3 CD's from X)
* X-Window System installed (XFree86 version 4.1, 4.2, 4.3 or X.Org version 6.8)
--- Links:
http://www.xfree86.org or
http://www.x.org (Fedora Core 3 uses X.org)
* Kernel source code
* Kernel header files (includes)
Kernel source code should match what you have, but in the case of your particular system, the new kernel may fix other things that may look like the video driver is the problem.
Why update the o/s kernel?
==========================
Support for 3D acceleration was not present in certain operating systems awhile back so the o/s needed a service pack before you could load the ATI 3D driver. The reference is the ATI 3D Rage Pro and Microsoft Windows products. There are also other references to every operating system out there. Latest hardware often denotes updated support required for the o/s and many times the driver as well.
Service Packs or Support Packs updated the operating system and the support files. The size of the service update showed just how much needed to be updated and the update is usually compressed data files. Your Linux O/S may need an update too depending upon the current kernel it has. In many driver update cases there is no one site that shows all this information and that is true for Microsoft, NetWare, FreeBSD and Linux or as far as I know. The hardware device manufacturer just refers you to the distro web site.
Then you have to check the Changelog many people say. What's a Changelog? What changes have been made since the previous released version. Unfortunately it is written by developers and programmers in terms that only they and a few other people understand. In my opinion it should be written in plain terms as well and not just "physician speak". What's that? Ever go to the doctor and here the medical jargon explanation and have to say, "Doc, please repeat that in terms "I" can understand, ok?". So anyway, the Changelog should just say this for all who read to understand:
"Added or Removed support for: <laymans terms>
* Developer/Programmer terms: <info for the technically inclined>"
Until this happens everyone will have to search around each site for their device driver info and driver downloads or search the Changelog if you know what keyword they, the developers use or what pertains to your issue or device. Currenly devices you buy for PC's don't come with Linux driver update/install CD's. Why? Ask them because I have no idea why they wouldn't have one. During my research I found webcams and video camera's and all sorts of other devices cause video lock ups or terrible performance due to chipset of the motherboard or the device drivers for those devices themselves. The kernel I have now in FC3 is 2.6.9-1.667 which apparently has a problem with nVidia nForce2 chipsets.
The Kernel
==========
What version do I have now?
* X-Windows session: Open a terminal window.
* Console session: From X-Windows you can logout or do a key combo, CTRL-ALT-F1.
- Type the following at the command prompt:
uname -r
(Write down the information.)
What version is the latest?
*
http://www.linux.org (why's of updating the kernel, if you can find the information)
There's a link to the current (released) kernel listed which takes you here to Linuxhq.com. From there you have to look at the "drivers" link since the obvious term "video" is not on the main list. Why do I even mention that? Because "sound" is on the main list. Following the tree I found this link:
http://www.linuxhq.com/kernel/v2.6/1...deo/index.html
Where do I get the kernel?
*
http://www.kernel.org (kernels and/or patches to update your kernel to the latest version)
- The signed files are for using YUM.
Kernel files:
=============
* B2zipped:
- File: linux-2.6.10.tar.bz2
Link:
http://ftp.linux.org/pub/linux/kerne...2.6.10.tar.bz2
-- Size (bytes): 36533484
-- Date: Dec 24 22:38
- File: linux-2.6.10.tar.bz2.sign
Link:
http://ftp.linux.org/pub/linux/kerne...bz2.sign<br />
-- Size (bytes): 248
-- Date: Dec 24 22:38
* GZipped:
- File: linux-2.6.10.tar.gz
Link:
http://ftp.linux.org/pub/linux/kerne...-2.6.10.tar.gz
-- Size (bytes): 45799369
-- Date: Dec 24 22:38
- File: linux-2.6.10.tar.gz.sign
Link:
http://ftp.linux.org/pub/linux/kerne...10.tar.gz.sign
-- Size (bytes): 248
-- Date: Dec 24 22:38
* Uncompressed:
- File: linux-2.6.10.tar.sign
Link:
http://ftp.linux.org/pub/linux/kerne....6.10.tar.sign
-- Size (bytes): 248
-- Date: Dec 24 22:38
Patches
=======
* B2zipped:
- File: patch-2.6.10.bz2
Link:
http://ftp.linux.org/pub/linux/kerne...tch-2.6.10.bz2
-- Size (bytes): 4851041
-- Date: Dec 24 22:38
- File: patch-2.6.10.bz2.sign
Link:
http://ftp.linux.org/pub/linux/kerne....6.10.bz2.sign
-- Size (bytes): 248
-- Date: Dec 24 22:38
* Gunzipped:
- File: patch-2.6.10.gz
Link:
http://ftp.linux.org/pub/linux/kerne...atch-2.6.10.gz
-- Size (bytes): 5961609
-- Date: Dec 24 22:38
- File: patch-2.6.10.gz.sign
Link:
http://ftp.linux.org/pub/linux/kerne...2.6.10.gz.sign
-- Size (bytes): 248
-- Date: Dec 24 22:38
* Uncompressed:
- File: patch-2.6.10.sign
Link:
http://ftp.linux.org/pub/linux/kerne...ch-2.6.10.sign
-- Size (bytes): 248
-- Date: Dec 24 22:38
=============================================
Changelog
Link:
http://ftp.kernel.org/pub/linux/kernel/v2.6/
File: ChangeLog-2.6.10
Size (bytes): 1552868
Date: Dec 24 22:30
/1.55 megabytes for a text file!!! Big? 1 kilobyte equals 1 page!/
--- Location:
http://ftp.kernel.org/pub/linux/kern...angeLog-2.6.10
What do I look for? See what I looked for below:
=============================================
Summary of changes from v2.6.9 to v2.6.10
----
Searched Changelog for "ATI"
"
[PATCH] USB: usb_unlink_urb removal from input/ati_remote.c"
----
Searched Changelog for "3D & mach64"
"
[PATCH] fbdev: Various mach64 changes
Alexander Kern <alex.kern@gmx.de>
[PATCH] port Daniel Mantione 2.4 driver to 2.6
[PATCH] add more pci_id number
[PATCH] add accelerated imgblit
[PATCH] revert SDRAM_MAGIC_PLL to old behaviour
[PATCH] do a "from BIOS" initialisation only by __i386__
Arnaud FONTAINE <arnaud.fontaine@free.fr>
[PATCH atyfb] correction for 3D Rage Mobility L
Geert Uytterhoeven <geert@linux-m68k.org>
[PATCH atyfb] Atari Atyfb fixes
[PATCH atyfb] Atyfb on Mach64 GX or Atari
[PATCH 468] m68k sparse floating point
James Simmons <jsimmons@infradead.org>
[PATCH add] port to framebuffer_alloc api
Nicolas Souchu <nsouch@free.fr>
[PATCH] I do not found a copy, but it was incorporated too
Ville Syrjälä <syrjala@sci.fi>
[PATCH] fix pan with doublescan
[PATCH] another double scan fix
[PATCH] disable linear aperture register access
[PATCH] Memory type correction
[PATCH] atyfb (2.6): Fix mmio_start
[PATCH] atyfb (2.6): Fix mem_refresh_rate for Mobility
[PATCH] atyfb (2.6): Add RGB565 support
[PATCH] atyfb: Blank LCD by turning off backlight voltage
[PATCH] atyfb: Rage LT LCD register access
[PATCH] atyfb: vblank irq support
[PATCH] atyfb: MTRR support
Antonino Daplas <adaplas@pol.net>
remove/modify all references to info->cursor"
----
Searched Changelog for "acceleration"
"
[PATCH] ns83820: add vlan tag hardware acceleration support"
"
[ARM PATCH] 2167/1: OMAP update 6/8: Add graphics acceleration support to DMA"
----
Searched Changelog for "9200"
* Results: (none)
----
Searched Changelog for "AGP"
"
[PATCH] fbdev: Remove i810fb explicit agp initialization hack."
"
[PATCH] janitor: char/sis-agp: replace schedule_timeout() with msleep()"
"
PCI: fix up pci_save/restore_state in via-agp due to api change."
"
[CPUFREQ] NVidia nForce2 FSB cpufreq driver.
Adds cpufreq support for FSB changing on nForce2 platforms. On this
plattforms the PCI/AGP clock is independent from the FSB and it also
doesn't depend on the used CPU."
(
this is my motherboards chipset, nVidia nForce2 / DFI NFII Ultra AL)
"
[PATCH] FB_INTEL Kconfig breakage
FB_INTEL selects AGP_INTEL (i.e. intel-agp.c), which is i386-only.
AGP_INTEL itself depends on X86 && !X86_64 and for a good reason - it doesn't
build elsewhere."
----
Searched Changelog for "radeon" & "video"
"
[PATCH] janitor: list_for_each: drivers-char-drm-radeon_mem.c
s/for/list_for_each/"
"
[PATCH] janitor: video/radeon_base: replace MS_TO_HZ() with msecs_to_jiffies()
Replace MS_TO_HZ() with msecs_to_jiffies()."
"
[PATCH] janitor: video/radeonfb: remove MS_TO_HZ()
Removes definition of MS_TO_HZ() in favor of msecs_to_jiffies()."
"
[ACPI] ACPI_VIDEO is EXPERIMENTAL"
"
[ACPI] fix video module unload oops"
"
[PATCH] tmpfs truncate latency
High latency observed when deleting a large video file from tmpfs.
shmem_truncate held info->lock (easily dropped) and nested atomic kmaps
(more awkward to handle, since it's structured to keep them) while scanning
the many pages of its swap vector. Now be prepared to cond_resched every
64 ops (but scan an empty page in one go).
shmem_free_pages to free a linked list of empty swap vector pages at the
end (cond_resched every 64): could still free them one by one in the main
loop, but this foreshadows scalability changes - which will want to use RCU
on them, only freeing the pages after a grace period."
"
[PATCH] radeonfb: If no video memory, exit with error
Nothing good will happen if we try to ioremap and use a zero-sized frame
buffer. I observed this problem on an ia64 sx1000 box, where the BIOS
doesn't run the option ROM. If we try to continue, radeonfb just gets
hopelessly confused because the card isn't initialized correctly."
"
[PATCH] fbcon: Remove spurious casts
This patch removes unnecessary casts from drivers/video/console/fbcon.c.
Assignment from a void pointer does not require a cast and char type is
promoted to int automatically."
"
[PATCH] USB: remove dead code in usb video
Hi,
Patch below removes somem dead, never used code from the usbvideo driver,
including a function that uses interruptible_sleep_on_timeout() oddly."
"
[PATCH] saa7111.c: fix VIDEO_MODE_SECAM
VIDEO_MODE_SECAM was incorrectly writing the contents of cached register 14
back to hardware register 8, rather than using cached register 8."
"
[PATCH] atyfb: Fix power management
The new atyfb has the return value for the Power Management routine
wrong. This prevents sleep from working on PowerBooks with mach64
video chips. This fixes it."
"
[ACPI] fix warnings for 64-bit video build (Luming Yu)"
"
[PATCH] v4l: yet another video-buf interface update
This is one more interface fix for the video-buf.c module, the first
attempt on that wasn't that clever. Instead of passing the driver private
data through all function calls I've just made that an element of the
videobuf_queue struct which is passed around everythere _anyway_.
That removes some reduncancy, should be less error prone and gain me some
points on rusty's interface design scala
It also fixes the tvtime crashes which where caused by overviewing one
place to fixup in the first attempt."
(
the list goes on and on for the word "video" with reference to "[PATCH] v41:" and there are sub-sections of chipsets other that what this post is about. Check the file yourself for your chipset)
"
[PATCH] media/video/bw-qcam.c: remove an unused function
The patch below removes an unused function from media/video/bw-qcam.c"
"
[PATCH] video-buf oops/crash fixes
Some places which need adaption to the last video-buf API change where
forgotten, this patches fixes them up. Hope I really caught them all now."
"
[PATCH] iomem annotations and isa_-ectomy: media/video/pms.c
switched to ioremap() + normal iomem access primitives"
"
[PATCH] video: semicolon bug in atyfb_base.c
Indentiation and logic suggest this was wrong."
"
[PATCH] media: Update drivers/media/video/arv.c
Here is a patch to update AR camera device driver.
drivers/media/video/arv.c:
- Remove warnings; use module_param() instead of MODULE_PARM(), because
MODULE_PARM() is deprecated.
- Fix white-space damages."
"
[PATCH] ppc64: Workaround PCI issue on g5
ppc64 has a global called "pci_probe_only" which, when set, prevents the
arch PCI code from calling pci_assign_unassigned_resources(). This was
cleared by pmac so far, but a bug in the definition of the variable make
that ineffective until 2.6.10, and so we never called
pci_assign_unassigned_resources().
With 2.6.10, that bug was fixed and so we now call it, which results in
some problems. Some devices who have perfectly valid assigned addresses by
firmware end up beeing moved around anyway, which is a BAD thing can can
break boot on some machines since it breaks the relationship between
addresses in Open Firmware device-tree and actual location of PCI devices.
(Some low level things like the PIC are ioremap'ed based on their OF
address, way before the PCI based ASIC hosting them has been found). This
also break the "offb" default framebuffer driver since the video card ends
up beeing moved around as well.
For now, the fix is to set pci_probe_only on pmac, thus reverting to the
old behaviour. In the long run, it would be interesting to "fix"
pci_assign_unassigned_resources() so that it does what it's name claims,
and only assigns things that have been left unassigned instead of moving
things around gratuituously..."
"
http://bugme.osdl.org/show_bug.cgi?id=3286
The kernel keeps printing "Lost sync on frames" error messages as soon as a
program tries to access the webcam. No video data can be retrieved from
the webcam.
The following patch seems enough to solve the problem. (just inverting the
order at which the old and new data blocks are sent to the user)."
"
[PATCH] VGA console font problems on 2.6 kernel
From: Egbert Eich <eich@suse.de>
I would like to utilize kernel ioctls to save/restore console fonts
in VGA text mode when running X. So far the Xserver takes care of this
however there more and more problems with this:
1. On some platforms (IA64) we need to POST the BIOS before
we even have a chance to access the hardware ourselves.
This POSTing will usually undo any changes to the graphics
hardware that the kernel may have done.
2. More and more drivers fully rely on BIOS support however
the BIOS functions which could be used to save/restore
register settings may be broken so the only way of mode
save/restore is getting/setting the BIOS mode ID.
I've hacked up some code for X however I ran into two problems:
1. con_font_get() in linux/drivers/char/vt.c seems to be broken as
the font parameters (height, width, charcount) are never reported
back. Therefore this function seems to be pretty useless.
The fix is simple (please see below).
2. fb consoles seem to allow to install fonts per vt so that the user
can have a different font on every console. The text console driver
doesn't support this: the font is downloaded to the video card
and will be used for all systems. Still the vga_con driver stores
the font parameters per console with the effect that setting a
font with different parameters on one console will result in the
wron values when this font information is read back from another
console.
Appearantly this broken feature has been introduced in 2.6 as
in the 2.4 kernel the vga_con font information is stored in one
single global variable.
The IA64 platform at least still heavily relies on the VGA text console.
To be able to fix some VT switching issues with X on this platform I
need these two issues resolved."
"
[PATCH] fbdev: fix framebuffer memory calculation for vesafb
- use vesafb_fix.line_length * vesafb_defined.yres to calculate the minimum
memory required for a video mode. From Aurelien Jacobs <aurel@gnuage.org>.
- separately calculate the memory required for a video mode, memory to be
remapped, and total memory (for MTRR). From Gerd Knorr
<kraxel@bytesex.org>.
- the 'vram' option is for memory to be remapped, not total memory."
(
I noticed a vesafb error after I updated the ATI driver the first time around)
"
[PATCH] sata_sil mod15 quirk with Seagate ST3120026AS
From: <stuart@cybertherial.com>
Hardware Environment: AMD64, sil3512 controller on m/b. Harddrive: Seagate
120GB ST3120026AS
Problem Description: Drive would lock when writing large files, eg video
from firewire, audio editing. Checked dmesg, was obviously the sata drive.
Have added the drive to the blacklist in sata_sil.c and the problem seems
to have disappeared.
Is there a good test to verify that the mod15 bug is really the problem?"
----
Searched Changelog for "dri" & "drm"
* Results:
"
[PATCH] mark inter_module_* deprecated
These had been officially deprecated since Rusty's module rewrite, but
never got the __deprecated marker. The only remaining users are drm and
mtd, so we'll get some warnings for common builds. But maybe that's the
only way to get the drm people to fix the mess
"
"
[PATCH] drm_drv.h: replace pci_find_device
As pci_find_device is going away I've replaced it with pci_get_device.
for_each_pci_dev is a macro wrapper around pci_get_device."