| Summary: | Cannot start weston with multiple GPUs (optimus) | ||
|---|---|---|---|
| Product: | Wayland | Reporter: | alanw <alanwww1> |
| Component: | weston | Assignee: | Wayland bug list <wayland-bugs> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | medium | ||
| Version: | unspecified | ||
| Hardware: | x86-64 (AMD64) | ||
| OS: | Linux (All) | ||
| Whiteboard: | |||
| i915 platform: | i915 features: | ||
This commit on weston master should fix the problem: commit 0af066ff25329278ed48f1a62b980f359ad3d235 Author: David Herrmann <dh.herrmann@googlemail.com> Date: Mon Oct 29 19:21:16 2012 +0100 compositor-drm: prefer PCI boot_vga GPU over other GPUs If we can find a boot_vga PCI GPU, we should prefer it over any other GPU that is connected to the system. The boot_vga flag tells us that this GPU is the primary system GPU. This fixes problems on two-GPU-systems were the wrong GPU is used. It also fixes systems were DisplayLink GPUs are available with lower IDs than PCI GPUs (although, this seems unlikely). Note that udev_enumerate guarantees that the entry-list is sorted. So for systems that have platform-GPUs, these should almost always be reported prior to hotpluggable (PCI, USB, ...) GPUs, as the kernel probes them first. https://bugs.freedesktop.org/show_bug.cgi?id=56237 Signed-off-by: David Herrmann <dh.herrmann@googlemail.com> |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
On an Nvidia optimus notebook with Intel SandyBridge GPU as primary, Weston can only be launched when nouveau kernel module is unloaded and only one card is present at dev/dri/ If two cards are present I have an error message: Date: 2012-10-20 CEST [23:22:00.194] weston 0.95.0 http://wayland.freedesktop.org/ Bug reports to: https://bugs.freedesktop.org/enter_bug.cgi?product=weston Build: [23:22:00.194] OS: Linux, 3.5.0-17-generic, #28-Ubuntu SMP Tue Oct 9 19:31:23 UTC 2012, x86_64 [23:22:00.195] Loading module '/usr/lib/weston/drm-backend.so' [23:22:00.197] initializing drm backend [23:22:00.270] using /dev/dri/card1 libEGL warning: unsupported platform Windows [23:22:00.355] EGL version: 1.4 (DRI2) [23:22:00.355] EGL vendor: Mesa Project [23:22:00.355] EGL client APIs: OpenGL OpenGL_ES OpenGL_ES2 [23:22:00.355] EGL extensions: EGL_MESA_drm_image EGL_WL_bind_wayland_display EGL_KHR_image_base EGL_KHR_gl_renderbuffer_image EGL_KHR_surfaceless_context EGL_KHR_create_context [23:22:00.355] GL version: OpenGL ES 2.0 Mesa 9.0 [23:22:00.355] GLSL version: OpenGL ES GLSL ES 1.0.16 [23:22:00.355] GL vendor: nouveau [23:22:00.355] GL renderer: Gallium 0.4 on NVC1 [23:22:00.355] GL extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_filter_anisotropic GL_EXT_texture_compression_dxt1 GL_EXT_texture_format_BGRA8888 GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_npot GL_OES_EGL_image GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_type_2_10_10_10_REV GL_APPLE_texture_max_level GL_EXT_read_format_bgra GL_NV_fbo_color_attachments GL_OES_EGL_image_external GL_OES_vertex_array_object GL_EXT_texture_rg GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer [23:22:00.423] No currently active connector found. [23:22:00.423] failed to create output for /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1 [23:22:00.444] failed to create compositor So weston chooese the wrong card to use. Is there a way to specify the card to use ? If nouveau is unloaded everything works fine. Thank you, Attila Jakosa