Различия
Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия | |||
|
playground:playground4 [2013/03/07 16:20] |
playground:playground4 [2013/03/07 16:35] (текущий) |
||
|---|---|---|---|
| Строка 76: | Строка 76: | ||
| ===== Помощь в улучшении поддержки MXM (Mobile PCI Express Module) в Nouveau ===== | ===== Помощь в улучшении поддержки 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 | ||
| Строка 105: | Строка 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 тестирование разработка}} | ||