qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Akihiko Odaki <akihiko.odaki@gmail.com>
To: Gurchetan Singh <gurchetansingh@chromium.org>, qemu-devel@nongnu.org
Cc: kraxel@redhat.com, marcandre.lureau@redhat.com,
	dmitry.osipenko@collabora.com, ray.huang@amd.com,
	alex.bennee@linaro.org, shentey@gmail.com, hi@alyssa.is
Subject: Re: [PATCH v2 0/9] gfxstream + rutabaga_gfx
Date: Wed, 2 Aug 2023 16:08:56 +0900	[thread overview]
Message-ID: <e47e638e-d27b-7848-14e6-62d5c71ef20a@gmail.com> (raw)
In-Reply-To: <20230801011723.627-1-gurchetansingh@chromium.org>

On 2023/08/01 10:17, Gurchetan Singh wrote:
> Latest iteration of rutabaga_gfx + gfxstream patches.  Previous versions
> available here:
> 
> https://patchew.org/QEMU/20230711025649.708-1-gurchetansingh@chromium.org/
> 
> https://patchew.org/QEMU/20230421011223.718-1-gurchetansingh@chromium.org/
> 
> Changes since v1:
> - New error callback hooked into QEMU error's handlers
> - Incorporated review feedback
> - goldfish-opengl repo is now gone: new unified repo for guest and host
> 
> How to build both rutabaga and gfxstream guest/host libs:
> 
> https://crosvm.dev/book/appendix/rutabaga_gfx.html

It's nice to see a documentation for this. The below are some comments:

Why not install dependencies in one command?
sudo apt install libdrm libglm-dev libstb-dev

The cmake command for AEMU is broken into two lines but the newline 
character between them are not escaped. It should be one line or the 
newline should be escaped.

It also gives a warning:
CMake Warning:
   Ignoring extra path from command line:

    "../"

And it's probably better to have a dedicated build directory. /build is 
in .gitignore so you may:
cmake -DAEMU_COMMON_GEN_PKGCONFIG=ON \
       -DAEMU_COMMON_BUILD_CONFIG=gfxstream \
       -DENABLE_VKCEREAL_TESTS=OFF -B build

It's also better to use the following commands to build and install it 
just in case the system has a different backend (like Ninja):
cmake --build build -j
sudo cmake --install build

The build directory of gfxstream may be named just "build" so that you 
can blindly copy the command on Arm64 or whatever and to ignore it with 
.gitignore.

You may build and install it with the following command:
meson install -C build
No need for separate build command and sudo. Meson takes care of that.

The documentation has one command for building and installing Rutabaga, 
but that may cause a problem. For example, you may have rustup 
configured for a normal user but not for the superuser. Perhaps it's 
better not to have "build" as a dependency of "install" and have two 
commands for each of the steps:
make
sudo make install

> 
> Branch containing this patch series:
> 
> https://gitlab.freedesktop.org/gurchetansingh/qemu-gfxstream/-/commits/qemu-gfxstream-v2
> 
> Next steps:
>   - Will add a v0.1.2 release "commit" after this patch series is fully
>     reviewed, but before it's merged
> 
> Antonio Caggiano (2):
>    virtio-gpu: CONTEXT_INIT feature
>    virtio-gpu: blob prep
> 
> Dr. David Alan Gilbert (1):
>    virtio: Add shared memory capability
> 
> Gerd Hoffmann (1):
>    virtio-gpu: hostmem
> 
> Gurchetan Singh (5):
>    gfxstream + rutabaga prep: added need defintions, fields, and options
>    gfxstream + rutabaga: add initial support for gfxstream
>    gfxstream + rutabaga: meson support
>    gfxstream + rutabaga: enable rutabaga
>    docs/system: add basic virtio-gpu documentation
> 
>   docs/system/device-emulation.rst     |    1 +
>   docs/system/devices/virtio-gpu.rst   |   98 +++
>   hw/display/meson.build               |   22 +
>   hw/display/virtio-gpu-base.c         |    6 +-
>   hw/display/virtio-gpu-pci-rutabaga.c |   48 ++
>   hw/display/virtio-gpu-pci.c          |   14 +
>   hw/display/virtio-gpu-rutabaga.c     | 1077 ++++++++++++++++++++++++++
>   hw/display/virtio-gpu.c              |   17 +-
>   hw/display/virtio-vga-rutabaga.c     |   52 ++
>   hw/display/virtio-vga.c              |   33 +-
>   hw/virtio/virtio-pci.c               |   18 +
>   include/hw/virtio/virtio-gpu-bswap.h |   18 +
>   include/hw/virtio/virtio-gpu.h       |   41 +
>   include/hw/virtio/virtio-pci.h       |    4 +
>   meson.build                          |    7 +
>   meson_options.txt                    |    2 +
>   scripts/meson-buildoptions.sh        |    3 +
>   softmmu/qdev-monitor.c               |    3 +
>   softmmu/vl.c                         |    1 +
>   19 files changed, 1445 insertions(+), 20 deletions(-)
>   create mode 100644 docs/system/devices/virtio-gpu.rst
>   create mode 100644 hw/display/virtio-gpu-pci-rutabaga.c
>   create mode 100644 hw/display/virtio-gpu-rutabaga.c
>   create mode 100644 hw/display/virtio-vga-rutabaga.c
> 


      parent reply	other threads:[~2023-08-02  7:09 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-01  1:17 [PATCH v2 0/9] gfxstream + rutabaga_gfx Gurchetan Singh
2023-08-01  1:17 ` [PATCH v2 1/9] virtio: Add shared memory capability Gurchetan Singh
2023-08-01  1:17 ` [PATCH v2 2/9] virtio-gpu: CONTEXT_INIT feature Gurchetan Singh
2023-08-01  1:17 ` [PATCH v2 3/9] virtio-gpu: hostmem Gurchetan Singh
2023-08-01  1:17 ` [PATCH v2 4/9] virtio-gpu: blob prep Gurchetan Singh
2023-08-01  1:17 ` [PATCH v2 5/9] gfxstream + rutabaga prep: added need defintions, fields, and options Gurchetan Singh
2023-08-01  1:17 ` [PATCH v2 6/9] gfxstream + rutabaga: add initial support for gfxstream Gurchetan Singh
2023-08-01 15:11   ` Alyssa Ross
2023-08-02  6:20   ` Akihiko Odaki
2023-08-01  1:17 ` [PATCH v2 7/9] gfxstream + rutabaga: meson support Gurchetan Singh
2023-08-02  6:21   ` Akihiko Odaki
2023-08-01  1:17 ` [PATCH v2 8/9] gfxstream + rutabaga: enable rutabaga Gurchetan Singh
2023-08-02  6:22   ` Akihiko Odaki
2023-08-01  1:17 ` [PATCH v2 9/9] docs/system: add basic virtio-gpu documentation Gurchetan Singh
2023-08-01 15:04   ` Alyssa Ross
2023-08-02  6:37   ` Akihiko Odaki
2023-08-01 15:00 ` [PATCH v2 0/9] gfxstream + rutabaga_gfx Alyssa Ross
2023-08-02  7:08 ` Akihiko Odaki [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e47e638e-d27b-7848-14e6-62d5c71ef20a@gmail.com \
    --to=akihiko.odaki@gmail.com \
    --cc=alex.bennee@linaro.org \
    --cc=dmitry.osipenko@collabora.com \
    --cc=gurchetansingh@chromium.org \
    --cc=hi@alyssa.is \
    --cc=kraxel@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=ray.huang@amd.com \
    --cc=shentey@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).