Аудио HDMI на системе Оптимус

У меня Asus G46vw (спецификации ниже) под управлением Ubuntu 14.04 build 05/05/14, и у этого ноутбука есть карта Intel Card и дискретный 660M. Я очень рад, что HDMI работает с Optimus. Но у меня есть последнее, что сводит меня с ума. Аудио через HDMI.

Я пытался погуглить дерьмо из этой проблемы, и я довольно хорошо разбираюсь в этом сам по чтению на форуме, но мне пока не повезло. Pulseaudio не перечисляет мой выход HDMI. Может мне нужно обновить Pulse Audio? Ниже более подробная информация.

Список аппаратных устройств ВОСПРОИЗВЕДЕНИЯ

# aplay -l
card 0: PCH [HDA Intel PCH], device 0: VT1802 Analog [VT1802 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: VT1802 Digital [VT1802 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 2: VT1802 Alt Analog [VT1802 Alt Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0


# cat /proc/asound/cards 
 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf7a10000 irq 46
2
задан 6 April 2014 в 22:54

2 ответа

Мне удалось получить аудиовыход HDMI, работающий над моим ноутбуком с "NVIDIA Corporation GF116M [GeForce GT 555M/635M]" GPU, с помощью драйвера Nvidia и главный Nvidia. Процесс является довольно замысловатым, и необходимо выполнить его после каждой перезагрузки. Я записал сценарий, который автоматизирует процесс как можно больше. Его комментарии объясняют, что это делает. ( Редактирование: , Если Вам не нравится выполнять сценарий, можно также выполнить процедуру, описанную здесь: https://askubuntu.com/a/660910/73753)

#!/bin/bash

# Check if we are executing as root
if [ $UID != 0 ]; then
    echo "This script must be run as root."; exit
fi

# The nvidia driver cannot be loaded while we are configuring the GPU.
# Check whether the nvidia kernel is loaded:
if grep nvidia /proc/modules; then
    # It is. Check if we have HDMI audio
    if lspci | grep 01:00.1; then
        # Yes, so we are already done.
        echo "The following list should contain HDMI audio devices"
        aplay -l
        alsa reload
        echo "--> You are done!"; exit
    else
        # No, disable output through nvidia:
        prime-select intel
        echo "Please reboot. Afterwards rerun this script."; exit
    fi
fi

# Make sure that the GPU is powered
if ! lspci -H1 | grep 01:00.0; then
    if ! grep OFF /proc/acpi/bbswitch; then
        echo "ERROR: GPU is listed in lspci -H1, but bbswitch thinks it is off"; exit 1
    fi
    # Turn on the discrete GPU (to get it listed in `lspci -H1`)
    echo ON > /proc/acpi/bbswitch
    if ! grep ON /proc/acpi/bbswitch; then
        echo "ERROR: Failed to turn on the GPU"; exit 1
    fi
fi

# Check if the GPU's audio chip is powered
if ! lspci -H1 | grep 01:00.1; then
    echo "Suspend the pc and resume it again. This will turn on the audio chip on the discrete GPU. Afterwards rerun this script."; exit
fi

# The output of 'lscpi -H1' should now contain 2 lines similar to:
# 01:00.0 VGA compatible controller: NVIDIA Corporation GF116M [GeForce GT 555M/635M] (rev a1)
# 01:00.1 Audio device: NVIDIA Corporation GF116 High Definition Audio Controller (rev a1)

# Now we need to rescan for the GPU such that the audio chip is found as well
if lspci | grep 01:00.0; then
    # Now we 'unmount' the GPU
    # the nvidia driver is not loaded, otherwise this step would eventualy cause your computer to freeze/hang
    echo 1 > /sys/bus/pci/devices/0000\:01\:00.0/remove
    # Wait a bit
    sleep 1
    # Check if this succeeded
    if ! lspci | grep 01:00.0; then
        echo "ERROR: Failed to remove the GPU (or so it seems, you can try again)"; exit 1
    fi
fi

if ! lspci | grep 01:00.0; then
    # Rescan
    echo 1 > /sys/bus/pci/rescan
    if ! lspci | grep 01:00.1; then
        echo "ERROR: Rescan did not find the audio chip"; exit 1
    fi

    # The output of 'lspci' should now contain 2 lines similar to:
    # 01:00.0 VGA compatible controller: NVIDIA Corporation GF116M [GeForce GT 555M/635M] (rev a1)
    # 01:00.1 Audio device: NVIDIA Corporation GF116 High Definition Audio Controller (rev a1)

    # Now we are ready to restart X11 using the nvidia driver
    prime-select nvidia
    echo "Please log out and in again. Afterwards rerun this script."; exit
fi

echo "ERROR: Something went wrong"; exit 1
0
ответ дан 6 April 2014 в 22:54
  • 1
    Мне не устанавливали Ubuntu больше, и как я упомянул в первом сообщении, моя копия Windows на моем внутреннем HD застревает на запуске, и SSD думает, что Ubuntu установлен (но это не). Я делал попытку средства восстановления запуска на SSD, получая сообщение ' Windows не может решить проблему. Отправьте информацию Microsoft или Don' t Send'. так как я сделал его перед I' m уверенный я могу установить новую копию окон на SSD, от которого я могу работать. В этом случае то, что я понимаю, - то, что я должен удалить личинку полностью, чтобы не получать эту ошибку снова. Это означало бы использовать easybcd, как Вы упомянули? – saganism 25 September 2015 в 14:58

Хорошо, таким образом, следующие работы для nvidia-384 собственный драйвер, установленный с главным Nvidia на Gnome Ubuntu 16.04.3. Theoratically это должно работать на все чипсеты Optimus Nvidia.

$ sudo prime-select intel
$ sudo reboot
// After the reboot and login
$ sudo lspci -H1 | grep -i nvidia

Это показало бы Вам только контроллер VGA, не аудио микросхему. Для включения аудио микросхемы выполните следующие команды.

$ sudo su
# setpci -s 01:00.0 0x488.l=0x2000000:0x2000000
# echo 1 > /sys/bus/pci/devices/0000\:01\:00.0/remove
// where 0000:01:00.0 is your VGA device in sysfs PCI heirarchy.
# echo "1" > /sys/bus/pci/rescan
# lspci -H1 | grep -i nvidia

На этот раз это показало бы Вам аудио микросхему также. например, для меня, последних шоу команды:

01:00.0 VGA совместимый контроллер: NVIDIA Corporation GK107GLM [Quadro K1100M] (газуют на a1), 01:00.1 Аудиоустройство: аудиоконтроллер NVIDIA Corporation GK107 HDMI (газуют на a1),

Теперь необходимо получить установку среды и загрузить драйверы Nvidia. С этой целью корневая оболочка выхода, установила Nvidia как главное устройство и перезапускает менеджера по оформлению т.е.

# exit
$ sudo prime-select nvidia
$ sudo service gdm restart

После входа в систему драйвер регистрирует аудиоконтроллер в Alsa, и следовательно можно выбрать аудио HDMI в звуковых настройках теперь. Надежда это помогает кому-то.

0
ответ дан 2 December 2019 в 02:26

Другие вопросы по тегам:

Похожие вопросы: