qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 0/1] Add support for DRM IOCTLs to QEMU user mod


From: Aaditya Chandrasekhar Azad
Subject: Re: [Qemu-devel] [PATCH 0/1] Add support for DRM IOCTLs to QEMU user mode virtualization.
Date: Thu, 11 Sep 2014 16:12:27 -0700

Hi qemu devs,

I was wondering if anyone would be willing to test this patch with intel or, if it will be useful, I can add support nouveau, radeon, vmxgfx / any other mesa + drm gfx driver. I won't be able to easily test the latter config, but given the nature of this patch, adding those IOCTLs should be similarly mechanical and just work (tm?). The benefit from within qemu-user-* is pretty awesome - direct rendering and support for all vendor supported gfx apis (GL 3.3 core + GLES 3.0 on Intel Mesa). I was really hoping to get X and/or Wayland working within a foreign architecture chroot from console so I could run KDE4 or Gnome3 as a WM, but they fail on a linux system call (signalfd, which is currently unimplemented). Perhaps there isn't much work to be done there, I will take a deeper look. All chroot apps I tested ran correctly with native X though, even Weston launched as a window and rendered correctly with accel.

To properly test this patch, one will need to build libdrm, xf86-video-intel and mesa in a foreign chroot. Building is easy, though one may need to override the (seeming meaningless) x86 check in xf86-video-intel's configure script. After building and installing setting LD_LIBRARY_PATH and LIBGL_DRIVERS_PATH is sufficient to pick up the new drivers. Radeon and nouveau should not need this work though.

Also this patch is fairly trivial, it would be awesome to get it reviewed and committed :). I wasn't sure if this was appropriate for trivial patches since the impact is strong user-visible hence this list.

Thanks,
Aaditya

On Fri, Sep 5, 2014 at 1:46 PM, Aaditya Chandrasekhar Azad <address@hidden> wrote:
This patch adds initial user-virtualization support for the DRM (type
'd') IOCTLs in linux. With it and a corresponding architecture chroot
(say aarch64), I am able to successfully run a few 2D and 3D
applications with native graphics acceleration. Some notes/caveats
are:

1. It will only work with open drivers as their IOCTLs are documented.
2. i965+ is only supported. That is any haswell, ivybridge, etc. GPU will work.
3. X doesn't start yet, though this patch eliminates all the visible
unsupported DRM IOCTL calls as observed by setting QEMU_STRACE=1.
4. Intel open drivers components except for Beignet are architecture
independent AFAICT and compile cleanly in foreign architecture
environments.
5. The DRM table provided is current as of linux-3.17-rc2, however,
compiling it with older kernel headers might require conditional
guards that this patch doesn't provide yet.
6. syscalls.c now includes <drm/*.h> files, which should be available
in any valid linux-user build environment.

Using a Debian aarch64 chroot on ubuntu amd64, I have successfully run
nexuiz and
compiled and run qemu-system-i386 with SDL emulation (+ patch for
forcing OpenGL).

Aaditya Chandrasekhar Azad (1):
  Add support for DRM IOCTLs to QEMU user mode virtualization.

 linux-user/ioctls.h        | 137 ++++++++++
 linux-user/syscall.c       |   2 +
 linux-user/syscall_defs.h  | 139 ++++++++++
 linux-user/syscall_types.h | 651 +++++++++++++++++++++++++++++++++++++++++++++
 thunk.c                    |   2 +-
 5 files changed, 930 insertions(+), 1 deletion(-)

--
2.1.0.60.g85f0837



--
Aaditya Chandrasekhar Azad
Texas-Ex!
Tel: 650-862-4685

reply via email to

[Prev in Thread] Current Thread [Next in Thread]