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
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.