Помощь в развитии свободного драйвера видеокарт Nvidia Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
playground:playground4 [2013/03/07 15:58]
playground:playground4 [2013/03/07 16:35]
Строка 5: Строка 5:
  
 ===== Тестирование управления энергопотреблением Mmiotrace ===== ===== Тестирование управления энергопотреблением Mmiotrace =====
 +FIXME Пожалуй,​ стоит переименовать этот раздел. В нем явно не про тестирование.
 +
 Mmiotrace (отображение трассировки в памяти ввода/​вывода) позволяет проследить,​ что проприетарный драйвер посылает и читает из/в видеокарту. Mmiotrace (отображение трассировки в памяти ввода/​вывода) позволяет проследить,​ что проприетарный драйвер посылает и читает из/в видеокарту.
  
Строка 17: Строка 19:
  
 ==== Процесс тестирования ==== ==== Процесс тестирования ====
 +=== Создание дампа mmiotrace ===
   -- Установите необходимые пакеты   -- Установите необходимые пакеты
     -- Проверьте,​ что у вас установлен проприетарный драйвер версии 190.42 или выше, а так же его dev-пакет     -- Проверьте,​ что у вас установлен проприетарный драйвер версии 190.42 или выше, а так же его dev-пакет
Строка 47: Строка 50:
 Если вы случайно прервали выполнение сценария //​trace.sh//,​ вы можете заметить,​ что текущей рабочей директории появились две новые папки -- //​nouveau-pm.XXXXXXXXXX//​ и //​nvXX-0xYYYYYYYY-ZZZZ//​. Вы можете удалить эти папки (вам понадобятся права администратора) и повторить процедуру,​ начиная с шага ''​**sudo** ./​init-trace.sh''​. Перед этим рекомендуется перезагрузить систему. Если вы случайно прервали выполнение сценария //​trace.sh//,​ вы можете заметить,​ что текущей рабочей директории появились две новые папки -- //​nouveau-pm.XXXXXXXXXX//​ и //​nvXX-0xYYYYYYYY-ZZZZ//​. Вы можете удалить эти папки (вам понадобятся права администратора) и повторить процедуру,​ начиная с шага ''​**sudo** ./​init-trace.sh''​. Перед этим рекомендуется перезагрузить систему.
  
-В конце концов,​ должен создатся файл в текущем каталоге с именем //​nvXX-0xYYYYYYYY-ZZZZ.tar.gz//,​ где //nvXX// это поколение видеокарты и YYYYYYYY это BOOT_0 и ZZZZ от PCI_ID/​DEVICE_ID FIXME я не понял о чем тут в конце :(+В конце концов,​ должен создастся файл в текущем каталоге с именем //​nvXX-0xYYYYYYYY-ZZZZ.tar.gz//,​ где //nvXX// это поколение видеокарты и YYYYYYYY это BOOT_0 и ZZZZ от PCI_ID/​DEVICE_ID FIXME я не понял о чем тут в конце :(
  
-Скрипт создаст дамп, ​который будет ​ выглядить примерно так: nva0-0xa0300b1-05e6-downclock.tar.gz+Пример названия файла ​созданного ​скриптом: //nva0-0xa0300b1-05e6-downclock.tar.gz//
-Параметр nva0 запомним.+
  
-Переходим в домашнюю папку ​пользователя +Запомните параметр //nva0//.
-<​code=bash>​cd</​code>​  +
-==== Скачиваем компоненты vbtracetool ==== +
-<​code=bash>​git clone git://​people.freedesktop.org/​~stuart/​vbtracetool</​code>​  +
-Переходим в проект vbtracetool +
-<​code=bash>​cd vbtracetool</​code>​  +
-Компилируем +
-<​code=bash>​make</​code>​  +
-==== Получаем bios видеокарты,​ в имени файла пишем тот ​параметр, который запомнили ранее ==== +
-<​code=bash>​./vbtracetool -w 2>​nva0_vbios.rom<​/code> ​+
  
