Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to
LinuxQuestions.org , a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free.
Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please
contact us . If you need to reset your password,
click here .
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a
virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month.
Click here for more info.
03-22-2005, 10:50 AM
#1
LQ Newbie
Registered: Feb 2005
Distribution: Slackware
Posts: 14
Rep:
ATI drivers and kernel 2.6.11 and later
Somebody compile driver under kernel 2.6.11 and later? Help pls.
P.S. Sorry for bad english.
03-23-2005, 08:27 AM
#2
Senior Member
Registered: May 2001
Location: Indiana
Distribution: Gentoo, Debian, RHEL, Slack
Posts: 1,555
Rep:
Gentoo compiled the ati drivers on my laptop just fine. I'm using 2.6.11.4. What exactly is your question.
03-23-2005, 09:43 AM
#3
LQ Newbie
Registered: Feb 2005
Distribution: Slackware
Posts: 14
Original Poster
Rep:
Quote:
Originally posted by musicman_ace
Gentoo compiled the ati drivers on my laptop just fine. I'm using 2.6.11.4. What exactly is your question.
Can you post patches from gentoo ebuilds?
03-23-2005, 11:35 AM
#4
Senior Member
Registered: May 2001
Location: Indiana
Distribution: Gentoo, Debian, RHEL, Slack
Posts: 1,555
Rep:
If there was a patch applied, emerge would have taken care of it. All I did was "emerge ati-drivers". They compiled correctly and I have opengl and 3d acceleration. I guess you could search the mirror to see if there was a patch.
03-23-2005, 01:26 PM
#5
Member
Registered: Dec 2002
Location: Qc, Canada
Distribution: CRUX
Posts: 317
Rep:
If you want to check gentoo's tree for patches, search google for intitle:index.of "gentoo/portage" ati
patches are in /files
Also, the linux forum at rage3d.com usually have an active thread about current drivers, patches are usually found there.
HTH
Last edited by UnTamed; 03-23-2005 at 01:28 PM .
03-23-2005, 06:42 PM
#6
LQ Newbie
Registered: Feb 2005
Distribution: Slackware
Posts: 14
Original Poster
Rep:
Code:
--- lib/modules/fglrx/build_mod/firegl_public.c.orig2005-02-05 08:18:17.301667616 -0500
+++ lib/modules/fglrx/build_mod/firegl_public.c2005-02-05 08:45:50.522339872 -0500
@@ -1659,13 +1659,22 @@
{
unsigned long pte_linear;
pgd_t* pgd_p;
+#if LINUX_VERSION_CODE > 0x02060a/* KERNEL_VERSION(2,6,10) */
+ pud_t* pud_p;
+#endif
pmd_t* pmd_p;
pte_t* pte_p;
pte_t pte;
pte_linear = VMALLOC_VMADDR(virtual_addr); // convert to pte linear address (x86 => nop)
pgd_p = pgd_offset(mm, pte_linear);
+#if LINUX_VERSION_CODE > 0x02060a/* KERNEL_VERSION(2,6,10) */
+ pud_p = pud_offset(pgd_p, pte_linear);
+ pmd_p = pmd_offset(pud_p, pte_linear);
+#else
pmd_p = pmd_offset(pgd_p, pte_linear);
+#endif
+
#ifndef FGL_ATOMIC_PTE
#if LINUX_VERSION_CODE > 0x020500
pte_p = pte_offset_kernel(pmd_p, pte_linear);
@@ -2085,6 +2094,9 @@
unsigned long address)
{
pgd_t* pgd_p;
+#if LINUX_VERSION_CODE > 0x02060a/* KERNEL_VERSION(2,6,10) */
+ pud_t* pud_p;
+#endif
pmd_t* pmd_p;
pte_t* pte_p;
pte_t pte;
@@ -2185,7 +2197,12 @@
/* alternatively we could generate a NOPAGE_OOM "out of memory" */
}
/* locate medium level page table (x86 => nop) */
+#if LINUX_VERSION_CODE > 0x02060a/* KERNEL_VERSION(2,6,10) */
+ pud_p = pud_offset(pgd_p, pte_linear);
+ pmd_p = pmd_offset(pud_p, pte_linear);
+#else
pmd_p = pmd_offset(pgd_p, pte_linear);
+#endif
if (!pmd_present(*pmd_p))
{
__KE_ERROR("FATAL ERROR: User queue buffer not present! (pmd)\n");
@@ -2549,13 +2566,21 @@
{
unsigned long pte_linear;
pgd_t* pgd_p;
+#if LINUX_VERSION_CODE > 0x02060a/* KERNEL_VERSION(2,6,10) */
+ pud_t* pud_p;
+#endif
pmd_t* pmd_p;
pte_t* pte_p;
pte_t pte;
pte_linear = VMALLOC_VMADDR(virtual_addr); // convert to pte linear address (x86 => nop)
pgd_p = pgd_offset(vma->vm_mm, pte_linear);
+#if LINUX_VERSION_CODE > 0x02060a/* KERNEL_VERSION(2,6,10) */
+ pud_p = pud_offset(pgd_p, pte_linear);
+ pmd_p = pmd_offset(pud_p, pte_linear);
+#else
pmd_p = pmd_offset(pgd_p, pte_linear);
+#endif
#ifndef FGL_ATOMIC_PTE
#if LINUX_VERSION_CODE > 0x020500
pte_p = pte_offset_kernel(pmd_p, pte_linear);
@@ -2704,13 +2729,13 @@
#endif /* __ia64__ */
vma->vm_flags |= VM_IO; /* not in core dump */
}
- if (remap_page_range(FGL_VMA_API_PASS
+ if (remap_pfn_range(FGL_VMA_API_PASS
vma->vm_start,
- __ke_vm_offset(vma),
+ __ke_vm_offset(vma) >> PAGE_SHIFT,
vma->vm_end - vma->vm_start,
vma->vm_page_prot))
{
- __KE_DEBUG("remap_page_range failed\n");
+ __KE_DEBUG("remap_pfn_range failed\n");
return -EAGAIN;
}
vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */
@@ -2771,13 +2796,13 @@
{
if (__ke_vm_offset(vma) >= __pa(high_memory))
vma->vm_flags |= VM_IO; /* not in core dump */
-if (remap_page_range(FGL_VMA_API_PASS
+if (remap_pfn_range(FGL_VMA_API_PASS
vma->vm_start,
- __ke_vm_offset(vma),
+ __ke_vm_offset(vma) >> PAGE_SHIFT,
vma->vm_end - vma->vm_start,
vma->vm_page_prot))
{
-__KE_DEBUG("remap_page_range failed\n");
+__KE_DEBUG("remap_pfn_range failed\n");
return -EAGAIN;
}
#ifdef __x86_64__
@@ -2808,13 +2833,13 @@
{
if (__ke_vm_offset(vma) >= __pa(high_memory))
vma->vm_flags |= VM_IO; /* not in core dump */
-if (remap_page_range(FGL_VMA_API_PASS
+if (remap_pfn_range(FGL_VMA_API_PASS
vma->vm_start,
- __ke_vm_offset(vma),
+ __ke_vm_offset(vma) >> PAGE_SHIFT,
vma->vm_end - vma->vm_start,
vma->vm_page_prot))
{
-__KE_DEBUG("remap_page_range failed\n");
+__KE_DEBUG("remap_pfn_range failed\n");
return -EAGAIN;
}
#ifdef __x86_64__
@@ -2858,6 +2883,37 @@
#if LINUX_VERSION_CODE >= 0x020400
+#if LINUX_VERSION_CODE >= 0x02060b
+
+typedef struct {
+void(*free_memory)(struct agp_memory *);
+struct agp_memory *(*allocate_memory)(size_t, u32);
+int(*bind_memory)(struct agp_memory *, off_t);
+int(*unbind_memory)(struct agp_memory *);
+void(*enable)(u32);
+int(*acquire)(void);
+void(*release)(void);
+int(*copy_info)(struct agp_kern_info *);
+} drm_agp_t;
+
+static const drm_agp_t drm_agp = {
+&agp_free_memory,
+&agp_allocate_memory,
+&agp_bind_memory,
+&agp_unbind_memory,
+&agp_enable,
+&agp_backend_acquire,
+&agp_backend_release,
+&agp_copy_info
+};
+#undef DRM_AGP_MODULE_GET
+#undef DRM_AGP_MODULE_PUT
+
+#define DRM_AGP_MODULE_GET&drm_agp
+#define DRM_AGP_MODULE_PUT
+
+#endif
+
static const drm_agp_t *drm_agp_module_stub = NULL;
#define AGP_FUNCTIONS8
Apply this patch to firegl_public.c in 2.6.x folder and drivers compile without errors
03-24-2005, 12:18 PM
#7
LQ Newbie
Registered: Feb 2005
Distribution: Slackware
Posts: 14
Original Poster
Rep:
In driver under XFree 4.3 it has error in DRM
Somebody using ATI drivers under XFree 4.3 with Direct Rendering yes ?
03-24-2005, 04:41 PM
#8
LQ Newbie
Registered: Feb 2005
Distribution: Slackware
Posts: 14
Original Poster
Rep:
I solve a problem
You can ask me how by e-mail or ICQ(176764468).
03-31-2005, 04:56 PM
#9
Member
Registered: Oct 2003
Location: Chico, CA, USA
Distribution: Linux Mint
Posts: 881
Rep:
Metallic, would you mind posting your solution? I have the same problem.
Thanks.
--Dane
All times are GMT -5. The time now is 11:01 AM .
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know .
Latest Threads
LQ News