No (visible) 3D rendering with sis_dri.so on SiS630

Bug #12607 reported by Torsten Rausche
6
Affects Status Importance Assigned to Milestone
xfree86 (Ubuntu)
Fix Released
Medium
Daniel Stone

Bug Description

If xlibmesa-dri package is installed I don't get 3D graphics output in
applications using Mesa (e.g. glxgears) on my laptop system with SiS630 chipset.
There are no error messages on stdout, stderr, syslog or Xorg.0.log. The output
of "glxgears -info" shows that hardware rendering is used and that frames are
being rendered but the output window remains black.
I forced software rendering by renaming sis_dri.so and restarting X. After that
"glxgears -info" tells that software rendering is used and the output window
shows the expected rotating gears albeit with some graphical glitches.
I am using a daily updated Hoary installation with xserver-xorg. The xorg.conf
is setup according to http://www.winischhofer.at/linuxsisvga.shtml and
Xorg.0.log tells that SiS driver, DRM, DRI etc. were initiallized successfully
shows no errors.

Occurs always.

Steps to reproduce:
1) Use system with SiS630 internal graphics engine.
2) Install Ubuntu Hoary with x-window-system-core (includes xserver-xorg,
xlibmesa-dri etc.) and kernel 2.6
3) Use x-server with "sis" driver
3) Start x-server and start "glxgears -info"

Actual results:
Window remains black, no 3D objects are being rendered

Expected results:
Window should show 3D rotating gears

Versions of involved packages:
linux-image-2.6.10-2-686 2.6.10-14
xserver-xorg 6.8.1-1ubuntu15
xlibmesa-dri 6.8.1-1ubuntu15
(other x-packages) 6.8.1-1ubuntu15

Output of "glxgears -info" with HW rendering:

GL_MAX_VIEWPORT_DIMS=4096/4096
GL_RENDERER = Mesa DRI SiS 20040925 AGP 1x x86/MMX/SSE
GL_VERSION = 1.2 Mesa 6.2.1
GL_VENDOR = Eric Anholt
GL_EXTENSIONS = GL_ARB_multitexture GL_ARB_transpose_matrix GL_ARB_window_pos
GL_EXT_abgr GL_EXT_bgra GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array
GL_EXT_copy_texture GL_EXT_draw_range_elements GL_EXT_packed_pixels
GL_EXT_polygon_offset GL_EXT_rescale_normal GL_EXT_separate_specular_color
GL_EXT_subtexture GL_EXT_texture GL_EXT_texture3D GL_EXT_texture_edge_clamp
GL_EXT_texture_lod_bias GL_EXT_texture_object GL_EXT_vertex_array
GL_APPLE_packed_pixels GL_IBM_rasterpos_clip GL_MESA_window_pos
GL_NV_light_max_exponent GL_NV_texgen_reflection GL_SGIS_texture_edge_clamp
GL_SGIS_texture_lod
952 frames in 5.0 seconds = 190.400 FPS
1039 frames in 5.0 seconds = 207.800 FPS
1037 frames in 5.0 seconds = 207.400 FPS

Output of "glxgears -info" with SW rendering:

GL_MAX_VIEWPORT_DIMS=4096/4096
GL_RENDERER = Mesa GLX Indirect
GL_VERSION = 1.2 (1.5 Mesa 6.2.1)
GL_VENDOR = Mesa project: www.mesa3d.org
GL_EXTENSIONS = GL_ARB_depth_texture GL_ARB_imaging GL_ARB_multitexture
GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_shadow GL_ARB_shadow_ambient
GL_ARB_texture_border_clamp GL_ARB_texture_cube_map GL_ARB_texture_env_add
GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3
GL_ARB_texture_mirrored_repeat GL_ARB_transpose_matrix GL_ARB_window_pos
GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_func_separate
GL_EXT_blend_logic_op GL_EXT_blend_minmax GL_EXT_blend_subtract
GL_EXT_clip_volume_hint GL_EXT_copy_texture GL_EXT_draw_range_elements
GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_packed_pixels
GL_EXT_point_parameters GL_EXT_polygon_offset GL_EXT_rescale_normal
GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs
GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_subtexture GL_EXT_texture
GL_EXT_texture3D GL_EXT_texture_edge_clamp GL_EXT_texture_env_add
GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_lod_bias
GL_EXT_texture_object GL_EXT_texture_rectangle GL_EXT_vertex_array
GL_APPLE_packed_pixels GL_ATI_texture_env_combine3 GL_ATI_texture_mirror_once
GL_ATIX_texture_env_combine3 GL_IBM_texture_mirrored_repeat
GL_INGR_blend_func_separate GL_MESA_pack_invert GL_MESA_ycbcr_texture
GL_NV_blend_square GL_NV_point_sprite GL_NV_texgen_reflection
GL_NV_texture_rectangle GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp
GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_SGIX_depth_texture
GL_SGIX_shadow GL_SGIX_shadow_ambient GL_SUN_multi_draw_arrays
395 frames in 6.0 seconds = 65.833 FPS
259 frames in 5.0 seconds = 51.800 FPS
259 frames in 5.0 seconds = 51.800 FPS

