Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
i830 HOW-TO (on Gateway 200X)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks
View previous topic :: View next topic  
Author Message
Komunjara
Tux's lil' helper
Tux's lil' helper


Joined: 01 May 2003
Posts: 97
Location: Vancouver, Canada

PostPosted: Tue Sep 14, 2004 9:35 pm    Post subject: i830 HOW-TO (on Gateway 200X) Reply with quote

After quite a bit of wrestling with this "broken" laptop i have managed to get everything working including the i830 internal video chipset. The Gateway 200X does not allow the video memory to be set through the bios and ironically the bios function used to set this is not available.

There are 3 steps to get this "beast" of a video card working:

1) Get the latest driver and compile it into the kernel.

Get it here -> http://www.skynet.ie/~airlied/patches/dri/i915_linux.diff

tested with 2.6.8.1-ck6

patch -p0 < path/to/i915_linux.diff

Code:

Kernel config

[Processor type and features]
[*] MTRR (Memory Type Range Register) support

[Device Drivers]
<*>/dev/agpgart (AGP support)
<*>  your chipset

[*] Direct Rendering Manager

<*> Intel 830M,845G,852GM,855GM,865G,915G (new)



compile (make install modules modules_install), copy bzImage to /boot/bzImage, and reboot.

2) Fix the memory allocation

*This will work for any computer no matter which card or mobo.

run dmesg (in bash) and look for:

Code:
agpgart:.....
mtrr: 0x(A), 0x(B) overlaps existing....


where A and B are some hex values.

now type cat /proc/mtrr, you should get something like this:

Code:
reg00: base=0x0000000 (   0MB), size = 512: write-back, count=1
reg01: ....
reg02: base =0xA (3712MB), size= 4MB: write-combining, count = 2


take note of the reg number where base = 0xA (address that is causing problems) and create a new text file: /etc/conf.d/mtrr-fix.

Code:
#!/bin/bash

echo "disable=2" >| /proc/mtrr
echo "base=0xA size=0x4000000 type=write-combining" > /proc/mtrr


this will create a 64 MB space at the problematic location, thus solving our problems.

now make sure that mtrr-fix has the right permission and that it starts upon boot
Code:
 conf.d # chmod 777 mtrr-fix

local.start:

/etc/conf.d/mtrr-fix


reboot and continue on to step 3

3) The last step is to get our xorg.conf up-to-date

Here is mine:
Code:

Section "Module"
     Load "dri"
     Load "glx"
     Subsection "extmod"
         Option "omit xfree-dga"
     EndSubSection
EndSection

Section "Device"
     Identifier "Card0"
     Driver     "i810"
     ChipSet   "852GM/855GM"
     Card        "i830"
     BusID       "PCI:0:2:0"
EndSection

Section "DRI"
     mode 0666
EndSection



There you go, i830 is a go now and everyone is super happy.
_________________
Socialism: It is taking over!
Back to top
View user's profile Send private message
roike
n00b
n00b


Joined: 18 Jul 2004
Posts: 9

PostPosted: Tue Sep 14, 2004 10:09 pm    Post subject: Reply with quote

I have no overlap in my mtrr.
Moreover, I can not use the 2.6 kernel, as they do not support my USB ADSL modem. Therefore I must stick to my 2.4.25 kernel.
This is the output of my dmesg:
Code:

Linux version 2.4.25-gentoo-r1 (root@lightstar) (gcc version 3.3.3 20040412 (Gentoo Linux 3.3.3-r6, ssp-3.3.2-2, pie-8.7.6)) #3 Thu Sep 2 17:14:02 IDT 2004
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000000fe40000 (usable)
 BIOS-e820: 000000000fe40000 - 000000000fe50000 (ACPI data)
 BIOS-e820: 000000000fe50000 - 000000000ff00000 (ACPI NVS)
