View previous topic :: View next topic |
Author |
Message |
Komunjara Tux's lil' helper
Joined: 01 May 2003 Posts: 97 Location: Vancouver, Canada
|
Posted: Tue Sep 14, 2004 9:35 pm Post subject: i830 HOW-TO (on Gateway 200X) |
|
|
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 |
|
|
roike n00b
Joined: 18 Jul 2004 Posts: 9
|
Posted: Tue Sep 14, 2004 10:09 pm Post subject: |
|
|
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 |
|
|
Komunjara Tux's lil' helper
Joined: 01 May 2003 Posts: 97 Location: Vancouver, Canada
|
Posted: Tue Sep 14, 2004 10:22 pm Post subject: |
|
|
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 |
|
|
roike n00b
Joined: 18 Jul 2004 Posts: 9
|
Posted: Tue Sep 14, 2004 10:54 pm Post subject: |
|
|
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 |
|
|
Komunjara Tux's lil' helper
Joined: 01 May 2003 Posts: 97 Location: Vancouver, Canada
|
Posted: Tue Sep 14, 2004 11:22 pm Post subject: |
|
|
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 |
|
|
roike n00b
Joined: 18 Jul 2004 Posts: 9
|
Posted: Wed Sep 15, 2004 9:22 am Post subject: |
|
|
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 |
|
|
roike n00b
Joined: 18 Jul 2004 Posts: 9
|
Posted: Wed Sep 15, 2004 10:03 am Post subject: |
|
|
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 |
|
|
|
|
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
|
|