-Пожалуйста, присылайте ​этот файл (дамп), ваш vbios, ​а также некоторые дополнительные сведения, которые вы считаете, +=== Получение BIOS видеокарты === 
-иметь отношение на эту почту mmio[точка]dumps[собака]gmail[точка]com.+  -- Перейдите в домашнюю папку <​code=bash>​cd</​code>​  
 +  -- Скачайте ''​vbtracetool''​ 
 +  .. <​code=bash>​git clone git://​people.freedesktop.org/​~stuart/​vbtracetool</​code>​  
 +  -- Перейдите в папку с исходными кодами vbtracetool 
 +  .. <​code=bash>​cd vbtracetool</​code>​  
 +  -- Скомпилируйте vbtracetool <​code=bash>​make</​code>​  
 +  -- Получите ​BIOS видеокарты. В имени ​файла укажите параметр, который запомнили ранее 
 +  .. <​code=bash>​./​vbtracetool -w 2>​nva0_vbios.rom</​code> ​
  
-ПРИМЕЧАНИЕ:​ При отправке дампа он будет загружен ​на XXX такчто другие люди и разработчики смогут смотреть ​и помогать+==== Отправка ​информации ==== 
-Ваш ЭЛЕКТРОННЫЙ ​адрес ​БУДЕТ ПУБЛИЧНО доступен. If you wish it may excluded just state in your email.  +Полученную информацию (дамп и BIOS), а также все сведениякоторые вы посчитаете полезными необходимо отправить ​на адрес [[mmio.dumps@gmail.com]].
-==== Ссылки ==== +
-  * [[https://​github.com/​pathscale/​pscnv/​wiki/​Pm-mmiotrace|PowerManagement mmiotrace]] +
-  * [[http://​nouveau.git.sourceforge.net/​git/​gitweb.cgi?​p=nouveau/​nouveau;​a=blob_plain;​f=nouveau-pm/​README;​hb=HEAD|nouveau-pm/​README]]+
  
 +<note important>​Отправленная вами информация будет загружена XXX для того, чтобы разработчики и другие люди могли просмотреть даные, и адрес вашей электронной почты будет публично доступен.</​note>​
  
-====== ​Разработчикам Nouveau нужна ваша помощьПризыв к владельцам ​ноутбуков с видеокартами NVidia помочь в улучшении поддержки MXM (Mobile PCI Express Moduleв Nouveau ======+==== Ссылки ​===
 +  * [[https://​github.com/​pathscale/​pscnv/​wiki/​Pm-mmiotrace|PowerManagement mmiotrace]] (англ.) 
 +  * [[http://​nouveau.git.sourceforge.net/​git/​gitweb.cgi?​p=nouveau/​nouveau;​a=blob_plain;​f=nouveau-pm/​README;​hb=HEAD|nouveau-pm/​README]] (англ.)
  
-==== Источник ​==== +===== Помощь в улучшении поддержки MXM (Mobile PCI Express Module) ​в Nouveau ===== 
-Wiki-статья основана на LOR-новости [[http://​www.linux.org.ru/​news/​hardware/​6846125/​page2|Разработчикам nouveau требуется помощь владельцев ​ноутбуков!]] +Если у вас есть ноутбук с установленным Linux и видеокартой NVidia (в том числе с поддержкой технологии ​[[wiki:​Nvidia ​Optimus]]), а также немного свободного времени,​ вы можете помочь проекту,​ выполнив несколько относительно несложных действий по инструкции
- +
-==== Введение от Миронова Ивана: ​==== +
- +
-Если у вас есть ноутбук с установленным Linux и видеокартой NVidia (в том числе с поддержкой технологии ​NVidia ​Optimus), а также немного свободного времени,​ вы можете помочь проекту,​ выполнив несколько относительно несложных действий по инструкции ​(оригинал на английском в письме,​ вольный перевод на русский — далее).+
  
 ==== Меры предосторожности ==== ==== Меры предосторожности ====
- 
 У меня нет ноутбука с видеокартой NVidia, поэтому не могу проверить,​ подправить текст wiki-статьи. Поэтому прошу действовать осторожно. У меня нет ноутбука с видеокартой NVidia, поэтому не могу проверить,​ подправить текст wiki-статьи. Поэтому прошу действовать осторожно.
  
-Чтобы узнать,​ можете ли вы помочь,​ сначала проверьте наличие строки ​«MXMS» ​в файлах /​sys/​firmware/​acpi/​tables:​ +==== Создание дампов ==== 
 +Чтобы узнать,​ можете ли вы помочь,​ сначала проверьте наличие строки ​''​MXMS'' ​в файлах ​///​sys/​firmware/​acpi/​tables//:
 <​code=bash>​sudo grep MXMS /​sys/​firmware/​acpi/​tables/​*</​code>​ <​code=bash>​sudo grep MXMS /​sys/​firmware/​acpi/​tables/​*</​code>​
  
-Если файлы с данной строкой нашлись (grep выдал «Binary file XYZ matches»/​«Двоичный файл XYZ совпадает»),​ скопируйте их куда-нибудь. Если ничего не нашлось,​ попробуйте проделать следующее при помощи i2c-tools (должен быть запущен драйвер nouveau): +Если файлы с данной строкой нашлись (grep выдал «Binary file XYZ matches»/​«Двоичный файл XYZ совпадает»),​ скопируйте их куда-нибудь. Если ничего не нашлось,​ попробуйте проделать следующее при помощи ​''​i2c-tools'' ​(должен быть запущен драйвер nouveau): 
- +  ​** Запустите:​ 
-  * Запустите:​ +  ​.. ​<​code=bash>​modprobe i2c-dev 
-<​code=bash>​ +i2cdetect -l</​code>​ 
-modprobe i2c-dev +  ..Вывод должен выглядеть примерно так: 
-i2cdetect -l +  ​.. ​<file>​i2c-0 smbus ​    ​ SMBus I801 adapter at 1860 SMBus adapter
-</​code>​ +
- +
-Вывод должен выглядеть примерно так: +
-<code=bash> +
-i2c-0 smbus ​    ​ SMBus I801 adapter at 1860 SMBus adapter+
 i2c-1 i2c ​      ​ nouveau-0000:​01:​00.0-2 ​    I2C adapter i2c-1 i2c ​      ​ nouveau-0000:​01:​00.0-2 ​    I2C adapter
 i2c-2 i2c ​      ​ nouveau-0000:​01:​00.0-0 ​    I2C adapter i2c-2 i2c ​      ​ nouveau-0000:​01:​00.0-0 ​    I2C adapter
Строка 107: Строка 97:
 i2c-5 i2c ​      ​ nouveau-0000:​01:​00.0-11 ​   I2C adapter i2c-5 i2c ​      ​ nouveau-0000:​01:​00.0-11 ​   I2C adapter
 i2c-6 i2c ​      ​ nouveau-0000:​01:​00.0-12 ​   I2C adapter i2c-6 i2c ​      ​ nouveau-0000:​01:​00.0-12 ​   I2C adapter
-i2c-7 i2c ​      ​ nouveau-0000:​01:​00.0-8 ​    I2C adapter +i2c-7 i2c ​      ​ nouveau-0000:​01:​00.0-8 ​    I2C adapter</​file
-</code> +  ​** Для каждой полученной строки «nouveau» запустите 
- +  ​.. ​<​code=bash>​i2cdetect BUS</​code>​ 
-  * Для каждой полученной строки «nouveau» запустите +  ​.. ​Где BUS — число из i2c-BUS (например для i2c-3 нужно запустить ​''​i2cdetect 3''​). 
-<​code=bash>​i2cdetect BUS</​code>​ +  ​** Если вы увидели в выводе числа 0x54 и/или 0x56, то сохраните дампы в файл: 
-Где BUS — число из i2c-BUS (например для i2c-3 нужно запустить ​«i2cdetect 3»). +  ​.. ​<​code=bash>#​ Если в выводе было число 0x54
-  * Если вы увидели в выводе числа 0x54 и/или 0x56, то сохраните дампы в файл: +
-<​code=bash>​ +
-# Если в выводе было число 0x54+
 i2cdump BUS 0x54 >​i2c-BUS-0x54.dump i2cdump BUS 0x54 >​i2c-BUS-0x54.dump
  
 # Если в выводе было число 0x56 # Если в выводе было число 0x56
-i2cdump BUS 0x56 >​i2c-BUS-0x56.dump +i2cdump BUS 0x56 >​i2c-BUS-0x56.dump</​code>​
-</​code>​+
  
-==== Далее для получения дампов VBIOS загрузите и соберите envytools ​==== +==== Получение дампов VBIOS ==== 
-Для сборки потребуются установить дополнительные пакеты:​+Загрузите и соберите envytoolsДля сборки потребуются установить дополнительные пакеты:​
 <​code=bash>​sudo apt-get install git libpci-dev libpciaccess-dev libxml2-dev \ <​code=bash>​sudo apt-get install git libpci-dev libpciaccess-dev libxml2-dev \
 cmake flex bison libx11-dev libvdpau-dev libxext-dev</​code>​ cmake flex bison libx11-dev libvdpau-dev libxext-dev</​code>​
 +Скопируйте из Git-репозитория исходный код envytools и скомпилируйте программу
 <​code=bash>​git clone git://​github.com/​pathscale/​envytools.git <​code=bash>​git clone git://​github.com/​pathscale/​envytools.git
 cd envytools cd envytools
 cmake . cmake .
 make make
-cd .. +cd ..</​code>​ 
-</​code>​+Снимите дампы 
 +<​code=bash>​sudo ./​envytools/​nva/​nvagetbios -s PRAMIN >​vbios_pramin.rom 
 +sudo ./​envytools/​nva/​nvagetbios -s PROM >​vbios_prom.rom</​code>​
  
-==== Снимите дампы: ==== +Если nvagetbios выдал ошибку,​ например 
-<​code=bash>​ +<​code=bash>​nvagetbios -s PROM >​vbios.rom
-sudo ./​envytools/​nva/​nvagetbios -s PRAMIN >​vbios_pramin.rom +
-sudo ./​envytools/​nva/​nvagetbios -s PROM >​vbios_prom.rom +
-</​code>​ +
- +
-==== Если nvagetbios выдал ошибку,​ например: ==== +
- +
-<​code=bash>​ +
-nvagetbios -s PROM >​vbios.rom+
 Attempt to extract the vbios from card 0 (nva8) using PROM Attempt to extract the vbios from card 0 (nva8) using PROM
-Invalid signature(0x55aa). You may want to try another retrieval method. +Invalid signature(0x55aa). You may want to try another retrieval method.</​code>​ 
-</​code>​+то можете попробовать снять дампы с ACPI. Простейший метод — перезагрузить систему с добавлением ''​nouveau.vbios=ACPI''​ к опциям ядра, а затем:​ 
 +<​code=bash>​mount -t debugfs debugfs /​sys/​kernel/​debug 
 +cp /​sys/​kernel/​debug/​dri/​0/​vbios.rom ~/</​code>​
  
-то можете попробовать снять дампы с ACPI. Простейший метод — перезагрузить систему с добавлением «nouveau.vbios=ACPI» к опциям ядра, а затем:​ +==== Отправка полученных ​данных ==== 
- +Полученные файлы (со строкой «MXMS», вывод i2cdump, дампы VBIOS) отправьте на [[mmio.dumps@gmail.com]].
-<code=bash> +
-mount -t debugfs debugfs /​sys/​kernel/​debug +
-cp /​sys/​kernel/​debug/​dri/​0/​vbios.rom ~/ +
-</​code>​ +
- +
-Полученные файлы (со строкой «MXMS», вывод i2cdump, дампы VBIOS) отправьте на mmio[точка]dumps[собака]gmail.com.+
  
 Если возникнут какие-то вопросы — можете ответить на письмо в списке рассылки или связаться с Беном Скеггсом в IRC-канале #nouveau на irc.freenode.net (ник Бена — darktama). Если возникнут какие-то вопросы — можете ответить на письмо в списке рассылки или связаться с Беном Скеггсом в IRC-канале #nouveau на irc.freenode.net (ник Бена — darktama).
  
- +==== Ссылки ==== 
-===== Ссылки ​===== +  * [[http://​www.linux.org.ru/​news/​hardware/​6846125|Разработчикам nouveau требуется помощь владельцев ноутбуков!]]
- +
-  * [[FIXME]]+
  
 {{tag>​nouveau nvidia fixme тестирование разработка}} {{tag>​nouveau nvidia fixme тестирование разработка}}