LINUX.ORG.RU

Как заводится звук в Linux?

 , , ,


0

1

В наличии:

  1. artix
  2. dinit
  3. kde 6
  4. pipwire
  5. pipewire-pulse
  6. wireplumber
  7. wayland
  8. отсутствующий из коробки звук

Хотелось бы:

  • Автозапуск всех трёх братьев-акробатов: pipwire, pipewire-pulse, wireplumber. Звук заводится только когда включены все.

Что есть в интернетах:

  1. Пакет pipwire-dinit, который почему-то прописывается в пользовательские службы, посему я не могу его запустить и turnstile никак не помогает в этом деле. Да и сама служба, насколько я понял, запускает только бинарник pipewire. Я пробовал создавать для dinit скрипт по шаблону из мануала, но не запускается.

  2. Пример из двух скриптов?

 #!/bin/sh
 /usr/bin/pipewire & /usr/bin/pipewire-pulse & /usr/bin/wireplumber

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

 ~/.xinitrc
 ...
 /usr/bin/pipewire &
 /usr/bin/pipewire-pulse &
 /usr/bin/wireplumber &
 exec openbox-session

Этот кусок кода мне неподвластен, у меня вчера целый день был мортал комбат с artix, в попытках заставить работать сам artix, локаль кедов, portproton, wayland c nvidia, на звук уже нет сил… буду рад, если кто предложит работающий велосипед или красивое, лаконичное решение.

artix

dinit

красивое, лаконичное решение

Выкинуть artix и dinit и поставить любой дистрибутив с не-импотентным супервизором процессов.

intelfx ★★★★★
()

В systemd это просто работает. А если по теме, то могу предложить тупой костыль — встроенный автозапуск приложений в кедах.

Werenter ★★★
()

artix

This.

Systemd это теперь дефолт. Никто не будет заморачиваться с поддержкой башпортяночных систем инициализации. Ты одинок.

ox55ff ★★★★★
()

Не знаю dinit, кроме того, что он существует. Тебе надо запустить dinit от ползователя, например, запихнуть в .xinitrc

...
dinit &
# или даже так, чтобы писать логи в файл, или читай маны как писать логи в dinit
# dinit &> ~/.local/dinit.log
exec openbox-session

написать сервисы для этих самых трех программ для pipewire/pulseaudio для dinit и положить куда надо, например ~/dinit.d или ~/.config/dinit, не знаю, читай маны

anonymous
()

Зачем ты пишешь что-либо в .xinitrc, если запускаешь сеанс на основе wayland? И dinit, если я не ошибаюсь, поддерживает пользовательские демоны. Читай документацию внимательней. Зачем ты вообще выпендриваешься с нестандартным инитом, если не разбираешься в элементарных вещах?

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

Я ничего не писал, это был пример из интернета. «Выпендриваешься» тут не уместно, Dinit, конкретно, у меня работает быстрей остальных, и всё. Мне нет никакого дела до выпендрежа. Проекция, товарищ?) А по теме, если сии операции для вас элементарны, поделитесь опытом, может, я вдохновлюсь и пойму суть вещей. А пока только критиканство, не прикалывает, за сим, мои полномочия всё.

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

У тебя всё в порядке?

Это ещё предстоит узнать) После 12 часов пердолинга всё может быть. А так, бытует мнение, что здоровых нет, есть недообследованные.

Reptile
() автор топика

нубик

внезапно - в кде есть каталог автостарт - прям туда надо накидать desktop файлов твоих софтин и они должны страртовать…

все делается мышкой от пользователя - прям как в виндах

потренеруйся на калькуляторе - как только добьешься что он будет стартовать при загрузке - считай 50% ты уже сделал :)

anonymous
()

Вот ради этого ты и ставил Артикс. Теперь можешь играться и ходить нехоженными дорогами. Сомневаюсь, что на лоре много экспертов ЭТОГО дистрибутива, знающих что может поломаться в его звуке. Такие вещи надо спрашивать прямо у них на форуме. А сюда можешь потом почитать принести, если кому полезно будет.

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

Однако ж, заработало. Вчера я просто почему-то не вдуплил, что можно в автозапуск напрямую бинарники из /usr/bin сувать. Вместо этого пердлолился со скриптами, по заветам истинных линуксойдов, которые перезагружают комп через sudo reboot))

Что ж, пока всё что нужно работает. И nvidia, и встроенная графика amd, и wayland, и wine, и d-bus, и даже образ плойки снятый dd. Если арч настолько проблемный, не представляю как там гентушники насилуют свой комп компиляцией, я как увидел инструкцию по установке генту, сразу понял - там пристанище истинных рептилойдов.

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

Попробую писать туда, если возникнут ещё какие-то проблемы.

Буду, по возможности, писать в свои же темы наборы команд по решении тех или иных проблем, для начала. Может, это поможет другим искателяем багов)

anonymous
()

Пакет pipwire-dinit, который почему-то прописывается в пользовательские службы, посему я не могу его запустить и turnstile никак не помогает в этом деле

потому что pipewire & Co должны запускаться в пользовательской сессии, все правильно. Просто запусти этот dinit, например прописав его в автозапуск KDE, и все. Чудиков с systemd игнорируй, они тупо не понимают как работает линукс.

Lrrr ★★★★★
()

У void'а есть дока на pipewire: https://docs.voidlinux.org/config/media/pipewire.html

Там всё сводится к прописыванию ссылки на .desktop файл в «~/.config/autostart/», либо «/etc/xdg/autostart».

Если надо перезапустить, то просто прибиваешь «pipewire», «pipewire-pulse» (если он есть) процессы и запускаешь pipewire.desktop.

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

Чудиков с systemd игнорируй, они тупо не понимают как работает линукс

Как твое ЧСВ в дверь пролезло?

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

Плопахивало бы если бы сказал прописать в реестр. А так все юниксвейно - положить файл где указаны опции запуска приложения в место откуда автоматом запускаются приложения при старте пользователя.

А вообще пайпварь запускается пользовательским юнитом в системд.

einhander ★★★★★
()

отсутствующий из коробки звук

Хотелось бы:

Автозапуск всех трёх братьев-акробатов: pipwire, pipewire-pulse, wireplumber. Звук заводится только когда включены все.

Наоборот удали всю эту чушь и настрой работу звука через ALSA напрямую, будет намного лучше.

firkax ★★★★★
()

в настройках приложения нужно указать alsa. через alsa-mixer включить каналы. звуковые серверы зачастую необязательны. Могут добавлять эффектов, микшировать, ну и прочая звукообработка, довольно обширная кстати.

antech
()
Последнее исправление: antech (всего исправлений: 2)
Ответ на: комментарий от einhander

Вот системд и ломает юниксвейность в этом. Есть автозапуск сервисов и программ, но нет, ему надо влезть и начать всё контроллировать... Пайпварю командой самой пайпвари можно запустить, остановить, перезапустить, собрать инфу и т.д., но нет, системда лучше знает!!! Она запускает пайпварю и рулит. Чем она там рулит? я не представляю. Зачем через неё рулить вообще? Чтобы что?

Вопрос в воздух, ни к кому конкретно. Просто ты натолкнул на мысль.

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

по заветам истинных линуксойдов, которые перезагружают комп через sudo reboot

А что плохого в перезагрузке по sudo reboot?

tiinn ★★★★★
()

звук в линуксе просто работает с голой alsa, это всё в 90% случаев не нужно

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

Наоборот удали всю эту чушь и настрой работу звука через ALSA напрямую, будет намного лучше.

Главное потом не пытаться вывести звук из чего-то, кроме плеера, иначе можно расстроиться.

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

Уверен что есть и даже много на выбор. Но я не искал и сам себе написал в рамках собственного WM.

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

Запустил, через kde.

Но я рано начал плясать от радости, D-bus как всегда напоминает о себе. Запустил для теста «Dead or Alive 5» и получил черный экран с белым квадратом, а в логах опять какая-то шляпа с тем, что автобус не может обработать какие-то вызовы, связанные с игрой…

Интересно, есть вообще в природе что-то полностью отвязанное от systemd? (помимо дистрибутивов без привычных пакетных менеджеров) D-bus, по сути, является частью этой системы инициализации, и это системная зависимость, так что тут только пересоборка (или будущие новые версии могут помочь). В гентах тоже автобус есть, как ни странно.

Или, может, хотя бы какая-то альтернатива сей приблуде?

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

Например?

Arch, Fedora, Debian. Любой, в котором из коробки есть вменяемый супервизор процессов (которых по состоянию на 2024 есть ровно один), а не NIH от копротивленцев.

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

в этих говнопортах ещё обычно вкомпилен тормозный транслятор в opengl, потому будешь ещё рассказывать что 3d в линуксе тормозит? смешно

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

Ну, просто для общего развития: большинство нативных игр сейчас на Unity, UE и XNA. Может, ещё что-то есть, но из нескольких сотен в моей библиотеке большинство на чём-то из этого. Трансляция в покойный OpenGL вышла из моды лет пятнадцать назад, потому что это криво и медленно.

anonymous
()

Для трубопровода нужен дубас, запускаете вы его в пользовательской сессии - значит, сначала делаем где-нибудь dbus-launch, потом уже пайптварь и сотоварищи.

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

ну вот тогда пусть ещё осилят нормально использовать alsa как остальные приложения

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

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

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

D-bus, по сути, является частью этой системы инициализации

Не является.

Или, может, хотя бы какая-то альтернатива сей приблуде?

dbus-broker.

anonymous
()