Ubuntu зависает при входе в систему после nvidia-prime intel

У меня есть 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- с-nvidia-prime /? offset = 18 https://askubuntu.com/questions/831928/edited-to-shutdown-hangs-on-intel-grapics-on-16-04-with-4-7-2- Ядро https://askubuntu.com/questions/879856/nvidia-prime-cant-switch-to-intel https://bugs.launchpad.net/lightdm/+bug/1637733 https://bugs.launchpad.net/ убунт / + источник / NVIDIA премьера / + ошибка / 1663926

Кто-нибудь может правильно настроить nvidia?

One Solution collect form web for “Ubuntu зависает при входе в систему после nvidia-prime intel”

Наконец я это сделал.

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.- Сделайте изображение:

 # 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 

Теперь вы можете изменить графический процессор без зависаний

источник:

https://github.com/Bumblebee-Project/Bumblebee/issues/764#issuecomment-306543064 https://devtalk.nvidia.com/default/topic/1012369/linux/laptop-freezes-changing-video-cards

  • Не удается записать в сектор - загрузочный Ubuntu
  • Что происходит на каждом этапе процесса создания ядра Linux?
  • Как открыть файл .bak в Linux?
  • Shell Script для изменения языка не имеет эффекта
  • Ubuntu 18.04 mount / umount приводит к тому, что диски возвращаются из режима ожидания
  • Не удается связаться с DNS через беспроводной маршрутизатор
  • Запуск скрипта через bashrc вызывает вложенность панелей tmux
  • Настройка базовой среды chroot из образа ISO Fedora в Ubuntu
  • Как избежать 4-х основных ограничений для Ubuntu в VMWare?
  • Gnome показывает рабочее пространство перед отображением экрана входа в систему
  • Как использовать sudo в Fedora?
  • Interesting Posts

    Linux + как проверить конфигурацию зеркала на linux red hat

    Как уменьшить ошибку "kernel: nf_conntrack: table full, dropping packet"

    Как мне разрешить права доступа к каталогам и посмотреть, не хватает ли прав на запись?

    Проблема с объединением двух простых файлов dot nix для nix-shell

    Realtek RLT8812AU не может запустить режим мониторинга

    Как автоматически установить bash readline в режим vi при входе в систему?

    Размер входного буфера для MacOS

    Мышь вялая / прерывистая

    Как создать службу для сценария оболочки, чтобы я мог начать и остановить ее, как демон?

    «Нет доступных пакетов вина» и «Нет доступных пакетов флюкса»

    Создание пакета .deb для PHP 7.1

    Как найти путь к текущему рабочему каталогу?

    Запускать программу автозапуска в терминале вместо того, чтобы она запускалась скрытой в фоновом режиме

    Добавление строки, содержащей escape-символ с sed

    Как узнать, какой каталог занимает большинство дисков?

    Linux и Unix - лучшая ОС в мире.