LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
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


Reply
  Search this Thread
Old 09-13-2003, 10:30 AM   #1
Mr. D.
Member
 
Registered: Jul 2003
Location: Switzerland
Distribution: Slackware 10, SuSE 9.3
Posts: 35

Rep: Reputation: 15
Radeon IGP345M 3D-Driver


Hi all

I'm using a Mandrake distro on my HP-Pavillion with a Radeon IGP345M.
Does anybody konw if there are 3d drivers existing?
Anybody who can play TUX-Racer or something similar on that graphics board?

HP supports only ###-dose drivers. and on the ATI homepage is the only help: "go to the homepage of the manufacturer...".

Thanks for any hints.

D.
 
Old 10-12-2003, 11:35 AM   #2
sheldon901
LQ Newbie
 
Registered: Oct 2003
Posts: 3

Rep: Reputation: 0
Hello, I've got a pavilion also with the same video.. and same problems. I found this page though

http://dri.sourceforge.net/cgi-bin/m...a45d660193263f

but I'm too much of a newbie to know what to do with the patches and stuff that it links to for 3D.

Help anyone?
 
Old 12-15-2003, 06:21 AM   #3
flavien
LQ Newbie
 
Registered: Dec 2003
Posts: 2

Rep: Reputation: 0
I 've the same problem, I find a solution .
See my post at :

http://www.ze-linux.org/forum_3_19349.html
 
Old 12-15-2003, 04:01 PM   #4
sheldon901
LQ Newbie
 
Registered: Oct 2003
Posts: 3

Rep: Reputation: 0
hey.. thanks for the link, it looks useful, but.... translation anybody??
 
Old 12-16-2003, 02:18 AM   #5
flavien
LQ Newbie
 
Registered: Dec 2003
Posts: 2

Rep: Reputation: 0
here comes my translation, sorry for this bad english

How to make dri work with an IGP345M

First, compil a new kernel, ie /usr/src/linux-2.4.22-bk60

cd /
cd usr/src
mkdir ./linux-2.4.22-bk60

Make a new symbolic link to src
rm -f ./linux
ln -s ./linux-2.4.22-bk60 linux

Untar archive
cd linux-2.4.22-bk60
tar -xjf linux-2.4.22.tar.bz2
mv ./linux-2.4.22/* ./
rmdir ./linux
rm -f linux-2.4.22.tar.bz2


Apply many Patchs
--------
Patch Bit keeper 60
bzcat pacth | patch-2.4.22-bk60.bz2 -p1

Patch ati_over_bk.diff
This orginal patch was published in bugzilla, but I made little change in order to apply it succesfully over bit keeper patch
patch -p4 < ati_over_bk.diff


The patch ( Someone report that the was malformed, due to the cut/paste operation. You will probably need to remove all space and tab character at the beginning of the line )
<<<<<<<<<<<<<<<<<<CUT HERE >>>>>>>>>>>>>>>>>>>>>>>>>
diff -iru /usr/src/mypatch/drivers/char/agp/agpgart_be.c /usr/src/linux-2.4.22-bk52/drivers/char/agp/agpgart_be.c
--- /usr/src/mypatch/drivers/char/agp/agpgart_be.c 2003-12-06 16:32:09.000000000 +0100
+++ /usr/src/linux-2.4.22-bk52/drivers/char/agp/agpgart_be.c 2003-11-16 16:26:55.000000000 +0100
@@ -49,9 +49,6 @@
#include <asm/uaccess.h>
#include <asm/io.h>
#include <asm/page.h>
-#ifdef CONFIG_X86
-#include <asm/msr.h>
-#endif

#include <linux/agp_backend.h>
#include "agp.h"
@@ -69,7 +66,6 @@
EXPORT_SYMBOL(agp_backend_release);

static void flush_cache(void);
-static int agp_init_one(struct pci_dev *dev);

static struct agp_bridge_data agp_bridge;
static int agp_try_unsupported __initdata = 0;
@@ -1773,7 +1769,7 @@
* psuedo-GART entry for each of the aforementioned kernel pages. The whole
* of i460_pg_detail is equivalent to a giant GATT with page size equal to
* that of the kernel.
- */
+ */

