У меня есть Asus GL553 с Intel 560 и Nvidia GTX 1050, и я пытаюсь настроить свои гибридные карты с nvidia-prime. Я установил Ubuntu Gnome 17.04, а затем установил nvidia-381 и запускал премьер-select intel, который мне пришлось перезагружать, и когда я пытался войти в систему, система зависает. Я изучил и прочитал все эти темы, но я не могу найти решение.
https://devtalk.nvidia.com/default/topic/991853/complete-freeze-with-nvidia-prime/ ? offset = 8 https://devtalk.nvidia.com/default/topic/991853/complete-freeze-with-nvidia-prime/?offset=18 отредактировано: shutdown висит на Intel grapics на 16.04 с ядром 4.7.2 NVIDIA -PRIME: переключение на Intel https://bugs.launchpad.net/lightdm/+bug/1637733 https://bugs.launchpad.net/ubuntu/+source/nvidia-prime/+bug/1663926Кто-нибудь может правильно настроить nvidia?
Я, наконец, сделал это.
1.- Создайте папку для хранения файлов SSDT. Затем извлеките его из таблиц ACPI (запустите эту часть как root):
# mkdir dsdt
# cd dsdt
# SSDT_FILES=`ls /sys/firmware/acpi/tables/ | grep SSDT`
# for file in $SSDT_FILES ; do cat "/sys/firmware/acpi/tables/$file" > "$file.dat"; done
# cat /sys/firmware/acpi/tables/DSDT > DSDT.dat
2. Убедитесь, что у вас установлен IASL. На ubuntu достаточно sudo apt install iasl. Я загрузил источник и скомпилировал его самому, чтобы получить последнюю версию, но я не думаю, что это необходимо.
3.- В одном файле SSDT есть дублирующее определение, которое не позволит нам его разобрать. Выясните, какой из них есть, и удалите его:
# grep PRT0 *.dat
Binary file DSDT.dat matches
Binary file SSDT1.dat matches
# mv SSDT1.dat SSDT1.bak
Так что в моем случае это SSDT1. Замените его тем, что вы получите. Не прикасайтесь к DSDT.dat
4.- Затем мы найдем файл SSDT с кодом, который нам нужно изменить. Мы ищем файл с «NVID» и «OSYS»: (Вероятнее всего, это лучший способ сделать это в grep)
# grep NVID *.dat
Binary file SSDT10.dat matches
Binary file SSDT3.dat matches
# grep OSYS SSDT10.dat
# grep OSYS SSDT3.dat
Binary file SSDT3.dat matches
Так что в моем случае это был SSDT3, если его разные вы заменяете все остальные экземпляры SSDT3 тем, что вы получаете.
5.- Разберите!
# iasl -e *.dat -d SSDT3.dat
6.- Надеюсь, вы не увидите никаких ошибок на этом этапе. Замените все экземпляры OSYS, кроме объявления константой для Windows 7, и набросьте номер блока определения на единицу:
# sed -i '/^ *External/! s/OSYS/0x07D9/g' SSDT3.dsl
# sed -i '/^ *DefinitionBlock/ s/0x00001000/0x00001001/g' SSDT3.dsl
Если у вас есть другой BIOS, номер блока определения может не быть 1000. Просто откройте SSDT3.dsl в текстовом редакторе и найдите DefinitionBlock. Независимо от числа, которое вы видите на этой строке, увеличьте его на единицу.
7.- Скомпилируйте все и надейтесь, что ошибок нет.
# iasl -ve -tc -p SSDT3 SSDT3.dsl
8.- Сделать изображение: [ ! d11]
# mkdir -p kernel/firmware/acpi
# cp SSDT3.aml kernel/firmware/acpi/ssdt3.aml
# find kernel | cpio -H newc --create > acpi_gpufix
8.- Все следующие инструкции, соответствующие Ubuntu и GRUB2. Скопируйте его в папку загрузки. initrd.img это ваш img по умолчанию из загрузочной папки:
# cp acpi_gpufix /boot/
вы можете надолго добавить его в свой GRUB, отредактировав /etc/grub.d/10_linux. Мне пришлось изменить линию initrd ${rel_dirname}/${initrd} на initrd ${rel_dirname}/acpi_gpufix ${rel_dirname}/${initrd}. Затем запустите update-grub2.
9.- Чтобы проверить, работает ли это:
$ dmesg | grep ACPI | grep override
[ 0.000000] ACPI: Table Upgrade: override [SSDT-PegSsd- PegSsdt]
[ 0.000000] ACPI: SSDT 0x000000007A715080 Physical table override, new table: 0x0000000079493000
Теперь вы можете изменить графический процессор с зависанием
source: [ ! d16]
https://github.com/Bumblebee-Project/Bumblebee/issues/764#issuecomment-306543064 https://devtalk.nvidia.com/default/topic/1012369/linux/laptop-freezes-changing -Видео-карта
Я, наконец, сделал это.
1.- Создайте папку для хранения файлов SSDT. Затем извлеките его из таблиц ACPI (запустите эту часть как root):
# mkdir dsdt
# cd dsdt
# SSDT_FILES=`ls /sys/firmware/acpi/tables/ | grep SSDT`
# for file in $SSDT_FILES ; do cat "/sys/firmware/acpi/tables/$file" > "$file.dat"; done
# cat /sys/firmware/acpi/tables/DSDT > DSDT.dat
2. Убедитесь, что у вас установлен IASL. На ubuntu достаточно sudo apt install iasl. Я загрузил источник и скомпилировал его самому, чтобы получить последнюю версию, но я не думаю, что это необходимо.
3.- В одном файле SSDT есть дублирующее определение, которое не позволит нам его разобрать. Выясните, какой из них есть, и удалите его:
# grep PRT0 *.dat
Binary file DSDT.dat matches
Binary file SSDT1.dat matches
# mv SSDT1.dat SSDT1.bak
Так что в моем случае это SSDT1. Замените его тем, что вы получите. Не прикасайтесь к DSDT.dat
4.- Затем мы найдем файл SSDT с кодом, который нам нужно изменить. Мы ищем файл с «NVID» и «OSYS»: (Вероятнее всего, это лучший способ сделать это в grep)
# grep NVID *.dat
Binary file SSDT10.dat matches
Binary file SSDT3.dat matches
# grep OSYS SSDT10.dat
# grep OSYS SSDT3.dat
Binary file SSDT3.dat matches
Так что в моем случае это был SSDT3, если его разные вы заменяете все остальные экземпляры SSDT3 тем, что вы получаете.
5.- Разберите!
# iasl -e *.dat -d SSDT3.dat
6.- Надеюсь, вы не увидите никаких ошибок на этом этапе. Замените все экземпляры OSYS, кроме объявления константой для Windows 7, и набросьте номер блока определения на единицу:
# sed -i '/^ *External/! s/OSYS/0x07D9/g' SSDT3.dsl
# sed -i '/^ *DefinitionBlock/ s/0x00001000/0x00001001/g' SSDT3.dsl
Если у вас есть другой BIOS, номер блока определения может не быть 1000. Просто откройте SSDT3.dsl в текстовом редакторе и найдите DefinitionBlock. Независимо от числа, которое вы видите на этой строке, увеличьте его на единицу.
7.- Скомпилируйте все и надейтесь, что ошибок нет.
# iasl -ve -tc -p SSDT3 SSDT3.dsl
8.- Сделать изображение: [ ! d11] # mkdir -p kernel/firmware/acpi
# cp SSDT3.aml kernel/firmware/acpi/ssdt3.aml
# find kernel | cpio -H newc --create > acpi_gpufix
8.- Все следующие инструкции, соответствующие Ubuntu и GRUB2. Скопируйте его в папку загрузки. initrd.img это ваш img по умолчанию из загрузочной папки:
# cp acpi_gpufix /boot/
вы можете надолго добавить его в свой GRUB, отредактировав /etc/grub.d/10_linux. Мне пришлось изменить линию initrd ${rel_dirname}/${initrd} на initrd ${rel_dirname}/acpi_gpufix ${rel_dirname}/${initrd}. Затем запустите update-grub2.
9.- Чтобы проверить, работает ли это:
$ dmesg | grep ACPI | grep override
[ 0.000000] ACPI: Table Upgrade: override [SSDT-PegSsd- PegSsdt]
[ 0.000000] ACPI: SSDT 0x000000007A715080 Physical table override, new table: 0x0000000079493000
Теперь вы можете изменить графический процессор с зависанием
source: [ ! d16]
https://github.com/Bumblebee-Project/Bumblebee/issues/764#issuecomment-306543064 https://devtalk.nvidia.com/default/topic/1012369/linux/laptop-freezes-changing -Видео-карта
Я, наконец, сделал это.
1.- Создайте папку для хранения файлов SSDT. Затем извлеките его из таблиц ACPI (запустите эту часть как root):
# mkdir dsdt
# cd dsdt
# SSDT_FILES=`ls /sys/firmware/acpi/tables/ | grep SSDT`
# for file in $SSDT_FILES ; do cat "/sys/firmware/acpi/tables/$file" > "$file.dat"; done
# cat /sys/firmware/acpi/tables/DSDT > DSDT.dat
2. Убедитесь, что у вас установлен IASL. На ubuntu достаточно sudo apt install iasl. Я загрузил источник и скомпилировал его самому, чтобы получить последнюю версию, но я не думаю, что это необходимо.
3.- В одном файле SSDT есть дублирующее определение, которое не позволит нам его разобрать. Выясните, какой из них есть, и удалите его:
# grep PRT0 *.dat
Binary file DSDT.dat matches
Binary file SSDT1.dat matches
# mv SSDT1.dat SSDT1.bak
Так что в моем случае это SSDT1. Замените его тем, что вы получите. Не прикасайтесь к DSDT.dat
4.- Затем мы найдем файл SSDT с кодом, который нам нужно изменить. Мы ищем файл с «NVID» и «OSYS»: (Вероятнее всего, это лучший способ сделать это в grep)
# grep NVID *.dat
Binary file SSDT10.dat matches
Binary file SSDT3.dat matches
# grep OSYS SSDT10.dat
# grep OSYS SSDT3.dat
Binary file SSDT3.dat matches
Так что в моем случае это был SSDT3, если его разные вы заменяете все остальные экземпляры SSDT3 тем, что вы получаете.
5.- Разберите!
# iasl -e *.dat -d SSDT3.dat
6.- Надеюсь, вы не увидите никаких ошибок на этом этапе. Замените все экземпляры OSYS, кроме объявления константой для Windows 7, и набросьте номер блока определения на единицу:
# sed -i '/^ *External/! s/OSYS/0x07D9/g' SSDT3.dsl
# sed -i '/^ *DefinitionBlock/ s/0x00001000/0x00001001/g' SSDT3.dsl
Если у вас есть другой BIOS, номер блока определения может не быть 1000. Просто откройте SSDT3.dsl в текстовом редакторе и найдите DefinitionBlock. Независимо от числа, которое вы видите на этой строке, увеличьте его на единицу.
7.- Скомпилируйте все и надейтесь, что ошибок нет.
# iasl -ve -tc -p SSDT3 SSDT3.dsl
8.- Сделать изображение: [ ! d11] # mkdir -p kernel/firmware/acpi
# cp SSDT3.aml kernel/firmware/acpi/ssdt3.aml
# find kernel | cpio -H newc --create > acpi_gpufix
8.- Все следующие инструкции, соответствующие Ubuntu и GRUB2. Скопируйте его в папку загрузки. initrd.img это ваш img по умолчанию из загрузочной папки:
# cp acpi_gpufix /boot/
вы можете надолго добавить его в свой GRUB, отредактировав /etc/grub.d/10_linux. Мне пришлось изменить линию initrd ${rel_dirname}/${initrd} на initrd ${rel_dirname}/acpi_gpufix ${rel_dirname}/${initrd}. Затем запустите update-grub2.
9.- Чтобы проверить, работает ли это:
$ dmesg | grep ACPI | grep override
[ 0.000000] ACPI: Table Upgrade: override [SSDT-PegSsd- PegSsdt]
[ 0.000000] ACPI: SSDT 0x000000007A715080 Physical table override, new table: 0x0000000079493000
Теперь вы можете изменить графический процессор с зависанием
source: [ ! d16]
https://github.com/Bumblebee-Project/Bumblebee/issues/764#issuecomment-306543064 https://devtalk.nvidia.com/default/topic/1012369/linux/laptop-freezes-changing -Видео-карта
Давно у меня был ноутбук nvidia, и у меня такие же проблемы с gnome. Единственное, что сработало для меня, - это удалить gnome и использовать KDE. Но я повторяю, что это было давно 10 ~ версия, я думаю.
Вы можете запустить в командном режиме, чтобы сделать это:
Для загрузки в режим single user вы редактируете инструкции по загрузке для запись в меню GRUB, которую вы хотите загрузить, и добавить параметр / параметр ядра single.
Удерживайте левую клавишу Shift во время перезагрузки, чтобы вызвать меню GRUB. Выберите (выделите) пункт меню загрузки GRUB, который вы хотите использовать. Нажмите e, чтобы отредактировать команды загрузки GRUB для выбранного пункта меню загрузки. Посмотрите в нижней части списка команд для строк, похожих на linux /boot/vmlinuz-3.2.0-24-generic root = UUID = bc6f8146-1523-46a6-8b \ 6a-64b819ccf2b7 ro тихий всплеск initrd / boot / initrd. img-3.2.0-24-generic Измените среднюю строку в (4), добавив параметр загрузки ядра в конец строки (т. е. после ro quiet splash).Для этого примера вы бы изменили:
6a-64b819ccf2b7 ro quiet splash
на
6a-64b819ccf2b7 ro quiet splash single
Удерживая нажатой левую кнопку Shift во время перезагрузки меню GRUB Примечание. Эти изменения не являются постоянными. Любое изменение в настройках загрузки ядра влияет только на следующую загрузку, и только если вы начнете эту загрузку, нажав Ctrl + X или F10, все еще находясь в режиме редактирования GRUB.
Давно у меня был ноутбук nvidia, и у меня такие же проблемы с gnome. Единственное, что сработало для меня, - это удалить gnome и использовать KDE. Но я повторяю, что это было давно 10 ~ версия, я думаю.
Вы можете запустить в командном режиме, чтобы сделать это:
Для загрузки в режим single user вы редактируете инструкции по загрузке для запись в меню GRUB, которую вы хотите загрузить, и добавить параметр / параметр ядра single.
Удерживайте левую клавишу Shift во время перезагрузки, чтобы вызвать меню GRUB. Выберите (выделите) пункт меню загрузки GRUB, который вы хотите использовать. Нажмите e, чтобы отредактировать команды загрузки GRUB для выбранного пункта меню загрузки. Посмотрите в нижней части списка команд для строк, похожих на linux /boot/vmlinuz-3.2.0-24-generic root = UUID = bc6f8146-1523-46a6-8b \ 6a-64b819ccf2b7 ro тихий всплеск initrd / boot / initrd. img-3.2.0-24-generic Измените среднюю строку в (4), добавив параметр загрузки ядра в конец строки (т. е. после ro quiet splash).Для этого примера вы бы изменили:
6a-64b819ccf2b7 ro quiet splash
на
6a-64b819ccf2b7 ro quiet splash single
Удерживая нажатой левую кнопку Shift во время перезагрузки меню GRUB Примечание. Эти изменения не являются постоянными. Любое изменение в настройках загрузки ядра влияет только на следующую загрузку, и только если вы начнете эту загрузку, нажав Ctrl + X или F10, все еще находясь в режиме редактирования GRUB.
Давно у меня был ноутбук nvidia, и у меня такие же проблемы с gnome. Единственное, что сработало для меня, - это удалить gnome и использовать KDE. Но я повторяю, что это было давно 10 ~ версия, я думаю.
Вы можете запустить в командном режиме, чтобы сделать это:
Для загрузки в режим single user вы редактируете инструкции по загрузке для запись в меню GRUB, которую вы хотите загрузить, и добавить параметр / параметр ядра single.
Удерживайте левую клавишу Shift во время перезагрузки, чтобы вызвать меню GRUB. Выберите (выделите) пункт меню загрузки GRUB, который вы хотите использовать. Нажмите e, чтобы отредактировать команды загрузки GRUB для выбранного пункта меню загрузки. Посмотрите в нижней части списка команд для строк, похожих на linux /boot/vmlinuz-3.2.0-24-generic root = UUID = bc6f8146-1523-46a6-8b \ 6a-64b819ccf2b7 ro тихий всплеск initrd / boot / initrd. img-3.2.0-24-generic Измените среднюю строку в (4), добавив параметр загрузки ядра в конец строки (т. е. после ro quiet splash).Для этого примера вы бы изменили:
6a-64b819ccf2b7 ro quiet splash
на
6a-64b819ccf2b7 ro quiet splash single
Удерживая нажатой левую кнопку Shift во время перезагрузки меню GRUB Примечание. Эти изменения не являются постоянными. Любое изменение в настройках загрузки ядра влияет только на следующую загрузку, и только если вы начнете эту загрузку, нажав Ctrl + X или F10, все еще находясь в режиме редактирования GRUB.