anbox/anbox

Container doesn't start in unprivileged mode

Open

#115 建立於 2017年4月15日

在 GitHub 查看
 (13 留言) (3 反應) (0 負責人)C++ (8,720 star) (1,160 fork)batch import
help wantednot-snap

描述

Description of the problem: Subj. If container-manager is started with --privileged switch, everything seems fine. Othewise, session-manager doesn't start correctly, terminating after few seconds with following output:

[II 2017-04-15 19:14:48] [session_manager.cpp:126@operator()] Detected properietary nvidia driver; forcing use of the host EGL driver.
[DD 2017-04-15 19:14:48] [Renderer.cpp:166@initialize] Using a surfaceless EGL context
[DD 2017-04-15 19:14:48] [Renderer.cpp:249@initialize] Successfully initialized EGL
[EE 2017-04-15 19:14:53] [client.cpp:49@start] Failed to start container: Failed to start container: Failed to start container
[WW 2017-04-15 19:14:53] [session_manager.cpp:140@operator()] Lost connection to container manager, terminating.
[EE 2017-04-15 19:14:53] [daemon.cpp:58@Run] Container is not running

Expected: session-manager working without privileged container-manager.

Additional info: Ownership of android data in /var/lib/anbox is set to 100000:100000, and my local user has that subud/subgid range and can run unprivileged lxc containters, if that matters. Sorry for my english.

Anbox release (anbox version) and system info (anbox system-info):

version: 0.1.0
os:
  name: openSUSE Tumbleweed
  version: 
  snap-based: false
kernel:
  version: Linux version 4.4.60-3.g85441c0-default (geeko@buildhost) (gcc version 4.8.5 (SUSE Linux) ) #1 SMP Thu Apr 13 05:05:13 UTC 2017 (85441c0)
  binder: true
  ashmem: true
graphics:
  egl:
    vendor: NVIDIA
    version: 1.4
    extensions:
      - EGL_EXT_buffer_age
      - EGL_EXT_create_context_robustness
      - EGL_EXT_output_base
      - EGL_EXT_stream_acquire_mode
      - EGL_IMG_context_priority
      - EGL_KHR_config_attribs
      - EGL_KHR_create_context_no_error
      - EGL_KHR_create_context
      - EGL_KHR_fence_sync
      - EGL_KHR_get_all_proc_addresses
      - EGL_KHR_partial_update
      - EGL_KHR_swap_buffers_with_damage
      - EGL_KHR_gl_renderbuffer_image
      - EGL_KHR_gl_texture_2D_image
      - EGL_KHR_gl_texture_3D_image
      - EGL_KHR_gl_texture_cubemap_image
      - EGL_KHR_image
      - EGL_KHR_image_base
      - EGL_KHR_image_pixmap
      - EGL_KHR_reusable_sync
      - EGL_KHR_stream
      - EGL_KHR_stream_consumer_gltexture
      - EGL_KHR_stream_cross_process_fd
      - EGL_KHR_stream_fifo
      - EGL_KHR_stream_producer_eglsurface
      - EGL_KHR_surfaceless_context
      - EGL_NV_post_sub_buffer
      - EGL_NV_stream_metadata
      - EGL_NV_stream_sync
      - EGL_NV_stream_consumer_gltexture_yuv
      - EGL_NV_stream_attrib
      - EGL_NV_sync
      - EGL_NV_system_time
      - EGL_NV_output_drm_flip_event
      - EGL_WL_bind_wayland_display
      - EGL_WL_wayland_eglstream
  gles2:
    vendor: NVIDIA Corporation
    vendor: OpenGL ES 1.1 NVIDIA 375.39
    extensions:
      - GL_EXT_debug_label
      - GL_EXT_map_buffer_range
      - GL_EXT_robustness
      - GL_EXT_texture_compression_dxt1
      - GL_EXT_texture_compression_s3tc
      - GL_EXT_texture_format_BGRA8888
      - GL_KHR_debug
      - GL_NV_texture_compression_s3tc
      - GL_OES_compressed_ETC1_RGB8_texture
      - GL_OES_compressed_paletted_texture
      - GL_OES_draw_texture
      - GL_OES_EGL_image
      - GL_OES_EGL_image_external
      - GL_OES_EGL_sync
      - GL_OES_element_index_uint
      - GL_OES_extended_matrix_palette
      - GL_OES_fbo_render_mipmap
      - GL_OES_framebuffer_object
      - GL_OES_matrix_get
      - GL_OES_matrix_palette
      - GL_OES_packed_depth_stencil
      - GL_OES_point_size_array
      - GL_OES_point_sprite
      - GL_OES_rgb8_rgba8
      - GL_OES_read_format
      - GL_OES_stencil8
      - GL_OES_texture_cube_map
      - GL_OES_texture_npot
      - GL_OES_vertex_half_float

貢獻者指南