static void *intel_i460_alloc_large_page(int pg_num)
{
@@ -2527,7 +2523,7 @@
agp_bridge.cant_use_aperture = 0;

return 0;
-
+
(void) pdev; /* unused */
}

@@ -3841,6 +3837,8 @@
return -ENODEV;
apbase = (apbase & 0x7fff) << 25;

+ /* AK: most likely the shadow into the primary device is not needed */
+
pci_read_config_dword(agp_bridge.dev, NVIDIA_X86_64_0_APBASE, &apbar);
apbar &= ~PCI_BASE_ADDRESS_MEM_MASK;
apbar |= apbase;
@@ -4086,7 +4084,7 @@
static unsigned long ali_alloc_page(void)
{
unsigned long p = agp_generic_alloc_page();
- if (!p)
+ if (!p)
return 0;

/* probably not needed anymore */
@@ -4260,7 +4258,7 @@
int retval = 0;
int i;

- tables = kmalloc((nr_tables + 1) * sizeof(serverworks_page_map *),
+ tables = kmalloc((nr_tables + 1) * sizeof(serverworks_page_map *),
GFP_KERNEL);
if (tables == NULL) {
return -ENOMEM;
@@ -4811,56 +4809,9 @@
return 0;
}

-#define SYSCFG 0xC0010010
-#define IORR_BASE0 0xC0010016
-#define IORR_MASK0 0xC0010017
-#define AMD_K7_NUM_IORR 2
-
-static int nvidia_init_iorr(u32 base, u32 size)
-{
- u32 base_hi, base_lo;
- u32 mask_hi, mask_lo;
- u32 sys_hi, sys_lo;
- u32 iorr_addr, free_iorr_addr;
-
- /* Find the iorr that is already used for the base */
- /* If not found, determine the uppermost available iorr */
- free_iorr_addr = AMD_K7_NUM_IORR;
- for(iorr_addr = 0; iorr_addr < AMD_K7_NUM_IORR; iorr_addr++) {
- rdmsr(IORR_BASE0 + 2 * iorr_addr, base_lo, base_hi);
- rdmsr(IORR_MASK0 + 2 * iorr_addr, mask_lo, mask_hi);
-
- if ((base_lo & 0xfffff000) == (base & 0xfffff000))
- break;
-
- if ((mask_lo & 0x00000800) == 0)
- free_iorr_addr = iorr_addr;
- }
-
- if (iorr_addr >= AMD_K7_NUM_IORR) {
- iorr_addr = free_iorr_addr;
- if (iorr_addr >= AMD_K7_NUM_IORR)
- return -EINVAL;
- }
-
- base_hi = 0x0;
- base_lo = (base & ~0xfff) | 0x18;
- mask_hi = 0xf;
- mask_lo = ((~(size - 1)) & 0xfffff000) | 0x800;
- wrmsr(IORR_BASE0 + 2 * iorr_addr, base_lo, base_hi);
- wrmsr(IORR_MASK0 + 2 * iorr_addr, mask_lo, mask_hi);
-
- rdmsr(SYSCFG, sys_lo, sys_hi);
- sys_lo |= 0x00100000;
- wrmsr(SYSCFG, sys_lo, sys_hi);
-
- return 0;
-}
-
static int nvidia_configure(void)
{
- int err;
- int i, num_dirs;
+ int i, rc, num_dirs;
u32 apbase, aplimit;
aper_size_info_8 *current_size;
u32 temp;
@@ -4880,9 +4831,9 @@
pci_write_config_dword(nvidia_private.dev_2, NVIDIA_2_APLIMIT, aplimit);
pci_write_config_dword(nvidia_private.dev_3, NVIDIA_3_APBASE, apbase);
pci_write_config_dword(nvidia_private.dev_3, NVIDIA_3_APLIMIT, aplimit);
- err = nvidia_init_iorr(apbase, current_size->size * 1024 * 1024);
- if (err)
- return err;
+
+ /* The original driver changed the IORR. We don't do that
+ because this should be handled by the BIOS. */

/* directory size is 64k */
num_dirs = current_size->size / 64;
@@ -4940,10 +4891,6 @@
previous_size = A_SIZE_8(agp_bridge.previous_size);
pci_write_config_byte(agp_bridge.dev, NVIDIA_0_APSIZE,
previous_size->size_value);
-
- /* restore iorr for previous aperture size */
- nvidia_init_iorr(agp_bridge.gart_bus_addr,
- previous_size->size * 1024 * 1024);
}

static void nvidia_tlbflush(agp_memory * mem)
@@ -5063,7 +5010,7 @@
pci_find_slot((unsigned int)pdev->bus->number, PCI_DEVFN(0, 2));
nvidia_private.dev_3 =
pci_find_slot((unsigned int)pdev->bus->number, PCI_DEVFN(30, 0));
-
+
if((nvidia_private.dev_1 == NULL) ||
(nvidia_private.dev_2 == NULL) ||
(nvidia_private.dev_3 == NULL)) {
@@ -5738,6 +5685,7 @@

if ((agp_bridge.dev->device == PCI_DEVICE_ID_ATI_RS100) ||
(agp_bridge.dev->device == PCI_DEVICE_ID_ATI_RS200) ||
+ (agp_bridge.dev->device == PCI_DEVICE_ID_ATI_RS200M) ||
(agp_bridge.dev->device == PCI_DEVICE_ID_ATI_RS250)) {
pci_read_config_dword(agp_bridge.dev, ATI_RS100_APSIZE, &temp);
temp = (((temp & ~(0x0000000e)) | current_size->size_value)
@@ -5791,6 +5739,7 @@

if ((agp_bridge.dev->device == PCI_DEVICE_ID_ATI_RS100) ||
(agp_bridge.dev->device == PCI_DEVICE_ID_ATI_RS200) ||
+ (agp_bridge.dev->device == PCI_DEVICE_ID_ATI_RS200M) ||
(agp_bridge.dev->device == PCI_DEVICE_ID_ATI_RS250)) {
pci_read_config_dword(agp_bridge.dev, ATI_RS100_APSIZE, &temp);
} else {
@@ -5823,6 +5772,7 @@

if ((agp_bridge.dev->device == PCI_DEVICE_ID_ATI_RS100) ||
(agp_bridge.dev->device == PCI_DEVICE_ID_ATI_RS200) ||
+ (agp_bridge.dev->device == PCI_DEVICE_ID_ATI_RS200M) ||
(agp_bridge.dev->device == PCI_DEVICE_ID_ATI_RS250)) {
pci_write_config_dword(agp_bridge.dev, ATI_RS100_IG_AGPMODE, 0x20000);
} else {
@@ -5860,6 +5810,7 @@
/* Write back the previous size and disable gart translation */
if ((agp_bridge.dev->device == PCI_DEVICE_ID_ATI_RS100) ||
(agp_bridge.dev->device == PCI_DEVICE_ID_ATI_RS200) ||
+ (agp_bridge.dev->device == PCI_DEVICE_ID_ATI_RS200M) ||
(agp_bridge.dev->device == PCI_DEVICE_ID_ATI_RS250)) {
pci_read_config_dword(agp_bridge.dev, ATI_RS100_APSIZE, &temp);
temp = ((temp & ~(0x0000000f)) | previous_size->size_value);
@@ -5935,7 +5886,7 @@
"Ali",
"M1541",
ali_generic_setup },
- { PCI_DEVICE_ID_AL_M1621_0,
+ { PCI_DEVICE_ID_AL_M1621_0,
PCI_VENDOR_ID_AL,
ALI_M1621,
"Ali",
@@ -5976,13 +5927,13 @@
ALI_M1651,
"Ali",
"M1651",
- ali_generic_setup },
+ ali_generic_setup },
{ PCI_DEVICE_ID_AL_M1671_0,
PCI_VENDOR_ID_AL,
ALI_M1671,
"Ali",
"M1671",
- ali_generic_setup },
+ ali_generic_setup },
{ 0,
PCI_VENDOR_ID_AL,
ALI_GENERIC,
@@ -6399,12 +6350,6 @@
"NVIDIA",
"nForce3/K8 On-CPU GART",
nvidia_x86_64_setup },
- { PCI_DEVICE_ID_NVIDIA_NFORCE3S,
- PCI_VENDOR_ID_NVIDIA,
- NVIDIA_NFORCE3,
- "NVIDIA",
- "nForce3S/K8 On-CPU GART",
- nvidia_x86_64_setup },
#endif
#ifdef CONFIG_AGP_NVIDIA
{ 0,
@@ -6428,6 +6373,12 @@
"ATI",
"IGP330/340/345/350/M",
ati_generic_setup },
+ { PCI_DEVICE_ID_ATI_RS200M,
+ PCI_VENDOR_ID_ATI,
+ ATI_RS200M,
+ "ATI",
+ "IGP345M",
+ ati_generic_setup },
{ PCI_DEVICE_ID_ATI_RS250,
PCI_VENDOR_ID_ATI,
ATI_RS250,
@@ -6548,24 +6499,15 @@
static int __init agp_find_supported_device(void)
{
struct pci_dev *dev = NULL;
- int ret = -ENODEV;
+ u8 cap_ptr = 0x00;

#ifdef CONFIG_AGP_HP_ZX1
if (hp_zx1_gart_init() == 0)
return 0;
#endif

- while ((dev = pci_find_class(PCI_CLASS_BRIDGE_HOST << 8, dev)) != NULL) {
- ret = agp_init_one(dev);
- if (ret != -ENODEV)
- break;
- }
- return ret;
-}
-
-static int __init agp_init_one(struct pci_dev *dev)
-{
- u8 cap_ptr = 0x00;
+ if ((dev = pci_find_class(PCI_CLASS_BRIDGE_HOST << 8, NULL)) == NULL)
+ return -ENODEV;

agp_bridge.dev = dev;

diff -iru /usr/src/mypatch/drivers/char/agp/agp.h /usr/src/linux-2.4.22-bk52/drivers/char/agp/agp.h
--- /usr/src/mypatch/drivers/char/agp/agp.h 2003-12-06 16:32:09.000000000 +0100
+++ /usr/src/linux-2.4.22-bk52/drivers/char/agp/agp.h 2003-11-16 16:31:48.000000000 +0100
@@ -316,6 +316,9 @@
#ifndef PCI_DEVICE_ID_ATI_RS200
#define PCI_DEVICE_ID_ATI_RS200 0xcab2
#endif
+#ifndef PCI_DEVICE_ID_ATI_RS200M
+#define PCI_DEVICE_ID_ATI_RS200M 0xcbb2
+#endif
#ifndef PCI_DEVICE_ID_ATI_RS250
#define PCI_DEVICE_ID_ATI_RS250 0xcab3
#endif
@@ -550,4 +553,18 @@
#define ATI_GART_CACHE_CNTRL 0x0c
#define ATI_GART_CACHE_ENTRY_CNTRL 0x10

+/* ATI registers */
+#define ATI_APBASE 0x10
+#define ATI_GART_MMBASE_ADDR 0x14
+#define ATI_RS100_APSIZE 0xac
+#define ATI_RS300_APSIZE 0xf8
+#define ATI_RS100_IG_AGPMODE 0xb0
+#define ATI_RS300_IG_AGPMODE 0xfc
+
+#define ATI_GART_FEATURE_ID 0x00
+#define ATI_GART_BASE 0x04
+#define ATI_GART_CACHE_SZBASE 0x08
+#define ATI_GART_CACHE_CNTRL 0x0c
+#define ATI_GART_CACHE_ENTRY_CNTRL 0x10
+
#endif /* _AGP_BACKEND_PRIV_H */
diff -iru /usr/src/mypatch/drivers/ide/pci/alim15x3.c /usr/src/linux-2.4.22-bk52/drivers/ide/pci/alim15x3.c
--- /usr/src/mypatch/drivers/ide/pci/alim15x3.c 2003-08-25 13:44:41.000000000 +0200
+++ /usr/src/linux-2.4.22-bk52/drivers/ide/pci/alim15x3.c 2003-11-13 11:58:28.000000000 +0100
@@ -875,7 +875,8 @@
{
ide_pci_device_t *d = &ali15x3_chipsets[id->driver_data];

- if(pci_find_device(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RADEON_IGP, NULL))
+ /* There are other Radeon IGP Northbridges in addtion to RS100, double check them */
+ if(pci_find_device(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS100, NULL))
printk(KERN_ERR "Warning: ATI Radeon IGP Northbridge is not yet fully tested.\n");

#if defined(CONFIG_SPARC64)
diff -iru /usr/src/mypatch/drivers/pci/pci.ids /usr/src/linux-2.4.22-bk52/drivers/pci/pci.ids
--- /usr/src/mypatch/drivers/pci/pci.ids 2003-12-06 16:32:10.000000000 +0100
+++ /usr/src/linux-2.4.22-bk52/drivers/pci/pci.ids 2003-11-16 16:21:55.000000000 +0100
@@ -475,7 +475,14 @@
5656 264VT4 [Mach64 VT4]
700f PCI Bridge [IGP 320M]
7010 PCI Bridge [IGP 340M]
- cab2 RS200/RS200M AGP Bridge [IGP 340M]
+ cab0 RS100 Host Controller [IGP 320M]
+ cab2 RS200 Host Controller [IGP 340M]
+ cbb2 RS200M Host Controller [IGP 345M]
+ cab3 RS250 Host Controller [IGP 7000]
+ 5830 RS300 Host Controller [IGP 9100 (FSB-100)]
+ 5831 RS300 Host Controller [IGP 9100 (FSB-133)]
+ 5832 RS300 Host Controller [IGP 9100 (FSB-166)]
+ 5833 RS300 Host Controller [IGP 9100 (FSB-200)]
1003 ULSI Systems
0201 US201
1004 VLSI Technology Inc
diff -iru /usr/src/mypatch/drivers/pci/quirks.c /usr/src/linux-2.4.22-bk52/drivers/pci/quirks.c
--- /usr/src/mypatch/drivers/pci/quirks.c 2003-12-06 16:32:10.000000000 +0100
+++ /usr/src/linux-2.4.22-bk52/drivers/pci/quirks.c 2003-11-13 11:58:28.000000000 +0100
@@ -779,7 +779,7 @@

{ PCI_FIXUP_FINAL, PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7410, quirk_amd_ioapic },
{ PCI_FIXUP_FINAL, PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_FE_GATE_700C, quirk_amd_ordering },
- { PCI_FIXUP_FINAL, PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RADEON_IGP, quirk_ati_exploding_mce },
+ { PCI_FIXUP_FINAL, PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS100, quirk_ati_exploding_mce },
/*
* i82380FB mobile docking controller: its PCI-to-PCI bridge
* is subtractive decoding (transparent), and does indicate this
diff -iru /usr/src/mypatch/include/linux/agp_backend.h /usr/src/linux-2.4.22-bk52/include/linux/agp_backend.h
--- /usr/src/mypatch/include/linux/agp_backend.h 2003-12-06 16:32:13.000000000 +0100
+++ /usr/src/linux-2.4.22-bk52/include/linux/agp_backend.h 2003-11-16 16:33:28.000000000 +0100
@@ -98,6 +98,7 @@
ATI_RS100,
ATI_RS200,
ATI_RS250,
+ ATI_RS200M,
ATI_RS300_100,
ATI_RS300_133,
ATI_RS300_166,
diff -iru /usr/src/mypatch/include/linux/pci_ids.h /usr/src/linux-2.4.22-bk52/include/linux/pci_ids.h
--- /usr/src/mypatch/include/linux/pci_ids.h 2003-12-06 16:32:13.000000000 +0100
+++ /usr/src/linux-2.4.22-bk52/include/linux/pci_ids.h 2003-11-16 16:36:48.000000000 +0100
@@ -313,8 +313,15 @@
#define PCI_DEVICE_ID_ATI_RADEON_Le 0x4c65
#define PCI_DEVICE_ID_ATI_RADEON_Lf 0x4c66
#define PCI_DEVICE_ID_ATI_RADEON_Lg 0x4c67
-/* RadeonIGP */
-#define PCI_DEVICE_ID_ATI_RADEON_IGP 0xCAB0
+/* Radeon IGP */
+#define PCI_DEVICE_ID_ATI_RS100 0xcab0
+#define PCI_DEVICE_ID_ATI_RS200 0xcab2
+#define PCI_DEVICE_ID_ATI_RS250 0xcab3
+#define PCI_DEVICE_ID_ATI_RS200M 0xcbb2
+#define PCI_DEVICE_ID_ATI_RS300_100 0x5830
+#define PCI_DEVICE_ID_ATI_RS300_133 0x5831
+#define PCI_DEVICE_ID_ATI_RS300_166 0x5832
+#define PCI_DEVICE_ID_ATI_RS300_200 0x5833

#define PCI_VENDOR_ID_VLSI 0x1004
#define PCI_DEVICE_ID_VLSI_82C592 0x0005
@@ -969,7 +976,6 @@
#define PCI_DEVICE_ID_NVIDIA_NFORCE2_IDE 0x0065
#define PCI_DEVICE_ID_NVIDIA_ITNT2 0x00A0
#define PCI_DEVICE_ID_NVIDIA_NFORCE3 0x00d1
-#define PCI_DEVICE_ID_NVIDIA_NFORCE3S 0x00e1
#define PCI_DEVICE_ID_NVIDIA_GEFORCE_SDR 0x0100
#define PCI_DEVICE_ID_NVIDIA_GEFORCE_DDR 0x0101
#define PCI_DEVICE_ID_NVIDIA_QUADRO 0x0103
@@ -1670,7 +1676,6 @@
#define PCI_DEVICE_ID_TIGON3_5703A3 0x16c7
#define PCI_DEVICE_ID_TIGON3_5901 0x170d
#define PCI_DEVICE_ID_TIGON3_5901_2 0x170e
-#define PCI_DEVICE_ID_BCM4401 0x4401

#define PCI_VENDOR_ID_SYBA 0x1592
#define PCI_DEVICE_ID_SYBA_2P_EPP 0x0782

<<<<<<<<<<<<CUT HERE >>>>>>>>>>>>>>>>>>>>>>>>>

Patch Supermount
patch -p1 < supermount-1.2.9-2.4.22.diff
Ligne 618
Replace get_info_prt(i_rdev) by ide_info_prt(i_rdev,1)

Patch Low Latency
patch -p1 < 2.4.22-low-latency.patch

Pacth OW1
patch -p1 < linux-2.4.22-ow1.diff

Now You've got final Src

Compil the kernel
-----------------------
make menuconfig;

You need to activate ATI_IGP support in Device Characters.

After make dep bzImage modules modules-install install


Boot in your new kernel
-------------------------------
/boot/grub/menu.lst

/boot/vmlinuz-2.4.22-bk60
/boot/initrd-2.4.22-bk60.img



/*************************/
/* Compil XFree-4.3.99.9 */
/*************************/

You need bison and flex for this opartion ( urpmi bison flex , if need )

Untar archive
tar -xjf XFREE-4.3.99.9.tar.bz2.tgz

Replace this programs
./xc/programs/Xserver/hw/xfree86/dcc/xf86DCC.c
./xc/programs/Xserver/hw/xfree86/dcc/xf86DCC.h
with files of 4.3.99.10 version ( Orignal Xfree4.3.99.9 don't compil ! )

Linux environenement
Copier ./xc/config/cf/linux.cf ./xc/config/cf/site.def

Patch x4.3.99.9_radeon_igp_dri.diff

In X tree , ie : /usr/src/Xfree
patch -p0 < x4.3.99.9_radeon_igp_dri.diff

Make World
Make install


/**************/
/* Module DRM */
/**************/

Compil DRM modul alone in Xfree tree
/xc/programs/Xserver/hw/xfree/os-support/linux/drm/kernel
make -f Makefile radeon.o

You need to have load your new kernel to perform compilation


Some little verification before test
/etc/X11/XF86Config-4
...
Section "Module"
Load "dbe" # Double-Buffering Extension
Load "v4l" # Video for Linux
Load "extmod"
Load "type1"
Load "freetype"
Load "dri" #must be here for acceleration
Load "glx" # 3D layer
EndSection
...
Section "dri"
Mode 0666
EndSection
...

/****************/
/* loading modul */
/***************/

Remove older

rmmod radeon
rmmod agpgart
copy radeon.o from xfree tree to : /lib/modules/2.4.22-bk60/kernel/drivers/char/drm

load new modul
insmod agpgart
insmod radeon



That's all

X log may looks like this one :
...
(II) ATI: ATI driver (version 6.5.3) for chipsets: ati, ativga
(II) R128: Driver for ATI Rage 128 chipsets:
....
(II) RADEON: Driver for ATI Radeon chipsets: ATI Radeon QD (AGP)
....
(II) Primary Device is: PCI 01:05:0
(--) Assigning device section with no busID to primary device
(--) Chipset ATI Radeon IGP330M/340M/350M (U2) 4337 found
(II) resource ranges after xf86ClaimFixedResources() call:
....
(II) Loading sub module "radeon"
(II) LoadModule: "radeon"
(II) Reloading /usr/lib/modules/drivers/radeon_drv.o
(II) resource ranges after probing:
....
(--) RADEON(0): Chipset: "ATI Radeon IGP330M/340M/350M (U2) 4337" (ChipID = 0x4337)
(--) RADEON(0): Linear framebuffer at 0xd8000000
(--) RADEON(0): VideoRAM: 65536 kByte (64-bit SDR SDRAM)
....
(==) RADEON(0): Write-combining range (0xd8000000,0x4000000)
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 6, (OK)
drmGetBusid returned ''
(II) RADEON(0): [drm] loaded kernel module for "radeon" driver
(II) RADEON(0): [drm] created "radeon" driver at busid "PCI:1:5:0"
(II) RADEON(0): [drm] added 8192 byte SAREA at 0xdcddd000
(II) RADEON(0): [drm] mapped SAREA 0xdcddd000 to 0x40025000
(II) RADEON(0): [drm] framebuffer handle = 0xd8000000
(II) RADEON(0): [drm] added 1 reserved context for kernel
(II) RADEON(0): [agp] Mode 0x0f000204 [AGP 0x1002/0xcbb2; Card 0x1002/0x4337]
(II) RADEON(0): [agp] 8192 kB allocated with handle 0x00000001
(II) RADEON(0): [agp] ring handle = 0xd4000000
(II) RADEON(0): [agp] Ring mapped at 0x44262000
(II) RADEON(0): [agp] ring read ptr handle = 0xd4101000
(II) RADEON(0): [agp] Ring read ptr mapped at 0x40027000
(II) RADEON(0): [agp] vertex/indirect buffers handle = 0xd4102000
(II) RADEON(0): [agp] Vertex/indirect buffers mapped at 0x44363000
(II) RADEON(0): [agp] AGP texture map handle = 0xd4302000
(II) RADEON(0): [agp] AGP Texture map mapped at 0x44563000
(II) RADEON(0): [drm] register handle = 0xd0300000
(II) RADEON(0): [dri] Visual configs initialized
(II) RADEON(0): CP in BM mode
(II) RADEON(0): Using 8 MB AGP aperture
(II) RADEON(0): Using 1 MB for the ring buffer
(II) RADEON(0): Using 2 MB for vertex/indirect buffers
(II) RADEON(0): Using 5 MB for AGP textures
(II) RADEON(0): Memory manager initialized to (0,0) (1024,8191)
(II) RADEON(0): Reserved area from (0,768) to (1024,770)
(II) RADEON(0): Largest offscreen area available: 1024 x 7421
(II) RADEON(0): Will use back buffer at offset 0xc00000
(II) RADEON(0): Will use depth buffer at offset 0xf00000
(II) RADEON(0): Will use 47104 kb for textures at offset 0x1200000
(II) RADEON(0): Using XFree86 Acceleration Architecture (XAA)
Screen to screen bit blits
Solid filled rectangles
8x8 mono pattern filled rectangles
Indirect CPU to Screen color expansion
Solid Lines
Scanline Image Writes
Offscreen Pixmaps
Setting up tile and stipple cache:
32 128x128 slots
32 256x256 slots
16 512x512 slots
(II) RADEON(0): Acceleration enabled
(==) RADEON(0): Backing store disabled
(==) RADEON(0): Silken mouse enabled
(II) RADEON(0): Using hardware cursor (scanline 770)
(II) RADEON(0): Largest offscreen area available: 1024 x 7417
(**) Option "dpms"
(**) RADEON(0): DPMS enabled
(II) RADEON(0): X context handle = 0x00000001
(II) RADEON(0): [drm] installed DRM signal handler
(II) RADEON(0): [DRI] installation complete
(II) RADEON(0): [drm] Added 32 65536 byte vertex/indirect buffers
(II) RADEON(0): [drm] Mapped 32 vertex/indirect buffers
(II) RADEON(0): [drm] dma control initialized, using IRQ 10
(II) RADEON(0): [drm] Initialized kernel agp heap manager, 5111808
(II) RADEON(0): Direct rendering enabled
....


I'll test it with Xfree-4.3.99.901 & kernel 2.6test11 with some patchs in few days ...
 
Old 04-02-2004, 02:46 AM   #6
jamaas
Member
 
Registered: Mar 2004
Location: Melton Mowbray England
Distribution: Ubuntu
Posts: 37

Rep: Reputation: 15
Wow, great work

I'm attempting to get X 4.4.0 running on Linux 2.6.4 with a 345 M card.

Can anyone point me to instructions and/or required patches?

Thanks

Jim
 
Old 04-03-2004, 02:34 PM   #7
kidoido
LQ Newbie
 
Registered: Feb 2004
Posts: 29

Rep: Reputation: 15
Hi there....

I'm on a HP Pavilion ze 4510om, the board is a IGP 340M Radeon mobility, i'm using mandrake 10 community, kernel 2.6.3-4mdk....
i am kind of a newbie, could anyone give me some instructions how to get my card working 3D ?

Thanks for any help
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
ATi Radeon 9000 Pro and Radeon(flgrx) driver included on Mandrake 10.1 Official St3althcAt Linux - Hardware 1 05-07-2005 08:30 PM
new radeon driver in 2.6.11 short101 Debian 3 04-06-2005 02:22 AM
Radeon Driver and kernel 2.6.0 core Slackware 214 01-15-2004 10:47 PM
Radeon 9800pro driver mogumbo Linux - Hardware 6 05-20-2003 12:18 PM
Radeon 9700 Driver help Miltazar Linux - Hardware 1 05-05-2003 05:06 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 09:51 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration