LINUX.ORG.RU
решено ФорумGames

Как мне правильно поставить пакеты для того, чтобы в Steam заработал Vulkan? Причём после решения этой проблемы перестал работать звук.[обе проблемы решены]

 , , ,


1

1

Как мне правильно поставить пакеты для того, чтобы в Steam заработал Vulkan?

Информация о текущих установленных пакетах:

pacman --list -S | grep amd
core amd-ucode 20220119.0c6a7b3-2 [installed]
extra amdvlk 2022.Q1.2-1
extra xf86-video-amdgpu 21.0.0-2 [installed]
community opensmtpd-filter-rspamd 0.1.7-2
community rspamd 3.1-3
community ruby-kramdown 2.3.1-2
community yamdi 1.9-4
multilib lib32-amdvlk 2022.Q1.2-1 [installed]
steam@lh:/home/user$ pacman --list -S | grep vlk
extra amdvlk 2022.Q1.2-1
multilib lib32-amdvlk 2022.Q1.2-1 [installed]
steam@lh:/home/user$ pacman --list -S | grep vulkan
extra vulkan-extra-layers 1.2.189.0-1
extra vulkan-extra-tools 1.2.189.0-1
extra vulkan-headers 1:1.3.204-1 [installed]
extra vulkan-html-docs 1:1.3.204-1
extra vulkan-icd-loader 1.2.203-1 [installed]
extra vulkan-intel 21.3.5-1
extra vulkan-mesa-layers 21.3.5-1 [installed]
extra vulkan-radeon 21.3.5-1 [installed]
extra vulkan-swrast 21.3.5-1
extra vulkan-tools 1.2.203-1 [installed]
extra vulkan-validation-layers 1.2.203-1
multilib lib32-vulkan-icd-loader 1.2.203-1 [installed]
multilib lib32-vulkan-intel 21.3.5-1
multilib lib32-vulkan-mesa-layers 21.3.5-1
multilib lib32-vulkan-radeon 21.3.5-1
multilib lib32-vulkan-validation-layers 1.2.203-1
steam@lh:/home/user$ pacman --list -S | grep radeon
extra vulkan-radeon 21.3.5-1 [installed]
community radeontool 1.6.3-4
community radeontop 1.4-1
multilib lib32-vulkan-radeon 21.3.5-1
steam@lh:/home/user$ pacman --list -S | grep steam
multilib steam 1.0.0.74-1 [installed]
multilib steam-native-runtime 1.0.0.70-2 [installed]
steam@lh:/home/user$ 

★★★★★

Начальная версия ОП

Как мне правильно поставить пакеты для того, чтобы в Steam заработал Vulkan?

Информация о текущих установленных пакетах:

pacman --list -S | grep amd
core amd-ucode 20220119.0c6a7b3-2 [installed]
extra amdvlk 2022.Q1.2-1
extra xf86-video-amdgpu 21.0.0-2 [installed]
community opensmtpd-filter-rspamd 0.1.7-2
community rspamd 3.1-3
community ruby-kramdown 2.3.1-2
community yamdi 1.9-4
multilib lib32-amdvlk 2022.Q1.2-1 [installed]
steam@lh:/home/user$ pacman --list -S | grep vlk
extra amdvlk 2022.Q1.2-1
multilib lib32-amdvlk 2022.Q1.2-1 [installed]
steam@lh:/home/user$ pacman --list -S | grep vulkan
extra vulkan-extra-layers 1.2.189.0-1
extra vulkan-extra-tools 1.2.189.0-1
extra vulkan-headers 1:1.3.204-1 [installed]
extra vulkan-html-docs 1:1.3.204-1
extra vulkan-icd-loader 1.2.203-1 [installed]
extra vulkan-intel 21.3.5-1
extra vulkan-mesa-layers 21.3.5-1 [installed]
extra vulkan-radeon 21.3.5-1 [installed]
extra vulkan-swrast 21.3.5-1
extra vulkan-tools 1.2.203-1 [installed]
extra vulkan-validation-layers 1.2.203-1
multilib lib32-vulkan-icd-loader 1.2.203-1 [installed]
multilib lib32-vulkan-intel 21.3.5-1
multilib lib32-vulkan-mesa-layers 21.3.5-1
multilib lib32-vulkan-radeon 21.3.5-1
multilib lib32-vulkan-validation-layers 1.2.203-1
steam@lh:/home/user$ pacman --list -S | grep radeon
extra vulkan-radeon 21.3.5-1 [installed]
community radeontool 1.6.3-4
community radeontop 1.4-1
multilib lib32-vulkan-radeon 21.3.5-1
steam@lh:/home/user$ pacman --list -S | grep steam
multilib steam 1.0.0.74-1 [installed]
multilib steam-native-runtime 1.0.0.70-2 [installed]
steam@lh:/home/user$ 

torvn77 ★★★★★
() автор топика
Последнее исправление: torvn77 (всего исправлений: 6)
cat /etc/modprobe.d/amdgpu.conf 
options amdgpu si_support=1
options amdgpu cik_support=1

cat /etc/modprobe.d/radeon.conf 
options radeon si_support=0
options radeon cik_support=0
xDShot ★★★★★
()

Если вопрос почему не работает при наличии пакетов, то выше скинул как включить модуль amdgpu если по каким-то причинам вместо включается radeon.

xDShot ★★★★★
()
Ответ на: комментарий от xDShot

Сделал, сейчас буду перегружаться.
Может стоит ещё radeon в blacklist добавить?

torvn77 ★★★★★
() автор топика
Ответ на: комментарий от torvn77

Steam не находит вулкан по прежнему.

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

sudo pacman -Syu steam-native-runtime
steam-native

Если это не помогло, значит карта не умеет в вулкан

xDShot ★★★★★
()

ты уверен, что он вообще работает? кубики крутил?

usi_svobodi
()
Ответ на: комментарий от xDShot

lib32-vulkan-radeon вот этот пакет тоже нужен, да

Спасибо, вот на этом заработало.

Теперб правда другая проблема, в игре Fables нет звука.

torvn77 ★★★★★
() автор топика
Ответ на: комментарий от int13h

НУ и глянь, что у тебя установлено: ls /usr/share/vulkan/icd.d/

steam@lh:/home/user$ ls /usr/share/vulkan/icd.d/
amd_icd32.json  amd_icd64.json  lvp_icd.x86_64.json  radeon_icd.i686.json  radeon_icd.x86_64.json

В данный момент установлены пакеты:

steam@lh:/home/user$ pacman --list -S | grep radeon
extra vulkan-radeon 21.3.5-1 [installed]
community radeontool 1.6.3-4 [installed]
community radeontop 1.4-1 [installed]
multilib lib32-vulkan-radeon 21.3.5-1 [installed]
steam@lh:/home/user$ pacman --list -S | grep amd
core amd-ucode 20220119.0c6a7b3-2 [installed]
extra amdvlk 2022.Q1.2-1 [installed]
extra xf86-video-amdgpu 21.0.0-2 [installed]
community opensmtpd-filter-rspamd 0.1.7-2
community rspamd 3.1-3
community ruby-kramdown 2.3.1-2
community yamdi 1.9-4
multilib lib32-amdvlk 2022.Q1.2-1 [installed]
steam@lh:/home/user$ pacman --list -S | grep vlk
extra amdvlk 2022.Q1.2-1 [installed]
multilib lib32-amdvlk 2022.Q1.2-1 [installed]
steam@lh:/home/user$ pacman --list -S | grep vulkan
extra vulkan-extra-layers 1.2.189.0-1 [installed]
extra vulkan-extra-tools 1.2.189.0-1 [installed]
extra vulkan-headers 1:1.3.204-1 [installed]
extra vulkan-html-docs 1:1.3.204-1
extra vulkan-icd-loader 1.2.203-1 [installed]
extra vulkan-intel 21.3.5-1
extra vulkan-mesa-layers 21.3.5-1 [installed]
extra vulkan-radeon 21.3.5-1 [installed]
extra vulkan-swrast 21.3.5-1 [installed]
extra vulkan-tools 1.2.203-1 [installed]
extra vulkan-validation-layers 1.2.203-1 [installed]
multilib lib32-vulkan-icd-loader 1.2.203-1 [installed]
multilib lib32-vulkan-intel 21.3.5-1
multilib lib32-vulkan-mesa-layers 21.3.5-1 [installed]
multilib lib32-vulkan-radeon 21.3.5-1 [installed]
multilib lib32-vulkan-validation-layers 1.2.203-1
steam@lh:/home/user$ pacman --list -S | grep radeon
extra vulkan-radeon 21.3.5-1 [installed]
community radeontool 1.6.3-4 [installed]
community radeontop 1.4-1 [installed]
multilib lib32-vulkan-radeon 21.3.5-1 [installed]
steam@lh:/home/user$ pacman --list -S | grep steam
multilib steam 1.0.0.74-1 [installed]
multilib steam-native-runtime 1.0.0.70-2 [installed]
steam@lh:/home/user$ 

torvn77 ★★★★★
() автор топика
Ответ на: комментарий от BceM_IIpuBeT

Модель карты мы должны угадать?

cat /proc/cpuinfo

model name	: AMD A8-9600 RADEON R7, 10 COMPUTE CORES 4C+6G

vulkaninfo  

		GPU id = 0 (AMD RADV CARRIZO)


torvn77 ★★★★★
() автор топика
Последнее исправление: torvn77 (всего исправлений: 1)
Ответ на: комментарий от torvn77

Pulse audio не стоит, настроена alsa

Круто звучит)) Настроена. У тебя пару звуковух и ты просто просто указал дефолтную))) Нда.

modest
()
Ответ на: комментарий от modest

А всё таки, всё работает кроме этого Fables, как думаешь, в чём там дело, почему не хочет?

У меня в логе вот это:

ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm_dsnoop.c:638:(snd_pcm_dsnoop_open) unable to open slave

А .asoundrc такой:

defaults.pcm.!card 1
defaults.pcm.!device 0
defaults.ctl.!card 1
pcm.dmixed {
        type asym
        playback.pcm {
                type dmix
                ipc_key 5678293
                ipc_perm 0660
                ipc_gid audio

slave {
                        channels 2 # make 6 or 5.1 channel
                        pcm {
                                format S32_LE # S32_LE
                                rate 48000 # can also be 44100
                                type hw
                                card 1 # your card
                                device 0 # your device
                                subdevice 0 #important?
                        }

period_size 1024
                        buffer_size 8192
                }

bindings {
                        0 0
                        1 1
# Uncomment below if using 6 channel
#                       2 2
#                       3 3
#                       4 4
#                       5 5
                }
        }
        capture.pcm "hw:1"
}

pcm.!default {
        type plug
        slave.pcm "dmixed"
}
torvn77 ★★★★★
() автор топика
Ответ на: комментарий от torvn77

Вроде можно из-под "стима" запустить с выводом в консоли. Так что вывод в студию! Вангую, ему OpenAL хочется, причём 32-битный.

Korchevatel ★★★★★
()
Ответ на: комментарий от torvn77

proton с альсой не всегда дружит. Eve не заводилась, пришлось впихивать. Или Рената поделку используй (apulse), что тоже головняк.

modest
()
Ответ на: комментарий от xDShot

У меня нет в системе этой утилиты, да и в базе пакмана такого пакета тоже нет.

torvn77 ★★★★★
() автор топика
Ответ на: комментарий от modest

Или Рената поделку используй (apulse), что тоже головняк.

А как в арче называется её пакет?

torvn77 ★★★★★
() автор топика

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

mittorn ★★★★★
()
Ответ на: комментарий от Korchevatel

Стоит у меня openal

[user@lh ~]$ pacman --list -S |grep openal
extra openal 1.21.1-2 [installed]
extra openal-examples 1.21.1-2
community gambas3-gb-openal 3.16.3-7
multilib lib32-openal 1.21.1-2 [installed]
[user@lh ~]$ 

Вывод aplay -l

steam@lh:/home/user$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: ALC887-VD Analog [ALC887-VD Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
steam@lh:/home/user$ 
torvn77 ★★★★★
() автор топика
Ответ на: комментарий от mittorn

Если у тебя работает вулкан в системе, но не работает в steam

Vulkan заработал и в Стиме и в играх, теперь другая проблема, похоже что при появлении вулкана игры стали иначе работать со звуком из-за чего он отвалился даже там, где раньше он был, одно хорошо, что не во всех играх.

torvn77 ★★★★★
() автор топика
Ответ на: комментарий от Vochatrak-az-ezm

Поставил faudio и ещё выполнил совет:

Создаём файл /etc/modprobe.d/default.conf:
options snd_hda_intel index=1
И перезагружаем машину.

И звук в Fable заработал и в других играх заработал.

torvn77 ★★★★★
() автор топика
Ответ на: комментарий от torvn77

То, что он у тебя стоит, не значит что используется для звука. Для этого нужен pipewire-pulse

Sunderland93 ★★★★★
()
Ответ на: комментарий от torvn77

А .asoundrc такой:

Лять. Накопипастят всякой хни в конфиг хз откуда, потом удивляются, что не работает. В pcm.dmixed format и rate должны быть в компаунде slave {} (выше уровнем), где они задают параметры преобразования для слейва, а не в pcm {}, где они работают как фильтр. Смотри пример тут (там описание слейва вынесено в отдельный pcm, но принцип тот же).

anonymous
()
Ответ на: комментарий от anonymous

Спасибо.
Но отмечу что тем не менее звук с того конфига тем или иным образом воспроизводится.
(Хотя вы мне и помогли, но всёж у меня нет чёткого понимания в чём там ошибка и как именно её надо исправлять)

Вообще было бы хорошо поговорить с влиятельным человеком о синтаксисе алсовских конфигов, а то хоть я и изучал некогда алсу, но так толком ничего и не понял, ни как там по уму устройства прописываются, н как они там коммутируются.

А ведь например в hal LinuxCNC тоже есть язык для описания потоков значений, но в отличии от алсы он прост и понятен, сразу ясно с чем и что делается, и куда потом выводится результат.

torvn77 ★★★★★
() автор топика
Последнее исправление: torvn77 (всего исправлений: 3)
Ответ на: комментарий от torvn77

в чём там ошибка и как именно её надо исправлять

У тебя так:

type dmix
slave {
    pcm {
        format ...
        rate ...
        ...
    }
}

а должно быть так:

type dmix
slave {
    pcm {
        ...
    }
    format ...
    rate ...
}

о синтаксисе алсовских конфигов

Тут всё описано. Сначала читаешь PCM (digital audio) interface (раздел «Naming conventions» в частности), потом Configuration files вместе с Runtime arguments и Runtime functions, и, наконец, описания плагинов PCM (digital audio) plugins. Примеры смотришь в вики (именно смотришь, а не тупо копипастишь, потому что там решения тоже часто далеки от идеала).

anonymous
()
Ответ на: комментарий от anonymous

Добавлю - в первом варианте конфига дмиксу говорится: «работай с дефолтными rate/format, но выводи только на слейв, поддерживающий указанные». Во втором: «работай с указанными rate/format и выводи на слейв (который, вообще говоря, должен их поддерживать)». Формально первый вариант тоже может работать, но на практике не всегда - зависит от конкретного железа, и, возможно, реализации/багов в текущей версии ядра или ALSA.

anonymous
()
Ответ на: комментарий от anonymous

Тут всё описано.

Я это обязательно просмотрю, но в целом синтаксис алсы надо менять, потому что ты дал ссылку на целый талмуд, при том что для понимания основ hal LinuxCNC достаточно научится парсить конфиги вида.

loadrt device_name
loadrt device_name_0
...
loadrt device_name_num
net sig_name device_name.out_name device_name_0.in_name_0 ... device_name_num.in_name_num

Ну конечно там есть ещё тонкости, но их немного, они носят общий характер и просты для понимания и в принципе посмотрев на этот шаблон ты можешь прямо сейчас начать читать конфиги hal LinuxCNC.

Конфиги же для Алсы намного сложнее и похоже чтобы их начать понимать хоть немного надо обязательно читать весь талмуд и потом много над ним думать.

torvn77 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

И ещё, я правильно понимаю что конструкции вида

type dmix
slave {
    format ...
    rate ...
    pcm {
        ...
    }
}

и

type dmix
slave {
    pcm {
        ...
    }
    format ...
    rate ...
}

и

type dmix
slave {
    format ...
    pcm {
        ...
    }
    rate ...
}

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

torvn77 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

работай с дефолтными rate/format, но выводи только на слейв, поддерживающий указанные

Я правильно понимаю что звук движется изнутри фигурных скобок наружу и каждые фигурные скобки это отдельное физическое или виртуальное устройство?

То есть то что находится во внутрених фигурных скобках это источник звука, а то, что описано в самых верхних скобках приёмник звука?
(Дело в том что в конфиге звук явно направлен снаружи вотвнутрь, что создаёт противоречие с вашим примером).

И атрибуты rate/format надо присваивать источнику звука(програмный интерфейс алса), а не его приёмнику, в роли которого выступает звуковая карта?

torvn77 ★★★★★
() автор топика
Ответ на: комментарий от torvn77

Да, на одном уровне порядок не важен, это просто присваивание значений свойствам. То же самое можно написать в виде

type dmix
slave.format ...
slave.rate ...
slave.pcm ...

в любом порядке строк.

anonymous
()
Ответ на: комментарий от torvn77

Фигурные скобки - просто синтаксический сахар, для удобства. Аналог, скажем, with в Паскале.

«Направление звука» может быть любым, конфиг описывает связи между PCM-плагинами. Как частный случай, плагин hw описывает физическое устройство. У остальных связь с другим PCM’ом в цепочке указывается в поле .pcm свойства slave (как правило, хотя, например у asym для связи указываются отдельно playback и capture), остальные поля (если есть) зависят от типа плагина. Причём плагины описывать в конфиге нужно, только если их свойства должны отличаться от дефолтных, иначе в .pcm можно указать просто имя типа, например:

pcm.duplex {
    type asym
    playback.pcm "dmix"
    capture.pcm "dsnoop"
}

просто использует какие-то дефолтные dmix и dsnoop.

anonymous
()
Ответ на: комментарий от anonymous

конфиг описывает связи между PCM-плагинами. Как частный случай, плагин hw

А теперь к этому добавим что PCM может пониматься как название чипа для вывода звука и получаем огромную путаницу...

В целом то так и выходит что алсу по одному мануальнику без учителя понять очень сложно.

П.С. Пока пауза, надо переварить то что вы здесь написали и увязать это с мануальником алсы.

torvn77 ★★★★★
() автор топика
Последнее исправление: torvn77 (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.