254MB LOWMEM available.
ACPI: have wakeup address 0xc0001000
On node 0 totalpages: 65088
zone(0): 4096 pages.
zone(1): 60992 pages.
zone(2): 0 pages.
ACPI: RSDP (v000 ACPIAM                                    ) @ 0x000f74c0
ACPI: RSDT (v001 INTEL  D845GBV  0x20020605 MSFT 0x00000097) @ 0x0fe40000
ACPI: FADT (v002 INTEL  D845GBV  0x20020605 MSFT 0x00000097) @ 0x0fe40200
ACPI: MADT (v001 INTEL  D845GBV  0x20020605 MSFT 0x00000097) @ 0x0fe40300
ACPI: DSDT (v001 INTEL  D845GBV  0x0000010a MSFT 0x0100000d) @ 0x00000000
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
Processor #0 Pentium 4(tm) XEON(tm) APIC version 20
Kernel command line: auto BOOT_IMAGE=gentoo ro root=302
Found and enabled local APIC!
Initializing CPU#0
Detected 1799.828 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 3591.37 BogoMIPS
Memory: 253884k/260352k available (2347k kernel code, 6080k reserved, 303k data, 96k init, 0k highmem)
Dentry cache hash table entries: 32768 (order: 6, 262144 bytes)
Inode cache hash table entries: 16384 (order: 5, 131072 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 16384 (order: 4, 65536 bytes)
Page-cache hash table entries: 65536 (order: 6, 262144 bytes)
CPU: Trace cache: 12K uops, L1 D cache: 8K
CPU: L2 cache: 512K
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU:     After generic, caps: 3febfbff 00000000 00000000 00000000
CPU:             Common caps: 3febfbff 00000000 00000000 00000000
CPU: Intel(R) Pentium(R) 4 CPU 1.80GHz stepping 04
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 1799.8645 MHz.
..... host bus clock speed is 99.9923 MHz.
cpu: 0, clocks: 999923, slice: 499961
CPU0<T0:999920,T1:499952,D:7,S:499961,C:999923>
mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)
mtrr: detected mtrr type: Intel
ACPI: Subsystem revision 20040116
PCI: PCI BIOS revision 2.10 entry at 0xf0031, last bus=1
PCI: Using configuration type 1
ACPI: IRQ9 SCI: Level Trigger.
schedule_task(): keventd has not started
ACPI: Interpreter enabled
ACPI: Using PIC for interrupt routing
ACPI: System [ACPI] (supports S0 S1 S3 S4 S5)
ACPI: PCI Root Bridge [PCI0] (00:00)
PCI: Probing PCI hardware (bus 00)
PCI: Ignoring BAR0-3 of IDE controller 00:1f.1
Transparent bridge - Intel Corp. 82801BA/CA/DB/EB PCI Bridge
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P1._PRT]
ACPI: Power Resource [URP1] (off)
ACPI: Power Resource [FDDP] (off)
ACPI: Power Resource [LPTP] (off)
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 9 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs *3 4 5 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 7 *9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 *5 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 9 *10 11 12 14 15)
PCI: Probing PCI hardware
ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 5
ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 9
ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 10
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 3
PCI: Using ACPI for IRQ routing
PCI: if you experience problems, try using option 'pci=noacpi' or even 'acpi=off'
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
Journalled Block Device driver loaded
devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
NTFS driver 2.1.6a [Flags: R/O].
SGI XFS with no debug enabled
ACPI: Power Button (FF) [PWRF]
ACPI: Sleep Button (CM) [SLPB]
ACPI: Processor [CPU1] (supports C1, 8 throttling states)
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI ISAPNP enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
i810_rng hardware driver 0.9.8 loaded
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
loop: loaded (max 8 devices)
PPP generic driver version 2.4.2
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH4: IDE controller at PCI slot 00:1f.1
PCI: Enabling device 00:1f.1 (0005 -> 0007)
ICH4: chipset revision 1
ICH4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:DMA, hdd:DMA
hda: WDC WD800JB-00FMA0, ATA DISK drive
blk: queue c0172320, I/O limit 4095Mb (mask 0xffffffff)
hdc: SAMSUNG CD-ROM SC-152L, ATAPI CD/DVD-ROM drive
hdd: CR-48XCTE, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: attached ide-disk driver.
hda: host protected area => 1
hda: 156301488 sectors (80026 MB) w/8192KiB Cache, CHS=9729/255/63, UDMA(33)
hdc: attached ide-cdrom driver.
hdc: ATAPI 52X CD-ROM drive, 128kB Cache, DMA
Uniform CD-ROM driver Revision: 3.12
hdd: attached ide-cdrom driver.
hdd: ATAPI 48X CD-ROM CD-R/RW drive, 2048kB Cache, UDMA(33)
Partition check:
 /dev/ide/host0/bus0/target0/lun0: p1 p2 p3
SCSI subsystem driver Revision: 1.00
kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb.c: registered new driver usblp
printer.c: v0.13: USB Printer Device Class driver
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
USB Mass Storage support registered.
Initializing Cryptographic API
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP: Hash tables configured (established 16384 bind 32768)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
FAT: bogus logical sector size 0
reiserfs: found format "3.6" with standard journal
reiserfs: checking transaction log (device ide0(3,2)) ...
for (ide0(3,2))
ide0(3,2):Using r5 hash to sort names
VFS: Mounted root (reiserfs filesystem) readonly.
Mounted devfs on /dev
Freeing unused kernel memory: 96k freed
Adding Swap: 1004020k swap-space (priority -1)
PCI: Setting latency timer of device 00:1f.5 to 64
intel8x0_measure_ac97_clock: measured 49878 usecs
intel8x0: clocking to 48000
usb-uhci.c: $Revision: 1.275 $ time 17:29:33 Sep  2 2004
usb-uhci.c: High bandwidth mode enabled
PCI: Setting latency timer of device 00:1d.0 to 64
usb-uhci.c: USB UHCI at I/O 0xe800, IRQ 11
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
PCI: Setting latency timer of device 00:1d.1 to 64
usb-uhci.c: USB UHCI at I/O 0xe880, IRQ 5
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 2
hub.c: USB hub found
hub.c: 2 ports detected
PCI: Setting latency timer of device 00:1d.2 to 64
usb-uhci.c: USB UHCI at I/O 0xec00, IRQ 9
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 3
hub.c: USB hub found
hub.c: 2 ports detected
usb-uhci.c: v1.275:USB Universal Host Controller Interface driver
hub.c: new USB device 00:1d.1-1, assigned address 2
usb.c: USB device 2 (vend/prod 0x915/0x206) is not claimed by any active driver.
HDLC line discipline: version $Revision: 3.7 $, maxframe=4096
N_HDLC line discipline registered.
Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 202M
agpgart: Detected an Intel(R) 845G Chipset.
agpgart: Detected 892K stolen memory.
agpgart: AGP aperture is 128M @ 0xf0000000
[drm] Initialized i915 1.1.0 20040405 on minor 0: Intel Corp. 82845G/GL [Brookdale-G] Chipset Integrated Graphics Device
mtrr: base(0xf0020000) is not aligned on a size(0x300000) boundary
[drm:i915_unlock] *ERROR* Process 2737 using kernel context 0
Back to top
View user's profile Send private message
Komunjara
Tux's lil' helper
Tux's lil' helper


Joined: 01 May 2003
Posts: 97
Location: Vancouver, Canada

PostPosted: Tue Sep 14, 2004 10:22 pm    Post subject: Reply with quote

If you can change your AGP apareture size in your bios then do so and decrease it to 64 megs, I am saying this because it fails when it tries to load tv-out. You only have 204 free megs so it could be due to this. If not report back.

EDIT: if this does not solve your problem then you will probably have to compile agpgart and intel_agp and i830 as modules and use the mtrr-fix to set the memory to 64 megs and load the modules.
_________________
Socialism: It is taking over!
Back to top
View user's profile Send private message
roike
n00b
n00b


Joined: 18 Jul 2004
Posts: 9

PostPosted: Tue Sep 14, 2004 10:54 pm    Post subject: Reply with quote

It did not help.
This is what I got now on dmesg:
Code:

mtrr: base(0xf0020000) is not aligned on a size(0x4000000) boundary
mtrr: no MTRR for f0000000,8000000 found
[drm:i915_unlock] *ERROR* Process 2944 using kernel context 0
mtrr: MTRR 2 not used
mtrr: reg 2 not used
Back to top
View user's profile Send private message
Komunjara
Tux's lil' helper
Tux's lil' helper


Joined: 01 May 2003
Posts: 97
Location: Vancouver, Canada

PostPosted: Tue Sep 14, 2004 11:22 pm    Post subject: Reply with quote

roike wrote:
It did not help.
This is what I got now on dmesg:
Code:

mtrr: base(0xf0020000) is not aligned on a size(0x4000000) boundary
mtrr: no MTRR for f0000000,8000000 found
[drm:i915_unlock] *ERROR* Process 2944 using kernel context 0
mtrr: MTRR 2 not used
mtrr: reg 2 not used


Well i have one question, at the beginning did your memory card reside on reg 2. It may be that in fact it is not on reg2. can you do cat /proc/mtrr and post the output here. Maybe i didn't make it clear but in your mtrr-fix file
echo "disable=(number)" should be set to the reg number, In my case it was 2.
_________________
Socialism: It is taking over!
Back to top
View user's profile Send private message
roike
n00b
n00b


Joined: 18 Jul 2004
Posts: 9

PostPosted: Wed Sep 15, 2004 9:22 am    Post subject: Reply with quote

Code:

reg00: base=0x0ff00000 ( 255MB), size=   1MB: uncachable, count=1
reg01: base=0x00000000 (   0MB), size= 256MB: write-back, count=1
reg02: base=0xf0000000 (3840MB), size=  64MB: write-combining, count=1

It seems to me that my memory resides on reg01, as 256M is the amount of RAM that I have.
I will try that now.
Back to top
View user's profile Send private message
roike
n00b
n00b


Joined: 18 Jul 2004
Posts: 9

PostPosted: Wed Sep 15, 2004 10:03 am    Post subject: Reply with quote

I tried it, and the system became horribly slow, even without X.
I don't think that mtrr is the problem, as the log of X claims that the problem is assigning an irq to the drm module.
Thank you for trying to help, anyway.[/code]
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum