Skip to content
Snippets Groups Projects
  1. Jul 17, 2023
  2. Jun 26, 2023
  3. May 18, 2023
  4. May 16, 2023
  5. May 10, 2023
  6. May 05, 2023
    • Dorinda Bassey's avatar
      audio/pwaudio.c: Add Pipewire audio backend for QEMU · c2d3d1c2
      Dorinda Bassey authored
      
      This commit adds a new audiodev backend to allow QEMU to use Pipewire as
      both an audio sink and source. This backend is available on most systems
      
      Add Pipewire entry points for QEMU Pipewire audio backend
      Add wrappers for QEMU Pipewire audio backend in qpw_pcm_ops()
      qpw_write function returns the current state of the stream to pwaudio
      and Writes some data to the server for playback streams using pipewire
      spa_ringbuffer implementation.
      qpw_read function returns the current state of the stream to pwaudio and
      reads some data from the server for capture streams using pipewire
      spa_ringbuffer implementation. These functions qpw_write and qpw_read
      are called during playback and capture.
      Added some functions that convert pw audio formats to QEMU audio format
      and vice versa which would be needed in the pipewire audio sink and
      source functions qpw_init_in() & qpw_init_out().
      These methods that implement playback and recording will create streams
      for playback and capture that will start processing and will result in
      the on_process callbacks to be called.
      Built a connection to the Pipewire sound system server in the
      qpw_audio_init() method.
      
      Signed-off-by: default avatarDorinda Bassey <dbassey@redhat.com>
      Reviewed-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20230417105654.32328-1-dbassey@redhat.com>
      Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      c2d3d1c2
  7. Apr 21, 2023
  8. Feb 27, 2023
    • John Snow's avatar
      meson: stop looking for 'sphinx-build-3' · 1b1be8d3
      John Snow authored
      
      Once upon a time, "sphinx-build" on certain RPM platforms invoked
      specifically a Python 2.x version, while "sphinx-build-3" was a distro
      shim for the Python 3.x version.
      
      These days, none of our supported platforms utilize a 2.x version, and
      those that still have 'sphinx-build-3' make it a symbolic link to
      'sphinx-build'.  Not searching for 'sphinx-build-3' will prefer
      pip/venv installed versions of sphinx if they're available.
      
      This adds an extremely convenient ability to test document building
      ability in QEMU across multiple versions of Sphinx for the purposes of
      compatibility testing.
      
      Signed-off-by: default avatarJohn Snow <jsnow@redhat.com>
      Message-Id: <20230221012456.2607692-6-jsnow@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      1b1be8d3
  9. Feb 16, 2023
  10. Feb 14, 2023
  11. Feb 11, 2023
  12. Dec 16, 2022
  13. Nov 23, 2022
  14. Oct 26, 2022
    • Stefan Hajnoczi's avatar
      blkio: add libblkio block driver · fd66dbd4
      Stefan Hajnoczi authored
      libblkio (https://gitlab.com/libblkio/libblkio/
      
      ) is a library for
      high-performance disk I/O. It currently supports io_uring,
      virtio-blk-vhost-user, and virtio-blk-vhost-vdpa with additional drivers
      under development.
      
      One of the reasons for developing libblkio is that other applications
      besides QEMU can use it. This will be particularly useful for
      virtio-blk-vhost-user which applications may wish to use for connecting
      to qemu-storage-daemon.
      
      libblkio also gives us an opportunity to develop in Rust behind a C API
      that is easy to consume from QEMU.
      
      This commit adds io_uring, nvme-io_uring, virtio-blk-vhost-user, and
      virtio-blk-vhost-vdpa BlockDrivers to QEMU using libblkio. It will be
      easy to add other libblkio drivers since they will share the majority of
      code.
      
      For now I/O buffers are copied through bounce buffers if the libblkio
      driver requires it. Later commits add an optimization for
      pre-registering guest RAM to avoid bounce buffers.
      
      The syntax is:
      
        --blockdev io_uring,node-name=drive0,filename=test.img,readonly=on|off,cache.direct=on|off
      
        --blockdev nvme-io_uring,node-name=drive0,filename=/dev/ng0n1,readonly=on|off,cache.direct=on
      
        --blockdev virtio-blk-vhost-vdpa,node-name=drive0,path=/dev/vdpa...,readonly=on|off,cache.direct=on
      
        --blockdev virtio-blk-vhost-user,node-name=drive0,path=vhost-user-blk.sock,readonly=on|off,cache.direct=on
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Acked-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: default avatarStefano Garzarella <sgarzare@redhat.com>
      Message-id: 20221013185908.1297568-3-stefanha@redhat.com
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      fd66dbd4
  15. Sep 27, 2022
  16. Sep 26, 2022
    • Thomas Huth's avatar
      Remove the slirp submodule (i.e. compile only with an external libslirp) · 5890258a
      Thomas Huth authored
      
      Since QEMU 7.1 we don't support Ubuntu 18.04 anymore, so the last big
      important Linux distro that did not have a pre-packaged libslirp has
      been dismissed. All other major distros seem to have a libslirp package
      in their distribution already - according to repology.org:
      
                Fedora 35: 4.6.1
        CentOS 8 (RHEL-8): 4.4.0
                Debian 11: 4.4.0
       OpenSUSE Leap 15.3: 4.3.1
         Ubuntu LTS 20.04: 4.1.0
            FreeBSD Ports: 4.7.0
            NetBSD pkgsrc: 4.7.0
                 Homebrew: 4.7.0
              MSYS2 mingw: 4.7.0
      
      The only one that was still missing a libslirp package is OpenBSD - but
      the next version (OpenBSD 7.2 which will be shipped in October) is going
      to include a libslirp package. Since QEMU 7.2 will be published after
      OpenBSD 7.2, we should be fine there, too.
      
      So there is no real urgent need for keeping the slirp submodule in
      the QEMU tree anymore. Thus let's drop the slirp submodule now and
      rely on the libslirp packages from the distributions instead.
      
      Message-Id: <20220824151122.704946-7-thuth@redhat.com>
      Acked-by: default avatarSamuel Thibault <samuel.thibault@ens-lyon.org>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      5890258a
  17. Sep 01, 2022
  18. Jul 13, 2022
  19. Jul 12, 2022
  20. Jun 24, 2022
  21. Jun 15, 2022
    • Jagannathan Raman's avatar
      vfio-user: build library · 55116968
      Jagannathan Raman authored
      
      add the libvfio-user library as a submodule. build it as a meson
      subproject.
      
      libvfio-user is distributed with BSD 3-Clause license and
      json-c with MIT (Expat) license
      
      Signed-off-by: default avatarElena Ufimtseva <elena.ufimtseva@oracle.com>
      Signed-off-by: default avatarJohn G Johnson <john.g.johnson@oracle.com>
      Signed-off-by: default avatarJagannathan Raman <jag.raman@oracle.com>
      Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Message-id: c2adec87958b081d1dc8775d4aa05c897912f025.1655151679.git.jag.raman@oracle.com
      
      [Changed submodule URL to QEMU's libvfio-user mirror on GitLab. The QEMU
      project mirrors its dependencies so that it can provide full source code
      even in the event that its dependencies become unavailable. Note that
      the mirror repo is manually updated, so please contact me to make newer
      libvfio-user commits available. If I become a bottleneck we can set up a
      cronjob.
      
      Updated scripts/meson-buildoptions.sh to match the meson_options.txt
      change. Failure to do so can result in scripts/meson-buildoptions.sh
      being modified by the build system later on and you end up with a dirty
      working tree.
      --Stefan]
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      55116968
  22. Jun 14, 2022
  23. May 18, 2022
  24. May 17, 2022
  25. May 07, 2022
Loading