Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Железо в Linux » ati mandriva и mtrr

Ответить
Настройки темы
ati mandriva и mtrr
sergkhr1


Сообщения: n/a

Профиль | Цитировать


ноутбук rover b571wh: P4 2800 ht/ari radeon mobility 9700(m11) и т. д. . Дистрибутив mandriva 2006 LE(и кстати любой другой). Проблема -- BIOS ноутбука дает неправильные
значения для MTRR (Memory Transfer Registers, некая технология,
применяемая для быстрого копирования данных в видеопамять). По идее,
надо бы раздобыть "правильный" BIOS, но, на сайте ровер обнадежили что нового биоса не будет.
По инфе в интернете пишут, что можно обойтись подручными средствами: исправить таблицу записей MTRR вручную так, чтобы она содержала нужные ("правильные") значения. Эта
самая таблица живет в файле /proc/mtrr, который можно читать и писать от
имени root. Таким образом, нужно: а) удалить из этого файла
неправильную запись б) занести в него правильные значения. Это делает
следующий соответствующий скрипт:

#!/bin/sh
# Fix wrong MTRR setting
echo "disable=0" >| /proc/mtrr
echo "base=0x0 size=0x40000000 type=write-back" >| /proc/mtrr

После прописывания скрипта в /etc/rc.d/rc.local значения mtrr поменялись:

cat /proc/mtrr
reg00: base=0x00000000 ( 0MB), size= 512MB: write-back, count=1
reg01: base=0xe8000000 (3712MB), size= 128MB: write-combining, count=9
reg02: base=0xf8000000 (3968MB), size= 64MB: write-combining, count=1

До этого была одна строка:
reg00: base=0x00000000 ( 0MB), size=983552MB: write-back, count=1

Что не так делаю.
Возникала ли у кого нибудь подобная ситуевина. В принципе 3d нужно постольку поскольку т. к. ноут используется на 99,9% для работы. Но ситуация когда что то не работает гложет медленно но верно.

Помогите кто чем может !!! ;>) Век не забуду.


Отправлено: 22:24, 18-05-2006

 

Аватара для BuGfiX

Слакофил


Сообщения: 590
Благодарности: 130

Профиль | Сайт | Отправить PM | Цитировать


Посмотрел файлик mtrr.txt в документации ядра, там делается disable=2 вместо disable=0. Попробуй?

-------
If you don`t know what to use this for, you don`t need it.

http://sergey.sereda.googlepages.com...e1_userbar.gif


Отправлено: 13:38, 19-05-2006 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

sergkhr1


Сообщения: n/a

Профиль | Цитировать


попробовал disable=2 не катит. По команде cat /proc/mtrr вылазит следующее:
reg00: base=0x00000000 ( 0MB), size= 512MB: write-back, count=1
и типа все.

Отправлено: 07:23, 21-05-2006 | #3


Аватара для BuGfiX

Слакофил


Сообщения: 590
Благодарности: 130

Профиль | Сайт | Отправить PM | Цитировать


А откуда взялась цифра "size=0x40000000" ? Насколько я понимаю ее нужно выдирать из лога иксов?

-------
If you don`t know what to use this for, you don`t need it.

http://sergey.sereda.googlepages.com...e1_userbar.gif


Отправлено: 15:11, 22-05-2006 | #4

sergkhr1


Сообщения: n/a

Профиль | Цитировать


Переписывался, да и сейчас пишусь с журналом linux format (c главным редактором ниже кусок его письма).

Цитата:
"Проблема состоит в том, что BIOS вашего ноутбука дает неправильные
значения для MTRR (Memory Transfer Registers, некая технология,
применяемая для быстрого копирования данных в видеопамять). По идее,
надо бы раздобыть "правильный" BIOS, но, коль скоро это невозможно,
можно обойтись подручными средствами: исправить таблицу записей MTRR
вручную так, чтобы она содержала нужные ("правильные") значения. Эта
самая таблица живет в файле /proc/mtrr, который можно читать и писать от
имени root. Таким образом, Вам нужно: а) удалить из этого файла
неправильную запись б) занести в него правильные значения. Это делает
следующий простой скрипт:

