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