Hi when i try to use wayland compositor with opensource driver i see the following error : radeon: The kernel rejected CS, see dmesg for more information. radeon: The kernel rejected CS, see dmesg for more information. radeon: The kernel rejected CS, see dmesg for more information. radeon: The kernel rejected CS, see dmesg for more information. and dmesg show : [ 559.581198] Forbidden register 0x43E0 in cs at 1 [ 559.581204] [drm:radeon_cs_ioctl] *ERROR* Invalid command stream ! [ 559.589396] Forbidden register 0x43E0 in cs at 1 [ 559.589401] [drm:radeon_cs_ioctl] *ERROR* Invalid command stream ! the problem with is with default ubuntu 10.10 kernel / driver / mesa and with latest xserver-xorg-video-ati_6.13.99+git20101120.7ad1f015 / kernel 2.6.37-git3 / libgl1-mesa-dri_7.10.0+git20101118.3dcc3153 my video card is a ATI Technologies Inc Redwood [Radeon HD 5600 Series]
Looks like a problem with your setup. It appears you are using the r300 3D driver rather than the r600 3D driver.
glxinfo | grep -i opengl OpenGL vendor string: Advanced Micro Devices, Inc. OpenGL renderer string: Mesa DRI R600 (REDWOOD 68C1) 20090101 TCL DRI2 OpenGL version string: 2.1 Mesa 7.10-devel OpenGL shading language version string: 1.20 OpenGL extensions: grep driver /var/log/Xorg.0.log RADEON(0): [DRI2] DRI driver: r600
egl is probably using the wrong driver.
how can i see this?
you think is my config problem or and mesa-egl implementation problem?
export MESA_DEBUG=1 export EGL_LOG_LEVEL=debug /compositor libEGL debug: EGL search path is /usr/lib/egl libEGL debug: added /usr/lib/egl/egl_gallium.so to module array libEGL debug: added /usr/lib/egl/egl_dri2.so to module array libEGL debug: added /usr/lib/egl/egl_glx.so to module array libEGL debug: dlopen(/usr/lib/egl/egl_gallium.so) libEGL info: use DRM for display 0x5 libEGL debug: searching for pipe module r300 libEGL debug: loaded /usr/lib/egl/pipe_r300.so r300: Warning: Unknown chipset 0x68c1 libEGL debug: Failed to get KMS resources. Disable modeset. libEGL debug: the best driver is Gallium (score 100) libEGL debug: searching for st module GLESv2 libEGL debug: loaded /usr/lib/egl/st_GLESv2.so
diska is using egl_gallium which differentiates between r300 and r600 in drm-mode using the function "is_r3xx" provided by winsys/radeon/drm/radeon_drm.h This function just checks a range of pci ids, the evergreen ids lay in the range: static INLINE boolean is_r3xx(int pciid) { return (pciid > 0x3150) && (pciid < 0x796f); } Thats why state_trackers/egl/drm/native_drm.c loads pipe_r300.
my pciid is 68c1
68c1 Redwood [Radeon HD 5600 Series]
the problem is in mesa drm code mesa/src/gallium/winsys/radeon/drm/radeon_drm.h
Should be fixed in: ed8b5fb24e098c97a7618a76aab783883f331625
it work for me
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.