#!/bin/sh
# Fix wrong MTRR setting
echo "disable=0" >| /proc/mtrr
echo "base=0x0 size=0x40000000 type=write-back" >| /proc/mtrr

Здесь 0x40000000 нужно заменить на размер вашей RAM (системной, не
видеокарты) в соответствии со следующей таблицей:
0x08000000 = 128Mb
0x20000000 = 512Mb <-- В оригинале этой строки нет - моя догадка
0x10000000 = 256Mb
0x40000000 = 1Gb
0x60000000 = 1.5Gb
0x80000000 = 2Gb"


у меня size=0x20000000 (40000000 - была ошибка) но это если честно сути не меняет выводы команд не меняются

Отправлено: 21:07, 22-05-2006 | #5


Аватара для BuGfiX

Слакофил


Сообщения: 590
Благодарности: 130

Профиль | Сайт | Отправить PM | Цитировать


Вроде немного поразбирался, вот что понял:
Код: Выделить весь код
echo "disable=0" >| /proc/mtrr
значит отключить строчку номер ноль в /proc/mtrr.
Далее: я так понял, ты хочешь использовать фичу биоса "использовать столько-то (допустим 128MB) системной памяти под видеопамять" ? Наверняка (пока не уверен) нужно сделать так:
Код: Выделить весь код
echo "disable=0" >| /proc/mtrr
echo "disable=1" >| /proc/mtrr
echo "disable=2" >| /proc/mtrr
....
echo "base=0x00000000 size=0x20000000 type=write-back" > /proc/mtrr    # вся память (512)
echo "base=0x18000000 size=0x08000000 type=write-back" > /proc/mtrr    # кусок размером 128mb
последняя строчка должна выделить 128 MB из общей памяти с адреса 0x18000000 (384 MB)
В результате должно получиться вот это:
Код: Выделить весь код
reg00: base=0x00000000 ( 0MB), size=512MB: write-back, count=1
reg01: base=0x18000000 ( 384MB), size=128MB: write-back, count=1
А вообще, base адрес видео-памяти все-таки надо выдирать из лога иксов, из строчки типа:
Код: Выделить весь код
(--) SVGA: PCI: NVidia Riva TNT2 rev 17, Memory @ 0xee000000, 0xe2000000
Тут, например, он равен 0xee000000.

-------
If you don`t know what to use this for, you don`t need it.

http://sergey.sereda.googlepages.com...e1_userbar.gif


Последний раз редактировалось BuGfiX, 23-05-2006 в 13:44.


Отправлено: 13:33, 23-05-2006 | #6

sergkhr1


Сообщения: n/a

Профиль | Цитировать


Забыл сказать видюха дискретная ati radeon 9700 128 mb (память у нее своя 128 метров), так что системная память под видео не выделяется. Так как в таких глубинных настройках рублю не очень, то объяснить свои действия не могу. Выполнял инструкции гл. редактора linux format г-на Синицина. Если ты шаришь в настройках может тебе прислать выводы команд (lspci и т. д) ты только напиши что требуется, может у тебя получиться настроить видео. Месяцев 7 парюсь. Испробовал штук 20 дистрибутивов, и денег на журналы, книги и диски потратил 6000-7000 рублей. Всерьез подумывать стал о покупке второго ноута - этот бы жене отдал.

Спасибо за помощь.
С надеждой в будущее.

Отправлено: 21:19, 23-05-2006 | #7



Компьютерный форум OSzone.net » Linux и FreeBSD » Железо в Linux » ati mandriva и mtrr

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Mandriva 2008.1 & ATI X2300 cryax Железо в Linux 0 10-10-2008 14:04
Ati 4870Х2 или две Ati 4870 в Sli? Сластя Хочу все знать 2 26-09-2008 18:09
AC'97 в Linux Mandriva Naiad Железо в Linux 15 21-05-2008 11:02
Mandriva/Mandrake - ХР+Mandriva Di373R Общий по Linux 4 18-11-2007 23:54
Mandriva Flash sfap Общий по Linux 3 25-03-2007 21:32




 
Переход