Revision history for this message
Daniel Stone (daniels) wrote :

Please attach the full Xorg.0.log and xorg.conf.

Revision history for this message
Torsten Rausche (trausche) wrote :

Created an attachment (id=1307)
Full xorg.conf

Revision history for this message
Torsten Rausche (trausche) wrote :

Created an attachment (id=1308)
Full Xorg.0.log

Revision history for this message
Daniel Stone (daniels) wrote :

I've taken this up with Dave Airlie upstream, thanks.

Revision history for this message
Mgarridoe-phreaker (mgarridoe-phreaker) wrote :

I have the same problem with hoary 5.04 stable

Revision history for this message
Mgarridoe-phreaker (mgarridoe-phreaker) wrote :

I've installed an own-compiled kernel from debian 2.6.8 sources with sis_agp
included (not as module) and without the problematic -
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=%23268169 - vesafb module (in
kubuntu loads as module from initrd and there is not an easy way to get ride of
it) and rendering works.

I'm going to compile one with the same .config with sources from ubuntu.

Revision history for this message
Mgarridoe-phreaker (mgarridoe-phreaker) wrote :

Finished compiling kernel-image-2.6.10 with ubuntu linux-source-2.6.10 and the
rendering did not work.

Switching back to own-compiled kernel-image-2.6.8 with debian sources.

Revision history for this message
Mgarridoe-phreaker (mgarridoe-phreaker) wrote :

(In reply to comment #7)
> Finished compiling kernel-image-2.6.10 with ubuntu linux-source-2.6.10 and the
> rendering did not work.
>
> Switching back to own-compiled kernel-image-2.6.8 with debian sources.
>

It's not as good as I was thinking, tuxracer, gl-117 (at least) shows no
textures, other games work

Revision history for this message
Étienne BERSAC (bersace) wrote :

Hello,

I have the same problem with a SiS630 card on breezy. Refering to
http://www.winischhofer.at/linuxsisvga.shtml all binary and module are shiped
with ubuntu. The first problem is that the fb is not set to 1024x768x16 as i
wrote on the menu.lst : # nonaltoptions=quiet splash
video=sisfb:versa:792,mem:12288 . I don't know why. If i load sisfb from
/etc/modules, i got the correct screen resolution and /dev/fb0 correctly created.

I read /var/log/dmesg and all seems to be fine. The /dev/fb0 device is not
created. I read the Xorg.0.log and i see this interressant lines :

(EE) SIS(0): [dri]SISDRIScreenIni failed because of a version mismatch.
        [dri] libdri version is 4.1.0 but version 4.4.x is needed.
        [dri] Disabling DRI.

dpkg -S /usr/X11R6/lib/modules/extensions/libdri.a give xorg.org which is at
version 6.8.2-23 (breezy).

I don't know how to have the correct version of libdri (is this a problem of
Xorg, Xfree86 backport on Xorg, ???)

Thanks.

Revision history for this message
Torsten Rausche (trausche) wrote :

Apparently Thomas Winischhofer, maintainer of the SiS X driver, has fixed this
by adding one line of code to the SiS DRI sources.

http://www.winischhofer.at/linuxsispart3.shtml#chglog
<cite>
UPDATE (05/06/26) For once, DRI-related: Found the problem with DRI and linux >=
2.6.9. Patch submitted to the MESA people. A patched SiS DRI driver is in the
download secion (see section 8).
</cite>

http://www.winischhofer.at/linuxsispart3.shtml#download
<cite>
8. DRI driver for X.org 6.8.2

Beginning from Linux kernel 2.6.9, DRI stopped working. Usually, folks only got
a black screen. The binary below fixes this problem. The corresponding patch is
already checked into the MESA CVS (see here [1])

    * sis_dri.so [2] for X.org 6.8.2 (x86; compiled with gcc 3.3.6)

[1]
http://cvs.freedesktop.org/mesa/Mesa/src/mesa/drivers/dri/sis/sis_screen.c?r1=1.11.2.1&r2=1.11.2.2
[2] http://www.winischhofer.net/sis/sis_dri.so_6.8.2.tar.gz
</cite>

I simply replaced my /usr/X11R6/lib/modules/dri/sis_dri.so with the one from
above URL and it works!

Revision history for this message
Daniel Stone (daniels) wrote :

we have this fix in mesa now

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.