![]() |
|
|||||||
| Drivers Discussion forum for Linux drivers. |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 | Advertisement (Guests Only)
Login or Register to remove this ad
|
|
Newbie
Join Date: Oct 2005
Posts: 8
|
I tried searching the forums but didnt find a thread corresponding exactly to my problem (I did came accross the multiple mtrr allocation threads ...) anyway, I have a Radeon 9559 and I have Ubuntu 5.10 installed with all the required driver ( I followed the howto from ubuntu forum...seemed to be working for most of the people)... I installed the driver, ran fglrxconfig, then rebooted, and I still get the Mesa driver when I use fglrxinfo.... Here is the result of dmesg | grep fglrx Code:
[4294755.314000] fglrx: module license 'Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY' taints kernel. [4294755.319000] [fglrx] Maximum main memory to use for locked dma buffers: 930 MBytes. [4294755.320000] [fglrx] module loaded - fglrx 8.16.20 [Aug 16 2005] on minor 0 [4294755.334000] [fglrx:firegl_addmap] *ERROR* mtrr allocation failed (-22) [4294755.335000] [fglrx] Internal AGP support requested, but kernel AGP support active. [4294755.335000] [fglrx] Have to use kernel AGP support to avoid conflicts. [4294755.335000] [fglrx] Kernel AGP support doesn't provide agplock functionality. [4294755.335000] [fglrx] AGP detected, AgpState = 0x1f004a1b (hardware caps of chipset) [4294755.335000] [fglrx:firegl_unlock] *ERROR* Process 8845 using kernel context 0 result of cat /proc/mtrr only shows: reg00: base=0x00000000 ( 0MB), size=984064MB: write-back, count=1 which I assume is my ram.... nothing else is showing up... anyone have an idea on what's going on?? why is nothing else showing up?? |
|
|
|
|
|
|
#2 |
|
Newbie
Join Date: Oct 2005
Posts: 8
|
One more thing here's part of my /var/log/Xorg.0.log: (EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_EINVAL" (EE) fglrx(0): cannot init AGP (II) fglrx(0): [drm] removed 1 reserved context for kernel (II) fglrx(0): [drm] unmapping 8192 bytes of SAREA 0xf8bfb000 at 0xb7ab8000 (WW) fglrx(0): *********************************************** (WW) fglrx(0): * DRI initialization failed! * (WW) fglrx(0): * (maybe driver kernel module missing or bad) * (WW) fglrx(0): * 2D acceleraton available (MMIO) * (WW) fglrx(0): * no 3D acceleration available * (WW) fglrx(0): ********************************************* * this part seems to be the error?? (EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_EINVAL" |
|
|
|
|
|
#3 |
|
Newbie
Join Date: Oct 2005
Posts: 5
|
I'm getting the same thing, but I have a bit more in my dmesg output (Note the highlights): Code:
[4294739.156000] fglrx: module license 'Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY' taints kernel. [4294739.157000] [fglrx] Maximum main memory to use for locked dma buffers: 928 MBytes. [4294739.157000] ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 16 [4294739.157000] [fglrx] module loaded - fglrx 8.18.6 [Oct 11 2005] on minor 0 [4294739.180000] mtrr: type mismatch for e8000000,8000000 old: write-back new: write-combining [4294739.180000] [fglrx:firegl_addmap] *ERROR* mtrr allocation failed (-22) [4294739.181000] [fglrx] Maximum main memory to use for locked dma buffers: 928 MBytes. [4294739.181000] [fglrx] Internal AGP support requested, but kernel AGP support active. [4294739.181000] [fglrx] Have to use kernel AGP support to avoid conflicts. [4294739.181000] [fglrx] AGP detected, AgpState = 0x1f004a1b (hardware caps of chipset) [4294739.181000] mtrr: type mismatch for f8000000,4000000 old: write-back new: write-combining [4294739.181000] [fglrx:firegl_unlock] *ERROR* Process 9418 using kernel context 0 |
|
|
|
| Advertisement (Guests Only) |
|
Login or Register to remove this ad
|
|
|
#4 |
|
Radeon HD 6850
Join Date: Feb 2005
Posts: 195
|
Did you make sure to completely remove the ubuntu drivers that might of been installed previously, including linux-restricted-modules.. Well.. right now.. I can't get X to run with new fglrx module anymore (funny cause it ran fine for a while) (EE) No devices detected. I'm just gonna wait till its in ubuntu-backports now, cause its not building right with the installer..
__________________
Last edited by jec0s : Oct 14, 2005 at 11:08 AM. |
|
|
|
|
|
#5 | |
|
Newbie
Join Date: Oct 2005
Posts: 8
|
Quote:
One interesting thing though, I found someone on ubuntu forum who had the same card as I have (9550) and he gets the exact same errors... lspci |grep ATI 0000:01:00.0 VGA compatible controller: ATI Technologies Inc: Unknown device 4153 0000:01:00.1 Display controller: ATI Technologies Inc: Unknown device 4173 |
|
|
|
|
|
|
#6 |
|
Newbie
Join Date: Dec 2004
Location:
Edmonton, Alberta, Canada
Posts: 23
|
When the driver attempts to allocate it's own write-combining MTRR region(s) for your video RAM, it is conflicting with the existing write-back region. I wrote some information about how MTRR's work, and how I fixed mine, here: http://www.rage3d.com/board/showthread.php?t=33821469 In short, you need to remove the existing MTRR(s), find out the address(s) of your video RAM the driver is trying to create MTRR(s) for, and recreate your MTRR table with a write-combining region(s) in that spot. |
|
|
|
|
|
#7 | |
|
Newbie
Join Date: Oct 2005
Posts: 8
|
Quote:
![]() although I was told that these messages: 0000:01:00.0 VGA compatible controller: ATI Technologies Inc: Unknown device 4153 0000:01:00.1 Display controller: ATI Technologies Inc: Unknown device 4173 mean that my card isnt recognized by the kernel, so the kernel could be the prob.... im just not so sure what to try at this point |
|
|
|
|
|
|
#8 | |
|
Radeon HD 6770
Join Date: Jan 2005
Location: Canada
Posts: 83
|
Quote:
__________________
Debian SID Intel 875P, P4 3.0 Prescott, Radeon 9700 Pro, 2x512GB PC3200, 160GB SATA, Debian Sid, Xorg 7.1 |
|
|
|
|
|
|
#9 | |
|
Newbie
Join Date: Oct 2005
Posts: 8
|
Quote:
I'm definitly a noob when it comes to hardware in linux! .. ![]() A little help would be greatly appreciated since you're the first person I find who had the exact same problem that I have, and managed to fix it... |
|
|
|
|
|
|
#10 |
|
Rage3D Veteran
Join Date: Feb 2004
Location:
Greater Toronto Area
Posts: 1,392
|
Do you have both of your AGP modules loaded SilverTab? There should be an "agpgart" module as well as an "xxxx-agp" module (where xxxx=intel, nvidia or whatever your chipset is).
__________________
Desktop: Core 2 Duo E6400, P965 chipset, 2GB, Radeon X1900GT 256MB, Ubuntu Edgy (am64) Notebook: NEC LaVie RX, Pentium-M 1.5GHz, i855 chipset, 768MB, Mobility Radeon 9600 64MB, Ubuntu (Dapper) HTPC: Shuttle ST20G5, Athlon64 3000+, 1GB, Radeon Xpress 200 chipset, Radeon X550 128MB PCIe, Gentoo (amd64) [+Debian(sid) +Ubuntu(breezy)] |
|
|
|
|
|
#11 | |
|
Newbie
Join Date: Oct 2005
Posts: 8
|
Quote:
![]() |
|
|
|
|
|
|
#12 | |
|
Newbie
Join Date: Dec 2004
Location:
Edmonton, Alberta, Canada
Posts: 23
|
Quote:
|
|
|
|
|
|
|
#13 | |
|
Newbie
Join Date: Oct 2005
Posts: 8
|
Quote:
agpgart 32328 2 fglrx,intel_agp |
|
|
|
|
|
|
#14 |
|
Radeon HD 6970
Join Date: Jan 2005
Posts: 673
|
Eh... intel_agp = fglrx suckage CD into your /lib/modules/kernel-version/kernel/drivers/char/agp (i think) and rename the intel_agp.ko file... reboot and see if that helps.
__________________
CAPS LOCK: ITS LIKE THE CRUISE CONTROL FOR AWESOME |
|
|
|
|
|
#15 | |
|
Newbie
Join Date: Oct 2005
Posts: 8
|
Quote:
/lib/modules/2.6.12-9-386/kernel/drivers/char/agp/intel-agp.ko) |
|
|
|
|
|
|
#16 | |
|
Radeon HD 6970
Join Date: Jan 2005
Posts: 673
|
Quote:
__________________
CAPS LOCK: ITS LIKE THE CRUISE CONTROL FOR AWESOME |
|
|
|
|
|
|
#17 |
|
Newbie
Join Date: Jan 2005
Posts: 7
|
Hi, Same problem here. /proc/mtrr only has one entry. Strange thing is it is different then the one from SuSE 9.1. And in SuSE 9.1 with echo "reg01 ......" |>/proc/mtrr you couls add lines but SuSE 10.0 does not complain but also does not add that line to /proc/mtrr. In SuSE 9.1 video=vesafb:nomtrr worked great. In 10.0 no results. Also using the internal AGP module (i have a Intel) does not help. Same error 'cannot initiate AGP' or something like that. Any new ideas? Regards, Armand Last edited by armandchinkwiejoe : Oct 24, 2005 at 12:47 AM. |
|
|
|
|
|
#18 |
|
Newbie
Join Date: Oct 2005
Posts: 1
|
I faced with the same problem 2 days ago. Finally I managed to setup a working configuration. HARDWARE: Gigabyte GA-8IPE1000 Pro2 mainboard with latest BIOS update Intel Pentium 4 3.0GHz HT processor Gigabyte ATI Radeon 9550 SOFTWARE: Debian 3.1 - Sarge, stable (partially unstable to install OpenOffice.org 2.0)XFree86 4.3.0.1 ATI Proprietary Display Driver 8.18.6 (built using the debian-way) Custom 2.6.13.4 kernel. The fglrx kernel module has been built from source package. RELEVANT KERNEL CONFIGURATION OPTIONS: CONFIG_MTRR=y CONFIG_AGP=y # All AGP support modules are turned off! Only AGP support is ON!!! CONFIG_DRM is not set SYMPTOM: dmesg and XFree86.0.log reports MTRR errors and disables direct rendering (accelerated OpenGL). 2D acceleration works fine. TEST: $ cat /proc/mtrr reg00: base=0x00000000 ( 0MB), size=984064MB: write-back, count=1 The exact size may differ slightly, but always a large value, abour 1TB! (984064MB is about 984GByte ~ 1TB) This value is surely wrong, since a tipical machine has about 128Mb..2Gb memory. CAUSE: It seems that some BIOSes sets wrong MTRR values. The mainboard above is a real-world example. The wrong MTRR write-back region is larger than the 4Gbyte address space. This conflicts with ANY new MTRRs set by X or other driver/application. SOLUTION: We must clear the wrong and conficting MTRR entry on every boot with an rcS.d init script. Create a text file named fix_mtrr in /etc/init.d and copy this text into it: #!/bin/sh # Fix wrong MTRR setting echo "disable=0" >| /proc/mtrr echo "base=0x0 size=0x40000000 type=write-back" >| /proc/mtrr Replace 0x40000000 with the size of your main memory (not video memory)! Help: 0x08000000 = 128Mb 0x10000000 = 256Mb 0x40000000 = 1Gb 0x60000000 = 1.5Gb 0x80000000 = 2Gb Add execute privileges: chmod +x /etc/init.d/fix_mtrr Create a symlink: /etc/rcS.d/S02fix_mtrr The symlink must point to: ../init.d/fix_mtrr Reboot your system. It the kernel options above are set correctly and your ATI driver is configured properly, then 2D and 3D acceleration sould work fine. TEST: Your can run: $ cat /proc/mtrr Your should get something like: reg00: base=0x00000000 ( 0MB), size=1024MB: write-back, count=1 reg01: base=0xd0000000 (3328MB), size= 128MB: write-combining, count=1 reg02: base=0xf0000000 (3840MB), size= 128MB: write-combining, count=1 Your can run: $ fglrxinfo You sould get something like: display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: RADEON 9550 Generic OpenGL version string: 1.3.5395 (X4.3.0-8.18.6) The above solution should work in ANY situation when the BIOS sets wrong MTRRs. Greetings, Complex Last edited by complex : Oct 24, 2005 at 06:34 PM. Reason: Spelling mistake |
|
|
|
|
|
#19 |
|
Newbie
Join Date: Jan 2005
Posts: 7
|
Yeah, I just figured out the same thing last night. echo 'disable=0' |>/proc/mtrr echo 'base=0x00000000 size=0x400000000 type=write-back' |> /proc/mtrr This is main memory echo 'base=0xd0000000 size=0x8000000 type=write-combining' |> /proc/mtrr This is the vga card. Works great! Armand |
|
|
|
|
|
#20 |
|
Radeon HD 6670
Join Date: Oct 2004
Posts: 42
|
Hi guys I wonder if you could help me a little more with this mtrr problem!? I created the file /etc/init.d/fix_mtrr like this: Code:
#!/bin/sh # Fix wrong MTRR setting echo "disable=0" >| /proc/mtrr echo "base=0x00000000 size=0x20000000 type=write-back" >| /proc/mtrr echo "base=0x00000000 size=0x08000000 type=wtite-combining" >| /proc/mtrr I have 512Mb mem and 9800Pro (Which has Xt core R360) 128Mb. Nothing changes and the mtrr file still has the same one line: reg00: base=0x00000000 ( 0MB), size=983552MB: write-back, count=1 I've SuSE 10, don't know if that's the problem. Can you tell me if I'm doing it right or not? I've tried with menu.1st: nomtrr , mtrr, wram 128 and all other changes I've found i other threads with no luck. And I don't understand if it's bios reporting wrong, then how come memtest or win2k or win xp and even win98 gets the right amount of memory!? Another question:" Does enabling or disabling bios and video cache in bios have anything to do with this problem"? Thanks Last edited by aqua : Oct 28, 2005 at 08:22 AM. |
|
|
|
|
|
#21 | |
|
Radeon HD 6770
Join Date: Jan 2005
Location: Canada
Posts: 83
|
Quote:
At least this method works for me.
__________________
Debian SID Intel 875P, P4 3.0 Prescott, Radeon 9700 Pro, 2x512GB PC3200, 160GB SATA, Debian Sid, Xorg 7.1 |
|
|
|
|
|
|
#22 |
|
Newbie
Join Date: Jan 2005
Posts: 7
|
[quote=aqua]Hi guys I wonder if you could help me a little more with this mtrr problem!? I created the file /etc/init.d/fix_mtrr like this: Code:
#!/bin/sh # Fix wrong MTRR setting echo "disable=0" >| /proc/mtrr echo "base=0x00000000 size=0x20000000 type=write-back" >| /proc/mtrr echo "base=0x00000000 size=0x08000000 type=wtite-combining" >| /proc/mtrr I have 512Mb mem and 9800Pro (Which has Xt core R360) 128Mb. [End QUATE] I use echo "disable=0" |> /proc/mtrr. | comes before >. And also the base address of the vga card can not be the same as the memory. Check out lspci -v to find the base for the vga. The file fix_mtrr is put in /etc/init.d and edit boot.local (in init.d) the execute that file. That is the way SuSE recommends it. If you dare: init 3 log is as root cat /proc/mtrr echo "disable=0" |>/proc/mtrr cat /proc/mtrr (this will be extremely slow!) echo "base=0x00000000 size=0x20000000 type=write-back" |>/proc/mtrr cat /proc/mtrr Then you can see if the command is correct. Armand Last edited by armandchinkwiejoe : Oct 31, 2005 at 01:45 AM. |
|
|
|
|
|
#23 |
|
Radeon HD 6670
Join Date: Oct 2004
Posts: 42
|
Thanks guys. I just installed Mandriva 2005, rpm'd ATI's rpm, reboot, changed "radeon" to "fglrx", reboot, and glxgears=12000+! Couldn't be easier. At last a working Linux! |
|
|
|
|
|
#24 |
|
Newbie
Join Date: Nov 2005
Posts: 1
|
(in response to complex's solution) UPDATE: After following what you said, the command "cat /proc/mtrr" now gives me: reg01: base=0x40000000 (1024MB), size=983552MB: write-back, count=1 when it originally gave me: reg00: base=0x00000000 ( 0MB), size=984064MB: write-back, count=1 reg01: base=0x40000000 (1024MB), size=983552MB: write-back, count=1 At startup, I saw the following: Starting fix_mtrr: [FAILED] Not sure what's going on here. I still have no 3D hardware acceleration (obviously). Also, I'm fairly new to Linux, just so you know. ![]() Last edited by GameQber : Nov 1, 2005 at 11:26 PM. |
|
|
|
|
|
#25 | |
|
Newbie
Join Date: Jan 2005
Location: Poland
Posts: 9
|
Quote:
; maybe it will sound a little funny but not for me, maybe u saw my posts on this my ATI card was just doing 2D and no OpenGL; that situation continued till today and i still do not know if it hangs or not(i guess it will hang sooner or later, it is ATI after all ; u know, i thought many times that drivers are working good "that time") but at least i can try this drivers.i had it a little easier on Arch Linux, i mean i did not have to do all this linking stuff; but the most important part is that the drivers are working. thanks again man. Last edited by alzen : Nov 3, 2005 at 08:01 PM. |
|
|
|
|
|
|
#26 | |
|
Newbie
Join Date: Nov 2005
Posts: 2
|
Quote:
|
|
|
|
|
|
|
#27 | ||
|
Newbie
Join Date: Jan 2005
Location: Poland
Posts: 9
|
Quote:
Quote:
, i have some trace what may be causing lockups but guess i will post it in the other topic; just my noobish trace.Last edited by alzen : Nov 4, 2005 at 08:56 PM. |
||
|
|
|
|
|
#28 |
|
Newbie
Join Date: Nov 2005
Posts: 2
|
That works great. I finally have 3d after a month of failure. Thanks |
|
|
|
|
|
#29 |
|
Newbie
Join Date: Nov 2005
Posts: 1
|
This script kept failing for me on Ubuntu 5.10 /etc/init.d/rcS.d/S02fix_mtrr It said something along the lines of not having write access. I was not thinking to clearly so It took me a few hours to try changing it to S03fix_mtrr. This corrected the error. Just incase anyone else ran into this problem ![]() |
|
|
|
|
|
#30 |
|
Newbie
Join Date: Dec 2005
Posts: 2
|
Your fix worked nicely for me too (Abit 1S7-E2 mobo, Radeon 9550, Ubuntu 5.10 Breezy). One thing I don't understand, though: what is the >| construct you're using to write stuff into /proc/mtrr? I hadn't seen it before, assumed it was a typo for a plain old > and got error messages about read-only file systems until I fixed my script to use >| just like you said. I can't find >| in the bash manual. How exactly is it different from >, and where is it documented? |
|
|
|
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| "mtrr allocation failed" on ATI X600 | recon1025 | Drivers | 0 | Jun 29, 2006 04:27 PM |
| "mtrr allocation failed" on ATI X600 Mobile | ~Gh05t~ | Drivers | 1 | Jul 19, 2005 06:55 AM |
| MTRR Error | taylorad | Drivers | 2 | Jan 24, 2005 06:39 PM |
| *ERROR* mtrr allocation failed (-22) New drivers | webrunner22 | Drivers | 2 | Jan 20, 2005 07:19 AM |
| trying to fix MTRR error | DImGR | Linux | 2 | Aug 5, 2004 12:33 AM |