Pipewire without systemd

Forum Forums New users New Users and General Questions Pipewire without systemd

  • This topic has 132 replies, 11 voices, and was last updated Mar 7-12:58 am by stevesr0.
Viewing 15 posts - 91 through 105 (of 133 total)
  • Author
    Posts
  • #96415
    Member
    olsztyn
      Helpful
      Up
      0
      ::

      I will review my system and (hopefully) post a step-by-step by the end of the weekend.

      Thank you very much. No rush though, so whenever in the future is convenient to you.
      Greatly appreciated.

      Live antiX Boot Options (Previously posted by Xecure):
      https://antixlinuxfan.miraheze.org/wiki/Table_of_antiX_Boot_Parameters

      #96465
      Member
      stevesr0
        Helpful
        Up
        0
        ::

        Hi olsztyn,

        My first step was to review what I did and what I have.

        After doing this, I realized that I am not sure what stuff on my system is unnecessary (for Pipewire to work or in general).

        So, as a first step, I would like to compare my “startup” config files that seem important for Pipewire that I have edited with what you (and other Sid install folks) have. I suspect that there are several “routine” config files that are automatically installed and work with the standard window managers/desktops that I don’t have installed.

        I may actually be unaware of some files that are commonly used for the same purposes, so I look forward to enlightenment.

        1. /etc/xdg/openbox/autostart
        2. /home/stevesr0/.profile
        3. /home/stevesr0/.desktop-session/default-desktop
        4. /etc/skel/.desktop-session/desktop-session.conf
        5. /etc/skel/.desktop-session/startup

        stevesr0

        P.S. I have posted in the Pipewire thread launched by Xecure that I hoped these two threads could be merged.

        #96468
        Member
        olsztyn
          Helpful
          Up
          0
          ::

          1. /etc/xdg/openbox/autostart
          2. /home/stevesr0/.profile
          3. /home/stevesr0/.desktop-session/default-desktop
          4. /etc/skel/.desktop-session/desktop-session.conf
          5. /etc/skel/.desktop-session/startup

          My content of these below. Just to remind – I do not have pipewire installed yet:
          1. /etc/xdg/openbox/autostart contains just one entry – lxpanel
          2. /home/demo/.profile copied in-line here:
          # ~/.profile: executed by the command interpreter for login shells.
          # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
          # exists.
          # see /usr/share/doc/bash/examples/startup-files for examples.
          # the files are located in the bash-doc package.

          # the default umask is set in /etc/profile; for setting the umask
          # for ssh logins, install and configure the libpam-umask package.
          #umask 022

          # if running bash
          if [ -n “$BASH_VERSION” ]; then
          # include .bashrc if it exists
          if [ -f “$HOME/.bashrc” ]; then
          . “$HOME/.bashrc”
          fi
          fi

          # set PATH so it includes user’s private bin if it exists
          if [ -d “$HOME/bin” ] ; then
          PATH=”$HOME/bin:$PATH”
          fi

          # set PATH so it includes user’s private bin if it exists
          if [ -d “$HOME/.local/bin” ] ; then
          PATH=”$HOME/.local/bin:$PATH”
          fi

          3. /home/demo/.desktop-session/default-desktop: openbox

          4. /etc/skel/.desktop-session/desktop-session.conf is copied in-line below:
          #This is the desktop-session config file.
          #This is structured in a bash script format, so all options must be option=”desired-option

          #Session service delay.
          #This is to set how long to delay startup to give enough time for the wm to completely load.
          #before starting to load other applications. This wait period will be started after the
          #window manager has been found running.
          #TIME is expressed in seconds
          #Options: 0-9…
          STARTUP_DELAY=”2″

          #Session window manager check
          #This is to set the amount of times desktop-session checks for a running window manager
          #before giving up and denying the session to load.
          #Options: 0-9…
          TIMES_TO_CHECK=”20″

          #Session give up override
          #This is to set the override if the window manager is never found to be running by
          #desktop-session. This will force the session to load if set to true.
          #Options: true | false
          FORCE_LOAD=”false”

          #Session Protect.
          #This is how to protect the user from automatic updating of any file within desktop-session.
          #Examples are the menu, any file compare within file_compare, etc
          #Options for this are:
          #SESSION_PROTECT=”true #Strictly protect the user, leave the user to deal with any of the updating
          #SESSION_PROTECT=”ask #Notify me at startup of any changes and allow me to choose what to update
          #SESSION_PROTECT=”false #Just update me, I dont want to worry about falling behind.
          SESSION_PROTECT=”false”

          #Notification Dialog
          #This is where to enable / disable the session loading dialog
          #Options: true | false
          NOTIFICATION_DIALOG=”false”

          #Notification text or program
          #This is where the text is set for the notification that the session is loading.
          #This can be a specified text string or a program that will return a text string
          #Examples:
          #NOTIFICATION_TEXT=”Session is Loading, Please Wait…..”
          #NOTIFICATION_TEXT=”/usr/games/fortune”
          NOTIFICATION_TEXT=”Session is Loading, Please Wait…..”

          #Startup Sound
          #Play Sound when loading the desktop (uses terminal command play)
          #Options: true | false
          STARTUP_SOUND=”false”

          #Startup Sound File
          #Location of the file for the startup sound
          STARTUP_SOUND_FILE=”$HOME/.desktop-session/startup.ogg”

          #Startup Dialog
          #This is where to enable / disable the session startup dialog
          #Options: true | false
          STARTUP_DIALOG=”false”

          #Startup Dialog Command
          #This is where to set the startup dialog command
          #Examples:
          #STARTUP_DIALOG_CMD=”leafpad ~/.startup-text”
          #STARTUP_DIALOG_CMD=”yad –image=’info’ –text=’this is my startup dialog'”
          #STARTUP_DIALOG_CMD=”/usr/local/lib/desktop-session/startup-dialog.py”

          #Session load conky
          #This will load a window manager specific conky from ~/.conky
          #There must be a corresponding conkyrc in ~/.conky in the form of windowmanager-conkyrc
          #Else we will load conky without the -c parameter
          #Options: true | false
          LOAD_CONKY=”true”

          #Session load xdg autostart
          #This will load any application that is setup to autostart via xdg autostart directories /
          #.desktop files.
          #Options: true | false
          LOAD_XDG_AUTOSTART=”false”

          #Session load of dbus-launch
          #This will make it possible to start a session bus instance of dbus-daemon with the window manager
          #Options: true | false
          DBUS_SESSION_LAUNCH=”false”

          #Session load startup
          #This will load any application that is setup to autostart via /etc/desktop-session/startup
          #Options: true | false
          LOAD_STARTUP_FILE=”true”

          #Session screen blank
          #This is to set the amount of time that the screen stays visible.
          #Desktop-session sets the dpms settings according to the screen blank value set here.
          #TIME expressed in seconds
          #Options: 0-9…
          SCREEN_BLANK_TIME=”3600″

          #Session other desktops window
          #This is to set the other desktops window to pop up or not.
          #true = pop up
          #false = no pop up
          OTHER_DESKTOPS_WINDOW=”true”

          #Default Sound Level
          #Set the sound volume level when starting up to default level when startup sound is true
          #Set using amixer sset ‘Master’ -M
          #Level is set from 0% – 100%
          STARTUP_SOUND_LEVEL=”65%”

          5. /etc/skel/.desktop-session/startup: Copied in-line below:
          #!/bin/bash

          ## fix HiDPI screen if necessary.
          ## Not needed if there is no HiDPI screen
          autoscale-antix

          ## Only use ONE (or neither)
          ## Simple script to check for connectivity (NCA).
          ## If no network connection is detected, activate wi-fi networks, open connman and go straight to the wi-fi connections tab.
          network-check-antix &
          ## OR More comples tool (NCR) that provides on screen info while waiting for a network connection to be established.
          ## NRS reports in both GUI and non-GUI environments.
          #network-readiness-state &

          ## Puts connman gui monitor icon on the taskbar
          #cmst -m &

          ## Uncomment if using pulseaudio (you need to install it). Make sure it starts before volumeicon.
          #pulseaudio -D &

          ## Puts a volume icon on the taskbar
          volumeicon &

          ## Enable/Disable automounting
          automount-antix &

          ## Puts a flag on the taskbar to show which keyboard is being used if more than 1 keyboard layout is detected
          fbxkb-start &

          ## Uncomment for easy search from the taskbar
          #search-bar-icon &

          ## Uncomment the following line to mount Samba and/or NFS shares
          #connectshares &

          ## Uncomment to show the configuration gui of a running ssh-conduit-x11vnc server (you need to install ssh-conduit-antix)
          #ssh-conduit-x11vnc.sh gui &

          ## Uncomment to use clipboard manager
          #clipit &

          ## Use pkexec (you need to install policykit-1-gnome)
          #/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 &

          ## Uncomment both to show wicd networking monitor (you need to install wicd).
          #wicd-client -t &
          #grep -q “START_DAEMON=no” /etc/default/wicd || wicd-client -t &

          ## Uncomment after installing apt-notifier
          #apt-notifier &

          ## Enable Mouse Configuration at Startup
          #ds-mouse -all &

          ## Uncomment if using network-manager (you need to install it)
          #nm-applet &

          ## Create a bootchart image if bootchart was run
          test -e /etc/live/config/bootchart \
          && (sleep 6 && test -e /var/log/bootchart.tgz \
          && ! test -e ~/bootchart.png \
          && pybootchartgui)&

          ## Used on live system only
          (sleep 5 && toram-eject) &

          Live antiX Boot Options (Previously posted by Xecure):
          https://antixlinuxfan.miraheze.org/wiki/Table_of_antiX_Boot_Parameters

          #96580
          Member
          stevesr0
            Helpful
            Up
            0
            ::

            Hi olsztyn,

            Happy New Year and thanks for information.

            My #1 contains

            My #2 ~/.profile is identical to yours, except for the “export” line is used in conjunction with the script that enables a working /run/user/id (noted above).

            My #3 identical

            My #4 Identical, except in mine LOAD_CONKY=”false” and LOAD_XDG_AUTOSTART=”true”

            My #5 Identical.

            I have been looking to remove unnecessary packages/applications. Do you have rtkit running? I am loathe to remove it because it might be useful in “realtime” audio video applications that is apparently one motivation for the design of Pipewire.

            How about pkexec?

            stevesr0

            #96592
            Member
            olsztyn
              Helpful
              Up
              0
              ::

              Happy New Year to you and all antiX party!

              I do not have rtkit running. I do not have Conkey installed either…
              Thanks again…

              Live antiX Boot Options (Previously posted by Xecure):
              https://antixlinuxfan.miraheze.org/wiki/Table_of_antiX_Boot_Parameters

              #96719
              Member
              stevesr0
                Helpful
                Up
                0
                ::

                Hi olsztyn (and any one else reading these posts <g>),

                This post includes a first draft of what is installed on my system as a guide to what might work on other antiX systems. Especially for others with a Sid install running Openbox. The script and EXPORTline in my /home/.profile file that seems to be necessary is described in an earlier post in this thread. Comments, questions and critiques appreciated.

                stevesr0

                ————————————————————————————————————————————-

                A. Looking at the files you posted,

                1. We are both using openbox as a window manager

                2. In my installed system, the /home/stevesr0/.desktop-session/desktop-session.conf file doesn’t exist (don’t know why). In your live system (/home/demo), my understanding is that the /etc/skel file would be copied to /home/demo. So functionally, those are the relevant ones in both our systems.

                3. Puzzled how you are able to autostart LXpanel with XDG_AUTOSTART when LOAD_XDG_AUTOSTART=false.

                4. I left out the differences in our /etc/xdg/openbox/autostart files. See my file under C.

                ————————————————————————————————————–

                B. A basic set of packages required for Pipewire:

                pipewire (metapackage)
                pipewire-bin
                pipewire-pulse
                pipewire-alsa
                pipewire-tests
                libpipewire-0.3-0
                libpipewire-o.3-common
                libpipewire-0.3-modules
                libpipewire-0.3-dev (not sure if this is “basic”)
                gstreamer1.0-pipewire
                wireplumber
                libwireplumber-0.4-0
                libwireplumber-0.4-dev (not sure if this is “basic”)
                libspa-0.2-dev
                libspa-0.2-modules

                Optional:
                pavucontrol

                —————————————————————

                C. Configuration.

                1. /etc/alsa/conf.d/50-pipewire.conf

                # Add a specific named PipeWire pcm
                
                defaults.pipewire.server "pipewire-0"
                defaults.pipewire.node "-1"
                defaults.pipewire.exclusive false
                defaults.pipewire.role ""
                defaults.pipewire.rate 0
                defaults.pipewire.format ""
                defaults.pipewire.channels 0
                defaults.pipewire.period_bytes 0
                defaults.pipewire.buffer_bytes 0
                
                pcm.pipewire {
                	@args [ SERVER NODE EXCLUSIVE ROLE RATE FORMAT CHANNELS PERIOD_BYTES BUFFER_BYTES ]
                	@args.SERVER {
                		type string
                		default {
                			@func refer
                			name defaults.pipewire.server
                		}
                	}
                	@args.NODE {
                		type string
                		default {
                			@func refer
                			name defaults.pipewire.node
                		}
                	}
                	@args.EXCLUSIVE {
                		type integer
                		default {
                			@func refer
                			name defaults.pipewire.exclusive
                		}
                	}
                	@args.ROLE {
                		type string
                		default {
                			@func refer
                			name defaults.pipewire.role
                		}
                	}
                	@args.RATE {
                		type integer
                		default {
                			@func refer
                			name defaults.pipewire.rate
                		}
                	}
                	@args.FORMAT {
                		type string
                		default {
                			@func refer
                			name defaults.pipewire.format
                		}
                	}
                	@args.CHANNELS {
                		type integer
                		default {
                			@func refer
                			name defaults.pipewire.channels
                		}
                	}
                	@args.PERIOD_BYTES {
                		type integer
                		default {
                			@func refer
                			name defaults.pipewire.period_bytes
                		}
                	}
                	@args.BUFFER_BYTES {
                		type integer
                		default {
                			@func refer
                			name defaults.pipewire.buffer_bytes
                		}
                	}
                
                	type pipewire
                	server $SERVER
                	playback_node $NODE
                	capture_node $NODE
                	exclusive $EXCLUSIVE
                	role $ROLE
                	rate $RATE
                	format $FORMAT
                	channels $CHANNELS
                	period_bytes $PERIOD_BYTES
                	buffer_bytes $BUFFER_BYTES
                	hint {
                		show on
                		description "PipeWire Sound Server"
                	}
                }
                
                ctl.pipewire {
                        @args.SERVER {
                                type string
                                default {
                                        @func refer
                                        name defaults.pipewire.server
                                }
                        }
                        type pipewire
                        server $SERVER
                }

                ——————————————————————–

                2. /etc/alsa/conf.d/99-pipewire-defaults.conf

                pcm.!default {
                    type pipewire
                    playback_node "-1"
                    capture_node  "-1"
                    hint {
                        show on
                        description "Default ALSA Output (currently PipeWire Media Server)"
                    }
                }
                
                ctl.!default {
                    type pipewire
                }

                ——————————————————————-

                3./etc/xdg/openbox/autostart
                #
                # These things are run when an Openbox X Session is started.
                # You may place a similar script in $HOME/.config/openbox/autostart
                # to run user-specific things.
                #

                # If you want to use GNOME config tools…
                #
                #if test -x /usr/lib/x86_64-linux-gnu/gnome-settings-daemon >/dev/null; then
                # /usr/lib/x86_64-linux-gnu/gnome-settings-daemon &
                #elif which gnome-settings-daemon >/dev/null 2>&1; then
                # gnome-settings-daemon &
                #fi

                # If you want to use XFCE config tools…
                #
                #xfce-mcs-manager &

                # Start PipeWire in background as media server
                pipewire &
                sleep 2

                Start WirePlumber as media session manager for PipeWire
                wireplumber &
                #sleep 1

                # Start pipewire-pulse to enable use of pavucontrol
                pipewire-pulse &

                # Start tint2 as the taskbar for the Openbox session
                tint2 &

                # add polkit-agent helper to enable starting items on obmenu
                /usr/lib/policykit-1/polkit-agent-helper-1 &

                # Start lxterminal for the session
                lxterminal

                ———————————————————————–

                D. Unmodified configuration files (I believe…).

                /usr/share/pipewire/client-rt.conf
                /usr/share/pipewire/client.conf
                /usr/share/pipewire/jack.conf
                /usr/share/pipewire/minimal.conf
                /usr/share/pipewire/pipewire-avb.conf
                /usr/share/pipewire/pipewire-pulse.conf
                /usr/share/pipewire/pipewire.conf

                #96725
                Member
                olsztyn
                  Helpful
                  Up
                  0
                  ::

                  3. Puzzled how you are able to autostart LXpanel with XDG_AUTOSTART when LOAD_XDG_AUTOSTART=false.

                  If I am not mistaken /etc/xdg/openbox/autostart specification controls autostart under openbox. Lxpanel is specified there to autostart in my configuration.
                  Thank you for your detailed comparison and further info on pipewire implementation. It appears to me that anti already modified all needed components to fit systemd/elogind-free system. Thanks to your successful implementation, preparation of infrastructure by anti and prior guidance by Xecure, I may soon be able to follow…
                  If your experience on pipewire is positive, it might be a good idea to include it as part of antiX 23, to leverage such significant asset…

                  • This reply was modified 4 months, 1 week ago by olsztyn.

                  Live antiX Boot Options (Previously posted by Xecure):
                  https://antixlinuxfan.miraheze.org/wiki/Table_of_antiX_Boot_Parameters

                  #96820
                  Member
                  stevesr0
                    Helpful
                    Up
                    0
                    ::

                    hi olsztyn,

                    You are correct. Thanks for correcting my mistake <g>.

                    I looked over my files and some online info on /etc/xdg/autostart and /etc/xdg/openbox/autostart. The only apparent difference to expect from the loading of /edg/autostart is that the .desktop files should start applications. However, I don’t know yet how to test whether these are active or not on my system.

                    The three step sequence I believe, is that startx launches X, then the ~/.desktop-session/default-desktop launches openbox and then /etc/xdg/openbox/ launch applications that run within openbox.

                    (Parenthetical) Question: In my default-desktop file, I just changed the “openbox” entry to “openbox-session” and restarted X without obvious change. Which do you have in your default-desktop file?

                    stevesr0

                    #96828
                    Member
                    olsztyn
                      Helpful
                      Up
                      0
                      ::

                      Question: In my default-desktop file, I just changed the “openbox” entry to “openbox-session” and restarted X without obvious change. Which do you have in your default-desktop file?

                      I believe (just tested to confirm this) that the value in the ~/.desktop-session/default-desktop is the current desktop in session. So if I am in openbox the value is ‘openbox’. If I switch session to JWM the new value there will be ‘JWM’. Same for IceWM.
                      Hopefully this answers your question…

                      Live antiX Boot Options (Previously posted by Xecure):
                      https://antixlinuxfan.miraheze.org/wiki/Table_of_antiX_Boot_Parameters

                      #96876
                      Member
                      stevesr0
                        Helpful
                        Up
                        0
                        ::

                        hi olsztyn,

                        I was trying to summarize my understanding of three things:

                        (1) What file selects the window manager – I thought that what was written in that default-desktop was THEN used. After reading your response, I see that is incorrect. Looking into a number of posts about this, it appears rather complicated. And I won’t look into it further at this time (but open to someone sending a reference that explains it <g>).

                        (2) I do believe the sequence is the window manager is launched and after that the applications to run in that window manager are launched.

                        (3) The /etc/xdg/autostart directory is supposed to start some “things”.

                        (4) It is recommended that openbox be launched using “openbox-session”. (I tried editing the default-desktop file without effect, but that file apparently doesn’t actually select the wm, just displays the selected one. I am not sure at this moment which file to try editing [see number (1) above]).

                        I am finished trying to change things on my system for the near term.

                        I will watch the forum and respond to posts when I think I might have something useful to say, but I don’t plan to update either Pipewire stuff (other tasks coming up).

                        stevesr0

                        #96886
                        Member
                        olsztyn
                          Helpful
                          Up
                          0
                          ::

                          Thank you @stevesr0 for your contribution, particularly in the area of Pipewire accomplishment. I am trying to follow you in this area, leveraging the info you provided, which I greatly appreciate. So far I am far behind you in this.

                          A person that I dearly miss is Xecure, who provided a wealth of knowledge in this area and developed many pieces of modern antiX infrastructure, such as Runit init system. I am still searching old posts by Xecure to refresh understanding of various mechanisms in antiX architecture. Unfortunately he decided to leave antiX forum, being too gentle to endure certain polemics. If he ever reads this I want him to know that he and his contribution will never be forgotten…

                          In the Pipewire technology, which Xecure introduced to antiX, which you continued to the latest success, I am far behind, as I said. I think I put all the pieces together and I started to hear some sound from Pipewire server but so far it is rather choppy and unstable, so I am still missing something major.
                          I think you provided enough technical details and experience for me to continue from here.

                          On your question regarding default desktop session, and desktop sessions list control, I am no longer clear on this either. The way I remember it used to be it was defined by /usr/share/xsessions and slimski configuration somewhere I thought in /etc plus .xsessionrc. However it seems something changed in this respect and it does not seem to work the same way, as you noticed in the prior post. I will try to find the right config places, without explicitly asking questions in this forum.

                          I will keep updating you on my Pipewire progress, although please do not feel obligated to reply to any of my posts.
                          Thanks again and Regards.

                          Live antiX Boot Options (Previously posted by Xecure):
                          https://antixlinuxfan.miraheze.org/wiki/Table_of_antiX_Boot_Parameters

                          #96979
                          Member
                          stevesr0
                            Helpful
                            Up
                            0
                            ::

                            Hi olsztyn,

                            Thanks for the update. Our conversations have been stimulating and provided encouragement to continue improving my understanding of how linux works.

                            I have not experienced the choppiness, although there are many threads online about this.

                            I will watch for future updates from you.

                            Best.

                            stevesr0

                            #97041
                            Member
                            stevesr0
                              Helpful
                              Up
                              0
                              ::

                              Update (boring).

                              Today’s full-upgrade included antix versions of latest Pipewire, libpipewire, libspa and gstreamer1.0-pipewire packages.

                              Still working well on my Sid computer after upgrade.

                              Thanks, anticapitalista

                              #97042
                              Member
                              olsztyn
                                Helpful
                                Up
                                0
                                ::

                                Stevesr0:

                                I have not experienced the choppiness, although there are many threads online about this.

                                Thank you for confirmation…
                                I must add that the reason the sound appeared to be choppy in my case was that I am at the beginning of the learning curve and I must be missing certain components and config settings necessary. Once I have more time I will figure this out. It appears to me that all necessary pieces are elogind-free at this point, thanks to components have been re-done as elogind-free by anticapitalista.
                                Thanks again for your help you provided…

                                • This reply was modified 4 months ago by olsztyn.

                                Live antiX Boot Options (Previously posted by Xecure):
                                https://antixlinuxfan.miraheze.org/wiki/Table_of_antiX_Boot_Parameters

                                #98590
                                Member
                                stevesr0
                                  Helpful
                                  Up
                                  0
                                  ::

                                  Progress note.

                                  Sid Upgrade today included nosystemd versions of Pipeire and related packages, bringing us up to the 0.3.65 version level released a few days ago. (Thank you anticapitalista.)

                                  VLC (latest nosystemd version), PAVU and youtube video all working on my system.

                                  (seatd and libseat1 only. No elogind or libelogind0 or polkit or policykit or consolekit).

                                  stevesr0

                                Viewing 15 posts - 91 through 105 (of 133 total)
                                • You must be logged in to reply to this topic.