Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
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 тестирование разработка}} |