# HOW-TO: ProSavage, SuperSavage DDR and dri-drm 3d drivers

## brigantesemore

Hi , finally after a lot of time I reach to make my ProSavage TwisterK to work... with dri.

I hear that works with SuperSavage too and DRR version

The driver works for all ProSavage video cards...

I used kernel 2.6.3

I post the glxinfo output:

name of display: :0.0

display: :0  screen: 0

direct rendering: Yes

server glx vendor string: SGI

server glx version string: 1.2

server glx extensions:

    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, 

    GLX_EXT_import_context, GLX_SGI_make_current_read, GLX_SGIS_multisample

client glx vendor string: SGI

client glx version string: 1.2

client glx extensions:

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context

GLX extensions:

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context

OpenGL vendor string: S3 Graphics Inc.

OpenGL renderer string: Mesa DRI SAVAGE Linux_1.1.18

OpenGL version string: 1.2 Mesa 5.0.2

OpenGL 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_env_add, 

    GL_EXT_texture_object, GL_EXT_texture_lod_bias, GL_EXT_vertex_array, 

    GL_APPLE_packed_pixels, GL_IBM_rasterpos_clip, GL_MESA_window_pos, 

    GL_NV_texgen_reflection, GL_SGIS_texture_lod

glu version: 1.3

glu extensions:

    GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav

 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat

----------------------------------------------------------------------

0x23 24 tc  1 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None

0x24 24 tc  1 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None

0x25 24 tc  1 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x26 24 tc  1 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x27 24 tc  1 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16  0  0 0 Slow

0x28 24 tc  1 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16  0  0 0 Slow

0x29 24 tc  1 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16  0  0 0 Slow

0x2a 24 tc  1 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16  0  0 0 Slow

0x2b 24 dc  1 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None

0x2c 24 dc  1 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None

0x2d 24 dc  1 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x2e 24 dc  1 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x2f 24 dc  1 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16  0  0 0 Slow

0x30 24 dc  1 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16  0  0 0 Slow

0x31 24 dc  1 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16  0  0 0 Slow

0x32 24 dc  1 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16  0  0 0 Slow

#######

bash-2.05b$ dmesg | grep drm

[drm] Initialized savage 1.0.0 20011023 on minor 0: ProSavage KN133

#######

and how to make it works...

download from cvs ( u need to emerge cvs ) the branch of xfree for savage

 cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri login

on passwd hit enter

 cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri co -r savage-2-0-0-branch xc

in the directory where u downloaded the cvs version of x go in xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel

and

make -f Makefile.linux

it makes the drm modules for the kernel (you need the modules agpgart (agp support) and and the module for your agp-chipset (via-agp,inte... etc) or compile it inside the kernel)

copy the *.ko  in /lib/modules/$KERNEL/kernel/drivers/char/drm

depmod -a

come back to xc/xc directory and 

make World  #it compile the CVS-xfree

at the end 

 make install #it install on your xfree the new-one (XF86Config and the other configuration file are untouched)

ok let's go configure the new xfree

nano -w /etc/X11/XF86Config

in Section "Module" add

 Load "dri" 

and 

uncomment

Section "DRI"

    Mode 0666

 EndSection

ok save and exit

let's go make the kernel modules load at the boot time

nano -w /etc/modules.autoload.d/kernel-2.6

add 

for who compiled the agp support and the chipsetAGP in modules...

         agpgart

         intel-agp or via-agp ... (depends on your           agp-chipset]

for everybody the drm-module

 savage 

ok .. save and exit

reboot!

byeLast edited by brigantesemore on Tue Mar 16, 2004 4:35 am; edited 3 times in total

----------

## Gnufsh

So in addition to the savage driver, you also end up with the latest cvs version of xfree86, correct? Do you think it's possible to just build the driver and get it to work with the 4.3.99.902-r1? I may try that this evening before I build a whole new xfree... I'll let you know how it goes.

Thanks for this, I also have a TwisterK that I'm trying to get to work with DRI.

----------

## Gnufsh

I got the savage driver compiled from CVS to load with xfree-4.3.99.902:

lappy root # glxinfo

name of display: :0.0

display: :0  screen: 0

direct rendering: Yes

server glx vendor string: SGI

server glx version string: 1.2

server glx extensions:

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context, 

    GLX_SGI_make_current_read

client glx vendor string: SGI

client glx version string: 1.2

client glx extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 

    GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method, 

    GLX_OML_sync_control, GLX_SGI_make_current_read, GLX_SGI_swap_control, 

    GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, 

    GLX_SGIX_visual_select_group

GLX extensions:

    GLX_ARB_get_proc_address, GLX_EXT_import_context, GLX_EXT_visual_info, 

    GLX_EXT_visual_rating

OpenGL vendor string: S3 Graphics Inc.

OpenGL renderer string: Mesa DRI SAVAGE Linux_1.1.18

OpenGL version string: 1.2 Mesa 5.0.2

OpenGL 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_env_add, 

    GL_EXT_texture_object, GL_EXT_texture_lod_bias, GL_EXT_vertex_array, 

    GL_APPLE_packed_pixels, GL_IBM_rasterpos_clip, GL_MESA_window_pos, 

    GL_NV_texgen_reflection, GL_SGIS_texture_lod

glu version: 1.3

glu extensions:

    GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav

 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat

----------------------------------------------------------------------

0x23 24 tc  1 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None

0x24 24 tc  1 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None

0x25 24 tc  1 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x26 24 tc  1 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x27 24 tc  1 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16  0  0 0 Slow

0x28 24 tc  1 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16  0  0 0 Slow

0x29 24 tc  1 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16  0  0 0 Slow

0x2a 24 tc  1 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16  0  0 0 Slow

0x2b 24 dc  1 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None

0x2c 24 dc  1 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None

0x2d 24 dc  1 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x2e 24 dc  1 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x2f 24 dc  1 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16  0  0 0 Slow

0x30 24 dc  1 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16  0  0 0 Slow

0x31 24 dc  1 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16  0  0 0 Slow

0x32 24 dc  1 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16  0  0 0 Slow

I tried it both this way, by coping over the driver modules and the kernel module and by installing the CVS version from the savage-2-0-0 branch. I'm still getting only a little less than 90 FPS in glxgears either way. What driver should I sepcify in my XF86 config? savage, correct? Also, with the copied over driver, dvd playback became choppier and slower.

edit: It does, however, appear to actually think it's using DRI both ways. So, it looks like you can copy the driver and kernel module from CVS to the last masked xfree version n portage.

----------

## brigantesemore

savage is the right module.

I heard that the way to improve performances is to build it with the last Mesa (libGL.so). If someone reach to do it... let me know.

Ciao

----------

## Gnufsh

How do I do that?

edit: nevermind, I guess that would just be by getting the latest DRI CVS, correct? It looks like it has been updatyged from the savage 2-0-0 trunk:

http://63.105.24.220/pipermail/savage40/2004-February/000054.html

----------

## JohnY

Does 4.3.0-r6 build the latest mesa? I built it last night to fool with gatos and a Radeon AIW and it built fine here. There was a call for testers on the gentoo-dev list.

JohnY

----------

## brigantesemore

 :Sad: 

I reached to built it with the MesaCVS (ver6.1) but the performances are the same...

No more ideas...

name of display: :0.0

display: :0  screen: 0

direct rendering: Yes

server glx vendor string: SGI

server glx version string: 1.2

server glx extensions:

    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, 

    GLX_EXT_import_context, GLX_OML_swap_method, GLX_SGI_make_current_read, 

    GLX_SGIS_multisample, GLX_SGIX_fbconfig

client glx vendor string: SGI

client glx version string: 1.2

client glx extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 

    GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method, 

    GLX_OML_sync_control, GLX_SGI_make_current_read, GLX_SGI_swap_control, 

    GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, 

    GLX_SGIX_visual_select_group

GLX extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIS_multisample

OpenGL vendor string: S3 Graphics Inc.

OpenGL renderer string: Mesa DRI SAVAGE Linux_1.1.18

OpenGL version string: 1.2 Mesa 6.1

OpenGL extensions:

    GL_ARB_multitexture, GL_ARB_texture_env_add, 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_env_add, 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

glu version: 1.3

glu extensions:

    GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav

 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat

----------------------------------------------------------------------

0x23 24 tc  1 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None

0x24 24 tc  1 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None

0x25 24 tc  1 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x26 24 tc  1 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x27 24 tc  1 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16  0  0 0 Slow

0x28 24 tc  1 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16  0  0 0 Slow

0x29 24 tc  1 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16  0  0 0 Slow

0x2a 24 tc  1 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16  0  0 0 Slow

0x2b 24 dc  1 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None

0x2c 24 dc  1 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None

0x2d 24 dc  1 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x2e 24 dc  1 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x2f 24 dc  1 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16  0  0 0 Slow

and glxgears:

711 frames in 5.0 seconds = 142.200 FPS

715 frames in 5.0 seconds = 143.000 FPS

707 frames in 5.0 seconds = 141.400 FPS

701 frames in 5.0 seconds = 140.200 FPS

bye

----------

## Gnufsh

I checked out the latest dri-cvs source, it didn't have the savage driver. How did you get the savage driver to build with the latest mesa?Last edited by Gnufsh on Tue Mar 16, 2004 3:37 pm; edited 1 time in total

----------

## bmichaelsen

How about adding this Info to the:

Gentoo Kernel and Hardware Wiki :Question: 

----------

## Gnufsh

I'm still not sure how to build using the latest mesa, could anyone hep me out with that?

On the other hand, setting it to 16-bit color with my current build (off the savage-2-0-0 branch) makes me go from 98 or so fps in glxgears to almost 250. Is this normal for reducing color depth, or do the dri drivers have problems with 24?

lappy root # glxinfo

name of display: :0.0

display: :0  screen: 0

direct rendering: Yes

server glx vendor string: SGI

server glx version string: 1.2

server glx extensions:

    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, 

    GLX_EXT_import_context, GLX_SGI_make_current_read, GLX_SGIS_multisample

client glx vendor string: SGI

client glx version string: 1.2

client glx extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 

    GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method, 

    GLX_OML_sync_control, GLX_SGI_make_current_read, GLX_SGI_swap_control, 

    GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, 

    GLX_SGIX_visual_select_group

GLX extensions:

    GLX_ARB_get_proc_address, GLX_EXT_import_context, GLX_EXT_visual_info, 

    GLX_EXT_visual_rating

OpenGL vendor string: S3 Graphics Inc.

OpenGL renderer string: Mesa DRI SAVAGE Linux_1.1.18

OpenGL version string: 1.2 Mesa 5.0.2

OpenGL 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_env_add, 

    GL_EXT_texture_object, GL_EXT_texture_lod_bias, GL_EXT_vertex_array, 

    GL_APPLE_packed_pixels, GL_IBM_rasterpos_clip, GL_MESA_window_pos, 

    GL_NV_texgen_reflection, GL_SGIS_texture_lod

glu version: 1.3

glu extensions:

    GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav

 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat

----------------------------------------------------------------------

0x22 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None

0x23 16 tc  1 16  0 r  .  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None

0x24 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  8  0  0  0  0  0 0 Slow

0x25 16 tc  1 16  0 r  .  .  5  6  5  0  0 16  8  0  0  0  0  0 0 Slow

0x26 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow

0x27 16 tc  1 16  0 r  .  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow

0x28 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow

0x29 16 tc  1 16  0 r  .  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow

lappy root # glxgears

1143 frames in 5.0 seconds = 228.600 FPS

1243 frames in 5.0 seconds = 248.600 FPS

1244 frames in 5.0 seconds = 248.800 FPS

1243 frames in 5.0 seconds = 248.600 FPS

1245 frames in 5.0 seconds = 249.000 FPS

1244 frames in 5.0 seconds = 248.800 FPS

----------

## brigantesemore

For compiling with the last Mesa(v6.1) u have to download the CVS tree of xfree and no the savage branch

so.... here wath u have to do

cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri login  (always hit return for passwd)

cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri co xc

cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/mesa login  (always hit return for passwd)

cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/mesa co Mesa 

edit host.def in xc/xc/config/cf 

#define MesaSrcDir /path.to.Mesa.dir  #change to MesaCVS-tree

---- keep attention to change the section of x86 in the follow two(there're 3 sections inside: for different arch)

#define XF86CardDrivers savage 

#define DriDrivers savage 

ok return in /xc/xc in the xfreeCVS-tree: 

make World

and

make install

You can find the drm driver for kernel ... in xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel

Do as before to compile them... and install in the system...

(For 2.4.* kernel the way is the same ... only the kernel modules have  *.o extention)

----------

## Gnufsh

Ah, I was trying using the savage-2-0-0 branch. Whan I just checked out the dri cvs, it did not seem to include the savage driver. Well, time to try again.

Have you tried switching to 16-bit color? I've found that now, with this driver, on 16-bit color, tuxracer is playable and, like I said, I'm getting nearly 250fps in glxgears rather than just under 100fps.

edit: got about 20 more fps, thanks for the walkthrough:

lappy root # glxinfo

name of display: :0.0

display: :0  screen: 0

direct rendering: Yes

server glx vendor string: SGI

server glx version string: 1.2

server glx extensions:

    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, 

    GLX_EXT_import_context, GLX_OML_swap_method, GLX_SGI_make_current_read, 

    GLX_SGIS_multisample, GLX_SGIX_fbconfig

client glx vendor string: SGI

client glx version string: 1.2

client glx extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 

    GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method, 

    GLX_OML_sync_control, GLX_SGI_make_current_read, GLX_SGI_swap_control, 

    GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, 

    GLX_SGIX_visual_select_group

GLX extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIS_multisample

OpenGL vendor string: S3 Graphics Inc.

OpenGL renderer string: Mesa DRI SAVAGE Linux_1.1.18

OpenGL version string: 1.2 Mesa 6.1

OpenGL extensions:

    GL_ARB_multitexture, GL_ARB_texture_env_add, 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_env_add, 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

glu version: 1.3

glu extensions:

    GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav

 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat

----------------------------------------------------------------------

0x22 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None

0x23 16 tc  1 16  0 r  .  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None

0x24 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  8  0  0  0  0  0 0 Slow

0x25 16 tc  1 16  0 r  .  .  5  6  5  0  0 16  8  0  0  0  0  0 0 Slow

0x26 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow

0x27 16 tc  1 16  0 r  .  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow

0x28 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow

0x29 16 tc  1 16  0 r  .  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow

lappy root # glxgears

1152 frames in 5.0 seconds = 230.400 FPS

1353 frames in 5.0 seconds = 270.600 FPS

1353 frames in 5.0 seconds = 270.600 FPS

1353 frames in 5.0 seconds = 270.600 FPS

1352 frames in 5.0 seconds = 270.400 FPS

----------

## Linux4All

I followed the directions listed above and the kernel modules are built just fine but the make World dies (error 2) while making the Xv.c file. I was just wondering if I needed to use the 4.3.99 ebuild (I'm using the 4.3 rc-5 right now) so that headers and what not were compiled right or avaliable. I'm using the gentoo-development 2.6.3-rc2 kernel. I'm going to try again in a couple of days. Maybe the CVS version (yesterday) just had some stuff wrong.

Thanks

----------

## Gnufsh

Just FYI, it looks like there were some recent changes in DRI-CVS savage dirver that break dri:

daniel@lappy daniel $ glxinfo

name of display: :0.0

display: :0  screen: 0

direct rendering: No

server glx vendor string: SGI

server glx version string: 1.2

server glx extensions:

    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, 

    GLX_EXT_import_context, GLX_OML_swap_method, GLX_SGI_make_current_read, 

    GLX_SGIS_multisample, GLX_SGIX_fbconfig

client glx vendor string: SGI

client glx version string: 1.2

client glx extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 

    GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method, 

    GLX_OML_sync_control, GLX_SGI_make_current_read, GLX_SGI_swap_control, 

    GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, 

    GLX_SGIX_visual_select_group

GLX extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIS_multisample, 

    GLX_SGIX_visual_select_group

OpenGL vendor string: Mesa project: www.mesa3d.org

OpenGL renderer string: Mesa GLX Indirect

OpenGL version string: 1.2 (1.5 Mesa 6.1)

OpenGL 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_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_mirror_once, GL_ATI_texture_env_combine3, 

    GL_IBM_texture_mirrored_repeat, 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

glu version: 1.3

glu extensions:

    GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav

 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat

----------------------------------------------------------------------

0x22 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None

0x23 16 tc  1 16  0 r  .  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None

0x24 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  8  0  0  0  0  0 0 Slow

0x25 16 tc  1 16  0 r  .  .  5  6  5  0  0 16  8  0  0  0  0  0 0 Slow

0x26 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow

0x27 16 tc  1 16  0 r  .  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow

0x28 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow

0x29 16 tc  1 16  0 r  .  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow

It's using indirect rendering, but in my xfree log file:

(II) Module savage: vendor="The XFree86 Project"

        compiled for 4.3.99.12, module version = 1.1.27

        Module class: XFree86 Video Driver

        ABI class: XFree86 Video Driver, version 0.7

it's using 1.1.27 instead of 1.1.18 like it used to, and the driver seems to think DRI is working:

(II) SAVAGE(0): Direct rendering enabled

(**) SAVAGE(0): XvMC is enabled

I'm not the only one with this problem:

http://marc.theaimsgroup.com/?l=dri-devel&m=108077845817775&w=2

----------

## Theophile

I'm trying to get mine running, bat having trouble. Here's the card:

```
01:00.0 VGA compatible controller: S3 Inc. 86c794 [Savage 3D] (rev 01) (prog-if 00 [VGA])

        Subsystem: S3 Inc. 86C391 Savage3D

        Flags: bus master, 66Mhz, medium devsel, latency 80, IRQ 11

        Memory at c0000000 (32-bit, non-prefetchable) [size=128M]

        Expansion ROM at cfef0000 [disabled] [size=64K]

        Capabilities: [dc] Power Management version 1

        Capabilities: [80] AGP version 1.0

```

I compiled X w/ kernel modules from CVS as detailed in the first post in the thread, changing the appropriate lines in XF86Config. When I startx, it loadgs the agpgart and savage kernel modules, but I still get no DRI. Here's an excerpt from the X startup log:

```
(II) Loading sub module "int10"

(II) LoadModule: "int10"

(II) Reloading /usr/X11R6/lib/modules/linux/libint10.a

(II) SAVAGE(0): initializing int10

(II) SAVAGE(0): Primary V_BIOS segment is: 0xc000

(II) SAVAGE(0): VESA BIOS detected

(II) SAVAGE(0): VESA VBE Version 2.0

(II) SAVAGE(0): VESA VBE Total Mem: 8192 kB

(II) SAVAGE(0): VESA VBE OEM: S3 Incorporated. 86C391

(II) SAVAGE(0): VESA VBE OEM Software Rev: 1.1

(II) SAVAGE(0): VESA VBE OEM Vendor: S3 Incorporated.

(II) SAVAGE(0): VESA VBE OEM Product: Savage3D

(II) SAVAGE(0): VESA VBE OEM Product Rev: Rev B

(--) SAVAGE(0): mapping framebuffer @ 0xc0000000 with size 0x800000

(==) SAVAGE(0): Write-combining range (0xc0000000,0x800000)

(II) SAVAGE(0): Splitting WC range: base: 0xc2000000, size: 0x5000000

(II) SAVAGE(0): Splitting WC range: base: 0xc4000000, size: 0x3000000

(==) SAVAGE(0): Write-combining range (0xc6000000,0x1000000)

(==) SAVAGE(0): Write-combining range (0xc4000000,0x3000000)

(==) SAVAGE(0): Write-combining range (0xc2000000,0x5000000)

(II) SAVAGE(0): map aperture:0x40b96000

(--) SAVAGE(0): Chose mode 117 at 60Hz.

(II) SAVAGE(0): [drm] bpp: 16 depth: 16

(II) SAVAGE(0): [drm] Sarea 2200+872: 3072

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenByBusid: Searching for BusID pci:0000:01:00.0

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenByBusid: drmOpenMinor returns -1023

drmOpenDevice: node name is /dev/dri/card1

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenByBusid: drmOpenMinor returns -1023

drmOpenDevice: node name is /dev/dri/card2

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenByBusid: drmOpenMinor returns -1023

drmOpenDevice: node name is /dev/dri/card3

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenByBusid: drmOpenMinor returns -1023

drmOpenDevice: node name is /dev/dri/card4

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenByBusid: drmOpenMinor returns -1023

drmOpenDevice: node name is /dev/dri/card5

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenByBusid: drmOpenMinor returns -1023

drmOpenDevice: node name is /dev/dri/card6

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenByBusid: drmOpenMinor returns -1023

drmOpenDevice: node name is /dev/dri/card7

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenByBusid: drmOpenMinor returns -1023

drmOpenDevice: node name is /dev/dri/card8

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenByBusid: drmOpenMinor returns -1023

drmOpenDevice: node name is /dev/dri/card9

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenByBusid: drmOpenMinor returns -1023

drmOpenDevice: node name is /dev/dri/card10

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenByBusid: drmOpenMinor returns -1023

drmOpenDevice: node name is /dev/dri/card11

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenByBusid: drmOpenMinor returns -1023

drmOpenDevice: node name is /dev/dri/card12

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenByBusid: drmOpenMinor returns -1023

drmOpenDevice: node name is /dev/dri/card13

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenByBusid: drmOpenMinor returns -1023

drmOpenDevice: node name is /dev/dri/card14

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenByBusid: drmOpenMinor returns -1023

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

[drm] failed to load kernel module "savage"

(II) SAVAGE(0): [drm] drmOpen failed

(EE) SAVAGE(0): [drm] DRIScreenInit failed.  Disabling DRI.

(EE) SAVAGE(0): DRI isn't enabled

(II) SAVAGE(0): Using 1280 lines for offscreen memory.

(II) SAVAGE(0): Using XFree86 Acceleration Architecture (XAA)

        Screen to screen bit blits

        Solid filled rectangles

        8x8 mono pattern filled rectangles

        8x8 color pattern filled rectangles

        Indirect CPU to Screen color expansion

        Solid Lines

        Image Writes

        Offscreen Pixmaps

        Setting up tile and stipple cache:

                31 128x128 slots

                12 256x256 slots

                32 8x8 color pattern slots

(==) SAVAGE(0): Backing store disabled

(EE) SAVAGE(0): Direct rendering disabled

```

I tried getting the Mesa source from cvs and changing the Mesasrc line in the X Makefile, but it seems that Mesa CVS tree directory structure is a little different than it is expected to be and building fails. Any suggestions helpful. Thanks!

----------

## Theophile

Anyone?

----------

## Gnufsh

Are you sure you have the savage driver module loaded? Is drm working properly? You didn't compile drm into the kernel, did you?

Here's another tip. If you want to use prelinking, try adding this to your host.def file:

/* Need this to build libs with -fPIC */

#undef StaticNeedsPicForShared

#undef BuildLibGlxWithoutPIC

#define StaticNeedsPicForShared YES

#define BuildLibGlxWithoutPIC   NO

----------

## abergou

Any idea how this would work with the new x.org XFree replacement?

----------

## Gnufsh

I followed the instructions for installing on x.org here:

http://dri.sourceforge.net/cgi-bin/moin.cgi/Building

and it seems to be working. I have DRI enabled, and the same fps as before. I unmerged xfree, then merged xorg-x11 and copied the files over as described in the link, with one exception. libglx.a needs to be put in the correct place for open-gl update to find it, not where they tell you to, and then you need to run an opengl-update xorg-x11.

----------

## mrmodin

Nice, so now it's time to go from Xfree to x.org then.

----------

## mrmodin

And so I did, damn, I'm surpriced, Everything worked so smooth. Unmerge xfree emerge xorg-x11, restart x, etc-update, opengl-update xorg-x11, and everything work as normal (If not even better)   :Very Happy: 

----------

## anomole

Hi Folks,

Just thought I'd say that on my laptop (Savage/IX-MV) I must have the kernel modules loaded before I try to start X. If the savage module gets loaded before the agpgart and intel-agp modules, it still won't work, so at that point I have to reboot (I don't have kernel unloading compiled into my kernel).

To avoid this issue I auto-load the kernel agpgart modules (as this very helpful howto suggests). The savage module doesn't seem to like being loaded manually. I have to let xinit load it.

I was getting annoyed because I was manually loading these modules, so I knew they were loaded, but I was still getting no dri.

The above sequence works for me. Hopefully it will be helpful for someone.

In addition to this howto and the one in the gentoo docs, I found the building instructions at the dri wiki helpful.

----------

## mrmodin

 *anomole wrote:*   

> Hi Folks,
> 
> Just thought I'd say that on my laptop (Savage/IX-MV) I must have the kernel modules loaded before I try to start X. If the savage module gets loaded before the agpgart and intel-agp modules, it still won't work, so at that point I have to reboot (I don't have kernel unloading compiled into my kernel).
> 
> To avoid this issue I auto-load the kernel agpgart modules (as this very helpful howto suggests). The savage module doesn't seem to like being loaded manually. I have to let xinit load it.
> ...

 

I had the exact problem with my IX-MV a while ago, but suddenly after a kernel-recompile (latest ck-sources at the moment) it worked just as it's supposed to again. (I have no idea why)

----------

## tHeoo

It works now, yes. Nice. I've success with TuxRacer, BZflag, foobillard, Flightgear. Torcs is too slow (ProSavage8DDR) on an Acer 1312LC laptop.

I've a strange problem, though. When I start Tuxracer, it has stumbling performance. After running Bunny race several times, this problem disappears. Anyone else with this experience?

DRI version 20040502 (DRI snapshot installed)

X: XOrg-X11

Kernel: gentoo-dev-sources-2.6.5-r1

Graphical memory 32mb (main memory 512 minus 32 mb)

----------

## RoadRunner

I have a Savage MX and I folowed all these steps. The drivers build but whtn I try to load them I get an Invalid module format. I'm running mm-sources 2.6.6-mm2.

Anyone has an Idea what could be wrong?

----------

## Mimamau

Hi, I'm trying to get DRI working on my IBM Thinkpad T22 with S3 Savage/IX-MV 8MB. I just followed the build instructions on the dri-page. I got everything from cvs, today. When I try to start X, my screen turns black and stays! I have to switch off my system to get it up again. The system doesn't freeze completely, I can shut it down cleanly with the ACPI power button. When I comment out 'Load       "glx"' in my XF86Config it works, but without GLX and DRI. The DRM module is loaded before X is started. I think it writes a lot of confusing stuff into my savage's memory, because when it's black and I do a remote (ssh) reboot, I even can't see any BIOS Post messages, noting, I have to turn it off. Here are my XFree86.0.logs:

The working one, with #Load       "glx":

```

This is a pre-release version of XFree86, and is not supported in any

way.  Bugs may be reported to XFree86@XFree86.Org and patches submitted

to fixes@XFree86.Org.  Before reporting bugs in pre-release versions,

please check the latest version in the XFree86 CVS repository

(http://www.XFree86.Org/cvs).

XFree86 Version 4.3.99.12 (DRI trunk)

Release Date: 10 September 2003

X Protocol Version 11, Revision 0, Release 6.6

Build Operating System: Linux 2.6.5-gentoo-r1 i686 [ELF] 

Current Operating System: Linux m-nb 2.6.5-gentoo-r1 #1 Sat May 15 12:47:15 UTC 2004 i686

Build Date: 15 May 2004

Changelog Date: 10 September 2003

   Before reporting problems, check http://www.XFree86.Org/

   to make sure that you have the latest version.

Module Loader present

Markers: (--) probed, (**) from config file, (==) default setting,

   (++) from command line, (!!) notice, (II) informational,

   (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

(==) Log file: "/var/log/XFree86.0.log", Time: Sat May 15 17:55:00 2004

(==) Using config file: "/etc/X11/XF86Config"

(==) ServerLayout "Simple Layout"

(**) |-->Screen "Screen 1" (0)

(**) |   |-->Monitor "My Monitor"

(**) |   |-->Device "** S3 Savage (generic)                [savage]"

(**) |-->Input Device "Mouse1"

(**) |-->Input Device "Keyboard1"

(**) Option "AutoRepeat" "500 30"

(**) Option "XkbRules" "xfree86"

(**) XKB: rules: "xfree86"

(**) Option "XkbModel" "acpi"

(**) XKB: model: "acpi"

(**) Option "XkbLayout" "de"

(**) XKB: layout: "de"

(==) Keyboard: CustomKeycode disabled

(**) FontPath set to "/usr/X11R6/lib/X11/fonts/local/,/usr/X11R6/lib/X11/fonts/misc/,/usr/X11R6/lib/X11/fonts/

75dpi/:unscaled,/usr/X11R6/lib/X11/fonts/100dpi/:unscaled,/usr/X11R6/lib/X11/fonts/

Speedo/,/usr/X11R6/lib/X11/fonts/Type1/,/usr/X11R6/lib/X11/fonts/75dpi/,/usr/X11R6/lib/

X11/fonts/100dpi/"

(**) RgbPath set to "/usr/X11R6/lib/X11/rgb"

(==) ModulePath set to "/usr/X11R6/lib/modules"

(++) using VT number 7

(WW) Open APM failed (/dev/apm_bios) (No such file or directory)

(II) Module ABI versions:

   XFree86 ANSI C Emulation: 0.2

   XFree86 Video Driver: 0.7

   XFree86 XInput driver : 0.4

   XFree86 Server Extension : 0.2

   XFree86 Font Renderer : 0.4

(II) Loader running on linux

(II) LoadModule: "bitmap"

(II) Loading /usr/X11R6/lib/modules/fonts/libbitmap.a

(II) Module bitmap: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.0.0

   Module class: XFree86 Font Renderer

   ABI class: XFree86 Font Renderer, version 0.4

(II) Loading font Bitmap

(II) LoadModule: "pcidata"

(II) Loading /usr/X11R6/lib/modules/libpcidata.a

(II) Module pcidata: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.0.0

   ABI class: XFree86 Video Driver, version 0.7

(II) PCI: Probing config type using method 1

(II) PCI: Config type is 1

(II) PCI: stages = 0x03, oldVal1 = 0x8001003c, mode1Res1 = 0x80000000

(II) PCI: PCI scan (all values are in hex)

(II) PCI: 00:00:0: chip 8086,7190 card 0000,0000 rev 03 class 06,00,00 hdr 00

(II) PCI: 00:01:0: chip 8086,7191 card 0000,0000 rev 03 class 06,04,00 hdr 01

(II) PCI: 00:02:0: chip 104c,ac1b card 4000,0000 rev 03 class 06,07,00 hdr 82

(II) PCI: 00:02:1: chip 104c,ac1b card 4800,0000 rev 03 class 06,07,00 hdr 82

(II) PCI: 00:03:0: chip 8086,1229 card 8086,2205 rev 0c class 02,00,00 hdr 80

(II) PCI: 00:03:1: chip 11c1,045c card 8086,2205 rev 01 class 07,00,00 hdr 80

(II) PCI: 00:05:0: chip 1013,6003 card 1014,0153 rev 01 class 04,01,00 hdr 00

(II) PCI: 00:07:0: chip 8086,7110 card 0000,0000 rev 02 class 06,80,00 hdr 80

(II) PCI: 00:07:1: chip 8086,7111 card 0000,0000 rev 01 class 01,01,80 hdr 00

(II) PCI: 00:07:2: chip 8086,7112 card 0000,0000 rev 01 class 0c,03,00 hdr 00

(II) PCI: 00:07:3: chip 8086,7113 card 0000,0000 rev 03 class 06,80,00 hdr 00

(II) PCI: 01:00:0: chip 5333,8c12 card 1014,017f rev 13 class 03,00,00 hdr 00

(II) PCI: End of PCI scan

(II) Host-to-PCI bridge:

(II) Bus 0: bridge is at (0:0:0), (0,0,6), BCTRL: 0x0008 (VGA_EN is set)

(II) Bus 0 I/O range:

   [0] -1   0   0x00000000 - 0x0000ffff (0x10000) IX[B]

(II) Bus 0 non-prefetchable memory range:

   [0] -1   0   0x00000000 - 0xffffffff (0x0) MX[B]

(II) Bus 0 prefetchable memory range:

   [0] -1   0   0x00000000 - 0xffffffff (0x0) MX[B]

(II) PCI-to-PCI bridge:

(II) Bus 1: bridge is at (0:1:0), (0,1,1), BCTRL: 0x008c (VGA_EN is set)

(II) Bus 1 non-prefetchable memory range:

   [0] -1   0   0xf0000000 - 0xf7ffffff (0x8000000) MX[B]

(II) PCI-to-CardBus bridge:

(II) Bus 2: bridge is at (0:2:0), (0,2,5), BCTRL: 0x05c0 (VGA_EN is cleared)

(II) Bus 2 I/O range:

   [0] -1   0   0x00004000 - 0x000040ff (0x100) IX[B]

   [1] -1   0   0x00004400 - 0x000044ff (0x100) IX[B]

(II) Bus 2 non-prefetchable memory range:

   [0] -1   0   0x10400000 - 0x107fffff (0x400000) MX[B]

(II) Bus 2 prefetchable memory range:

   [0] -1   0   0x10000000 - 0x103fffff (0x400000) MX[B]

(II) PCI-to-CardBus bridge:

(II) Bus 6: bridge is at (0:2:1), (0,6,9), BCTRL: 0x05c0 (VGA_EN is cleared)

(II) Bus 6 I/O range:

   [0] -1   0   0x00004800 - 0x000048ff (0x100) IX[B]

   [1] -1   0   0x00004c00 - 0x00004cff (0x100) IX[B]

(II) Bus 6 non-prefetchable memory range:

   [0] -1   0   0x10c00000 - 0x10ffffff (0x400000) MX[B]

(II) Bus 6 prefetchable memory range:

   [0] -1   0   0x10800000 - 0x10bfffff (0x400000) MX[B]

(--) PCI:*(1:0:0) S3 Inc. 86C270-294 Savage/IX-MV rev 19, Mem @ 0xf0000000/27

(II) Addressable bus resource ranges are

   [0] -1   0   0x00000000 - 0xffffffff (0x0) MX[B]

   [1] -1   0   0x00000000 - 0x0000ffff (0x10000) IX[B]

(II) OS-reported resource ranges:

   [0] -1   0   0xffe00000 - 0xffffffff (0x200000) MX[B](B)

   [1] -1   0   0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)

   [2] -1   0   0x000f0000 - 0x000fffff (0x10000) MX[B]

   [3] -1   0   0x000c0000 - 0x000effff (0x30000) MX[B]

   [4] -1   0   0x00000000 - 0x0009ffff (0xa0000) MX[B]

   [5] -1   0   0x0000ffff - 0x0000ffff (0x1) IX[B]

   [6] -1   0   0x00000000 - 0x000000ff (0x100) IX[B]

(II) PCI Memory resource overlap reduced 0xf8000000 from 0xfbffffff to 0xf7ffffff

(II) Active PCI resource ranges:

   [0] -1   0   0xe8000000 - 0xe80fffff (0x100000) MX[B]

   [1] -1   0   0xe8122000 - 0xe8122fff (0x1000) MX[B]

   [2] -1   0   0xe8121000 - 0xe8121fff (0x1000) MX[B]

   [3] -1   0   0xe8100000 - 0xe811ffff (0x20000) MX[B]

   [4] -1   0   0xe8120000 - 0xe8120fff (0x1000) MX[B]

   [5] -1   0   0xf8000000 - 0xf7ffffff (0x0) MX[B]O

   [6] -1   0   0xf0000000 - 0xf7ffffff (0x8000000) MX[B](B)

   [7] -1   0   0x00001860 - 0x0000187f (0x20) IX[B]

   [8] -1   0   0x00001850 - 0x0000185f (0x10) IX[B]

   [9] -1   0   0x00001840 - 0x00001847 (0x8) IX[B]

   [10] -1   0   0x00001800 - 0x0000183f (0x40) IX[B]

(II) Active PCI resource ranges after removing overlaps:

   [0] -1   0   0xe8000000 - 0xe80fffff (0x100000) MX[B]

   [1] -1   0   0xe8122000 - 0xe8122fff (0x1000) MX[B]

   [2] -1   0   0xe8121000 - 0xe8121fff (0x1000) MX[B]

   [3] -1   0   0xe8100000 - 0xe811ffff (0x20000) MX[B]

   [4] -1   0   0xe8120000 - 0xe8120fff (0x1000) MX[B]

   [5] -1   0   0xf8000000 - 0xf7ffffff (0x0) MX[B]O

   [6] -1   0   0xf0000000 - 0xf7ffffff (0x8000000) MX[B](B)

   [7] -1   0   0x00001860 - 0x0000187f (0x20) IX[B]

   [8] -1   0   0x00001850 - 0x0000185f (0x10) IX[B]

   [9] -1   0   0x00001840 - 0x00001847 (0x8) IX[B]

   [10] -1   0   0x00001800 - 0x0000183f (0x40) IX[B]

(II) OS-reported resource ranges after removing overlaps with PCI:

   [0] -1   0   0xffe00000 - 0xffffffff (0x200000) MX[B](B)

   [1] -1   0   0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)

   [2] -1   0   0x000f0000 - 0x000fffff (0x10000) MX[B]

   [3] -1   0   0x000c0000 - 0x000effff (0x30000) MX[B]

   [4] -1   0   0x00000000 - 0x0009ffff (0xa0000) MX[B]

   [5] -1   0   0x0000ffff - 0x0000ffff (0x1) IX[B]

   [6] -1   0   0x00000000 - 0x000000ff (0x100) IX[B]

(II) All system resource ranges:

   [0] -1   0   0xffe00000 - 0xffffffff (0x200000) MX[B](B)

   [1] -1   0   0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)

   [2] -1   0   0x000f0000 - 0x000fffff (0x10000) MX[B]

   [3] -1   0   0x000c0000 - 0x000effff (0x30000) MX[B]

   [4] -1   0   0x00000000 - 0x0009ffff (0xa0000) MX[B]

   [5] -1   0   0xe8000000 - 0xe80fffff (0x100000) MX[B]

   [6] -1   0   0xe8122000 - 0xe8122fff (0x1000) MX[B]

   [7] -1   0   0xe8121000 - 0xe8121fff (0x1000) MX[B]

   [8] -1   0   0xe8100000 - 0xe811ffff (0x20000) MX[B]

   [9] -1   0   0xe8120000 - 0xe8120fff (0x1000) MX[B]

   [10] -1   0   0xf8000000 - 0xf7ffffff (0x0) MX[B]O

   [11] -1   0   0xf0000000 - 0xf7ffffff (0x8000000) MX[B](B)

   [12] -1   0   0x0000ffff - 0x0000ffff (0x1) IX[B]

   [13] -1   0   0x00000000 - 0x000000ff (0x100) IX[B]

   [14] -1   0   0x00001860 - 0x0000187f (0x20) IX[B]

   [15] -1   0   0x00001850 - 0x0000185f (0x10) IX[B]

   [16] -1   0   0x00001840 - 0x00001847 (0x8) IX[B]

   [17] -1   0   0x00001800 - 0x0000183f (0x40) IX[B]

(II) LoadModule: "dbe"

(II) Loading /usr/X11R6/lib/modules/extensions/libdbe.a

(II) Module dbe: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.0.0

   Module class: XFree86 Server Extension

   ABI class: XFree86 Server Extension, version 0.2

(II) Loading extension DOUBLE-BUFFER

(II) LoadModule: "extmod"

(II) Loading /usr/X11R6/lib/modules/extensions/libextmod.a

(II) Module extmod: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.0.0

   Module class: XFree86 Server Extension

   ABI class: XFree86 Server Extension, version 0.2

(II) Loading extension SHAPE

(II) Loading extension MIT-SUNDRY-NONSTANDARD

(II) Loading extension BIG-REQUESTS

(II) Loading extension SYNC

(II) Loading extension MIT-SCREEN-SAVER

(II) Loading extension XC-MISC

(II) Loading extension XFree86-VidModeExtension

(II) Loading extension XFree86-Misc

(II) Loading extension DPMS

(II) Loading extension FontCache

(II) Loading extension TOG-CUP

(II) Loading extension Extended-Visual-Information

(II) Loading extension XVideo

(II) Loading extension XVideo-MotionCompensation

(II) Loading extension X-Resource

(II) LoadModule: "dri"

(II) Loading /usr/X11R6/lib/modules/extensions/libdri.a

(II) Module dri: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.0.0

   ABI class: XFree86 Server Extension, version 0.2

(II) Loading sub module "drm"

(II) LoadModule: "drm"

(II) Loading /usr/X11R6/lib/modules/linux/libdrm.a

(II) Module drm: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.0.0

   ABI class: XFree86 Server Extension, version 0.2

(II) Loading extension XFree86-DRI

(II) LoadModule: "savage"

(II) Loading /usr/X11R6/lib/modules/drivers/savage_drv.o

(II) Module savage: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.1.27

   Module class: XFree86 Video Driver

   ABI class: XFree86 Video Driver, version 0.7

(II) LoadModule: "mouse"

(II) Loading /usr/X11R6/lib/modules/input/mouse_drv.o

(II) Module mouse: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.0.0

   Module class: XFree86 XInput Driver

   ABI class: XFree86 XInput driver, version 0.4

(II) SAVAGE: driver (version 1.1.27a) for S3 Savage chipsets: Savage4,

   Savage3D, Savage3D-MV, Savage2000, Savage/MX-MV, Savage/MX,

   Savage/IX-MV, Savage/IX, ProSavage PM133, ProSavage KM133,

   ProSavage PN133, ProSavage KN133, SuperSavage/MX 128,

   SuperSavage/MX 64, SuperSavage/MX 64C, SuperSavage/IX 128,

   SuperSavage/IX 128, SuperSavage/IX 64, SuperSavage/IX 64,

   SuperSavage/IXC 64, SuperSavage/IXC 64, ProSavage DDR,

   ProSavage DDR-K

(II) Primary Device is: PCI 01:00:0

(--) Assigning device section with no busID to primary device

(--) Chipset MobileSavage found

(II) resource ranges after xf86ClaimFixedResources() call:

   [0] -1   0   0xffe00000 - 0xffffffff (0x200000) MX[B](B)

   [1] -1   0   0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)

   [2] -1   0   0x000f0000 - 0x000fffff (0x10000) MX[B]

   [3] -1   0   0x000c0000 - 0x000effff (0x30000) MX[B]

   [4] -1   0   0x00000000 - 0x0009ffff (0xa0000) MX[B]

   [5] -1   0   0xe8000000 - 0xe80fffff (0x100000) MX[B]

   [6] -1   0   0xe8122000 - 0xe8122fff (0x1000) MX[B]

   [7] -1   0   0xe8121000 - 0xe8121fff (0x1000) MX[B]

   [8] -1   0   0xe8100000 - 0xe811ffff (0x20000) MX[B]

   [9] -1   0   0xe8120000 - 0xe8120fff (0x1000) MX[B]

   [10] -1   0   0xf8000000 - 0xf7ffffff (0x0) MX[B]O

   [11] -1   0   0xf0000000 - 0xf7ffffff (0x8000000) MX[B](B)

   [12] -1   0   0x0000ffff - 0x0000ffff (0x1) IX[B]

   [13] -1   0   0x00000000 - 0x000000ff (0x100) IX[B]

   [14] -1   0   0x00001860 - 0x0000187f (0x20) IX[B]

   [15] -1   0   0x00001850 - 0x0000185f (0x10) IX[B]

   [16] -1   0   0x00001840 - 0x00001847 (0x8) IX[B]

   [17] -1   0   0x00001800 - 0x0000183f (0x40) IX[B]

(II) resource ranges after probing:

   [0] -1   0   0xffe00000 - 0xffffffff (0x200000) MX[B](B)

   [1] -1   0   0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)

   [2] -1   0   0x000f0000 - 0x000fffff (0x10000) MX[B]

   [3] -1   0   0x000c0000 - 0x000effff (0x30000) MX[B]

   [4] -1   0   0x00000000 - 0x0009ffff (0xa0000) MX[B]

   [5] -1   0   0xe8000000 - 0xe80fffff (0x100000) MX[B]

   [6] -1   0   0xe8122000 - 0xe8122fff (0x1000) MX[B]

   [7] -1   0   0xe8121000 - 0xe8121fff (0x1000) MX[B]

   [8] -1   0   0xe8100000 - 0xe811ffff (0x20000) MX[B]

   [9] -1   0   0xe8120000 - 0xe8120fff (0x1000) MX[B]

   [10] -1   0   0xf8000000 - 0xf7ffffff (0x0) MX[B]O

   [11] -1   0   0xf0000000 - 0xf7ffffff (0x8000000) MX[B](B)

   [12] 0   0   0x000a0000 - 0x000affff (0x10000) MS[B]

   [13] 0   0   0x000b0000 - 0x000b7fff (0x8000) MS[B]

   [14] 0   0   0x000b8000 - 0x000bffff (0x8000) MS[B]

   [15] -1   0   0x0000ffff - 0x0000ffff (0x1) IX[B]

   [16] -1   0   0x00000000 - 0x000000ff (0x100) IX[B]

   [17] -1   0   0x00001860 - 0x0000187f (0x20) IX[B]

   [18] -1   0   0x00001850 - 0x0000185f (0x10) IX[B]

   [19] -1   0   0x00001840 - 0x00001847 (0x8) IX[B]

   [20] -1   0   0x00001800 - 0x0000183f (0x40) IX[B]

   [21] 0   0   0x000003b0 - 0x000003bb (0xc) IS[B]

   [22] 0   0   0x000003c0 - 0x000003df (0x20) IS[B]

(II) Setting vga for screen 0.

(II) Loading sub module "vgahw"

(II) LoadModule: "vgahw"

(II) Loading /usr/X11R6/lib/modules/libvgahw.a

(II) Module vgahw: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 0.1.0

   ABI class: XFree86 Video Driver, version 0.7

(**) SAVAGE(0): Depth 16, (--) framebuffer bpp 16

(==) SAVAGE(0): RGB weight 565

(==) SAVAGE(0): Default visual is TrueColor

(II) SAVAGE(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000

(**) SAVAGE(0): Option "UseBIOS" "on"

(**) SAVAGE(0): Option "ShadowStatus" "on"

(==) SAVAGE(0): Using AGP 1x mode

(II) SAVAGE(0): Using 16 MB AGP aperture

(==) SAVAGE(0): Using HW cursor

(**) SAVAGE(0): Using video BIOS to set modes

(**) SAVAGE(0): Option: ShadowStatus enabled

(II) Loading sub module "int10"

(II) LoadModule: "int10"

(II) Loading /usr/X11R6/lib/modules/linux/libint10.a

(II) Module int10: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.0.0

   ABI class: XFree86 Video Driver, version 0.7

(II) SAVAGE(0): Primary V_BIOS segment is: 0xc000

(II) Loading sub module "vbe"

(II) LoadModule: "vbe"

(II) Loading /usr/X11R6/lib/modules/libvbe.a

(II) Module vbe: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.1.0

   ABI class: XFree86 Video Driver, version 0.7

(II) SAVAGE(0): VESA BIOS detected

(II) SAVAGE(0): VESA VBE Version 2.0

(II) SAVAGE(0): VESA VBE Total Mem: 8192 kB

(II) SAVAGE(0): VESA VBE OEM: S3 Incorporated. M7 BIOS

(II) SAVAGE(0): VESA VBE OEM Software Rev: 1.0

(II) SAVAGE(0): VESA VBE OEM Vendor: S3 Incorporated.

(II) SAVAGE(0): VESA VBE OEM Product: VBE 2.0

(II) SAVAGE(0): VESA VBE OEM Product Rev: Rev 1.1

(--) SAVAGE(0): Chip: id 8c12, "Savage/IX-MV"

(--) SAVAGE(0): Engine: "MobileSavage"

(--) SAVAGE(0): mapping MMIO @ 0xf1000000 with size 0x80000

(==) SAVAGE(0): Using gamma correction (1.0, 1.0, 1.0)

(--) SAVAGE(0): probed videoram:  8192k

(II) Loading sub module "ddc"

(II) LoadModule: "ddc"

(II) Loading /usr/X11R6/lib/modules/libddc.a

(II) Module ddc: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.0.0

   ABI class: XFree86 Video Driver, version 0.7

(--) SAVAGE(0): No DDC signal

(II) Loading sub module "i2c"

(II) LoadModule: "i2c"

(II) Loading /usr/X11R6/lib/modules/libi2c.a

(II) Module i2c: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.2.0

   ABI class: XFree86 Video Driver, version 0.7

(II) SAVAGE(0): I2C bus "I2C bus" initialized.

(II) SAVAGE(0): I2C device "I2C bus:ddc2" registered at address 0xA0.

(II) SAVAGE(0): I2C device "I2C bus:ddc2" removed.

(--) SAVAGE(0): Detected current MCLK value of 120.511 MHz

(--) SAVAGE(0): 1024x768 TFT LCD panel detected and active

(--) SAVAGE(0): - Limiting video mode to 1024x768

(II) SAVAGE(0): My Monitor: Using hsync range of 30.00-70.00 kHz

(II) SAVAGE(0): My Monitor: Using vrefresh range of 50.00-90.00 Hz

(II) SAVAGE(0): Clock range:  10.00 to 250.00 MHz

(II) SAVAGE(0): Not using mode "1024x768_100" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1152x864" (exceeds panel dimensions)

(II) SAVAGE(0): Not using default mode "1280x960" (exceeds panel dimensions)

(II) SAVAGE(0): Not using default mode "1280x960" (exceeds panel dimensions)

(II) SAVAGE(0): Not using default mode "640x480" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1280x1024" (exceeds panel dimensions)

(II) SAVAGE(0): Not using default mode "1280x1024" (exceeds panel dimensions)

(II) SAVAGE(0): Not using default mode "640x512" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1280x1024" (exceeds panel dimensions)

(II) SAVAGE(0): Not using default mode "640x512" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1600x1200" (exceeds panel dimensions)

(II) SAVAGE(0): Not using default mode "800x600" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1600x1200" (exceeds panel dimensions)

(II) SAVAGE(0): Not using default mode "800x600" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1600x1200" (exceeds panel dimensions)

(II) SAVAGE(0): Not using default mode "800x600" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1600x1200" (exceeds panel dimensions)

(II) SAVAGE(0): Not using default mode "800x600" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1600x1200" (exceeds panel dimensions)

(II) SAVAGE(0): Not using default mode "800x600" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1792x1344" (exceeds panel dimensions)

(II) SAVAGE(0): Not using default mode "896x672" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1792x1344" (bad mode clock/interlace/doublescan)

(II) SAVAGE(0): Not using default mode "896x672" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1856x1392" (exceeds panel dimensions)

(II) SAVAGE(0): Not using default mode "928x696" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1856x1392" (bad mode clock/interlace/doublescan)

(II) SAVAGE(0): Not using default mode "928x696" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1920x1440" (exceeds panel dimensions)

(II) SAVAGE(0): Not using default mode "960x720" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1920x1440" (bad mode clock/interlace/doublescan)

(II) SAVAGE(0): Not using default mode "960x720" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1152x768" (exceeds panel dimensions)

(II) SAVAGE(0): Not using default mode "1400x1050" (exceeds panel dimensions)

(II) SAVAGE(0): Not using default mode "1400x1050" (exceeds panel dimensions)

(II) SAVAGE(0): Not using default mode "700x525" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1600x1024" (exceeds panel dimensions)

(II) SAVAGE(0): Not using default mode "1920x1440" (bad mode clock/interlace/doublescan)

(II) SAVAGE(0): Not using default mode "960x720" (hsync out of range)

(II) SAVAGE(0): Not using default mode "2048x1536" (bad mode clock/interlace/doublescan)

(II) SAVAGE(0): Not using default mode "1024x768" (hsync out of range)

(II) SAVAGE(0): Not using default mode "2048x1536" (bad mode clock/interlace/doublescan)

(II) SAVAGE(0): Not using default mode "1024x768" (hsync out of range)

(II) SAVAGE(0): Not using default mode "2048x1536" (bad mode clock/interlace/doublescan)

(II) SAVAGE(0): Not using default mode "1024x768" (hsync out of range)

(II) SAVAGE(0): Not using mode "1024x768_100" (no mode of this name)

(--) SAVAGE(0): Found 13 modes at this depth:

    [10e] 320 x 200, 70Hz

    [111] 640 x 480, 60Hz, 72Hz, 75Hz, 85Hz, 100Hz

    [114] 800 x 600, 60Hz, 72Hz, 75Hz, 85Hz, 100Hz

    [117] 1024 x 768, 60Hz, 70Hz, 75Hz, 85Hz, 43Hz, 100Hz

    [11a] 1280 x 1024, 60Hz, 75Hz, 85Hz, 43Hz

    [11d] 640 x 400, 70Hz

    [122] 1600 x 1200, 48Hz, 60Hz, 75Hz, 85Hz

    [133] 320 x 240, 72Hz

    [13c] 1400 x 1050, 60Hz, 75Hz

    [143] 400 x 300, 72Hz

    [153] 512 x 384, 70Hz

    [173] 720 x 480, 75Hz

    [178] 720 x 576, 75Hz

(--) SAVAGE(0): Virtual size is 1024x768 (pitch 1024)

(**) SAVAGE(0):  Default mode "1024x768": 94.5 MHz, 68.7 kHz, 85.0 Hz

(II) SAVAGE(0): Modeline "1024x768"   94.50  1024 1072 1168 1376  768 769 772 808 +hsync +vsync

(**) SAVAGE(0):  Default mode "1024x768": 78.8 MHz, 60.1 kHz, 75.1 Hz

(II) SAVAGE(0): Modeline "1024x768"   78.80  1024 1040 1136 1312  768 769 772 800 +hsync +vsync

(**) SAVAGE(0):  Default mode "1024x768": 75.0 MHz, 56.5 kHz, 70.1 Hz

(II) SAVAGE(0): Modeline "1024x768"   75.00  1024 1048 1184 1328  768 771 777 806 -hsync -vsync

(**) SAVAGE(0):  Default mode "1024x768": 65.0 MHz, 48.4 kHz, 60.0 Hz

(II) SAVAGE(0): Modeline "1024x768"   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync

(**) SAVAGE(0):  Default mode "1024x768": 44.9 MHz, 35.5 kHz, 87.1 Hz (I)

(II) SAVAGE(0): Modeline "1024x768"   44.90  1024 1032 1208 1264  768 768 776 817 interlace +hsync +vsync

(**) SAVAGE(0):  Default mode "832x624": 57.3 MHz, 49.7 kHz, 74.6 Hz

(II) SAVAGE(0): Modeline "832x624"   57.28  832 864 928 1152  624 625 628 667 -hsync -vsync

(**) SAVAGE(0):  Default mode "800x600": 56.3 MHz, 53.7 kHz, 85.1 Hz

(II) SAVAGE(0): Modeline "800x600"   56.30  800 832 896 1048  600 601 604 631 +hsync +vsync

(**) SAVAGE(0):  Default mode "800x600": 49.5 MHz, 46.9 kHz, 75.0 Hz

(II) SAVAGE(0): Modeline "800x600"   49.50  800 816 896 1056  600 601 604 625 +hsync +vsync

(**) SAVAGE(0):  Default mode "800x600": 50.0 MHz, 48.1 kHz, 72.2 Hz

(II) SAVAGE(0): Modeline "800x600"   50.00  800 856 976 1040  600 637 643 666 +hsync +vsync

(**) SAVAGE(0):  Default mode "800x600": 40.0 MHz, 37.9 kHz, 60.3 Hz

(II) SAVAGE(0): Modeline "800x600"   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync

(**) SAVAGE(0):  Default mode "800x600": 36.0 MHz, 35.2 kHz, 56.2 Hz

(II) SAVAGE(0): Modeline "800x600"   36.00  800 824 896 1024  600 601 603 625 +hsync +vsync

(**) SAVAGE(0):  Default mode "700x525": 61.0 MHz, 64.9 kHz, 60.0 Hz (D)

(II) SAVAGE(0): Modeline "700x525"   61.00  700 744 820 940  525 526 532 541 doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "640x512": 54.0 MHz, 64.0 kHz, 60.0 Hz (D)

(II) SAVAGE(0): Modeline "640x512"   54.00  640 664 720 844  512 512 514 533 doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "640x480": 36.0 MHz, 43.3 kHz, 85.0 Hz

(II) SAVAGE(0): Modeline "640x480"   36.00  640 696 752 832  480 481 484 509 -hsync -vsync

(**) SAVAGE(0):  Default mode "640x480": 31.5 MHz, 37.5 kHz, 75.0 Hz

(II) SAVAGE(0): Modeline "640x480"   31.50  640 656 720 840  480 481 484 500 -hsync -vsync

(**) SAVAGE(0):  Default mode "640x480": 31.5 MHz, 37.9 kHz, 72.8 Hz

(II) SAVAGE(0): Modeline "640x480"   31.50  640 664 704 832  480 489 491 520 -hsync -vsync

(**) SAVAGE(0):  Default mode "640x480": 25.2 MHz, 31.5 kHz, 60.0 Hz

(II) SAVAGE(0): Modeline "640x480"   25.20  640 656 752 800  480 490 492 525 -hsync -vsync

(**) SAVAGE(0):  Default mode "640x480": 54.0 MHz, 60.0 kHz, 60.0 Hz (D)

(II) SAVAGE(0): Modeline "640x480"   54.00  640 688 744 900  480 480 482 500 doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "720x400": 35.5 MHz, 37.9 kHz, 85.0 Hz

(II) SAVAGE(0): Modeline "720x400"   35.50  720 756 828 936  400 401 404 446 -hsync +vsync

(**) SAVAGE(0):  Default mode "640x400": 31.5 MHz, 37.9 kHz, 85.1 Hz

(II) SAVAGE(0): Modeline "640x400"   31.50  640 672 736 832  400 401 404 445 -hsync +vsync

(**) SAVAGE(0):  Default mode "576x432": 54.0 MHz, 67.5 kHz, 75.0 Hz (D)

(II) SAVAGE(0): Modeline "576x432"   54.00  576 608 672 800  432 432 434 450 doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "640x350": 31.5 MHz, 37.9 kHz, 85.1 Hz

(II) SAVAGE(0): Modeline "640x350"   31.50  640 672 736 832  350 382 385 445 +hsync -vsync

(**) SAVAGE(0):  Default mode "576x384": 32.5 MHz, 44.2 kHz, 54.8 Hz (D)

(II) SAVAGE(0): Modeline "576x384"   32.50  576 589 657 736  384 385 388 403 doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "512x384": 47.2 MHz, 68.7 kHz, 85.0 Hz (D)

(II) SAVAGE(0): Modeline "512x384"   47.25  512 536 584 688  384 384 386 404 doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "512x384": 39.4 MHz, 60.1 kHz, 75.1 Hz (D)

(II) SAVAGE(0): Modeline "512x384"   39.40  512 520 568 656  384 384 386 400 doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "512x384": 37.5 MHz, 56.5 kHz, 70.1 Hz (D)

(II) SAVAGE(0): Modeline "512x384"   37.50  512 524 592 664  384 385 388 403 doublescan -hsync -vsync

(**) SAVAGE(0):  Default mode "512x384": 32.5 MHz, 48.4 kHz, 60.0 Hz (D)

(II) SAVAGE(0): Modeline "512x384"   32.50  512 524 592 672  384 385 388 403 doublescan -hsync -vsync

(**) SAVAGE(0):  Default mode "512x384": 22.4 MHz, 35.5 kHz, 87.1 Hz (D)

(II) SAVAGE(0): Modeline "512x384"   22.45  512 516 604 632  384 384 388 409 interlace doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "416x312": 28.6 MHz, 49.7 kHz, 74.7 Hz (D)

(II) SAVAGE(0): Modeline "416x312"   28.64  416 432 464 576  312 312 314 333 doublescan -hsync -vsync

(**) SAVAGE(0):  Default mode "400x300": 28.1 MHz, 53.7 kHz, 85.3 Hz (D)

(II) SAVAGE(0): Modeline "400x300"   28.15  400 416 448 524  300 300 302 315 doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "400x300": 24.8 MHz, 46.9 kHz, 75.1 Hz (D)

(II) SAVAGE(0): Modeline "400x300"   24.75  400 408 448 528  300 300 302 312 doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "400x300": 25.0 MHz, 48.1 kHz, 72.2 Hz (D)

(II) SAVAGE(0): Modeline "400x300"   25.00  400 428 488 520  300 318 321 333 doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "400x300": 20.0 MHz, 37.9 kHz, 60.3 Hz (D)

(II) SAVAGE(0): Modeline "400x300"   20.00  400 420 484 528  300 300 302 314 doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "400x300": 18.0 MHz, 35.2 kHz, 56.3 Hz (D)

(II) SAVAGE(0): Modeline "400x300"   18.00  400 412 448 512  300 300 301 312 doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "320x240": 18.0 MHz, 43.3 kHz, 85.2 Hz (D)

(II) SAVAGE(0): Modeline "320x240"   18.00  320 348 376 416  240 240 242 254 doublescan -hsync -vsync

(**) SAVAGE(0):  Default mode "320x240": 15.8 MHz, 37.5 kHz, 75.0 Hz (D)

(II) SAVAGE(0): Modeline "320x240"   15.75  320 328 360 420  240 240 242 250 doublescan -hsync -vsync

(**) SAVAGE(0):  Default mode "320x240": 15.8 MHz, 37.9 kHz, 72.8 Hz (D)

(II) SAVAGE(0): Modeline "320x240"   15.75  320 332 352 416  240 244 245 260 doublescan -hsync -vsync

(**) SAVAGE(0):  Default mode "320x240": 12.6 MHz, 31.5 kHz, 60.1 Hz (D)

(II) SAVAGE(0): Modeline "320x240"   12.60  320 328 376 400  240 245 246 262 doublescan -hsync -vsync

(**) SAVAGE(0):  Default mode "360x200": 17.8 MHz, 37.9 kHz, 85.0 Hz (D)

(II) SAVAGE(0): Modeline "360x200"   17.75  360 378 414 468  200 200 202 223 doublescan -hsync +vsync

(**) SAVAGE(0):  Default mode "320x200": 15.8 MHz, 37.9 kHz, 85.3 Hz (D)

(II) SAVAGE(0): Modeline "320x200"   15.75  320 336 368 416  200 200 202 222 doublescan -hsync +vsync

(**) SAVAGE(0):  Default mode "320x175": 15.8 MHz, 37.9 kHz, 85.3 Hz (D)

(II) SAVAGE(0): Modeline "320x175"   15.75  320 336 368 416  175 191 192 222 doublescan +hsync -vsync

(==) SAVAGE(0): DPI set to (75, 75)

(II) Loading sub module "fb"

(II) LoadModule: "fb"

(II) Loading /usr/X11R6/lib/modules/libfb.a

(II) Module fb: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.0.0

   ABI class: XFree86 ANSI C Emulation, version 0.2

(II) Loading sub module "xaa"

(II) LoadModule: "xaa"

(II) Loading /usr/X11R6/lib/modules/libxaa.a

(II) Module xaa: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.1.0

   ABI class: XFree86 Video Driver, version 0.7

(II) Loading sub module "ramdac"

(II) LoadModule: "ramdac"

(II) Loading /usr/X11R6/lib/modules/libramdac.a

(II) Module ramdac: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 0.1.0

   ABI class: XFree86 Video Driver, version 0.7

(II) do I need RAC?  No, I don't.

(II) resource ranges after preInit:

   [0] 0   0   0xf0000000 - 0xf7ffffff (0x8000000) MS[B]

   [1] -1   0   0xffe00000 - 0xffffffff (0x200000) MX[B](B)

   [2] -1   0   0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)

   [3] -1   0   0x000f0000 - 0x000fffff (0x10000) MX[B]

   [4] -1   0   0x000c0000 - 0x000effff (0x30000) MX[B]

   [5] -1   0   0x00000000 - 0x0009ffff (0xa0000) MX[B]

   [6] -1   0   0xe8000000 - 0xe80fffff (0x100000) MX[B]

   [7] -1   0   0xe8122000 - 0xe8122fff (0x1000) MX[B]

   [8] -1   0   0xe8121000 - 0xe8121fff (0x1000) MX[B]

   [9] -1   0   0xe8100000 - 0xe811ffff (0x20000) MX[B]

   [10] -1   0   0xe8120000 - 0xe8120fff (0x1000) MX[B]

   [11] -1   0   0xf8000000 - 0xf7ffffff (0x0) MX[B]O

   [12] -1   0   0xf0000000 - 0xf7ffffff (0x8000000) MX[B](B)

   [13] 0   0   0x000a0000 - 0x000affff (0x10000) MS[B](OprD)

   [14] 0   0   0x000b0000 - 0x000b7fff (0x8000) MS[B](OprD)

   [15] 0   0   0x000b8000 - 0x000bffff (0x8000) MS[B](OprD)

   [16] -1   0   0x0000ffff - 0x0000ffff (0x1) IX[B]

   [17] -1   0   0x00000000 - 0x000000ff (0x100) IX[B]

   [18] -1   0   0x00001860 - 0x0000187f (0x20) IX[B]

   [19] -1   0   0x00001850 - 0x0000185f (0x10) IX[B]

   [20] -1   0   0x00001840 - 0x00001847 (0x8) IX[B]

   [21] -1   0   0x00001800 - 0x0000183f (0x40) IX[B]

   [22] 0   0   0x000003b0 - 0x000003bb (0xc) IS[B](OprU)

   [23] 0   0   0x000003c0 - 0x000003df (0x20) IS[B](OprU)

(II) Loading sub module "int10"

(II) LoadModule: "int10"

(II) Reloading /usr/X11R6/lib/modules/linux/libint10.a

(II) SAVAGE(0): initializing int10

(II) SAVAGE(0): Primary V_BIOS segment is: 0xc000

(II) SAVAGE(0): VESA BIOS detected

(II) SAVAGE(0): VESA VBE Version 2.0

(II) SAVAGE(0): VESA VBE Total Mem: 8192 kB

(II) SAVAGE(0): VESA VBE OEM: S3 Incorporated. M7 BIOS

(II) SAVAGE(0): VESA VBE OEM Software Rev: 1.0

(II) SAVAGE(0): VESA VBE OEM Vendor: S3 Incorporated.

(II) SAVAGE(0): VESA VBE OEM Product: VBE 2.0

(II) SAVAGE(0): VESA VBE OEM Product Rev: Rev 1.1

(--) SAVAGE(0): mapping framebuffer @ 0xf0000000 with size 0x800000

(==) SAVAGE(0): Write-combining range (0xf0000000,0x800000)

(II) SAVAGE(0): Splitting WC range: base: 0xf2000000, size: 0x5000000

(II) SAVAGE(0): Splitting WC range: base: 0xf4000000, size: 0x3000000

(==) SAVAGE(0): Write-combining range (0xf6000000,0x1000000)

(==) SAVAGE(0): Write-combining range (0xf4000000,0x3000000)

(==) SAVAGE(0): Write-combining range (0xf2000000,0x5000000)

(II) SAVAGE(0): map aperture:0x409f9000

(--) SAVAGE(0): Shadow area physical f07dffe0, linear 409d8fe0

(--) SAVAGE(0): Chose mode 117 at 85Hz.

(II) SAVAGE(0): 4740 kB of Videoram needed for 3D; 8192 kB of Videoram available

(II) SAVAGE(0): Sufficient Videoram available for 3D

(EE) SAVAGE(0): DRI isn't enabled

(II) SAVAGE(0): Using 1280 lines for offscreen memory.

(II) SAVAGE(0): Using XFree86 Acceleration Architecture (XAA)

   Screen to screen bit blits

   Solid filled rectangles

   8x8 mono pattern filled rectangles

   Indirect CPU to Screen color expansion

   Solid Lines

   Image Writes

   Offscreen Pixmaps

   Setting up tile and stipple cache:

      32 128x128 slots

      12 256x256 slots

(==) SAVAGE(0): Backing store disabled

(EE) SAVAGE(0): Direct rendering disabled

(==) RandR enabled

Symbol __glXActiveScreens from module /usr/X11R6/lib/modules/extensions/libdri.a is unresolved!

Symbol __glXActiveScreens from module /usr/X11R6/lib/modules/extensions/libdri.a is unresolved!

(II) Initializing built-in extension MIT-SHM

(II) Initializing built-in extension XInputExtension

(II) Initializing built-in extension XTEST

(II) Initializing built-in extension XKEYBOARD

(II) Initializing built-in extension LBX

(II) Initializing built-in extension XC-APPGROUP

(II) Initializing built-in extension SECURITY

(II) Initializing built-in extension XINERAMA

(II) Initializing built-in extension XFree86-Bigfont

(II) Initializing built-in extension RENDER

(II) Initializing built-in extension RANDR

(**) Option "Protocol" "IMPS/2"

(**) Mouse1: Protocol: "IMPS/2"

(**) Option "CorePointer"

(**) Mouse1: Core Pointer

(**) Option "Device" "/dev/mouse"

(**) Mouse1: Emulate3Buttons, Emulate3Timeout: 50

(**) Option "ZAxisMapping" "4 5"

(**) Mouse1: ZAxisMapping: buttons 4 and 5

(**) Mouse1: Buttons: 5

(II) Keyboard "Keyboard1" handled by legacy driver

(II) XINPUT: Adding extended input device "Mouse1" (type: MOUSE)

(II) Mouse1: ps2EnableDataReporting: succeeded

Could not init font path element /usr/X11R6/lib/X11/fonts/local/, removing from list!

Could not init font path element /usr/X11R6/lib/X11/fonts/Speedo/, removing from list!

Could not init font path element /usr/X11R6/lib/X11/fonts/Type1/, removing from list!
```

And here is the not working one, which should load GLX but blanks my screen:

```
This is a pre-release version of XFree86, and is not supported in any

way.  Bugs may be reported to XFree86@XFree86.Org and patches submitted

to fixes@XFree86.Org.  Before reporting bugs in pre-release versions,

please check the latest version in the XFree86 CVS repository

(http://www.XFree86.Org/cvs).

XFree86 Version 4.3.99.12 (DRI trunk)

Release Date: 10 September 2003

X Protocol Version 11, Revision 0, Release 6.6

Build Operating System: Linux 2.6.5-gentoo-r1 i686 [ELF] 

Current Operating System: Linux m-nb 2.6.5-gentoo-r1 #1 Sat May 15 12:47:15 UTC 2004 i686

Build Date: 15 May 2004

Changelog Date: 10 September 2003

   Before reporting problems, check http://www.XFree86.Org/

   to make sure that you have the latest version.

Module Loader present

Markers: (--) probed, (**) from config file, (==) default setting,

   (++) from command line, (!!) notice, (II) informational,

   (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

(==) Log file: "/var/log/XFree86.0.log", Time: Sat May 15 18:01:21 2004

(==) Using config file: "/etc/X11/XF86Config"

(==) ServerLayout "Simple Layout"

(**) |-->Screen "Screen 1" (0)

(**) |   |-->Monitor "My Monitor"

(**) |   |-->Device "** S3 Savage (generic)                [savage]"

(**) |-->Input Device "Mouse1"

(**) |-->Input Device "Keyboard1"

(**) Option "AutoRepeat" "500 30"

(**) Option "XkbRules" "xfree86"

(**) XKB: rules: "xfree86"

(**) Option "XkbModel" "acpi"

(**) XKB: model: "acpi"

(**) Option "XkbLayout" "de"

(**) XKB: layout: "de"

(==) Keyboard: CustomKeycode disabled

(**) FontPath set to "/usr/X11R6/lib/X11/fonts/local/,/usr/X11R6/lib/X11/fonts/misc/,/usr/X11R6/lib/X11/fonts/

75dpi/:unscaled,/usr/X11R6/lib/X11/fonts/100dpi/:unscaled,/usr/X11R6/lib/X11/fonts/

Speedo/,/usr/X11R6/lib/X11/fonts/Type1/,/usr/X11R6/lib/X11/fonts/75dpi/,/usr/X11R6/lib/

X11/fonts/100dpi/"

(**) RgbPath set to "/usr/X11R6/lib/X11/rgb"

(==) ModulePath set to "/usr/X11R6/lib/modules"

(++) using VT number 7

(WW) Open APM failed (/dev/apm_bios) (No such file or directory)

(II) Module ABI versions:

   XFree86 ANSI C Emulation: 0.2

   XFree86 Video Driver: 0.7

   XFree86 XInput driver : 0.4

   XFree86 Server Extension : 0.2

   XFree86 Font Renderer : 0.4

(II) Loader running on linux

(II) LoadModule: "bitmap"

(II) Loading /usr/X11R6/lib/modules/fonts/libbitmap.a

(II) Module bitmap: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.0.0

   Module class: XFree86 Font Renderer

   ABI class: XFree86 Font Renderer, version 0.4

(II) Loading font Bitmap

(II) LoadModule: "pcidata"

(II) Loading /usr/X11R6/lib/modules/libpcidata.a

(II) Module pcidata: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.0.0

   ABI class: XFree86 Video Driver, version 0.7

(II) PCI: Probing config type using method 1

(II) PCI: Config type is 1

(II) PCI: stages = 0x03, oldVal1 = 0x80010004, mode1Res1 = 0x80000000

(II) PCI: PCI scan (all values are in hex)

(II) PCI: 00:00:0: chip 8086,7190 card 0000,0000 rev 03 class 06,00,00 hdr 00

(II) PCI: 00:01:0: chip 8086,7191 card 0000,0000 rev 03 class 06,04,00 hdr 01

(II) PCI: 00:02:0: chip 104c,ac1b card 4000,0000 rev 03 class 06,07,00 hdr 82

(II) PCI: 00:02:1: chip 104c,ac1b card 4800,0000 rev 03 class 06,07,00 hdr 82

(II) PCI: 00:03:0: chip 8086,1229 card 8086,2205 rev 0c class 02,00,00 hdr 80

(II) PCI: 00:03:1: chip 11c1,045c card 8086,2205 rev 01 class 07,00,00 hdr 80

(II) PCI: 00:05:0: chip 1013,6003 card 1014,0153 rev 01 class 04,01,00 hdr 00

(II) PCI: 00:07:0: chip 8086,7110 card 0000,0000 rev 02 class 06,80,00 hdr 80

(II) PCI: 00:07:1: chip 8086,7111 card 0000,0000 rev 01 class 01,01,80 hdr 00

(II) PCI: 00:07:2: chip 8086,7112 card 0000,0000 rev 01 class 0c,03,00 hdr 00

(II) PCI: 00:07:3: chip 8086,7113 card 0000,0000 rev 03 class 06,80,00 hdr 00

(II) PCI: End of PCI scan

(II) Host-to-PCI bridge:

(II) Bus 0: bridge is at (0:0:0), (0,0,6), BCTRL: 0x0008 (VGA_EN is set)

(II) Bus 0 I/O range:

   [0] -1   0   0x00000000 - 0x0000ffff (0x10000) IX[B]

(II) Bus 0 non-prefetchable memory range:

   [0] -1   0   0x00000000 - 0xffffffff (0x0) MX[B]

(II) Bus 0 prefetchable memory range:

   [0] -1   0   0x00000000 - 0xffffffff (0x0) MX[B]

(II) PCI-to-PCI bridge:

(II) Bus 1: bridge is at (0:1:0), (0,1,1), BCTRL: 0x008c (VGA_EN is set)

(II) Bus 1 non-prefetchable memory range:

   [0] -1   0   0xf0000000 - 0xf7ffffff (0x8000000) MX[B]

(II) PCI-to-CardBus bridge:

(II) Bus 2: bridge is at (0:2:0), (0,2,5), BCTRL: 0x05c0 (VGA_EN is cleared)

(II) Bus 2 I/O range:

   [0] -1   0   0x00004000 - 0x000040ff (0x100) IX[B]

   [1] -1   0   0x00004400 - 0x000044ff (0x100) IX[B]

(II) Bus 2 non-prefetchable memory range:

   [0] -1   0   0x10400000 - 0x107fffff (0x400000) MX[B]

(II) Bus 2 prefetchable memory range:

   [0] -1   0   0x10000000 - 0x103fffff (0x400000) MX[B]

(II) PCI-to-CardBus bridge:

(II) Bus 6: bridge is at (0:2:1), (0,6,9), BCTRL: 0x05c0 (VGA_EN is cleared)

(II) Bus 6 I/O range:

   [0] -1   0   0x00004800 - 0x000048ff (0x100) IX[B]

   [1] -1   0   0x00004c00 - 0x00004cff (0x100) IX[B]

(II) Bus 6 non-prefetchable memory range:

   [0] -1   0   0x10c00000 - 0x10ffffff (0x400000) MX[B]

(II) Bus 6 prefetchable memory range:

   [0] -1   0   0x10800000 - 0x10bfffff (0x400000) MX[B]

(II) Addressable bus resource ranges are

   [0] -1   0   0x00000000 - 0xffffffff (0x0) MX[B]

   [1] -1   0   0x00000000 - 0x0000ffff (0x10000) IX[B]

(II) OS-reported resource ranges:

   [0] -1   0   0xffe00000 - 0xffffffff (0x200000) MX[B](B)

   [1] -1   0   0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)

   [2] -1   0   0x000f0000 - 0x000fffff (0x10000) MX[B]

   [3] -1   0   0x000c0000 - 0x000effff (0x30000) MX[B]

   [4] -1   0   0x00000000 - 0x0009ffff (0xa0000) MX[B]

   [5] -1   0   0x0000ffff - 0x0000ffff (0x1) IX[B]

   [6] -1   0   0x00000000 - 0x000000ff (0x100) IX[B]

(II) PCI Memory resource overlap reduced 0xf8000000 from 0xfbffffff to 0xf7ffffff

(II) Active PCI resource ranges:

   [0] -1   0   0xe8000000 - 0xe80fffff (0x100000) MX[B]

   [1] -1   0   0xe8122000 - 0xe8122fff (0x1000) MX[B]

   [2] -1   0   0xe8121000 - 0xe8121fff (0x1000) MX[B]

   [3] -1   0   0xe8100000 - 0xe811ffff (0x20000) MX[B]

   [4] -1   0   0xe8120000 - 0xe8120fff (0x1000) MX[B]

   [5] -1   0   0xf8000000 - 0xf7ffffff (0x0) MX[B]O

   [6] -1   0   0x00001860 - 0x0000187f (0x20) IX[B]

   [7] -1   0   0x00001850 - 0x0000185f (0x10) IX[B]

   [8] -1   0   0x00001840 - 0x00001847 (0x8) IX[B]

   [9] -1   0   0x00001800 - 0x0000183f (0x40) IX[B]

(II) Active PCI resource ranges after removing overlaps:

   [0] -1   0   0xe8000000 - 0xe80fffff (0x100000) MX[B]

   [1] -1   0   0xe8122000 - 0xe8122fff (0x1000) MX[B]

   [2] -1   0   0xe8121000 - 0xe8121fff (0x1000) MX[B]

   [3] -1   0   0xe8100000 - 0xe811ffff (0x20000) MX[B]

   [4] -1   0   0xe8120000 - 0xe8120fff (0x1000) MX[B]

   [5] -1   0   0xf8000000 - 0xf7ffffff (0x0) MX[B]O

   [6] -1   0   0x00001860 - 0x0000187f (0x20) IX[B]

   [7] -1   0   0x00001850 - 0x0000185f (0x10) IX[B]

   [8] -1   0   0x00001840 - 0x00001847 (0x8) IX[B]

   [9] -1   0   0x00001800 - 0x0000183f (0x40) IX[B]

(II) OS-reported resource ranges after removing overlaps with PCI:

   [0] -1   0   0xffe00000 - 0xffffffff (0x200000) MX[B](B)

   [1] -1   0   0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)

   [2] -1   0   0x000f0000 - 0x000fffff (0x10000) MX[B]

   [3] -1   0   0x000c0000 - 0x000effff (0x30000) MX[B]

   [4] -1   0   0x00000000 - 0x0009ffff (0xa0000) MX[B]

   [5] -1   0   0x0000ffff - 0x0000ffff (0x1) IX[B]

   [6] -1   0   0x00000000 - 0x000000ff (0x100) IX[B]

(II) All system resource ranges:

   [0] -1   0   0xffe00000 - 0xffffffff (0x200000) MX[B](B)

   [1] -1   0   0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)

   [2] -1   0   0x000f0000 - 0x000fffff (0x10000) MX[B]

   [3] -1   0   0x000c0000 - 0x000effff (0x30000) MX[B]

   [4] -1   0   0x00000000 - 0x0009ffff (0xa0000) MX[B]

   [5] -1   0   0xe8000000 - 0xe80fffff (0x100000) MX[B]

   [6] -1   0   0xe8122000 - 0xe8122fff (0x1000) MX[B]

   [7] -1   0   0xe8121000 - 0xe8121fff (0x1000) MX[B]

   [8] -1   0   0xe8100000 - 0xe811ffff (0x20000) MX[B]

   [9] -1   0   0xe8120000 - 0xe8120fff (0x1000) MX[B]

   [10] -1   0   0xf8000000 - 0xf7ffffff (0x0) MX[B]O

   [11] -1   0   0x0000ffff - 0x0000ffff (0x1) IX[B]

   [12] -1   0   0x00000000 - 0x000000ff (0x100) IX[B]

   [13] -1   0   0x00001860 - 0x0000187f (0x20) IX[B]

   [14] -1   0   0x00001850 - 0x0000185f (0x10) IX[B]

   [15] -1   0   0x00001840 - 0x00001847 (0x8) IX[B]

   [16] -1   0   0x00001800 - 0x0000183f (0x40) IX[B]

(II) LoadModule: "dbe"

(II) Loading /usr/X11R6/lib/modules/extensions/libdbe.a

(II) Module dbe: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.0.0

   Module class: XFree86 Server Extension

   ABI class: XFree86 Server Extension, version 0.2

(II) Loading extension DOUBLE-BUFFER

(II) LoadModule: "extmod"

(II) Loading /usr/X11R6/lib/modules/extensions/libextmod.a

(II) Module extmod: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.0.0

   Module class: XFree86 Server Extension

   ABI class: XFree86 Server Extension, version 0.2

(II) Loading extension SHAPE

(II) Loading extension MIT-SUNDRY-NONSTANDARD

(II) Loading extension BIG-REQUESTS

(II) Loading extension SYNC

(II) Loading extension MIT-SCREEN-SAVER

(II) Loading extension XC-MISC

(II) Loading extension XFree86-VidModeExtension

(II) Loading extension XFree86-Misc

(II) Loading extension DPMS

(II) Loading extension FontCache

(II) Loading extension TOG-CUP

(II) Loading extension Extended-Visual-Information

(II) Loading extension XVideo

(II) Loading extension XVideo-MotionCompensation

(II) Loading extension X-Resource

(II) LoadModule: "glx"

(II) Loading /usr/X11R6/lib/modules/extensions/libglx.a

(II) Module glx: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.0.0

   ABI class: XFree86 Server Extension, version 0.2

(II) Loading sub module "GLcore"

(II) LoadModule: "GLcore"

(II) Loading /usr/X11R6/lib/modules/extensions/libGLcore.a

(II) Module GLcore: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.0.0

   ABI class: XFree86 Server Extension, version 0.2

(II) Loading extension GLX

(II) LoadModule: "dri"

(II) Loading /usr/X11R6/lib/modules/extensions/libdri.a

(II) Module dri: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.0.0

   ABI class: XFree86 Server Extension, version 0.2

(II) Loading sub module "drm"

(II) LoadModule: "drm"

(II) Loading /usr/X11R6/lib/modules/linux/libdrm.a

(II) Module drm: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.0.0

   ABI class: XFree86 Server Extension, version 0.2

(II) Loading extension XFree86-DRI

(II) LoadModule: "savage"

(II) Loading /usr/X11R6/lib/modules/drivers/savage_drv.o

(II) Module savage: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.1.27

   Module class: XFree86 Video Driver

   ABI class: XFree86 Video Driver, version 0.7

(II) LoadModule: "mouse"

(II) Loading /usr/X11R6/lib/modules/input/mouse_drv.o

(II) Module mouse: vendor="The XFree86 Project"

   compiled for 4.3.99.12, module version = 1.0.0

   Module class: XFree86 XInput Driver

   ABI class: XFree86 XInput driver, version 0.4

(II) SAVAGE: driver (version 1.1.27a) for S3 Savage chipsets: Savage4,

   Savage3D, Savage3D-MV, Savage2000, Savage/MX-MV, Savage/MX,

   Savage/IX-MV, Savage/IX, ProSavage PM133, ProSavage KM133,

   ProSavage PN133, ProSavage KN133, SuperSavage/MX 128,

   SuperSavage/MX 64, SuperSavage/MX 64C, SuperSavage/IX 128,

   SuperSavage/IX 128, SuperSavage/IX 64, SuperSavage/IX 64,

   SuperSavage/IXC 64, SuperSavage/IXC 64, ProSavage DDR,

   ProSavage DDR-K

(EE) No devices detected.

Fatal server error:

no screens found

When reporting a problem related to a server crash, please send

the full server output, not just the last messages.

This can be found in the log file "/var/log/XFree86.0.log".

Please report problems to xfree86@xfree86.org.
```

Hope somebody can help me...

----------

## RoadRunner

Ok, I got it working but only with kernel 2.6.5-mm1. 2.6.6 gives errors.

----------

## Gnufsh

 *RoadRunner wrote:*   

> Ok, I got it working but only with kernel 2.6.5-mm1. 2.6.6 gives errors.

 

THe only thing I can think of is that you're using savage.o instead of savage.ko (like you should on a 2.6 kernel), but since it works on 2.6.5, that's probably not it. Are you using the kernel DRM or compiling that from cvs also?

Maybe try updating the cvs, or checking the dri mailing lists to see if this is a known problem.

----------

## RoadRunner

Compiling DRM as well. I am positive I was using savage.ko, it may be due to the kernel stack size problems recent appearing with nvidia as well (or maybe not). Anyway when I have the time will try to compile agains 2.6.6-mm3.

----------

## salivian

Another successfull story on an IBM T23, though I don't have sufficient memory to run 1400x1050x24... DRI wants ~ 17MB but all machines will just come with 16MB...  OpenGL apps like Tuxracer runs fine but my KDE opengl savesavers are broken, does anybody experience this problem I am using Mesa and DRM from CVS?

I have tried remerging kdelibs and artwork but they did not help.

----------

## RoadRunner

Yes, opengl screensavers in xscreensaver are mostly broken, very slow or very ugly images. Some ones render ok though.

----------

## Gnufsh

 *salivian wrote:*   

> Another successfull story on an IBM T23, though I don't have sufficient memory to run 1400x1050x24... DRI wants ~ 17MB but all machines will just come with 16MB...  OpenGL apps like Tuxracer runs fine but my KDE opengl savesavers are broken, does anybody experience this problem I am using Mesa and DRM from CVS?
> 
> I have tried remerging kdelibs and artwork but they did not help.

 

In windows on laptops with Twister graphics, you can sometimes change the amount of system memory allocated to video (I did on my HP ze1250). Is there a way to do this in linux? It may have to change some cmos settings, actually, but there isn't a setting in the bios for it on mine (though you may want to check there too.)

----------

## b0fh

salivian: could you please tell me how you did it? I've also got an T23 with the SuperSavage chipset. I'm using "driver "savage"" in my XF86Config, got the cvs source, compiled and loaded the savage module as told in first post (I didn't recompile full X, but used 4.3.99).

X starts fine as usual, but I get "direct rendering: No"...

----------

## salivian

I am using xfree-4.3.0-r5 (I think, the stable gentoo version) kernel 2.6.6

Then I followed the instructions from DRI Project

http://dri.sourceforge.net/cgi-bin/moin.cgi/Download

get the cvs, make World and make install. No change to modules.autoload either, just let it loaded the agp drivers by hotplug.

what's your resolution ?  1400x1050x24(which is actually 32) will not work due to insufficient memory.  (You will see a message in your XFree.0.log about that it wants 17MB...)

and you should see something from dmesg if your kernel module is working. /dev/dri/card0 should be there too ....

For OpenGL screensaver stuffs... apparently they will sort of work for a while then stop if I skip prelinking the binaries... well ... ?!

PS.  Unfortunately IBM use a pretty old Savage IX, which doesn't use shared main memory, still the performance has been much improved over the old drivers   :Very Happy: 

----------

## b0fh

I'm currently using 1024x768 as resolution.

I've got agp (with "Intel 440LX/BX/GX, I8xx and E7x05 chipset support") and drm support in the kernel, I also compiled an loaded the savage module:

```
[drm] 

Linux agpgart interface v0.100 (c) Dave Jones

agpgart: Detected an Intel 830M Chipset.

agpgart: Maximum main memory to use for agp memory: 321M

agpgart: AGP aperture is 256M @ 0xd0000000

...

Initialized savage 1.0.0 20011023 on minor 0: SuperSavage IX/C SDR

```

Or should there be more loaded? What about the "Intel 830M, 845G, 852GM, 855GM, 865G" in kernels drm support? Should this be activated or not?

I stell get "direct rendering: No"...

----------

## salivian

Looks like your module is working.

Do you get something similar in your /var/log/XFree86.0.log showing the driver attempts to open the dri device, if not, you want to look into your X installation.

```

(II) SAVAGE(0): 8828 kB of Videoram needed for 3D; 16384 kB of Videoram availabl

e

(II) SAVAGE(0): Sufficient Videoram available for 3D

(II) SAVAGE(0): [drm] bpp: 16 depth: 16

(II) SAVAGE(0): [drm] Sarea 2200+872: 3072

drmOpenDevice: node name is /dev/dri/card0

```

----------

## Gnufsh

I believe that you shouldn't use the kerenls built-in drm, but the drm module you build for the savage from cvs instead. I'm wondering if the DRM is working. COuld you post the portion of your X log where it tries to open the drm device?

----------

## z_sfeng

I try to compile from the DRI CVS. but I got an error when make World:

I'm using xorg-x11-6.7.0-r1. looks something wrong with opengl?

 *Quote:*   

> 
> 
> singlesize.c: In function `__glReadPixels_size':
> 
> singlesize.c:49: warning: implicit declaration of function `__glXImage3DSize'
> ...

 

----------

## philippeqc

Hi,

I'm in the process of installing the dri driver for my twisterk. And I wanted to thank you for all the information you are already sharing.

Some of you have noted that their installation wouldnt work if the savage module would be loaded before agp and chipset modules.

The wiki (http://dri.sourceforge.net/cgi-bin/moin.cgi/Building#head-6ac52ca699581b12e973f661de8eabe660dd9b9a)

 at dri mention that you should run pre-install on on some modules to fix this problem. Check the end of section 1.1.8.

I know its a lame post. But its a lame problem, and I've wasted enough time on it for everybody else. So enjoy!

-ph

Edit: 

/etc/modules.conf is re-generated by modules-update in gentoo.

Just place the 2 lines in a new file under /etc/modules.d/  I've named mine savage, should it inspire you. After that, run modules-update.

----------

## kpoman

Hi !

I would like to have 3D on my ibm T21 thinkpad, which holds

```

0000:00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)

0000:01:00.0 VGA compatible controller: S3 Inc. 86C270-294 Savage/IX-MV (rev 13)

```

but am using X.org and a very recent kernel ( 2.6.8.1 with mm patch ).

I've been reading that it works if using latest Xfree and other boards than mine !

Is there someone using the same graphix that i have and was able to make it work fast ? the est i get is about 100FPS on glxgears !

thanks for any kind of information !

----------

## koprimer

I'm currently using kernel 2.6.7 and X.Org 6.7 (they're releasing 6.8 on August 31, 2004).  My card is a ProSavage.  I have DRM, agpgart, and via_agp built into the kernel.  I followed the exact directions on http://dri.sourceforge.net/cgi-bin/moin.cgi/Building for XOrg.

I started up X, and recieved no errors.  AGP loaded fine, and inside my /var/log/Xorg.0.log log it states "DRI is enabled".  yet when I do a glxinfo | more I receive "Direct Rendering: No".

I've only been able to get DRI to work in XFree 4.3.  I don't know if X.org is going to add 3D support in future releases, they state that DRI for savage is unsecure.  But having to roll back for a legacy device shouldn't be neccessary.

The above HowTo is fine, yet there needs to be one out there that doesn't require a "make install", replacing XOrg with XFree.  There's possibly something I'm doing wrong, if you happen to spot it out, please do tell... till then, I'm going to continue to work on trying to get my savage 3D to work.

----------

## koprimer

 *Gnufsh wrote:*   

> I believe that you shouldn't use the kerenls built-in drm, but the drm module you build for the savage from cvs instead.

 

Can anyone confirm this?  Because this would fix my problem.  Also, this would be a nice addition to the How To if this was true.

----------

## koprimer

I removed DRM from my kernel.  Went over again the directions on

http://dri.sourceforge.net and still no luck.

```

# cat /var/log/Xorg.0.log | grep WW

        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

(WW) Open APM failed (/dev/apm_bios) (No such file or directory)

(WW) SAVAGE(0): Failed to set up write-combining range (0x90000000,0x1000000)

(WW) Open APM failed (/dev/apm_bios) (No such file or directory)

```

```

# cat /var/log/Xorg.0.log | grep AGP

(==) SAVAGE(0): Using AGP 1x mode

(II) SAVAGE(0): Using 16 MB AGP aperture

(II) SAVAGE(0): [agp] Mode 0x1f000201 [AGP 0x1106/0x0605; Card 0x5333/0x8d01]

```

```

# cat /var/log/Xorg.0.log | grep DRM

(II) SAVAGE(0): [drm] DRM interface version 1.2

(II) SAVAGE(0): [drm] installed DRM signal handler

```

```

# cat /var/log/Xorg.0.log | grep DRI

(II) Loading extension XFree86-DRI

(**) SAVAGE(0): DRI is enabled

(II) SAVAGE(0): [DRI] installation complete

(II) SAVAGE(0): [junkers]pSAVAGEDRIServer:

(II) SAVAGE(0): [junkers]pSAVAGEDRI:

```

```

# glxinfo | more

libGL: XF86DRIGetClientDriverName: 1.1.16 savage (screen 0)

libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/savage_dri.so

drmOpenByBusid: Searching for BusID pci:0000:01:00.0

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is 4, (OK)

drmOpenByBusid: drmOpenMinor returns 4

drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0

name of display: :0.0

display: :0  screen: 0

direct rendering: No

```

I've also fixed all sybolic links in /usr/X11R6/lib/ that was pointing to /usr/lib/opengl...

I've about given up on this... I don't know what I'm doing wrong...  I can't use the cvs tree savage-2-0-0 since the driver now comes with drm...  If anyone has any ideas, please feel free to share...

----------

## AIgor

I have the same problem:

```

#cat /var/log/Xorg.0.log |grep DRI

(II) Loading extension XFree86-DRI

(**) SAVAGE(0): DRI is enabled

(II) SAVAGE(0): [DRI] installation complete

(II) SAVAGE(0): [junkers]pSAVAGEDRIServer:

(II) SAVAGE(0): [junkers]pSAVAGEDRI:

```

but:

```

$ LIBGL_DEBUG=verbose glxinfo

name of display: :0.0

libGL: XF86DRIGetClientDriverName: 1.1.16 savage (screen 0)

libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/savage_dri.so

drmOpenByBusid: Searching for BusID pci:0000:01:00.0

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is 4, (OK)

drmOpenByBusid: drmOpenMinor returns 4

drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0

display: :0  screen: 0

direct rendering: No

server glx vendor string: SGI

server glx version string: 1.2

server glx extensions:

    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, 

    GLX_EXT_import_context, GLX_OML_swap_method, GLX_SGI_make_current_read, 

    GLX_SGIS_multisample, GLX_SGIX_fbconfig

client glx vendor string: SGI

client glx version string: 1.4

client glx extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 

    GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method, 

    GLX_OML_sync_control, GLX_SGI_make_current_read, GLX_SGI_swap_control, 

    GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, 

    GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group

GLX extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIS_multisample

OpenGL vendor string: Mesa project: www.mesa3d.org

OpenGL renderer string: Mesa GLX Indirect

OpenGL version string: 1.2 (1.5 Mesa 6.2)

OpenGL 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

glu version: 1.3

glu extensions:

    GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav

 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat

----------------------------------------------------------------------

0x22 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None

0x23 16 tc  1 16  0 r  .  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None

0x24 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  8  0  0  0  0  0 0 Slow

0x25 16 tc  1 16  0 r  .  .  5  6  5  0  0 16  8  0  0  0  0  0 0 Slow

0x26 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow

0x27 16 tc  1 16  0 r  .  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow

0x28 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow

0x29 16 tc  1 16  0 r  .  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow

```

glxinfo load the right libs:

```

$ldd /usr/X11R6/bin/glxinfo

   linux-gate.so.1 =>  (0xffffe000)

   libGLU.so.1 => /usr/lib/libGLU.so.1 (0x40017000)

   libGL.so.1 => /usr/lib/opengl/xorg-x11/lib/libGL.so.1 (0x40096000)

   libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4010f000)

   libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4011f000)

   libpthread.so.0 => /lib/libpthread.so.0 (0x4b19d000)

   libm.so.6 => /lib/libm.so.6 (0x4b086000)

   libc.so.6 => /lib/libc.so.6 (0x4af6f000)

   libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.so.5 (0x401eb000)

   libgcc_s.so.1 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libgcc_s.so.1 (0x402b4000)

   libdl.so.2 => /lib/libdl.so.2 (0x4b081000)

   libXxf86vm.so.1 => /usr/X11R6/lib/libXxf86vm.so.1 (0x402be000)

   /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x4af59000)

```

I've also fixed all sybolic links in /usr/X11R6/lib/, but DRI not working.

In a older installation (I re-installed gentoo in the same laptop), with the same version of kernel, Xorg, xorg.conf and dri cvs snapshot, all were ok.

 Any ideas?

----------

## kpoman

hi again!

well, i did as it was told on the dri wiki installation howto; compiled everything for my kernel without errors; but when launching xorg, the display freezes, and with ssh i can see X taking 99% cpu usage... i checked on the xfree logs and saw that dri was enabled:

```

root@zobiak /home/kpoman # cat /var/log/Xorg.0.log | grep -i dri

        X.Org Video Driver: 0.7

        X.Org XInput driver : 0.4

        ABI class: X.Org Video Driver, version 0.7

(II) LoadModule: "dri"

(II) Loading /usr/X11R6/lib/modules/extensions/libdri.a

(II) Module dri: vendor="The XFree86 Project"

(II) Loading extension XFree86-DRI

(II) Loading /usr/X11R6/lib/modules/drivers/savage_drv.o

        Module class: XFree86 Video Driver

        ABI class: XFree86 Video Driver, version 0.7

        Module class: X.Org XInput Driver

        ABI class: X.Org XInput driver, version 0.4

(II) SAVAGE: driver (version 1.1.27a) for S3 Savage chipsets: Savage4,

        ABI class: X.Org Video Driver, version 0.7

        ABI class: X.Org Video Driver, version 0.7

        ABI class: X.Org Video Driver, version 0.7

        ABI class: X.Org Video Driver, version 0.7

        ABI class: X.Org Video Driver, version 0.7

        ABI class: X.Org Video Driver, version 0.7

        ABI class: X.Org Video Driver, version 0.7

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: node name is /dev/dri/card0

(II) SAVAGE(0): [drm] created "savage" driver at busid "pci:0000:01:00.0"

(II) SAVAGE(0): [dri] visual configs initialized

(**) SAVAGE(0): DRI is enabled

(II) SAVAGE(0): [DRI] installation complete

(II) SAVAGE(0): [junkers]pSAVAGEDRIServer:

(II) SAVAGE(0): [junkers]pSAVAGEDRI:

(II) Keyboard "IBM KEYBOARD" handled by legacy driver

root@zobiak /home/kpoman # 

```

and this is my gl grep:

```

root@zobiak /home/kpoman # cat /var/log/Xorg.0.log | grep -i gl 

(II) LoadModule: "glx"

(II) Loading /usr/X11R6/lib/modules/extensions/libglx.a

(II) Module glx: vendor="The XFree86 Project"

(II) Loading sub module "GLcore"

(II) LoadModule: "GLcore"

(II) Loading /usr/X11R6/lib/modules/extensions/libGLcore.a

(II) Module GLcore: vendor="The XFree86 Project"

(II) Loading extension GLX

        Solid filled rectangles

        8x8 mono pattern filled rectangles

root@zobiak /home/kpoman # 

```

i have these modules loaded:

```

root@zobiak /home/kpoman # lsmod

Module                  Size  Used by

savage                 74036  0 

ds                     24968  4 

yenta_socket           21536  1 

pcmcia_core            72296  2 ds,yenta_socket

intel_agp              22368  1 

agpgart                34344  2 intel_agp

snd_cs46xx             89384  0 

snd_rawmidi            25444  1 snd_cs46xx

snd_seq_device          8488  1 snd_rawmidi

snd_ac97_codec         73104  1 snd_cs46xx

snd_pcm                99560  1 snd_cs46xx

snd_timer              26596  1 snd_pcm

snd                    58660  6 snd_cs46xx,snd_rawmidi,snd_seq_device,snd_ac97_codec,snd_pcm,snd_timer

soundcore              10208  1 snd

snd_page_alloc         10344  2 snd_cs46xx,snd_pcm

ndiswrapper           101680  0 

root@zobiak /home/kpoman # 

```

finally here are my links to gl stuff:

```

root@zobiak /home/kpoman # ll /usr/X11R6/lib/ | grep -i gl

-rwxr-xr-x   1 root root  3972569 Aug 30 04:45 libGL.so

lrwxr-xr-x   1 root root       12 Aug  6 17:40 libGL.so.1 -> libMesaGL.so

-rwxr-xr-x   1 root root  3972569 Aug 30 04:45 libGL.so.1.2

-rw-r--r--   1 root root    27994 Aug  6 17:39 libGLw.a

lrwxrwxrwx   1 root root       13 Aug  6 17:39 libGLw.so -> libGLw.so.1.0

lrwxrwxrwx   1 root root       13 Aug  6 17:39 libGLw.so.1 -> libGLw.so.1.0

-rwxr-xr-x   1 root root    26759 Aug  6 17:39 libGLw.so.1.0

lrwxr-xr-x   1 root root       41 Aug  6 17:42 libMesaGL.so -> /usr/lib/opengl/xorg-x11/lib/libGL.so.1.2

root@zobiak /home/kpoman #

```

and the complete log of my xorg launch, which freezes my display (even consoles are broken after starting x)

http://subsubnet.com/xorg.log

and just in case, here is my xorg.conf:

http://subsubnet.com/xorg.conf

help would be really appreciated ! donno what to do from here !

one last test gave me this (using screen to be able to capture the startx output):

```

kpoman@zobiak ~ $ startx

Release Date: 18 December 2003

X Protocol Version 11, Revision 0, Release 6.7

Build Operating System: Linux 2.6.8-rc2-mm2 i686 [ELF] 

Current Operating System: Linux zobiak 2.6.8.1-mm4 #1 Mon Aug 30 04:17:28 CEST 2004 i686

Build Date: 06 August 2004

        Before reporting problems, check http://wiki.X.Org

        to make sure that you have the latest version.

Module Loader present

Markers: (--) probed, (**) from config file, (==) default setting,

        (++) from command line, (!!) notice, (II) informational,

        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

(==) Log file: "/var/log/Xorg.0.log", Time: Mon Aug 30 22:10:01 2004

(==) Using config file: "/etc/X11/xorg.conf"

Using vt 7

    [10e] 320 x 200, 70Hz

    [111] 640 x 480, 60Hz, 72Hz, 75Hz, 85Hz, 100Hz

    [114] 800 x 600, 60Hz, 72Hz, 75Hz, 85Hz, 100Hz

    [117] 1024 x 768, 60Hz, 70Hz, 75Hz, 85Hz, 43Hz, 100Hz

    [11a] 1280 x 1024, 60Hz, 75Hz, 85Hz, 43Hz

    [11d] 640 x 400, 70Hz

    [122] 1600 x 1200, 48Hz, 60Hz, 75Hz, 85Hz

    [133] 320 x 240, 72Hz

    [13c] 1400 x 1050, 60Hz, 75Hz

    [143] 400 x 300, 72Hz

    [153] 512 x 384, 70Hz

    [173] 720 x 480, 75Hz

    [178] 720 x 576, 75Hz

(WW) SAVAGE(0): Failed to set up write-combining range (0xf0000000,0x800000)

```

after this, my laptop freezes, and i need to hardreset it!

heeeeeeeeeeeeeeeeelpppppppppppp plizzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

----------

## koprimer

I think we all picked a bad time to use X.org...  When reading the mail listing, it states the Building document contains invalid links and that the instructions need to be updated.  Also, when joining the "Unoffical DRI 3D Driver Help" IRC channel, they state "Ignore Building for now, get Xorg from CVS instead | mach64 and savage are a) on the trunk now, b) experimental, c) incomplete."...  Although I haven't yet been able to talk with anyone that could help us on this problem...

Still searching for a solution that doesn't require roll-backing Xorg to XFree

----------

## salivian

As far as I can tell .... CVS source on 7th Aug works with Xorg for me.

today 31st Aug , I rebuilt the DRI, Mesa stuffs.  DRI stopped working with my Xorg log saying, direct render enabled ... I have no clue ......

----------

## z_sfeng

Same to me. It worked on my Savage IX-MV with xorg once. Now it failed with the latest CVS. 

Direct render enabled in xorg, but XvMC not enabled.

----------

## AIgor

Ok, the problem is the new savage.ko module.

Download the old version of drm:

```

$ cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri login

$ CVS password:

$ cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri co -D2004-08-05 drm

```

Compile and install the new-old savage.ko module and the dri will work:

```

$ LIBGL_DEBUG=verbose glxinfo

libGL: XF86DRIGetClientDriverName: 1.1.16 savage (screen 0)

libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/savage_dri.so

drmOpenByBusid: Searching for BusID pci:0000:01:00.0

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is 4, (OK)

drmOpenByBusid: drmOpenMinor returns 4

drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0

name of display: :0.0

display: :0  screen: 0

direct rendering: Yes

server glx vendor string: SGI

server glx version string: 1.2

server glx extensions:

    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, 

    GLX_EXT_import_context, GLX_OML_swap_method, GLX_SGI_make_current_read, 

    GLX_SGIS_multisample, GLX_SGIX_fbconfig

client glx vendor string: SGI

client glx version string: 1.4

client glx extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 

    GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method, 

    GLX_OML_sync_control, GLX_SGI_make_current_read, GLX_SGI_swap_control, 

    GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, 

    GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group

GLX extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIS_multisample

OpenGL vendor string: S3 Graphics Inc.

OpenGL renderer string: Mesa DRI SAVAGE Linux_1.1.18

OpenGL version string: 1.2 Mesa 6.2

OpenGL extensions:

    GL_ARB_multitexture, GL_ARB_texture_env_add, 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_env_add, 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

glu version: 1.3

glu extensions:

    GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav

 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat

----------------------------------------------------------------------

0x22 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None

0x23 16 tc  1 16  0 r  .  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None

0x24 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  8  0  0  0  0  0 0 Slow

0x25 16 tc  1 16  0 r  .  .  5  6  5  0  0 16  8  0  0  0  0  0 0 Slow

0x26 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow

0x27 16 tc  1 16  0 r  .  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow

0x28 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow

0x29 16 tc  1 16  0 r  .  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow

```

I hope they'll solve the problem soon...

----------

## koprimer

That seemed to do the trick Algor... Thanks so much....   Please let us know if you hear anything about this current problem and when it'll be fixed!  Once I find that they have this problem fixed, then I'll make a new How To for those of us using X.Org....  FYI, I added to your code, for those who don't want to go back to the DRI Wiki  :Smile: 

 *AIgor wrote:*   

> Ok, the problem is the new savage.ko module.
> 
> Download the old version of drm:
> 
> ```
> ...

 

```

cd drm/linux

make DRM_MODULES="savage"

cp *.ko /lib/modules/$KERNEL/kernel/drivers/char/drm/

reboot

```

Thanks again!

----------

## salivian

One more confirmation ... thank you so much ...!

by the way, hopefully savage dri will be in gentoo xorg for the coming release.

http://article.gmane.org/gmane.linux.gentoo.desktop/1271

----------

## tam

 *salivian wrote:*   

> hopefully savage dri will be in gentoo xorg for the coming release.

 

Cool!    :Smile: 

----------

## kpoman

 *koprimer wrote:*   

> That seemed to do the trick Algor... Thanks so much....   Please let us know if you hear anything about this current problem and when it'll be fixed!  Once I find that they have this problem fixed, then I'll make a new How To for those of us using X.Org....  FYI, I added to your code, for those who don't want to go back to the DRI Wiki 
> 
>  *AIgor wrote:*   Ok, the problem is the new savage.ko module.
> 
> Download the old version of drm:
> ...

 

i tried out that with kernel 2.6.8.1mm4, and it says: 

```

zobiak kpoman # modprobe savage

FATAL: Error inserting savage (/lib/modules/2.6.8.1-mm4/kernel/drivers/char/drm/savage.ko): Invalid module format

zobiak kpoman #

```

then i checked out the latest cvs, and it seems to work only for 2.4 kernels !

do someone has any clue concerning this ? help  :Smile: 

----------

## RoadRunner

It used to work uder 2.6, I had it working with 2.6.5-mm1 and xorg, but when I tried to update the cvs it stopped working.. guess wait is the word.

----------

## kpoman

ok well my invalid module format error was due to kernel being compiled with gcc 3.3.x and drm with gcc 3.4.x so now i am able to load savage module safely :p

but still not getting the dri working  :Sad:  am using xorg 6.8.0r1

hope someone can confirm that it will one day work  :Smile: 

----------

## salivian

DRI CVS is updated

http://dri.sourceforge.net/cgi-bin/moin.cgi/Building

It's Xorg 6.8.1.99 ie the real Xorg CVS ....

It is working for me (T23 26475nu)   :Very Happy: 

glxgears ~ 438 FPS ... no performance gain though.

----------

## b0fh

salivian: Did you change anything at your xorg.conf after that?

----------

## salivian

Nothing really related to GLX / DRI

but I had to change keyboard driver "keyboard" to kbd, after make install.

That's it.  Here are my savage/T23 related settings. (running at 16bit 1400x1050, there isn't enough memory for 24bit)

```

Section "Monitor"

        Identifier "Generic Laptop Display Panel 1400x1050"

        HorizSync 31.5-90

        VertRefresh 59-75

        DisplaySize 370 277

        Option "DPMS" "yes"

EndSection

Section "Device"

        Identifier "SuperSavage"

        Driver "savage"

        Option "AGPMode" "4"

        Option "ForceInit" "yes"

EndSection

```

PS. I am using kernel 2.6.8.1

----------

## b0fh

Seems to work for me, too, but I'm not sure:

```

dmesg | grep -i savage

[drm] Initialized savage 1.0.0 20011023 on minor 0: S3 Inc. SuperSavage IX/C SDR
```

So the savage.ko module is loaded, but I also get this:

```

glxinfo | grep rendering

direct rendering: No

```

glxgears gives me just ~90fps. Are you sure you didn't read the "...frames in 5 seconds"?

----------

## salivian

These are my working X logs ...  make sure you are loading the right driver from CVS (6.8.1.99) and there is sufficient memory.  Make sure X can load the module automatically ... ie X requested for DRI resources and your kernel loaded it.  And check the dates of your libGL.so* in your lib paths /usr/lib and /usr/X11R6/lib too

```

2251 frames in 5.0 seconds = 450.200 FPS

```

```

(II) LoadModule: "savage"

(II) Loading /usr/X11R6/lib/modules/drivers/savage_drv.o

(II) Module savage: vendor="X.Org Foundation"

        compiled for 6.8.1.99, module version = 1.1.27

        Module class: X.Org Video Driver

        ABI class: X.Org Video Driver, version 0.7

```

```

(II) SAVAGE(0): Sufficient Videoram available for 3D

(II) SAVAGE(0): [drm] bpp: 16 depth: 16

(II) SAVAGE(0): [drm] Sarea 2200+872: 3072

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is 7, (OK)

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is 7, (OK)

drmOpenByBusid: Searching for BusID pci:0000:01:00.0

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is 7, (OK)

```

Last edited by salivian on Fri Oct 08, 2004 11:28 pm; edited 1 time in total

----------

## b0fh

Ah, nice:

```
1148 frames in 5.0 seconds = 229.498 FPS
```

I had an old libGL.so.1.2 in /usr/lib, so I copied the newer one from /usr/X11R6/lib over.

What I don't understand: We seem to have the same model (2647-4NG is mine), but my max. resolution is 1024x768. Maybe we also have a slightly different savage or why do I get half of your fps?

```
S3 Inc. SuperSavage IX/C SDR rev 5
```

----------

## z_sfeng

Still doesn't work for me on Savage/IX-MV with 8M RAM

DRI and Direct Render is enabled in Xorg.log. But the AGP is working on 1X mode! 

Now glxgear gives about 100fps, even worse than without DRI!

Anybody can help? did I miss something?

```

 (II) Loading sub module "vgahw"

    271 (II) LoadModule: "vgahw"

    272 (II) Loading /usr/X11R6/lib/modules/libvgahw.a

    273 (II) Module vgahw: vendor="X.Org Foundation"

    274         compiled for 6.8.1.99, module version = 0.1.0

    275         ABI class: X.Org Video Driver, version 0.7

    276 (**) SAVAGE(0): Depth 16, (--) framebuffer bpp 16

    277 (==) SAVAGE(0): RGB weight 565

    278 (==) SAVAGE(0): Default visual is TrueColor

    279 (II) SAVAGE(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset         is 0x0000

    280 (==) SAVAGE(0): Using AGP 1x mode

    281 (II) SAVAGE(0): Using 16 MB AGP aperture

    282 (==) SAVAGE(0): Using HW cursor

    283 (==) SAVAGE(0): Using video BIOS to set modes

```

```

 drmOpenDevice: node name is /dev/dri/card0

    608 drmOpenDevice: open result is -1, (Unknown error 999)

    609 drmOpenDevice: open result is -1, (Unknown error 999)

    610 drmOpenDevice: Open failed

    611 drmOpenDevice: node name is /dev/dri/card0

    612 drmOpenDevice: open result is -1, (Unknown error 999)

    613 drmOpenDevice: open result is -1, (Unknown error 999)

    614 drmOpenDevice: Open failed

    615 drmOpenByBusid: Searching for BusID pci:0000:01:01.0

    616 drmOpenDevice: node name is /dev/dri/card0

    617 drmOpenDevice: open result is 5, (OK)

    618 drmOpenByBusid: drmOpenMinor returns 5

    619 drmOpenByBusid: drmGetBusid reports pci:0000:01:01.0

```

and dmesg shows: 

```

Linux agpgart interface v0.100 (c) Dave Jones

agpgart: Detected an Intel 440BX Chipset.

agpgart: Maximum main memory to use for agp memory: 203M

agpgart: AGP aperture is 64M @ 0xec000000

savage: Ignoring new-style parameters in presence of obsolete ones

mtrr: 0xf0000000,0x1000000 overlaps existing 0xf0000000,0x800000

mtrr: base(0xf2000000) is not aligned on a size(0x5000000) boundary

[drm] Initialized savage 1.0.0 20011023 on minor 0: S3 Inc. 86C270-294 Savage/IX-MV

ACPI: PCI interrupt 0000:01:01.0[A] -> GSI 11 (level, low) -> IRQ 11

agpgart: Found an AGP 1.0 compliant device at 0000:00:00.0.

agpgart: Putting AGP V2 device at 0000:00:00.0 into 0x mode

agpgart: Putting AGP V2 device at 0000:01:01.0 into 0x mode

```

----------

## b0fh

Your log says you're running at agp 0x speed... Maybe that's all it can do?

My 830M also just does 1x:

```
agpgart: Detected an Intel 830M Chipset.

agpgart: Maximum main memory to use for agp memory: 321M

agpgart: AGP aperture is 256M @ 0xd0000000

agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0.

agpgart: Putting AGP V2 device at 0000:00:00.0 into 1x mode

agpgart: Putting AGP V2 device at 0000:01:00.0 into 1x mode

```

----------

## MartinB

Hey,

I've had this working in the past, but for some reason I don't seem to be able to get it working again. I've successfully got to the following command, followed by the error message:

```
martin@kumi kernel $ make -f Makefile.linux 

Makefile.linux:142: *** Cannot find a kernel config file.  Stop.
```

I checked around the forums and Google but couldn't find anything about kernel config files in relation to the Savage driver.

Anyone know how what I need to do?

Running 2.6.8-r7 kernel...

Cheers,

Martin

----------

## salivian

Couple quick response...

Mine is a P3 1.2GHz w/SVGA+ (1400x1050) LCD and 16bpp runs faster than 24bpp in general.

```

0000:01:00.0 VGA compatible controller: S3 Inc. SuperSavage IX/C SDR (rev 05)

```

Option "AGPMode" "4"  is the option to adjust the AGP speed, 4 = 4x.

Take a look at "Tweak your performance"

http://www.gentoo.org/doc/en/dri-howto.xml

from dmesg

```

agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0.

agpgart: Putting AGP V2 device at 0000:00:00.0 into 4x mode

```

for DRM building. Where did you find your Makefile.linux?!

checkout the drm stuffs according to the DRI site instructions.

cd drm/linux-2.6

make savage.o

will produce the module.

Take a look at the Makefile for other options.

make sure there is a .config in the kernel source.Last edited by salivian on Fri Oct 08, 2004 11:46 pm; edited 3 times in total

----------

## MartinB

Well, I solved my previous problem by symlinking /lib/modules/linux-2.6.8-gentoo-7/build to /usr/src/linux-2.6.8-gentoo-7/, but I've ran into another problem.

Specifically, I type "make -f Makefile.linux" and I get the following errors:

```
make -C /lib/modules/2.6.8-gentoo-r7/build  SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules

make[1]: Entering directory `/usr/src/linux-2.6.8-gentoo-r7'

  CC [M]  /root/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/gamma_drv.o

In file included from /root/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/gamma_drv.c:57:

/root/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h:41: warning: initialization from incompatible pointer type

/root/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h:48: warning: initialization from incompatible pointer type

/root/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h:55: warning: initialization from incompatible pointer type

/root/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h:62: warning: initialization from incompatible pointer type

/root/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h: In function `gamma_vm_nopage':

/root/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h:133: error: structure has no member named `count'

make[2]: *** [/root/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/gamma_drv.o] Error 1

make[1]: *** [_module_/root/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel] Error 2

make[1]: Leaving directory `/usr/src/linux-2.6.8-gentoo-r7'

make: *** [modules] Error 2
```

Anyone know where I'm going wrong here? I'm running the 2.6.8-r7 kernel.

----------

## salivian

Looks like you were compiling a 3Dlabs Permedia driver ....

just do a "make savage.o" in the DRM CVS that you checked out separately from DRI project.... NOT the drm from the xorg tree, there is a dedicated linux-2.6 dir.

read http://dri.sourceforge.net/cgi-bin/moin.cgi/Building#head-59338b545aa94fe7570b689a9f9f850f53f732ca

and 

http://dri.sourceforge.net/cgi-bin/moin.cgi/Building#head-59338b545aa94fe7570b689a9f9f850f53f732ca

May be you should check out a complete new copy of everything ... I can confirm that the directory and files that you mentioned in the previous post does not exist anymore ...  DRI xc CVS has moved. if you just tried to run an cvs update instead of checking out a new copy, you are not getting the right stuffs, please take a look at the updated building howto on dri.sf.net.

----------

## MartinB

Thanks,

I went through that, but I'm still running into a problem.

Everything seemed to go fine, but when I startx and run glxinfo, I still get a glaring "no" for "Direct rendering:".

The only clue I'm getting (at least, as far as I can see) is on starting X, I get a line saying:

```
(WW) SAVAGE(0): Failed to set up write-combining range (0xd0000000,0x2000000
```

But the rest of the log does not indicate any problem, and indeed even appears to indicate that DRI has been enabled successfully (I don't want to post the whole thing as it's rather lengthy).

Anyone have any idea where I'm going wrong with this?

----------

## salivian

Like b0th ... make sure your glxinfo and stuffs are using the right libGL.so.

by ldd glxinfo etc 

check the dates of those files. make sure they are the new ones

----------

## MartinB

Nope... that doesn't work...:

cp: `/usr/X11R6/lib/libGL.so' and `/usr/lib/libGL.so' are the same file

----------

## b0fh

 *Quote:*   

> Option "AGPMode" "4" is the option to adjust the AGP speed, 4 = 4x. 

 

Put mine to 4x, but still just get 230fps... But it's ok, at least it works  :Smile:  I don't have any apps using opengl anyways... Just qt and some kde-packets have it in USE...

----------

## sabrex

I followed the instructions at http://linux-sxs.org/guis/DRIS3.html today and it's not working out.  I have a prosavage ddr chipset, and my kernel is 2.6.8-r7.  Also, I have Xfree86 4.3.0-r7

When I run "make -f Makefile.linux" from the above instructions, this is what happens:

```
root@baal kernel # make -f Makefile.linux

make -C /lib/modules/2.6.8-gentoo-r7/build  SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules

make[1]: Entering directory `/usr/src/linux-2.6.8-gentoo-r7'

  CC [M]  /home/sabrex/downloads/xc-3/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/gamma_drv.o

In file included from /home/sabrex/downloads/xc-3/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/gamma_drv.c:57:

/home/sabrex/downloads/xc-3/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h:41: warning: initialization from incompatible pointer type

/home/sabrex/downloads/xc-3/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h:48: warning: initialization from incompatible pointer type

/home/sabrex/downloads/xc-3/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h:55: warning: initialization from incompatible pointer type

/home/sabrex/downloads/xc-3/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h:62: warning: initialization from incompatible pointer type

/home/sabrex/downloads/xc-3/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h: In function `gamma_vm_nopage':

/home/sabrex/downloads/xc-3/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h:133: error: structure has no member named `count'

make[2]: *** [/home/sabrex/downloads/xc-3/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/gamma_drv.o] Error 1

make[1]: *** [_module_/home/sabrex/downloads/xc-3/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel] Error 2

make[1]: Leaving directory `/usr/src/linux-2.6.8-gentoo-r7'

make: *** [modules] Error 2

```

Can anybody please help me out?  I'm sort of desperate to get opengl working with this video card ... school assignment, etc.  Should I switch to x.org?  what is the quickest way to get opengl/glx working from where I am right now?  If you need me to post anything, such as XF86Config files, etc, please let me know.  incidentally, this is what the glxinfo command gives now:

```
sabrex@baal sabrex $ glxinfo

name of display: :0.0

Xlib:  extension "GLX" missing on display ":0.0".

Xlib:  extension "GLX" missing on display ":0.0".

Xlib:  extension "GLX" missing on display ":0.0".

Error: couldn't find RGB GLX visual

 

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav

 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat

----------------------------------------------------------------------

Xlib:  extension "GLX" missing on display ":0.0".

Xlib:  extension "GLX" missing on display ":0.0".

0x21 16 tc  1  0  0 c  .  .  0  0  0  0  0  0  0  0  0  0  0  0 0 None
```

Any ideas?  Thanks.

----------

## MartinB

I had the same problem. Try following the link that Salivian posted above. You'll probably make more progress.

But still, in the end, don't expect it to work. It still won't work for me and no one seems to know why. I'm considering doing a complete re-install of Gentoo from scratch, 'cause this is really starting to annoy me.

By the way, is the Savage driver eventually going to make it into Portage so all we need to do is "emerge xorg" and Savage DRI will work without all this hassle? If so, anyone know how long? If it's a short time, I might put off re-installing until then.

EDIT: I've switched to the 2.4 kernel and the "make -f Makefile" works without error.  :Smile:  I can only hope that 3D will be working now when I restart X.

EDIT 2: IT WORKS!!!!!  :Very Happy:  Try the 2.4 kernel if all else fails and you don't require 2.6. I had no problems at all getting it working on it.

----------

## sabrex

Yes!  Finally got it working.  Used salivian's link and followed the instructions exactly with kernel 2.6.8r7 and (after dealing with a problem with the Mesa compilation), everything works perfectly now.

Here's what was going on with Mesa in section 1.1.6:

instead of:

DRI_DIRS = dri_client <dri drivers> 

I had to specificy the full path to dri_client and the full path to (in my case) the savage dir.  Then it compiled.  Everything else worked as the howto explained.

----------

## alwayzamd

Great.  I'm glad to see it's working.  I am having the same trouble building mesa though... could you be a little more thourogh on what you appended to that file?  I am not sure how the trees are built, so I would be digging for hours - just easier to ask  :Wink:   Thanks.  Also, does anyone have any idea if the driver developer will ever add acceleration for the xrender extension so we can have some nice high speed eye candy?

T.J.

----------

## sabrex

 *alwayzamd wrote:*   

> Great.  I'm glad to see it's working.  I am having the same trouble building mesa though... could you be a little more thourogh on what you appended to that file?  I am not sure how the trees are built, so I would be digging for hours - just easier to ask   Thanks.  Also, does anyone have any idea if the driver developer will ever add acceleration for the xrender extension so we can have some nice high speed eye candy?
> 
> T.J.

 

Well, I didn't append anything ... in the section I mentioned, it says to set the savage directory, etc so that only specific parts are built.  Instead of just putting 'savage' you would want to put the full path to the savage directory... eg. /root/downloads/this/way/to/savage

I hope that helps.  Not sure how else to say it I'm afraid   :Confused: 

----------

## IamBorg

I have had partial success.  I haven't been able to get Xorg to say that it's using savage's DRI.  glxinfo has Direct Rendering: No.  However, dmesg says  *Quote:*   

> [drm] Initialized savage 1.0.0 20011023 on minor 0: S3 Inc. VT8636A [ProSavage KN133] AGP4X VGA Controller (TwisterK)
> 
> [drm] Used old pci detect: framebuffer loaded
> 
> 

 

The steps I took

```
Add line VIDEO_CARDS=savage to make.conf

echo x11-base/x11-drm  ~x86  >> /etc/portage/package.keywords

emerge x11-drm

Add line savage to /etc/modules.autoload.d/kernel-2.6

modprobe savage and/or reboot

```

BTW The version of x11-drm = 20040827.

As far as I can tell, my xorg.conf is set up appropriately.

 *Quote:*   

> cat /var/log/Xorg.0.log | grep dri
> 
> (II) LoadModule: "dri"
> 
> (II) Loading /usr/X11R6/lib/modules/extensions/libdri.a
> ...

 

I do not have a device /dev/dri.  I am running linux-2.6.8-gentoo-r10, udev, Xorg 6.8.0-r1.  I am curious if there is something that I'm missing...

----------

## salivian

you need (Xorg + DRI) CVS, 6.8.0 release has NO savage dri support.

Please follow the link from last page that I posted for building instructions.

you do NOT need to add savage to autoload, if Xorg DRI is working, X will request for the device then kernel should autoload it properly.

----------

## IamBorg

Well, I compiled xorg-x11-6.8.0-r2 with the flags dri, glx, and insecure-drivers.  I have /usr/lib/modules/dri/savage_dri.so.  Also, when I modprobe savage, the /dev/dri/card0 comes into existence.  I can do dristat and it gives me info.  Unfortunately, I still do not have direct rendering.  Also, right now, my X server crashes when trying to do a glxgears or xscreensaver.  I did have to put the symlink in to /usr/lib/modules/extensions/libglx.a -> /usr/lib/opengl/xorg-x11/extensions/libglx.a.  Does anybody have any suggestions for me to look into?

----------

## z_sfeng

the latest savage dri works again for my savage IX or xorg 6.8.0-r2.

I just use the binary snapshot 20041101. I got 370fps on glxgear  :Smile:  not bad.

Try binary snapshot is a good idea. It only takes minutes to test...

----------

## kpoman

could you please explain a bit more what you did ?

i tried compiling the drm package ==> no luck, not compatible with 2.6.9

i tried compiling xorg 6.8.0r2 ==> had many problems

what would be the steps to get it working ? what are the tests to diagnose problems ?

----------

## z_sfeng

I already have nitro-2.6.9-r2 and xorg-6.8.0-r2 runing. Then I just visited the dri binary snapshothttp://dri.sourceforge.net/cgi-bin/moin.cgi/Download#head-55420c59a1c2e9a70f07a6fa02f0d228ffb87b76, and downloaded the latest snapshot

http://www.freedesktop.org/~dri/snapshots/

Download both the common and savage tarball. Decompress first common, then savage to same folder, and run 

```
./install
```

The 20041028 tarball doesn't work for me, 20041101 works. The 20041102 just comes out today, maybe you can also try that--anyway, using binary installation is very fast.

I didn't try to compile CVS sources, since the binary just works for me without problem. Don't compile, just try to install from binary.

----------

## dom_

I just switched from mdk 9.2 to gentoo on my laptop after months using gentoo on my workstation. After a try of quasi-all xorg/x11-drm xorg/cvs-drm in there without success, i just use this tuto with the cvs and it worked fine http://dri.sourceforge.net/cgi-bin/moin.cgi/Building .

Output of glxinfo:

```

name of display: :0.0

display: :0  screen: 0

direct rendering: Yes

server glx vendor string: SGI

server glx version string: 1.2

server glx extensions:

    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, 

    GLX_EXT_import_context, GLX_OML_swap_method, GLX_SGI_make_current_read, 

    GLX_SGIS_multisample, GLX_SGIX_fbconfig

client glx vendor string: SGI

client glx version string: 1.4

client glx extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 

    GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method, 

    GLX_OML_sync_control, GLX_SGI_make_current_read, GLX_SGI_swap_control, 

    GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, 

    GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group

GLX extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIS_multisample, 

    GLX_SGIX_visual_select_group

OpenGL vendor string: S3 Graphics Inc.

OpenGL renderer string: Mesa DRI SAVAGE Linux_1.1.18

OpenGL version string: 1.2 Mesa 6.3

OpenGL extensions:

    GL_ARB_imaging, GL_ARB_multitexture, GL_ARB_texture_env_add, 

    GL_ARB_transpose_matrix, GL_ARB_window_pos, GL_EXT_abgr, GL_EXT_bgra, 

    GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract, 

    GL_EXT_clip_volume_hint, GL_EXT_compiled_vertex_array, GL_EXT_convolution, 

    GL_EXT_copy_texture, GL_EXT_draw_range_elements, GL_EXT_histogram, 

    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_env_add, 

    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_OES_read_format, 

    GL_SGI_color_matrix, GL_SGI_color_table, GL_SGIS_texture_edge_clamp, 

    GL_SGIS_texture_lod

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav

 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat

----------------------------------------------------------------------

0x22 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None

0x23 16 tc  0 16  0 r  .  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None

0x24 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  8  0  0  0  0  0 0 Slow

0x25 16 tc  0 16  0 r  .  .  5  6  5  0  0 16  8  0  0  0  0  0 0 Slow

0x26 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow

0x27 16 tc  0 16  0 r  .  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow

0x28 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow

0x29 16 tc  0 16  0 r  .  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow

```

And after an eternity of 100-120fps with glxgears, here is the new frame rate from glxgears is :

```

1777 frames in 5.0 seconds = 355.295 FPS

1762 frames in 5.0 seconds = 351.984 FPS

1773 frames in 5.0 seconds = 354.534 FPS

1755 frames in 5.0 seconds = 350.972 FPS

1755 frames in 5.0 seconds = 350.848 FPS

1766 frames in 5.0 seconds = 353.073 FPS

1762 frames in 5.0 seconds = 352.353 FPS

1762 frames in 5.0 seconds = 352.269 FPS

```

@+

dom

PS: 

Before i was using:

x11-base/opengl-update-1.8.1-r1  

x11-base/xorg-x11-6.8.0-r3  

x11-base/x11-drm-4.3.0-r7 and x11-base/x11-drm-20040827 and drm-2004-08-05 ....

Now i'm using:

No opengl-update

xorg cvs 23 november 2004 (latest Changelog 2004-11-23  Alex Deucher)

Mesa cvs 23 november 2004

drm cvs 23 november 2004

----------

## matthias as

Hello 

i did

cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri login 

on passwd hit enter 

cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri co -r savage-2-0-0-branch xc 

 in the directory where u downloaded the cvs version of x go in xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel 

 and 

 make -f Makefile.linux 

then it appears an error ....

```

bash-2.05b# make -f Makefile.linux

+ ln -s ../../../shared/drm/kernel/drm_sarea.h drm_sarea.h

+ ln -s ../../../shared/drm/kernel/mga.h mga.h

+ ln -s ../../../shared/drm/kernel/mga_dma.c mga_dma.c

+ ln -s ../../../shared/drm/kernel/mga_drm.h mga_drm.h

+ ln -s ../../../shared/drm/kernel/mga_drv.h mga_drv.h

+ ln -s ../../../shared/drm/kernel/mga_irq.c mga_irq.c

+ ln -s ../../../shared/drm/kernel/mga_state.c mga_state.c

+ ln -s ../../../shared/drm/kernel/mga_ucode.h mga_ucode.h

+ ln -s ../../../shared/drm/kernel/mga_warp.c mga_warp.c

+ ln -s ../../../shared/drm/kernel/r128.h r128.h

+ ln -s ../../../shared/drm/kernel/r128_drv.h r128_drv.h

+ ln -s ../../../shared/drm/kernel/r128_drm.h r128_drm.h

+ ln -s ../../../shared/drm/kernel/r128_cce.c r128_cce.c

+ ln -s ../../../shared/drm/kernel/r128_state.c r128_state.c

+ ln -s ../../../shared/drm/kernel/r128_irq.c r128_irq.c

+ ln -s ../../../shared/drm/kernel/radeon.h radeon.h

+ ln -s ../../../shared/drm/kernel/radeon_drv.h radeon_drv.h

+ ln -s ../../../shared/drm/kernel/radeon_drm.h radeon_drm.h

+ ln -s ../../../shared/drm/kernel/radeon_cp.c radeon_cp.c

+ ln -s ../../../shared/drm/kernel/radeon_irq.c radeon_irq.c

+ ln -s ../../../shared/drm/kernel/radeon_mem.c radeon_mem.c

+ ln -s ../../../shared/drm/kernel/radeon_state.c radeon_state.c

+ ln -s ../../../shared/drm/kernel/sis.h sis.h

+ ln -s ../../../shared/drm/kernel/sis_drv.h sis_drv.h

+ ln -s ../../../shared/drm/kernel/sis_drm.h sis_drm.h

+ ln -s ../../../shared/drm/kernel/sis_ds.c sis_ds.c

+ ln -s ../../../shared/drm/kernel/sis_ds.h sis_ds.h

+ ln -s ../../../shared/drm/kernel/sis_mm.c sis_mm.c

+ ln -s ../../../shared/drm/kernel/tdfx.h tdfx.h

rm -f linux

ln -s . linux

+ ln -s Makefile.linux Makefile

make -C /lib/modules/2.6.8.1/build  SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules

make[1]: Entering directory `/usr/src/linux-2.6.8.1'

  CC [M]  /cvs/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/gamma_drv.o

In file included from /cvs/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/gamma_drv.c:57:

/cvs/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h:41:warning: initialization from incompatible pointer type

/cvs/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h:48:warning: initialization from incompatible pointer type

/cvs/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h:55:warning: initialization from incompatible pointer type

/cvs/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h:62:warning: initialization from incompatible pointer type

/cvs/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h: Infunction `gamma_vm_nopage':

/cvs/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h:133: error: structure has no member named `count'

make[2]: *** [/cvs/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/gamma_drv.o] Error 1

make[1]: *** [_module_/cvs/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel] Error 2

make[1]: Leaving directory `/usr/src/linux-2.6.8.1'

make: *** [modules] Error 2

bash-2.05b#

bash-2.05b# make -f Makefile.linux

make -C /lib/modules/2.6.8.1/build  SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules

make[1]: Entering directory `/usr/src/linux-2.6.8.1'

  CC [M]  /cvs/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/gamma_drv.o

In file included from /cvs/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/gamma_drv.c:57:

/cvs/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h:41:warning: initialization from incompatible pointer type

/cvs/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h:48:warning: initialization from incompatible pointer type

/cvs/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h:55:warning: initialization from incompatible pointer type

/cvs/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h:62:warning: initialization from incompatible pointer type

/cvs/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h: Infunction `gamma_vm_nopage':

/cvs/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h:133: error: structure has no member named `count'

make[2]: *** [/cvs/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/gamma_drv.o] Error 1

make[1]: *** [_module_/cvs/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel] Error 2

make[1]: Leaving directory `/usr/src/linux-2.6.8.1'

make: *** [modules] Error 2

bash-2.05b# 

```

----------

## headgap

i have here a Savage4 #9 card w/ 8Meg, 2.6.9-r9 kernel, 2.6

headers, xorg 6.8.0-r3, udev, and no direct rendering.

for the longest time i wasn't getting anything to work. then i built

cvs drm onto the system; now xorg logs show the 1.0.0 DRM

2001xxxx message.

dumb question: do i *need* 'insecure-drivers' enabled in xorg, to

support DRI? i can't seem to find an answer anywhere in either

forums nor google.

modprobe of savage *doesn't* create /dev/dri directory.

agpgart & via_agp are loaded by coldplug, no errors

no (EE) in xorg log (except one about xkb config)

cheers

(yes, i had to go futz with it: i had direct rendering under nvidia, 2

days ago; but i *had* to know which card was better...)

----------

## headgap

ok, i answered that one:

with 'insecure-drivers' compiled into xorg, now modprobe savage creates

/dev/dri. but no direct rendering yet. onwards...

----------

## headgap

found a page saying as per 11-23-04, eric anholt had 'turned over all the stable dri stuff to x.org', and that it was now in their cvs build. exceptions being savage, trident and a few others.

----------

## b0fh

As xorg-6.8.1.901 is in portage now, I tried building it with "insecure-drivers" in USE (this should build savage and other drivers). I get a savage_dri.so, but no savage.ko as kernel module. How can I use savage-dri now?

----------

## headgap

c.f. my previous post: 

'except savage, trident and a few others'

those drivers are still not part of the xorg 'stable' release; you'll need to fetch them out of the cvs snapshots.

----------

## philippeqc

Hi,

First, the link http://dri.sourceforge.net/cgi-bin/moin.cgi/Building is no longer valid. Use http://dri.freedesktop.org/wiki/Building. Note that many of the instructions have changes, so be carefull not to mix old and new instructions.

Second, being extremely lazy, I've spend over 2 days coming up with a script to automate the procedure. I post it here for your convenience. I'd like to point out that it is my first real script, so constructive criticism is welcome. 

You will probably have to configure the following variables: WRKFOLDER, DRIVER, {XF,DRI}DRIVERS, BUILDALLDRIVERS. 

Also, the following are assumed:

-GNU/Linux (not BSD. Probably not a problem for the users of this forum), 

-x86, 

-32 bits architecture, 

-xorg from the cvs (will overwrite your X libraries), NOT XFree

-linux kernel version 2.6

-assume that you are compiling for the current kernel, 

-assume the kernel is in /usr/src/linux, 

-assume at least make dep has been run on the kernel source (NOTA: I know make dep is a 2.4 command. I do not know what is the equivalent for 2.6, so do "make; make modules_install" to be on the safe side)

-need to be run as root/superuser who can install (I know its a big security risk, so do not trust my good intentions and read the script before executing), 

-Does not change your X configuration file

-Does not register the modules to be loaded automatically

Please excuse my assuptions.

Also, the fetch operation for the host.def AND the patching to support some utils after the fetch are commented out as they didn't work for me.

```
#!/bin/bash

##########################################################

# A little script to compile and install the DRI from cvs

##########################################################

# The values that an user might want to change are

# WRKFOLDER,

# DRIVER,       most important, to define your card. Has to be defined

#         even if {XF,DRI}DRIVERS are set with different values

# {XF,DRI}DRIVERS, if the driver name differ for XF and DRI.

# BUILDALLDRIVERS  

# The driver to build

DRIVER="savage"

# Setting BUILDALLDRIVERS to non null will force compilation of all 

# the other cards drivers, not just your own

#BUILDALLDRIVERS="YES"

# The name of the folder to be created for all the work procedure

WRKFOLDER="dri"

# Generating the full path with '\/' as delimiters for sed to accept

WRKPATH=`pwd`"/"$WRKFOLDER

WRKPATH_sedified=`pwd | sed -e "s:/:\\\\\/:g" `"\/"$WRKFOLDER

# Location of the Mesa directory

PATHMESA=${WRKPATH_sedified}'\/Mesa'

DEFMESA='#define MesaSrcDir'

# Location of the DRM directory

PATHDRM=${WRKPATH_sedified}'\/drm'

DEFDRM='#define DRMSrcDir'

# 2D drivers: XF86CardDrivers

DEFXFDRIVERS='#define XF86CardDrivers'

#XFDRIVERS="810 mga ati glint vga sis savage"

#XFDRIVERS="savage"

XFDRIVERS=$DRIVER

# DriDrivers

DEFDRIDRIVERS='#define DriDrivers'

#DRIDRIVERS="r200 mga i810 r128 radeon gamma i830 sis tdfx ffb savage"

#DRIDRIVERS="savage"

DRIDRIVERS=$DRIVER

# The configuration file to process so it support our configuration

HOSTFILE=${WRKPATH}'/xc/config/cf/host.def'

HOSTFILEORIG=${HOSTFILE}'.orig'

if [ ! -d $WRKFOLDER ]; then

    mkdir -p $WRKFOLDER

fi

cd $WRKPATH

# Before cvs, we need to overwrite a host.def modified by this script

# by a backup from previous cvs, in hope of getting all the proper 

# update from cvs

if [ -e "${HOSTFILEORIG}" ] ; then

    echo "Restoring original host.def for update"

    cp $HOSTFILEORIG $HOSTFILE

fi

# Delete the configuration file to avoid confict during cvs operation

if [ -e "${HOSTFILE}" ] ; then

    rm $HOSTFILE

fi

# cvs operations

# Should have additional test for the CVS_PASSFILE environment variable

# You should know that this whole script spun from me dreading having to 

# wait and press enter for the password as I thougt I had to re-run the login

# command at every pass.

if [ `cat ~/.cvspass | sed -e "/cvs\.freedesktop\.org/!d" -e "/\/cvs\/xorg/!d" | wc -l` = 0 ] ; then

    echo "You need to press Enter to allow for anonymous login"

    cvs -d:pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg login 

fi

if [ `cat ~/.cvspass | sed -e "/cvs\.freedesktop\.org/!d" -e "/\/cvs\/dri/!d" | wc -l` = 0 ] ; then

    echo "You need to press Enter to allow for anonymous login"

    cvs -d:pserver:anonymous@cvs.freedesktop.org:/cvs/dri login

fi

if [ `cat ~/.cvspass | sed -e "/dri\.freedesktop\.org/!d" -e "/\/cvs\/mesa/!d" | wc -l` = 0 ] ; then

    echo "You need to press Enter to allow for anonymous login"

    cvs -d:pserver:anonymous@cvs.freedesktop.org:/cvs/mesa login 

fi

echo "Retreiving X.org"

if [ -d "xc" ] ; then

#cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri update -r savage-2-0-0-branch xc >& xc.log

    echo "=== Updating X.org ==="

    cvs -z3 -d:pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg update xc >& cvs.xc.log

else

    echo "=== Checking out X.org ==="

    cvs -z3 -d:pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg co xc >& cvs.xc.log

fi

echo "Retreiving DRM"

if [ -d "drm" ] ; then

    echo "=== Updating DRM ==="

    cvs -z3 -d:pserver:anonymous@cvs.freedesktop.org:/cvs/dri update drm >& cvs.drm.log

else

    echo "=== Checking out DRM ==="

    cvs -z3 -d:pserver:anonymous@cvs.freedesktop.org:/cvs/dri co drm >& cvs.drm.log

fi

echo "Retreiving Mesa"

if [ -d "Mesa" ] ; then

    echo "=== Update Mesa ==="

    cvs -z3 -d:pserver:anonymous@cvs.freedesktop.org:/cvs/mesa update Mesa >& cvs.mesa.log

else   

    echo "=== Checking out Mesa ==="

    cvs -z3 -d:pserver:anonymous@cvs.freedesktop.org:/cvs/mesa co Mesa >& cvs.mesa.log

fi

#************************************************************

# Get a config file that set up a trimed down build of Xserver

#************************************************************

#

# HACK: removed, didn't work for me. YMMV

#

#cd ${WRKPATH}'/xc/config/cf'

#echo "Retreiving trimed down config"

#rm host.def

#wget http://freedesktop.org/~fxkuehl/host.def

cd ${WRKPATH}'/xc'

#************************************************************

# configuring host.def

#************************************************************

# Preserve a copy of the original host file

cp $HOSTFILE $HOSTFILEORIG

echo "Processing host.def"

if [ "$BUILDALLDRIVERS" = "" ] ; then 

#Massage host.def so only our card is build

   sed -e " 

   /$DEFMESA/s/\($DEFMESA\).*/\1 $PATHMESA/ 

   /$DEFDRM/s/\($DEFDRM\).*/\1 $PATHDRM/ 

   /$DEFXFDRIVERS/s/\($DEFXFDRIVERS\).*/\1 $XFDRIVERS/ 

   /$DEFDRIDRIVERS/s/\($DEFDRIDRIVERS\).*/\1 $DRIDRIVERS/ 

   " $HOSTFILEORIG > $HOSTFILE

else

#Massage host.def so our and all other cards are build

   sed -e " 

   /$DEFMESA/s/\($DEFMESA\).*/\1 $PATHMESA/ 

   /$DEFDRM/s/\($DEFDRM\).*/\1 $PATHDRM/ 

   /$DEFXFDRIVERS/ {

      /$XFDRIVERS/!s/\(.*\)/\1 $XFDRIVERS/ 

   }

   /$DEFDRIDRIVERS/ {

      /$DRIDRIVERS/!s/\(.*\)/\1 $DRIDRIVERS/ 

   }

   " $HOSTFILEORIG > $HOSTFILE

fi

#************************************************************

# end configuring host.def

#************************************************************

#************************************************************

# Patch to build xdriinfo, glxgears, glxinfo 

#************************************************************

#

# HACK: removed, didn't work for me. YMMV

#

#cd ${WRKPATH}'/xc'

#rm buildtools.patch

#wget http://freedesktop.org/~fxkuehl/buildtools.patch

#patch -p0 < buildtools.patch

#************************************************************

# end utils patch 

#************************************************************

#************************************************************

# Build and install xc

#************************************************************

#

# HACK: Assume the user wants support for the current kernel

# Need also to change the "depmod -a" later

#

MODULE='/lib/modules/'`uname -r`'/kernel/drivers/char/drm'

OLDMODULES=/tmp/old-modules.tar

OLDMESA=/tmp/old-mesa.tar

echo "make World, this will take some time..."

nice make World >& world.log

nice make install >& install.log

## There should be a test to figure if we are dealing with XFree86 or Xorg

## if XFree86

##    make install

## if Xorg:

########

#if [ ! -f $OLDMODULES ]; then

#   tar cfP $OLDMODULES /usr/X11R6/lib/modules

#fi

#

#echo "Copying X modules"

#cp exports/lib/modules/dri/*.so /usr/X11R6/lib/modules/dri

#cp exports/lib/modules/extensions/lib{glx,GLcore,dri}.a /usr/X11R6/lib/modules/extensions

#

##### The following line is a HACK! this is because I dont know how to do OS

##### detection properly. Must be fixed. ATM, assume Linux

#cp exports/lib/modules/linux/libdrm.a /usr/X11R6/lib/modules/linux 

### Should have a test to remove case info

##case  `uname -s` in

##   "Linux" ) echo "Linux was here";cp exports/lib/modules/linux/libdrm.a /usr/X11R6/lib/modules/linux ;;

### I'm clueless how FreeBSD gets reported from uname -s. 

##   "BSD" ) cp exports/lib/modules/freebsd/libdrm.a /usr/X11R6/lib/modules/freebsd ;;

##esac

#

#echo "Copying kernel modules"

#cp exports/lib/modules/drivers/*_drv.o /usr/X11R6/lib/modules/drivers

#if [ ! -f $OLDMESA ]; then

#   tar cfP $OLDMESA /usr/X11R6/lib/*{GL,Mesa}*

#fi

#cp exports/lib/*{GL,Mesa}* /usr/X11R6/lib

echo "ldconfig"

ldconfig

#************************************************************

# end xc

#************************************************************

#************************************************************

# Mesa

#************************************************************

# This need a re-work. HACK. Hardcoded for linux-x86 32 bit arch

cd ${WRKPATH}'/Mesa'

MESACONFIG='configs/linux-dri-x86'

#

# HACK: Just hard coded the lines that I require. 

# Should use the information floating in this script

#

#echo "DRM_SOURCE_PAT = /root/dri/drm" >> ${MESACONFIG}

echo "SRC_DIRS = mesa" >> ${MESACONFIG}

echo "DRI_DIRS = dri_client savage" >> ${MESACONFIG}

#echo "DRM_SOURCE_PATH = " >> ${MESACONFIG}

#echo "SRC_DIRS = " >> ${MESACONFIG}

#echo "DRI_DIRS = dri_client " >> ${MESACONFIG}

echo "Building Mesa"

nice make linux-dri-x86 >& makeMesa.log

echo "Installing the modules"

cp lib/*_dri.so /usr/X11R6/lib/modules/dri

#************************************************************

# end Mesa

#************************************************************

#************************************************************

# DRM

#************************************************************

cd ${WRKPATH}'/drm/linux'

#

# HACK: Hard-coded to linux ATM.

#

#if `uname` = "Linux" ; then cd ${WRKPATH}'drm/linux' fi

# What of FreeBSD?

# if `uname` = "BSD" ; then cd ${WRKPATH}'drm/freebsd' fi

#

# HACK:

# I've taken some liberties with $DRIVER here. I dont know how 

# nice it will behave in a non savage context

if [ "$BUILDALLDRIVERS" = "" ] ; then 

   MAKE_DRM_MODULES='DRM_MODULES='$DRIVER

fi

echo "make drm"

#

# HACK: Hard coded kernel source location

#

nice make LINUXDIR=/usr/src/linux $MAKE_DRM_MODULES >& makedrm.log

if [ ! -d $MODULE ]; then

   mkdir --parents $MODULE

fi

cp *.ko $MODULE

#

# HACK: (I think) Need to support kernel other than the one in use

#

depmod -a

#************************************************************

# end

#************************************************************

#

# HACK:

# Still need to process the X{Free86,org} config file

# Still need to register the order of module loading

```

Hopefully it will be of some use for you. 

I also welcome any contibution.

-ph

Oooo and in this age of legal responsability:

I dont pretend this script does anything good.

If it does anything, whatever it is, including nothing at all, I'm not responsible about it.[/code]

----------

## salivian

Apparently the current 2D driver is problematic.  I keep getting a screen init error ....

Try checking out CVS of xc around Nov/Dec 2004.

----------

## cami

 *b0fh wrote:*   

> As xorg-6.8.1.901 is in portage now, I tried building it with "insecure-drivers" in USE (this should build savage and other drivers). I get a savage_dri.so, but no savage.ko as kernel module. How can I use savage-dri now?

 

The DRM kernel modules are kept in the x11-drm package.

----------

## cami

```
(EE) SAVAGE(0): [dri] SAVAGEDRIScreenInit failed because of a version mismatch.

[dri] savage.o kernel module version is 1.0.0 but version 2.0.x is needed.
```

Does anyone know how to get this fixed? I could not find a 2.0.x version of the DRM module anywhere. There is a savage-2-0-0-branch of DRM, but it only contains version 1.0.0 (!) of savage.ko:

```
[drm] Initialized savage 1.0.0 20011023 on minor 0: ProSavage KN1338
```

I made sure that the savage-2-0-0-branch module was compiled and loaded. The DRI driver (savage_dri.so)  is CVS head, the DRM driver (savage.ko) is CVS savage-2-0-0-branch (same thing with head as well).

Thank you for any help,

Carsten

P.S. Please ask if additional info is needed.

----------

## salivian

The 2D driver in insecure-driver in the lastest stable gentoo tree is NOT dri aware.  even the _dri.so is bulit, DRI will not be enabled.

----------

## salivian

The latest DRI cvs change all .o and .a's to .so, it seems that the installation procedure might have changed from the building Wiki.

I have not managed to figure that out.  I got some noXFreeDRI... error when loading libdri.so

Does anybody have an idea ?

----------

## salivian

Ok ok ... looks like the new CVS has changed a lot of stuffs.  but it doesn't work with 6.8.0-r4 at all.

my noXFreeDRI... error can be fixed by copying the Xorg executable over.

savage module > 2.x can be found in the linux-core directory. just make savage.o copy over savage.ko and drm.ko.

at this point you should get an X that is DRI enable, but ... glxgears crashes on me ...

I feel I'd better wait for the new release.

----------

## dark.elixir

I just installed Xorg, DRM, and Mesa following the "DRI Building" instructions.

I had to remove every *.a file from /usr/X11R6/lib/ and its subfolders to get Xorg running (it were complaining about a lot of "undefined symbols").

But now I got a bigger problem... every OpenGL application crashes!!!!!.

Please, help.

----------

## bodymind

```
$ dmesg | grep drm

[drm] Initialized drm 1.0.0 20040925

Error registering drm major number.

[drm] Used old pci detect: framebuffer loaded

```

this is the only error that i can found.. that i think influences DRI: NO! =(

i'm so tired of searching around.. and nothing works..  bah.. =|

my  S3 Inc. VT8375 [ProSavage8 KM266/KL266] don't want to dri!  :Sad:  can anyone help? please! 

 :Crying or Very sad: 

----------

## salivian

Ok ...  here is the answer to the new savage driver from the mailing list.  

http://marc.theaimsgroup.com/?l=dri-users

1. Use the latest xorg-x11 test release ~x86 in portage with USE="dlloader" (else there might be symbol errors)

2. follow http://dri.freedesktop.org/wiki/Building for getting CVS dri

3. after make install and copying relevant dri files (ATTN: defaults are now *.so NO MORE *.a (this is why you need dlloader))

4. "make savage.o" in drm/linux-core NOT linux-2.6, copy *.ko to the kernel modules dir. (drm.ko, savage.ko)

5. Add  Option "ShadowStatus" "true" to the driver options in xorg.conf like this

```

Section "Device"

        Identifier "SuperSavage"

        Driver "savage"

        Option "ForceInit" "yes"

        Option "AGPMode" "4"

        Option "ShadowStatus" "true"

EndSection

```

if using SuperSavage (like myself, IBM T23)

use driconf to disable "enable_vdma"

http://dri.freedesktop.org/wiki/DriConf

or

hand hack /etc/drirc

```

<driconf>

    <device screen="0" driver="savage">

        <application name="all">

            <option name="enable_vdma" value="false" />

        </application>

    </device>

</driconf>

```

----------

## AIgor

I recommend to compile cvs tree to obtain direct rendering, as reported in the previus post... BTW if you want to use binaries:

1- In any case you should compile the latest ~86 release of xorg-x11 (without dlloader use option) if you want to install last binaries.

2- Download last "common" and "savage" packages (same release) from:

http://dri.freedesktop.org/snapshots/

in the same directory.

3- Unpacked the packages and change in dripkg directory

4- Launch install.sh script and confirm all the questions

5- After reboot look if you have the right version (2.0.0) of the savage driver with the command "LIBGL_DEBUG=verbose glxinfo | grep savage"

@salivian: is opengl-update still bother for the install script of cvs, or you can leave out the manual installation? Can you compile cvs with -fPIC option?

@all: this thread is becaming difficult to read. Perhaps someone has time for rewrite and maintain a new howto....   :Wink: 

----------

## salivian

yeah. the opengl-update thingy is still problematic

to resolve that:

cp /usr/lib/libGL.so.1.2 /usr/lib/opengl/xorg-x11/lib/

cp /usr/lib/modules/extensions/libglx.so /usr/lib/opengl/xorg-x11/extensions/

----------

## mlybarger

AIgor: i tried your suggestion, and got some error about noXFree86DRIExtension symbol. the server came up but no dri.  btw, i'm not exactly using the Savage driver, i'm using the via.  i have a via S3 UniChrome] Integrated Video card on my lappy. using the binary via driver gives worse perf in glxgears than using vesa driver.  i've had this lappy for about a year almost and have used vesa on it because i couldn't get via driver ever to work.

now, i'm ready to give it a go.

----------

## AIgor

Uhm... Look if libraries were installed in right places, and give me more informations about errors in your logs.

----------

## salivian

noXFree86DRIExtension is related to your /usr/X11R6/bin/Xorg binary in my experience.

You need at least the ~x86, if not CVS, Xserver or Xorg binary, try nm your Xorg and look for that symbol.

----------

## masterinferno

Hi !

I've got a desperate problem with my Shuttle SK41G (ProSavageDDR integrated to the main board)

```
VGA compatible controller: S3 Inc. VT8375 [ProSavage8 KM266/KL266]
```

(I followed the method with CVS, it gave me symbol errors...)

So I tried with binaries, and now there is a big glitch in the display:

When I launch GDM, the text in a GTK box disappears when the cursor goes over it.  :Rolling Eyes: 

And when I launch my session, X seems to be crashed: the cursor is broken, and the display is getting mad... I've got the latest ~x86 xorg-x11, and my xorg.conf seems to be good. (GLX, DRI are activated, so as the 0666 section)

Please help me   :Sad:   thanks

Little question: My kernel is configured with only AGP support [*] since the compiled drm and savage modules will do the 3D and the display. The modules made with install.sh script are in the /usr/lib/modules/..... Do I have to load them in /etc/modules.autoload.d/kernel-2.6 ?

----------

## salivian

In my experience .... No.

I even compile everything as modules (agp savage etc ), the xserver should make a access request to your pci bus then the kernel should load the modules properly.

for you CVS symbol problem.

did you have dlloader in USE and did a make install after the server is built ?

CVS builds .so's by default.

----------

## masterinferno

Yes, the first time I tried, I emerged with +dlloader and +opengl but I gave up with this method..   :Embarassed: 

I remember, when I tried this method, I reboot a first time..No glitches ! but glxinfo said me "no opengl"...  :Sad:  (in spite of the 0666 section)

So I put the modules in /etc/modules.autoload.d/kernel-2.6, I reboot, and then it began to crash my display.

So I removed the modules from this file, and it changed nothing (crash+glitches)..

And then I tried with the binaries, without dlloader...which is my actual x.org (with vesa driver  :Confused: )

No, I didn't remember I made a "make install" after the server built..you mean the dri cvs ?(my x.org is not from cvs, it's a ~x86)

I'm going to make a last try with this..and if it gives me bad results, I think I will give up..

Thank you a lot !   :Crying or Very sad: 

----------

## salivian

There are 3 thing that you need from CVS

1. xc (which is really xorg, but dri folks provided a minimal build config)

2. Mesa (provides DRI driver)

3. drm (Modules)

disregard you have the latest ~x86(6.8.2) or not, you still need to bulid things from CVS (including xc) according to http://dri.freedesktop.org/wiki/Building.

The current 6.8.2 comes with a Savage 3D DRI modules but without a Savage DDX 2D DRI aware driver.  So that driver must be bulit from CVS as well.

The symbol error should be related to the version of /usr/bin/Xorg.  there is an Xorg in extras/ in the binary snapshot server.

----------

## Gullible Jones

Ummm... aren't Mesa and x11-drm (both with Savage support) in Portage right now?

----------

## salivian

To my knowledge ... No...

Xorg 6.8.2 comes with a DRI unaware 2D driver and a DRI module ( ie useless...)...

so all 2D and (Mesa) DRI drivers need to be bulit from CVS.

----------

## Gullible Jones

Mesa

x11-drm

The only problem would be the 2D drivers, you would have to build those from CVS AFAIK.

----------

## RoadRunner

http://www.gentoo.org/doc/en/dri-howto.xml#doc_chap5

I believe salivian is correct, since I tried the mesa and x11-drm packages with ~x86 and no dri on my savage MX. Don't know about the hard masked versions though.

----------

## Gullible Jones

Yep... You're right.

(Hmm... Why are the current version of DRM and the only available Mesa ebuild hard masked?  :Confused:  )

----------

## RoadRunner

That's easy to reply =)

Check /usr/portage/profiles/package.mask:

```

# <battousai@gentoo.org> (06 Jan 2005)

# Needs testing before release.

=x11-base/x11-drm-20050104

```

```

# Only use the mesa and mesa-glu provided with x11-base/xfree,

# as the external ones gives problems in most cases with DRI/DRM.

# Nvidia users do not use it anyhow, and tdfx users report that

# it works fine with the mesa included with xfree.  If you do

# unmask these, make sure that you know what you are doing, and

# know that if anything breaks, then you get to keep the pieces.

#

# azarah (26 May 2002)

>=media-libs/mesa-3.0

>=media-libs/mesa-glu-3.0

>=media-libs/sgi-oss-glu-1.0

```

----------

## firephoto

Ok I'm trying to get better performance with X on my thinkpad 20 so I need dri-drm I suppose and the instructions here seem to be chaning as the weeks pass so I need a little help.

I have xorg-x11-6.8.2. emerged and x11-drm-20050104 but as I've come to the conclusion my system is still using the Xorg dri and drm. I'm re-emerging xorg-x11 with the "insecure-drivers" option now since I saw that mentioned above and it mentions savage in the use.desc but I'm pretty sure I need more.

```

x11-base/xorg-x11-6.8.2  -3dfx -3dnow +bitmap-fonts -cjk -debug -dlloader -dmx -doc +font-server -hardened +insecure-drivers* -ipv6 -minimal +mmx +nls +opengl +pam -sdk +sse -static +truetype-fonts +type1-fonts (-uclibc) +xprint +xv

```

I downloaded the latest binaries that AIgor mentioned and I DON'T have the dlloader use flag set so I'm planning on trying that method like he described at the end of the last page of this thread. Any issues I'll have doing that? Anything else to do?

I have "CONFIG_DRM=y" in my kernel, is this needed still? The instructions were kind of old where I read this was needed.

----------

## firephoto

I got it working finally.

I removed x11-drm, followed the gentoo guide for that, went to the dri cvs guide and followed that for a binary install from a snapshot. Installed the Xorg and the modules binary packages (once I had a lesson in where xorg gets emerged to now), installed the "common" package, installed the "savage" package. I'm not sure if I need to really install them like I did or just copy the modules to their proper homes but I used the install.sh script with both and it worked. When I first tried it the system locked up and was stuck, magic-sysrq was no help so I powered off and started back up searching for clues. Made sure the proper modules were loading (I have a savage.ko in 2 places) and the proper ones were loading. Did some more lookin and grep'n and finally just tried it and it worked. Agp was set to 1x at first but I got the set in my xorg.conf to 2x now. Way better than before, no more cpu load from moving the pointer around.  :Smile: 

I'm getting this with a default glxgears window.

```

1845 frames in 5.0 seconds =  369.000 FPS

```

This is on an IBM Thinkpad T20, S3 Inc. 86C270-294 Savage/IX-MV (rev 17).

Will it be possible in the future to build the 3D dri-drm drivers with the xorg-x11 ebuild in the future? If not maybe an ebuild that could fetch, build, install the necessary parts for the savage drivers from the latest binary snapshots.

Also yesterday the errors I was getting when I was getting errors and not lockups or superslow mode were version mismatch ones so apparently part of 6.8.2 isn't compatible with the cvs parts?

----------

## Beleaguered

Do the cvs builds of xorg-x11 and xorg-drm from fluidportage work? I'd still need a meas from cvs, right?

----------

## salivian

One question is "Do you want a complete CVS of X?"

Current DRI-cvs building instructions just bulid a minimal Xserver with updated 2D drivers and OpenGL libs , no fonts and special extensions.

I think the DRI folks just don't want to touch (DRI unnecessary) X components that are stable.

----------

## firephoto

I can't get the savage.ko module to load after updating my kernel to 2.6.11-ck1. I get these errors.

```

kobject_register failed for drm (-17)

 [<c02540cb>] kobject_register+0x5b/0x70

 [<c012fa01>] mod_sysfs_setup+0x51/0xc0

 [<c0130d92>] load_module+0x962/0xa70

 [<c0130f08>] sys_init_module+0x68/0x240

 [<c0103139>] sysenter_past_esp+0x52/0x75

savage: Unknown symbol drm_get_resource_len

savage: Unknown symbol drm_get_dev

savage: Unknown symbol drm_get_resource_start

savage: Unknown symbol drm_cleanup_pci

savage: Unknown symbol drm_initmap

```

*edit

I had CONFIG_DRM=y in my kernel, removing it allows the savage module to load again.

edit*Last edited by firephoto on Wed Mar 09, 2005 7:12 pm; edited 1 time in total

----------

## odocoileus

Ok, I read these five pages, and I have no clue, can someone break it down for me?  Please?  Someone linked to http://www.gentoo.org/doc/en/dri-howto.xml#configure_xorg  and I followed it, but it didn't work.  After reading more, I am under the impression that I need more current versions?  If so do I need to remove just the xorg-drm, or X altogether?  Do I just follow the instructions on http://dri.freedesktop.org/wiki/Building?  And finally,  I didn't see anyone mention the savage drivers under i2c hardware in the kernel config,  should I use that or not?   And if so, which one...One lists the supported chip as '...8365...aka savage4' (the numbers match my lspci) the other one says it supports savage4... how confusing is that?

----------

## odocoileus

 *AIgor wrote:*   

> I recommend to compile cvs tree to obtain direct rendering, as reported in the previus post... BTW if you want to use binaries:
> 
> 1- In any case you should compile the latest ~86 release of xorg-x11 (without dlloader use option) if you want to install last binaries.
> 
> 2- Download last "common" and "savage" packages (same release) from:
> ...

 

OK, you say not to use USE="dlloader"?  So, starting with a botched attempt following the instructions at http://dri.freedesktop.org/wiki/Building, do I 'emerge xorg-x11-6.8.2-r1'? then return to http://dri.freedesktop.org/wiki/Building and start from the top again there?  Since I have already done this a couple times now, is there anything I should remove first?  Or will it be fine just reinstalling?

----------

## firephoto

I got the drm and savage module working with 2.6.11, I had CONFIG_DRM=y selected in my kernel.

odocoileus:

I just have the latest xorg-x11 from portage installed then I use the drm instructions and install the the drm enabled xorg X server over the emerged one and then build the drm and savage modules.

http://dri.freedesktop.org/wiki/Building is the way to do it, you can use the snapshots though if you don't want to build all the parts. I used the files from 

http://dri.freedesktop.org/snapshots/extras/ instead of building those.

I wish there was an ebuild that wrapped all the necessary things together so it  would be just a simple "emerge savage-drm" and you'd get the proper X server, mesa, drm, and savage parts. I guess when xorg gets split into pieces it won't be such an issue and maybe an ebuild will work better then.

----------

## dom_

edit : i am using an omnibook xe3gc with  S3 Inc. 86C270-294 Savage/IX-MV rev 19

I did not succeed having dri with xorg-x11 6.8.2-r1 and x11-drm 20050104 nor with latest cvs of dri.

But the snapshot from http://dri.freedesktop.org/snapshots/savage-20050225-linux.i386.tar.bz2 did it.

glxinfo

name of display: :0.0

display: :0  screen: 0

direct rendering: Yes

So dri is working with this snapshot, the xorg-x11 and gentoo-dev-source from portage.

I just have questions for the use flags to build xorg. What are dlloader, dmx for ?

Second question is about the doc flag, what the extra doc contains ?

and the last one is for USE_INPUT_DEVICES flag, are this flags used in the build process as i

will need his wacom functionnality ?

here is my uses :

equery uses xorg-x11

[ Searching for packages matching xorg-x11... ]

[ Colour Code : set unset ]

[ Legend    : Left column  (U) - USE flags from make.conf              ]

[           : Right column (I) - USE flags packages was installed with ]

[ Found these USE variables for x11-base/xorg-x11-6.8.2-r1 ]

 U I

 - - 3dfx             : Adds support for 3dfx video cards to XFree86. See: voodoo3

 - - 3dnow            : Adds support for 3dnow multimedia processor instructions

 + + bitmap-fonts     : <unknown>

 - - cjk              : Adds support for Multi-byte character languages (Chinese, Japanese, Korean)

 - - debug            : Tells configure and the makefiles to build for debugging. Effects vary across packages, but generally it will at least add -g to CFLAGS. Remember to set FEATURES=nostrip too

 - - dlloader         : <unknown>

 - - dmx              : <unknown>

 - - doc              : Adds extra documentation (API, Javadoc, etc)

 + + font-server      : <unknown>

 - - hardened         : activate default security enhancements for toolchain (gcc, glibc, binutils)

 - - insecure-drivers : <unknown>

 + + ipv6             : Adds support for IP version 6

 - - minimal          : Install a very minimal build (disables, for example, plugins, fonts, most drivers, non-critical features)

 + + mmx              : Adds support for optimizations for Pentium MMX and Athlon class processors

 + + nls              : <unknown>

 + + opengl           : Adds support for OpenGL

 + + pam              : <unknown>

 - + sdk              : <unknown>

 + + sse              : fast floating point optimization for PentiumIII+ class chips

 - - static           : !!do not set this during bootstrap!! Causes binaries to be statically linked instead of dynamically

 + + truetype-fonts   : <unknown>

 + + type1-fonts      : <unknown>

 - - uclibc           : Enable uclibc specific patches and build or link uclibc

 - - xprint           : Support for xprint, http://www.mozilla.org/projects/xprint/

 + + xv               : Adds in optional support for the Xvideo extension (an X API for video playback)

 - - debug            : Tells configure and the makefiles to build for debugging. Effects vary across packages, but generally it will at least add -g to CFLAGS. Remember to set FEATURES=nostrip too

@+

dom

----------

## salivian

I guess the experience is similar.

the current DRI,xc ...  10-Mar-2005 does not work....

2005-02-18 works fine for me 

add -D 2005-02-18 to cvs command will set the time tag.

----------

## AIgor

Uhm... The current cvs version (installed on 9-mar-2005) works for me... also the new option DmaMode... I should write here the installation steps, but now I must work  :Evil or Very Mad:  . Wait me...

----------

## AIgor

DISCLAIMER: This is not a HOW-TO. Some users are confused about the last changes in dri cvs code, then I want to describe the steps I used to install it. This "works for me" on Acer Aspire 1200 series, you can use it by modifications but I can't guarantee what success you have and I'm not responsible if you damage your config, your data or your hardware. This method is based on this page:

http://dri.freedesktop.org/wiki/Building

and I omitted some things (libraries backup, etc.) but don't forget to use it.

Requirements: You must have masked version (~x86) of x11-base/xorg-x11 and x11-base/opengl-update and xorg must be compiled with activated dlloader use. You also must have kernel source in /usr/src. Some steps are specific for my system:

```

VGA compatible controller: S3 Inc. 86C380 [ProSavageDDR K4M266] (rev 02)

Portage 2.0.51.19 (default-linux/x86/2004.0, gcc-3.4.3-20050110, glibc-2.3.4.20050125-r0, 2.6.10-gentoo-r6 i686)

=================================================================

System uname: 2.6.10-gentoo-r6 i686 Intel(R) Celeron(TM) CPU                1300MHz

Gentoo Base System version 1.4.16

ACCEPT_KEYWORDS="x86"

CFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer"

CHOST="i686-pc-linux-gnu"

CXXFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer -fvisibility-inlines-hidden"

USE="x86 X X509 aalib acpi acpi4linux alsa apache2 apm arts audiofile avi berkdb bitmap-fonts cdparanoia cdr chroot crypt cups curl dga directfb distcache divx4linux dlloader dmx dvb dvd dvdread edl emacs emboss encode escreen esd etwin exif faac fam fbcon fbdev fftw flac font-server foomaticdb fortran fs ftp gdbm gif gnome gphoto2 gpm gstreamer gtk gtk2 imagemagick imlib imlib2 ipv6 ithreads java jpeg kde libcaca libg++ libwww live mad mailwrapper mbox mikmod mime mmx mmx2 modelock motif mozilla moznoirc moznomail mozp3p mozsvg mp3 mpeg mysql ncurses need nls nptl ntlm offensive oggvorbis opengl opens oss pam pcmcia pdflib perl php pic pie png posix python qt quicktime readline real rtc samba scanner sdl sftplogging sharedmem slang smime speedo speex spell sse sse2 ssl svg svga tcpd tetex tga tiff truetype truetype-fonts type1 type1-fonts unicode usb userlocales v4l2 vda vdesktop vhosts virus-scan wmf xanim xml xml2 xmms xosd xpm xprint xv xvid xvmc zlib linguas_it"

```

1- Getting the CVS trees:

get sources in the same directory; I used /root/tmp

```

cd /root/tmp

cvs -d:pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg login 

cvs -z3 -d:pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg co xc 

cvs -d:pserver:anonymous@cvs.freedesktop.org:/cvs/mesa login 

cvs -z3 -d:pserver:anonymous@cvs.freedesktop.org:/cvs/mesa co Mesa

cvs -d:pserver:anonymous@cvs.freedesktop.org:/cvs/dri login

cvs -z3 -d:pserver:anonymous@cvs.freedesktop.org:/cvs/dri co drm

```

2- Preparing xorg build:

```

cd /root/xc/config/cf

wget http://freedesktop.org/~fxkuehl/host.def

```

edit /root/tmp/config/cf/host.def and change these lines:

```

#define XF86CardDrivers savage

#define DefaultGcc2i386Opt -O2 -gstabs+ -pipe <add other compiler options if you want>

```

You can choose what compiler options you want; I tested "-gstabs+ -march=pentium3 -O3 -pipe -fomit-frame-pointer" with success. DON'T USE -fPIC (for now).

Then:

```

cd /root/tmp/xc

wget http://freedesktop.org/~fxkuehl/buildtools.patch

patch -p0 < buildtools.patch

```

3- Compiling and installing xorg:

```

make World

```

and if there were no errors, 

```

make install

```

4- Libraries switching:

in Gentoo systems, libraries are not in usual places. You should change some locations:

```

mv /usr/lib/libGL.so.1.2 /usr/lib/opengl/xorg-x11/lib

rm /usr/lib/libGL.so*

ln -s /usr/lib/opengl/xorg-x11/lib/libGL.so /usr/lib/libGL.so

cp /usr/lib/modules/extensions/libglx.so /usr/lib/opengl/xorg-x11/extensions

ldconfig

```

in order to use prelink, AFTER installation recompile xc with this line in host.def:

#define DefaultGcc2i386Opt -gstabs+ -pipe <other options> -fPIC

and copy ONLY libGL.so.1.2 :

```

cp exports/lib/libGL.so.1.2 /usr/lib/opengl/xorg-x11/lib

ldconfig

```

5- Building and installing Mesa drivers

```

cd /root/tmp/Mesa

```

append these line to configs/linux-dri-x86 file (or to the right file for your hardware)

```

DRM_SOURCE_PATH = /root/tmp/drm

    OPT_FLAGS = <compiler options, see your previous options>

    SRC_DIRS = mesa

    DRI_DIRS = dri_client savage

```

and then:

```

make linux-dri-x86

```

and if there were no errors:

```

cp lib/savage_dri.so /usr/X11R6/lib/modules/dri

```

6- Building and installing DRM

For 2.6 kernel series:

```

cd /root/tmp/drm/linux-core

make LINUXDIR=/usr/src/linux DRM_MODULES="savage"

```

and if there were no errors:

```

mkdir /lib/modules/$KERNEL/kernel/drivers/char/drm

cp savage.ko /lib/modules/$KERNEL/kernel/drivers/char/drm

cp drm.ko /lib/modules/$KERNEL/kernel/drivers/char/drm

depmod -a

```

7- Finishing up:

Finally, you can modify your xorg.conf to use dri. My sistem runs well with these options:

```

<snip>

Section "Module"

        Load  "bitmap"

        Load  "ddc"

        Load  "int10"

        Load  "dbe"

        Load  "vbe"

        Load  "extmod"

        Load  "glx"

        Load  "dri"

        Load  "record"

        Load  "xtrap"

        Load  "freetype"

        Load  "type1"

EndSection

<snip>

Section "Device"

        Option      "AGPMode"   "4"

        Option      "HWCursor"  "True"

        Option      "UseBIOS"   "False"

        Option      "ShadowStatus"  "False"

        Option      "DmaMode"   "Any"

        Option      "ForceInit" "Yes"

        Identifier  "savage"

        Driver      "savage"

        VendorName  "S3 inc."

        BoardName   "savage"

        BusId       "PCI:1:0:0"

        VideoRam    32768

EndSection

<snip>

Section "dri"

        Mode         0666

EndSection

```

DmaMode is a new driver option, values can be "Any", "Command", "Vertex", "None". "Any" attempts to use Command DMA as first, then Vertex DMA. I've obtained this results with glxgears: 317 (None), 318 (Vertex), 321 (Command) and 321 (Any). This option doesn't work for Savage IX/MX.

After X server restarting, if it doesn't work, play with driver options, especially ShadowStautus (with previous installations my system worked with "True" value, now only with "False" value).

Good luck!

----------

## salivian

Thanks, I will try and look at the new options from the dri-users lists.

I think a lot of user who found the current cvs "not working" is using a supersavage IX (it's on IBM T2x, including myself)

Thanks for the effort once again  :Smile: 

----------

## odocoileus

Thankyou for laying it out, I do appreciate it,  however my journey is not over yet.  Still no direct rendering here.

```
bash-2.05b$ glxinfo|grep render

direct rendering: No

OpenGL renderer string: Mesa GLX Indirect

```

```

bash-2.05b$ cat /var/log/Xorg.0.log|grep -w EE

        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

        (EE) SAVAGE(0): DRI isn't enabled

        (EE) SAVAGE(0): Direct rendering disabled

        
```

but, earlier in the log file, it looks like dri gets loaded...

```

        (II) LoadModule: "dri"

        (II) Loading /usr/X11R6/lib/modules/extensions/libdri.so

        (II) Module dri: vendor="X.Org Foundation"

                compiled for 6.8.1.99, module version = 1.0.0

                 ABI class: X.Org Server Extension, version 0.2

         (II) Loading sub module "drm"

          (II) LoadModule: "drm"

          (II) Loading /usr/X11R6/lib/modules/linux/libdrm.so

          (II) Module drm: vendor="X.Org Foundation"

                   compiled for 6.8.1.99, module version = 1.0.0

                    ABI class: X.Org Server Extension, version 0.2

           (II) Loading extension XFree86-DRI

                                        
```

This section is sort of  repeated...I thought it seemed suspicious

first here

```
(II) Loading sub module "int10"

(II) LoadModule: "int10"

(II) Loading /usr/X11R6/lib/modules/linux/libint10.so

(II) Module int10: vendor="X.Org Foundation"

        compiled for 6.8.1.99, module version = 1.0.0

        ABI class: X.Org Video Driver, version 0.7

(II) SAVAGE(0): initializing int10

(II) SAVAGE(0): Primary V_BIOS segment is: 0xc000

(II) SAVAGE(0): VESA BIOS detected

(II) SAVAGE(0): VESA VBE Version 3.0

(II) SAVAGE(0): VESA VBE Total Mem: 32768 kB

(II) SAVAGE(0): VESA VBE OEM: S3 Incorporated. Savage2000

(II) SAVAGE(0): VESA VBE OEM Software Rev: 2.0

(II) SAVAGE(0): VESA VBE OEM Vendor: S3 Incorporated.

(II) SAVAGE(0): VESA VBE OEM Product: Savage2000

(II) SAVAGE(0): VESA VBE OEM Product Rev: Rev C

(--) SAVAGE(0): Chip: id 9102, "Savage2000"

(--) SAVAGE(0): Engine: "Savage2000"

(--) SAVAGE(0): AGP card detected

(==) SAVAGE(0): Using AGP DMA

(**) SAVAGE(0): Will try command and vertex DMA mode

(**) SAVAGE(0): Using AGP 4x mode

(==) SAVAGE(0): Using 16 MB AGP aperture

(II) SAVAGE(0): mapping MMIO @ 0xe1000000 with size 0x80000

(==) SAVAGE(0): Using gamma correction (1.0, 1.0, 1.0)

(**) SAVAGE(0): videoram =  32768k

```

and again here, but different

```
(II) Loading sub module "int10"

(II) LoadModule: "int10"

(II) Reloading /usr/X11R6/lib/modules/linux/libint10.so

(II) SAVAGE(0): initializing int10

(II) SAVAGE(0): Primary V_BIOS segment is: 0xc000

(II) SAVAGE(0): VESA BIOS detected

(II) SAVAGE(0): VESA VBE Version 3.0

(II) SAVAGE(0): VESA VBE Total Mem: 32768 kB

(II) SAVAGE(0): VESA VBE OEM: S3 Incorporated. Savage2000

(II) SAVAGE(0): VESA VBE OEM Software Rev: 2.0

(II) SAVAGE(0): VESA VBE OEM Vendor: S3 Incorporated.

(II) SAVAGE(0): VESA VBE OEM Product: Savage2000

(II) SAVAGE(0): VESA VBE OEM Product Rev: Rev C

(--) SAVAGE(0): mapping framebuffer @ 0xe4000000 with size 0x2000000

(==) SAVAGE(0): Write-combining range (0xe4000000,0x2000000)

(II) SAVAGE(0): Splitting WC range: base: 0xd4000000, size: 0x5000000

(==) SAVAGE(0): Write-combining range (0xd8000000,0x1000000)

(==) SAVAGE(0): Write-combining range (0xd4000000,0x5000000)

(II) SAVAGE(0): map aperture:0xb08f8000

(--) SAVAGE(0): Shadow area physical e5fdffe0, linear 0xb78d7fe0

(EE) SAVAGE(0): DRI isn't enabled

(--) SAVAGE(0): Chose mode 117 at 60Hz.

(II) SAVAGE(0): Using 1280 lines for offscreen memory.

(II) SAVAGE(0): Using XFree86 Acceleration Architecture (XAA)

```

In my xorg.conf, I tried it with load "int10" and without, no chnage.

----------

## AIgor

@salivian: What's the problem, exactly?

@odocoileus: From your Xorg.0.log

```

(II) SAVAGE(0): VESA VBE OEM: S3 Incorporated. Savage2000 

```

I think savage driver doesn't support your card. See http://dri.freedesktop.org/wiki/S3Savage?action=highlight&value=CategoryHardware

----------

## salivian

X/machine crashes on all GL apps like glxgears.

the screen starts showing defective images, mouse pointer stop functioning, then the fonts on console(not X) also got mess up.

My feeling is the driver wrote something wrong into the framebuffer.

the log was fine nothing was reported.

----------

## AIgor

 *salivian wrote:*   

> the log was fine nothing was reported.

 

In my experience, when logs are ok, driver options are guilty. Felix Kuehl reported problems with ShadowStatus option but problem can be other. Try to change option values (one for time).

 *salivian wrote:*   

> My feeling is the driver wrote something wrong into the framebuffer.

 

And if you start with framebuffer disabled?

----------

## salivian

"Framebuffer"

I was refering to the framebuffer on the hardware.

anyway I will do more testing.

----------

## bodymind

Hi, i've done Algor How-to, my Xvinfo now works and i can see movies in full-screen!  :Very Happy:  but i can't get DRI working.. here's some logs:

dmesg  | grep drm :

```
[drm] Initialized drm 1.0.0 20040925

[drm] Initialized savage 2.4.1 20050313 on minor 0: S3 Inc. VT8375 [ProSavage8 KM266/KL266]

[drm] Used old pci detect: framebuffer loaded

```

cat /var/log/Xorg.0.log | grep dri

```
        X.Org XInput driver : 0.4

(II) LoadModule: "dri"

(II) Loading /usr/X11R6/lib/modules/extensions/libdri.a

(II) Module dri: vendor="X.Org Foundation"

(II) Loading /usr/X11R6/lib/modules/drivers/savage_drv.o

        ABI class: X.Org XInput driver, version 0.4

        ABI class: X.Org XInput driver, version 0.4

(II) SAVAGE: driver (version 1.1.27t) for S3 Savage chipsets: Savage4,

```

cat /var/log/Xorg.0.log | grep error

```
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.

```

Help..please.. =| i want to play!

----------

## dmvianna

Hi. I'm considering joining xorg's CVS club as well, but I work with my computer, so here's my question. Has any of you felt the unstability of your CVS xorg in terms of bugs, breakages, glitches or any distressing event at all?  :Rolling Eyes: 

Responses would be greatly appreciated.  :Very Happy: 

----------

## dmvianna

OK, that's the situation:

```
$ cat /var/log/Xorg.1.log | grep SAVAGE

<snip>

(II)SAVAGE(0): Direct rendering enabled
```

```
$ glxinfo | grep direct

direct rendering: No

OpenGL renderer string: Mesa GLX Indirect
```

Do anyone of you have an explanation to that seemingly contradiction? :Confused: 

----------

## dmvianna

OK, spent the day re-reading this thread. So it looks like the CVS stuff does not work on T20s right now huh? And I started out with the binaries, but didn't got very far... OK, back to the binaries...  :Confused: 

----------

## dmvianna

I promise this is the last update, but I guess it might be useful information for the ones who are thinking about trying it on a T20.

I've installed the binaries, and it's working, that is, kinda. Sometimes it does, sometimes it doesn't. Seems that after rebooting, I have to leave X and return in order to have direct rendering. Glxgears are much faster now, but crash if I move the mouse cursor while it executes, and if I test it twice, it crashes the whole system (although the apm power button keeps working). OpenGL apps all work nicely, then crash. I guess I've got the answer to my previous question now (what does unstable means).  :Wink: 

How about the other T20s / Savage IX/MVs in this thread? Anyone was able to get it working better than I did, and how?

----------

## dmvianna

From /var/log/Xorg.1.log:

```
(II) SAVAGE(0): 4740 kB of Videoram needed for 3D; 8192 kB of Videoram available
```

To /etc/xorg.conf:

```
Option "VideoRam" "4740"
```

...And it works smoothly...  :Very Happy:   :Very Happy:   :Very Happy: 

[edit] I take it back. It works until I use an app that uses DRI (glxgears, xscreensaver, vegastrike...). They survive longer than before, though. And X crashes on exit.  :Sad: 

----------

## AIgor

@bodymind:

check your cvs installation, the right version of savage driver must be 2.0.0

 *bodymind wrote:*   

> 
> 
> ```
>  
> 
> ...

 

@dmvianna:

 *dmvianna wrote:*   

> 
> 
> Has any of you felt the unstability of your CVS xorg in terms of bugs, breakages, glitches or any distressing event at all?
> 
> 

 

My box is now very stable and all works well. Last cvs source has resolved my lockup problems with opengl screensavers (I had system freeze after about one hour of screensaver activation). If your system doesn't work with cvs version, you can ever reinstall old libraries (remember the backup of these).

 *dmvianna wrote:*   

> 
> 
> Seems that after rebooting, I have to leave X and return in order to have direct rendering.
> 
> 

 

After rebooting check if savage and drm modules are loaded with lsmod. I have similar problem with gentoo box with udev. Try to force modules loading with modules.conf.

However, as reported by salivian, the support of savage IX/MV is still problematic.

----------

## dmvianna

AIgor wrote:

 *Quote:*   

> Last cvs source has resolved my lockup problems with opengl screensavers (I had system freeze after about one hour of screensaver activation). 

 

 :Shocked:  That's exactly the problem I had, and the reason why I've just uninstalled the binaries. Hum, maybe I'll try the CVS again later. Thanks heaps for that piece of information, AIgor!  :Smile: 

----------

## dmvianna

 :Sad:   No luck with the CVS yet. It's stable, but no direct rendering. I guess I'll have to wait until it becomes stable, who knows when. Reminds me that this thread started a year ago, and back then people thought it would become stable within months...

----------

## AIgor

 *dmvianna wrote:*   

> I guess I'll have to wait until it becomes stable, who knows when.

 

If you want DRI now, compile old source.  To obtain it, use the -D option of cvs command (look previous posts). However, I think it can be helpful to check (and to take part in) the dri-users mailing list.

----------

## leks

Well I'm joining the club...

more or less, at least

I did everything algor said, well thats my shortened xorg log output: 

```

(II) SAVAGE(0): 4740 kB of Videoram needed for 3D; 8192 kB of Videoram available

(II) SAVAGE(0): Sufficient Videoram available for 3D

(II) SAVAGE(0): [drm] bpp: 16 depth: 16

(II) SAVAGE(0): [drm] Sarea 2200+284: 2484

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

[drm] failed to load kernel module "savage"

(II) SAVAGE(0): [drm] drmOpen failed

(EE) SAVAGE(0): [drm] DRIScreenInit failed.  Disabling DRI.

(EE) SAVAGE(0): DRI isn't enabled

(--) SAVAGE(0): Chose mode 117 at 60Hz.

(II) SAVAGE(0): Using 1280 lines for offscreen memory.

(II) SAVAGE(0): Using XFree86 Acceleration Architecture (XAA)

   Screen to screen bit blits

   Solid filled rectangles

   8x8 mono pattern filled rectangles

   Indirect CPU to Screen color expansion

   Solid Lines

   Image Writes

   Offscreen Pixmaps

   Setting up tile and stipple cache:

      32 128x128 slots

      12 256x256 slots

(==) SAVAGE(0): Backing store disabled

(**) Option "dpms"

(**) SAVAGE(0): DPMS enabled

(EE) SAVAGE(0): Direct rendering disabled

(WW) SAVAGE(0): Option "UseFBDev" is not used

(==) RandR enabled

```

Error Section:

```
~/tmp/drm/linux-core% cat /var/log/Xorg.0.log|grep -w EE 

   (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

(EE) Failed to load /usr/X11R6/lib/modules/extensions/libGLcore.so

(EE) Failed to load module "GLcore" (loader failed, 7)

(EE) Failed to load module "pex5" (module does not exist, 0)

(EE) Failed to load module "xie" (module does not exist, 0)

(EE) Failed to load module "speedo" (module does not exist, 0)

(EE) SAVAGE(0): [drm] DRIScreenInit failed.  Disabling DRI.

(EE) SAVAGE(0): DRI isn't enabled

(EE) SAVAGE(0): Direct rendering disabled

```

dmesg:

```

kobject_register failed for drm (-17)

 [<c025bdeb>] kobject_register+0x5b/0x60

 [<c012fba1>] mod_sysfs_setup+0x51/0xc0

 [<c0130d11>] load_module+0x7a1/0xa70

 [<c0131040>] sys_init_module+0x60/0x240

 [<c01031cf>] syscall_call+0x7/0xb

savage: Unknown symbol drm_get_resource_len

savage: Unknown symbol drm_get_dev

savage: Unknown symbol drm_get_resource_start

savage: Unknown symbol drm_cleanup_pci

savage: Unknown symbol drm_initmap

cs: IO port probe 0xc00-0xcff: clean.

cs: IO port probe 0xc00-0xcff: clean.

cs: IO port probe 0x800-0x8ff: clean.

cs: IO port probe 0x800-0x8ff: clean.

cs: IO port probe 0x100-0x4ff: excluding 0x4d0-0x4d7

cs: IO port probe 0x100-0x4ff: excluding 0x4d0-0x4d7

cs: IO port probe 0xa00-0xaff: clean.

cs: IO port probe 0xa00-0xaff: clean.

```

well the modules dont even seem to load..

now, what COULD be wrong?  :Confused: 

help would be greatly appreciated.. :Sad: 

----------

## AIgor

What kernel version do you have? Has the kernel been compiled with DRM support? Try to recompile it without this support (and then the cvs drm source again).

----------

## leks

 *AIgor wrote:*   

> What kernel version do you have? Has the kernel been compiled with DRM support? Try to recompile it without this support (and then the cvs drm source again).

 

most recent CKsources = 

Linux stella 2.6.11-ck3 #2 Tue Mar 29 22:47:46 CEST 2005 i686 Pentium III (Coppermine) GenuineIntel GNU/Linux

nah kernel DRM is disabled  :Confused:  ..

----------

## AIgor

Uhmm... According to dri-users mailing list, I think problems are depending by different kernel and cvs modules version. Be sure that you compile modules in linux-core directory and the path of kernel source is right. Both savage.ko and drm.ko must be copied, and don't forget to do depmod -a. Are kernel and cvs modules compiled with the same version of gcc?

----------

## leks

 *AIgor wrote:*   

> Uhmm... According to dri-users mailing list, I think problems are depending by different kernel and cvs modules version. Be sure that you compile modules in linux-core directory and the path of kernel source is right. Both savage.ko and drm.ko must be copied, and don't forget to do depmod -a. Are kernel and cvs modules compiled with the same version of gcc?

 

jup jup jup jup

i've done everything as mentioned by you and the wiki

im not the only one with that problem, as far as i could see in the dri-user mailinglist.. 

 :Neutral: 

----------

## dmvianna

 :Very Happy:  The last development snapshot WORKS for me!!!  :Very Happy:  And I didn't even had to substitute the Xorg server...

----------

## firephoto

 *dmvianna wrote:*   

>  The last development snapshot WORKS for me!!!  And I didn't even had to substitute the Xorg server...

 

So you're saying that the latest dri-drm snapshot works with the plain old xorg-x11 that's emerged by portage? And if that's a yes can you post your "emerge xorg-x11 -vp" results please.

----------

## dmvianna

```

These are the packages that I would merge, in order:

Calculating dependencies    ...done!

[ebuild   R   ] x11-base/xorg-x11-6.8.2-r1  -3dfx -3dnow +bitmap-fonts -cjk -debug +dlloader -dmx -doc +font-server -hardened +insecure-drivers +ipv6 -minimal +mmx +nls +opengl +pam -sdk +sse -static +truetype-fonts +type1-fonts (-uclibc) -xprint +xv 0 kB 

Total size of downloads: 0 kB

```

12 hours running VegaStrike and xscreensaver without a glitch now  :Laughing: 

----------

## AIgor

VIA has released source code of savage and unichrome drivers for linux! Look here:

http://linuxdevices.com/news/NS5778694249.html

http://www.via.com.tw/en/resources/pressroom/2005_archive/pr050412_driversource.jsp

----------

## margusl

yeah.. 20050411 snapshoots are working with my T20 also  :Very Happy:  ... but only in pci-mode  :Confused: 

```
x11-base/xorg-x11-6.8.2-r1  -3dfx -3dnow +bitmap-fonts -cjk -debug -dlloader -dmx -doc -font-server -hardened -insecure-drivers +ipv6 -minimal +mmx +nls +opengl +pam -sdk +sse -static +truetype-fonts +type1-fonts (-uclibc) -xprint +xv

kernel config:

# CONFIG_DRM is not set

CONFIG_AGP=m

CONFIG_AGP_INTEL=m

sh-3.00# glxinfo | grep -i opengl

OpenGL vendor string: S3 Graphics Inc.

OpenGL renderer string: Mesa DRI Savage/MX/IX 20050305 x86/MMX/SSE

OpenGL version string: 1.2 Mesa 6.3

OpenGL extensions:

sh-3.00# glxgears 

789 frames in 5.0 seconds = 157.800 FPS

1004 frames in 5.0 seconds = 200.800 FPS

1002 frames in 5.0 seconds = 200.400 FPS

```

xorg.0.log:

```
(EE) SAVAGE(0): [agp] AGP not available

(WW) SAVAGE(0): [agp] AGP failed to initialize -- falling back to PCI mode.

(WW) SAVAGE(0): [agp] Make sure you have the agpgart kernel module loaded.

```

actually the agpgart is loaded, but the intel-agp is not. as soon as i modprobe intel-agp also, X will not start - it gives me blank screen and just hangs. i tryed to compile agpgart and intel-agp into the kernel also, but startx still hangs.

wierdest of all - at some point after lot of testing, modprobing and rmmoding, i actually got it to work with 1x agp and fps was around 300. and i can't seem to figure out how i did it  :Evil or Very Mad:  arghh....

it seems that the order of loading the modules have some importance.

dmvianna, firephoto and others, who got it to work with T20, can you post your Device section of xorg.conf and give some information about agpgart and intel-agp?

----------

## El Tazar

Perhaps you still need the "dlloader" useflag as a previous post mentioned?

----------

## dmvianna

```
# modprobe agpgart

# modprobe intel-agp

$ xinit
```

This is the order. If you don't get direct rendering when first starting X, try restarting it again. It works for me. Also, don't forget to change xorg.conf, look above for details. My only option is 'Option "AGPMode" "2"'

----------

## s0Ma

hi.

just got DRI on my laptop (S3 Twister) after a few weeks of frustration. fps now are around 260-270, and everything is working fine. if anyone need any logs or anything, just tell me and i'll post them.

----------

## koprimer

I see gentoo-portage has hard masked xorg-x11-6.8.2-r2.  I have xorg-x11-6.8.2-r1 and a ProSavageDDR card...  and the last time I got DRI to work was in xfree.  The xorg-x11-6.8.2-r1 has version 1.1.27 savage drivers (shows up as Savage4).  I haven't downloaded the cvs version in so long, it seems every time I do, it either doesn't work, or it's very unstable and causes lots of problems with programs.

I don't understand what's taking so long for xorg (or even portage) to come out with the latest and greatest savage drivers along with drm and mesa.  If some of you are like me and have been dealing with DRI and savage cards for the past two years, then you're probably as sick as I am updating your X11 and then having DRI broken again.  Of course I'm not complaining either, by no means do I expect them to come out with anything...  One can only dream  :Confused: 

----------

## Motoi-Sakuraba-Milfeuille

koprimer, I feel your pain. I spent a week total trying to get this stupid stuff to work on my ProSavage DDR... and months later, xorg is up by 0.0.1, and the situation has not changed, except for VIA releasing their source. Wonder if that's in the 20050416 as I type it.

But these instructions have always worked for me: http://www.linuxquestions.org/questions/showthread.php?postid=1033836#post1033836

They worked so well, once I followed it, I was determined to make it accessible for ever, so here it is on my blog:

http://blog.efx2.com/user/randomshinichi/1782/view/4581/

I changed the site, because it moved since /bin/bash's older post. Hope it works for you guys.

EDIT: it didn't work for me... the top part of the screen was corrupted

----------

## koprimer

I'm trying out the cvs source atm and if it doesn't work, I think I'm going to wait until xorg includes dri support for savage or get a new laptop with a supported graphics card (which ever comes first in the next year or two).  If the cvs source so happens to work, then you can bet I won't update x11-xorg until it's for sure that savage is fully supported.  

Just out of curiosity, for those who have it working, did it speed up any 2D rendering?  For example, web browsing or on window repaint?  It just seems without hardware rendering on a 1GHz laptop, desktoping in linux becomes painful.

----------

## Motoi-Sakuraba-Milfeuille

I got it working once. Didn't speed up anything, although I could make glxgears run at 200fps, and Tuxracer was finally playable. But no, nothing else. 2D acceleration doesn't seem to need DRI - if you look at /var/log/Xorg.0.log, it says it enables some XFree86 Acceleration thingy, so those effects in Enlightenment seemed to be running at the fastest possible. 

If you get it working, please post! I compiled so many things with X support, links2 refused to work even in the console, because it was missing some kind of X.so. So I'm compiling it again, because I unmerged the botched DRI attempt. It works without DRI, but if you get the CVS....

BTW, as far as I can see, only 

http://lists.freedesktop.org/archives/xorg/2005-April/007446.html

and VIA's release of the source code have any hope of improving 2D speed... X somehow always feels slightly slower than a well tuned Windows machine.

----------

## firephoto

With a cvs install a few weeks ago (dri-drm X and mesa i think) and my latest ~x86 install on my thinkpad t20 I get 368 fps with glxgears and everything is nice and fast with kde. This was on top of my emerged xorg so after the next xorg update I'll just try it with just the dri-drm modules.

Here's some of my xdpyinfo for what it's worth.

```

$ xdpyinfo -display :0 -ext all

name of display:    :0.0

version number:    11.0

vendor string:    Gentoo Linux (The X.Org Foundation 6.8.2, revision r1-0.1.2)

vendor release number:    60802000

X.Org version: 6.8.2

maximum request size:  16777212 bytes

motion buffer size:  256

bitmap unit, bit order, padding:    32, LSBFirst, 32

image byte order:    LSBFirst

number of supported pixmap formats:    7

supported pixmap formats:

    depth 1, bits_per_pixel 1, scanline_pad 32

    depth 4, bits_per_pixel 8, scanline_pad 32

    depth 8, bits_per_pixel 8, scanline_pad 32

    depth 15, bits_per_pixel 16, scanline_pad 32

    depth 16, bits_per_pixel 16, scanline_pad 32

    depth 24, bits_per_pixel 32, scanline_pad 32

    depth 32, bits_per_pixel 32, scanline_pad 32

keycode range:    minimum 8, maximum 255

focus:  window 0x400007, revert to PointerRoot

number of extensions:    31

    BIG-REQUESTS

    DAMAGE

    DOUBLE-BUFFER

    DPMS

    Extended-Visual-Information

    GLX

    LBX

    MIT-SCREEN-SAVER

    MIT-SHM

    MIT-SUNDRY-NONSTANDARD

    RANDR

    RECORD

    RENDER

    SECURITY

    SGI-GLX

    SHAPE

    SYNC

    TOG-CUP

    X-Resource

    XC-APPGROUP

    XC-MISC

    XFIXES

    XFree86-Bigfont

    XFree86-DGA

    XFree86-DRI

    XFree86-Misc

    XFree86-VidModeExtension

    XInputExtension

    XKEYBOARD

    XTEST

    XVideo

default screen number:    0

number of screens:    1

screen #0:

  print screen:    no

  dimensions:    1024x768 pixels (289x217 millimeters)

  resolution:    90x90 dots per inch

  depths (7):    16, 1, 4, 8, 15, 24, 32

  root window id:    0x3f

  depth of root window:    16 planes

  number of colormaps:    minimum 1, maximum 1

  default colormap:    0x20

  default number of colormap cells:    64

  preallocated pixels:    black 0, white 65535

  options:    backing-store NO, save-unders NO

  largest cursor:    64x64

  current input event mask:    0xfa4031

    KeyPressMask             EnterWindowMask          LeaveWindowMask

    KeymapStateMask          StructureNotifyMask      SubstructureNotifyMask

    SubstructureRedirectMask FocusChangeMask          PropertyChangeMask

    ColormapChangeMask

  number of visuals:    8

  default visual id:  0x22

  visual:

    visual id:    0x22

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0x23

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0x24

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0x25

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0x26

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0x27

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0x28

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0x29

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

MIT-SHM version 1.1 opcode: 146, base event: 94, base error: 169

  shared pixmaps: yes, format: 2

XKEYBOARD version 1.0 opcode: 149, base event: 110, base error: 175

SHAPE version 1.0 opcode: 128, base event: 64

SYNC version 3.0 opcode: 131, base event: 65, base error: 128

  system counters: 1

    SERVERTIME  id: 0x0000003d  resolution_lo: 4  resolution_hi: 0

XFree86-DGA version 2.0 opcode: 136, base event: 68, base error: 145

  Base address = 0xF0000000, Width = 1024, Bank size = 8388608, RAM size = 8192k

XFree86-VidModeExtension version 2.2 opcode: 134, base error: 130

  Monitor Information:

    Vendor: Monitor Vendor, Model: LCD Panel 1024x768

    Num hsync: 1, Num vsync: 1

    hsync range 0:  31.50 -  48.50

    vsync range 0:  40.00 -  70.00

  Available Video Mode Settings:

     Clock   Hdsp Hbeg Hend Httl   Vdsp Vbeg Vend Vttl  Flags

     65.00   1024 1048 1184 1344    768  771  777  806  -hsync -vsync

     40.00    800  840  968 1056    600  601  605  628  +hsync +vsync

     25.20    640  656  752  800    480  490  492  525  -hsync -vsync

     36.00    800  824  896 1024    600  601  603  625  +hsync +vsync

     32.50    512  524  592  672    384  385  388  403  -hsync -vsync doublescan

     20.00    400  420  484  528    300  300  302  314  +hsync +vsync doublescan

     18.00    400  412  448  512    300  300  301  312  +hsync +vsync doublescan

     12.60    320  328  376  400    240  245  246  262  -hsync -vsync doublescan

  Current Video Mode Setting:

     65.00   1024 1048 1184 1344    768  771  777  806  -hsync -vsync

Xlib:  extension "XINERAMA" missing on display ":0.0".

XINERAMA extension not supported by server

Xlib:  extension "XpExtension" missing on display ":0.0".

XpExtension extension not supported by server

```

----------

## dmvianna

Well, if it's a contest, I get 404.800 fps on Fluxbox with 6 active dockapps and firefox running at the same time in my T20...  :Smile: 

As I should have said before, I have Xorg 6.8.2-r1 and 20050411 binary drivers. There are just minor issues to be fixed, really, like I have to restart X after I boot (because it doesn't work the first time X starts), and xscreensaver seems to hang when working overnight with aMule. It does not happen if I leave xscreensaver or aMule working alone. Weird.

----------

## koprimer

CVS didn't work for me, I'm sure there's lots of reasons why but for right now, it's not worth investigating since there's too many variables that depend whether it works or not.

My Findings:

SAVAGE: driver keeps saying it's loading 1.1.26  in Xorg.0.log

[drm] says it initiated savage 2.4.1 in dmesg

every module that Xorg loads has an extension ".a"... 

My suggestions:

Don't include DRM in your kernel.  I added it back a long time ago thinking the x11-drm ebuild would work...

Don't include Option "ShadowStatus" "true" unless you know you have dri working.... including this crashed my comp every time I started X

I'm open to any suggestions that anyone has that doesn't require me to recompile X (it's just not worth it atm).  Thanks.

----------

## margusl

i recompiled xorg with dloader, but still no luck. actually it got worse - no dri at all. Xorg.0.log tells me, that dri, drm, glx are loaded, but that's it - no errors, no more information, nothing. but i noticed that i have insecure_drivers flag, maybe this is my troublemaker.

there's something else - after modprobing intel-agp (which also loads agpgart) and savage, dmesg shows me:

```
Linux agpgart interface v0.100 (c) Dave Jones

agpgart: Detected an Intel 440BX Chipset.

agpgart: Maximum main memory to use for agp memory: 203M

agpgart: AGP aperture is 64M @ 0xf8000000

[drm] Initialized drm 1.0.0 20040925

PCI: Unable to reserve mem region #1:8000000@f0000000 for device 0000:01:00.0

mtrr: 0xf0000000,0x1000000 overlaps existing 0xf0000000,0x800000

mtrr: 0xf4000000,0x4000000 overlaps existing 0xf6000000,0x1000000

mtrr: 0xf0000000,0x1000000 overlaps existing 0xf0000000,0x800000

mtrr: base(0xf2000000) is not aligned on a size(0x5000000) boundary

[drm] Initialized savage 2.4.1 20050313 on minor 0: S3 Inc. 86C270-294 Savage/IX-MV

[drm] Used old pci detect: framebuffer loaded
```

is this normal?

----------

## dmvianna

```

Linux agpgart interface v0.100 (c) Dave Jones

agpgart: Detected an Intel 440BX Chipset.

agpgart: Maximum main memory to use for agp memory: 203M

agpgart: AGP aperture is 64M @ 0xf8000000

---snip---

[drm] Initialized savage 2.4.1 20050313 on minor 0: S3 Inc. 86C270-294 Savage/IX-MV

[drm] Used old pci detect: framebuffer loaded

agpgart: Found an AGP 1.0 compliant device at 0000:00:00.0.

agpgart: Putting AGP V2 device at 0000:00:00.0 into 2x mode

agpgart: Putting AGP V2 device at 0000:01:00.0 into 2x mode

```

Mine works, and I have insecure drivers.

Also, all kernel dri-related stuff I have are modules, and I've compiled i2c stuff as well.

----------

## koprimer

when I modprobed savage and via-agp, this is what I got *EDIT* and I did do this before starting X

dmesg

```

Linux agpgart interface v0.100 (c) Dave Jones

[drm] Initialized drm 1.0.0 20040925

PCI: Unable to reserve mem region #2:8000000@900000000 for device 0000:01:00.0

mtrr: base(0x92000000) is not aligned on a size(0x5000000) boundary

[drm] Initialized savage 2.4.1 20050313 on minor 0: S3 Inc. 86C380 [ProSavageDDR K4M266]

[drm] Used old pci detect: framebuffer loaded

agpgart: Detected VIA ProSavage PM133/PL133/PN133 chipset

agpgart: Maximum main memory to use for agp memory: 424M

agpgart: AGP aperture is 64M @ 0xa0000000

```

cat /var/log/Xorg.0.log | grep -i rendering

```

(nothing)

```

glxinfo | grep -i rendering

```

direct rendering: No

```

*EDIT* I'm convinced now that X11 isn't using my DRM...  I just have no clue where to go from here

----------

## dmvianna

Sorry, koprimer... but I would either rebuild or use dri.freedesktop.org's Xorg server. That's my results for equery u xorg-x11:

```
-3dfx -3dnow +bitmap-fonts -cjk -debug +dlloader -dmx -doc +font-server -hardened +insecure-drivers +ipv6 -minimal +mmx +nls +opengl +pam -sdk +sse -static +truetype-fonts +type1-fonts -uclibc -xprint +xv -debug

```

*edit* Do you get any error message when running glxgears?

----------

## koprimer

dmvianna: I build xorg from http://dri.freedesktop.org/wiki/Building

*edit* and no, I didn't get any errors when running glxgears, just a nice 50 FPS!

I posted my VIA Savage specific build in a nice little script...  I don't think it'll work for anyone else unless they too have a via savage card and run the 2.6 kernel... (besides I wouldn't even try it if you have it already running)...  but, you can see the steps I took which didn't work... and maybe spot something out that I should have done.

My script can be found here (again, this did not work for me):

http://www.rootshell.be/~coprime/code/tools/dri/savage/install.sh

*edit* I usualy run this script by doing the same thing as you would for an X make

./install.sh &> World.log &

Cheers!Last edited by koprimer on Wed Apr 20, 2005 2:53 am; edited 1 time in total

----------

## dmvianna

koprimer: I've never been able to make CVS dri work. I've compiled the portage xorg-x11 and added just the dri.freedesktop.net's binary driver modules (not the /usr/bin/Xorg server). Mine is the 20050411 snapshot. Maybe you would like to try it instead, after a good emerge -C xorg-x11 && emerge xorg-x11? Because otherwise, you wouldn't clean up what you've had before. Trust me.

----------

## koprimer

dmvianna:  thanks for the replies and the good advice, from reading all the many successes from this forum when building from the snapshots... I guess it wouldn't hurt to give it a try.

*EDIT* unemerged and remerged xorg, then installed the savage snapshot... had no success.  No errors, nothing, doesn't load the drm module nor the savage module.  even modprobing didn't work...  just looks as if xorg isn't using the modules.

----------

## dmvianna

 :Embarassed:   Just tried modprobing savage before executing Xorg for the first time after a bootup. Got direct rendering. So forget about previous claims that the savage drive *HAS* to be added by Xorg, and not manually. I've just added it to my /etc/modules.autoload.d/kernel-2.6 file.

koprimer: Sorry, I've ran out of ideas with you. Rest a bit, the ideas will come to you. That's how it worked for me.

----------

## koprimer

unfortunately, I can't give up...  after unemerging and re-emerging xorg (with dlloader)... and installing the common+savage snapshots, my X server won't start any more...

errors: (reported by X)

```

Skipping "/usr/lib/modules/extensions/libGLcore.a:m_debug_clip.o": No symbol found

Skipping "/usr/lib/modules/extensions/libGLcore.a:m_debug_norm.o": No symbol found

Skipping "/usr/lib/modules/extensions/libGLcore.a:m_debug_xform.o": No symbol found

/usr/X11R6/bin/X: symbol lookup error: /usr/lib/modules/extensions/libglx.so: undefined symbol: __glXglDDXExtensionInfo

```

/var/log/Xorg.0.log

```

(II) Module GLcore: vendor="X.Org Foundation"

         compiled for 6.8.99.3, module version = 1.0.0

         ABI class: X.Org Server Extension, version 0.2

(II) Loading extension GLX

[EOF]

```

I think my Xorg install is FUBAR.  Can't find a single thread or forum about this error.

*EDIT*

I deleted /usr/lib/modules/extensions/libglx.so, now it loads libglx.a without errors... still no DRI

----------

## Mystilleef

Add me to the list of users who successfully got DRI working. Algor's walk through on page 6 was immensely helpful. Thanks to everyone!  :Smile: 

```

[07:38 PM goldenmyst(~)]$ glxinfo|grep render

direct rendering: Yes

OpenGL renderer string: Mesa DRI ProSavageDDR 20050305 AGP 4x x86/MMX+/3DNow!+/SSE

```

```

[07:49 PM goldenmyst(~)]$ dmesg | grep drm

[drm] Initialized drm 1.0.0 20040925

[drm] Initialized savage 2.4.1 20050313 on minor 0:

```

Thank you once again!  :Smile: 

----------

## Motoi-Sakuraba-Milfeuille

I followed Algor's steps on the 6th page, but it just fails in make install. 

cannot create regular file '/usr/X11R6/lib/modules/extensions/libextmod.so' : No such file or directory.

This kind of BS has been popping up lately.... I'll cvs the xorg CVS again and see if it works today.

----------

## Motoi-Sakuraba-Milfeuille

no luck, this time it says

install -c -m 0444 fi1236_drv.so /usr/X11R6/lib/modules/multimedia

cannot create regular file '/usr/X11R6/lib/modules/multimedia/fi1236_drv.so' : No such file or directory.

I think I should leave host.def as it is this time around. ARRRGGGHH!!!!!!!

----------

## Motoi-Sakuraba-Milfeuille

Oops.

It installed enough this time that it got past the Savage driver, so now the thing says that driscreeninit failed disabling dri and all that stuff.

Problem is, it seems to be a problem with the DRM module! It keeps on saying Error inserting Savage Unnown symbol in module, or unknown parameter (see dmesg).

I'm getting tired of doing this, but I'll cvs the thing again. If it doesn't work, I'll upgrade the gentoo-dev-sources. Sheesh. Why are there so many errors!

EDIT: gentoo-dev-sources has vanished. And it's not like my kernel is out of date (2.6.11-gentoo-r2), so I guess I won't upgrade the kernel sources. I've reached the point where it only fails because the drm and savage module aren't loaded. Both cause problems with my kernel... why!?

EDIT2: X with a desktop environment crashed, even when DRI wasn't enabled. Screw this. You guys can play with your Savage chipsets, and I'm gonna live with my Geforce 4 Ti4200 on the main computer. :p I'm leaving this topic once and for all, and I'll be damned if I come across another program that requires Direct Rendering... I don't have time for this. I'll never be able to get Tuxracer playable now......

----------

## koprimer

Okay, this is driving me nuts...  There are so many shared libraries in Xorg yet I find they can exist in three locations:

/usr/lib/modules/

/usr/X11R6/lib

/usr/lib/opengl/xorg-x11/lib/  (opengl libraries)

I've done an emerge -C xorg-x11 && emerge xorg-x11 twice now...  from what I can tell, it installs .so libraries...  

But the snapshots on dri.freedesktop.org compile .a (libglx, libdri, libdrm, libGLcore) and .o (savage_drv) libraries (along with the kernel modules).  when you install the snapshots, it just adds these libraries in the most common places.  And aparently in xorg-x11-6.8.2-r1, .so libraries preceed over .a and .o libraries....  so you're forced to either remove or rename the .so libraries so it can load the new *.a libraries and the savage_drv.o (before it was Loading the .so ebuild version which of course doesn't support drm).

This alone is enough to make you wanna pull your hair out, but it doesn't stop there.   You start noticing once you load X, that not all the new .a libraries get along with the .so libraries...  For one, I can't load X11 because libvgahw.so require symbols from savage_drv.o that doesn't exist!  I don't have a single libvgahw.a on my computer, and the snapshots didn't install one, and from what I can tell, everyone is loading .a libraries in order to get DRI working with savage.  Here's just an example (it also has troubles with vbe):

```

(II) Setting vga for screen 0.

(II) Loading sub module "vgahw"

(II) Loading /usr/lib/modules/libvgahw.so

(II) Module vgahw: vendor="X.Org Foundation"

     compiled for 6.8.2, module version = 0.1.0

     ABI class: X.Org Video Driver, version 0.7

Required symbol vgaHWGetIndex from module /usr/lib/modules/drivers/savage_drv.o is unresolved!

Required symbol vgaHWGetIndex from module /usr/lib/modules/drivers/savage_drv.o is unresolved!

Required symbol vgaHWGetIOBase from module /usr/lib/modules/drivers/savage_drv.o is unresolved!

Required symbol vgaHWGetIndex from module /usr/lib/modules/drivers/savage_drv.o is unresolved!

Required symbol vgaHWGetIOBase from module /usr/lib/modules/drivers/savage_drv.o is unresolved!

etc..

```

Does anyone know what could solve this library conflict that I'm having.  I am installing xorg-x11-6.8.2-r1 with dlloader (but I've tried with out as well)...   Is it that I just have a bad dri snapshot, maybe the day I grabbed it was the day they decided not to include libvgahw.a?  I wish I could say that I could wait for an ebuild, but I've read that there is no plans on making an ebuild that includes dri savage support since the drivers are insecure..  Any help would be much apreciated.

*EDIT*  Found .a modules on the dri.freedesktop.org/snapshots site... 

http://dri.freedesktop.org/snapshots/extras/  they're from 02/01/2005

now, lets hope if I replace my .so libraries with these .a libraries, things will work

----------

## koprimer

Finaly, got dri enabled and working.

Now looking back, when I was installing the CVS version, it probably would have been good if I unemerged (emerge -C xorg-x11) before installing the CVS version.  If this is the reason why people (including myself) are having problems getting DRI enabled (or even DRM recognized), then we need to add this to the How To and stress that it's a crucial part of the process.

Now, how I got DRI to work with xorg-x11-6.8.2-r1 (not the CVS version), was after downloading and unpackaging the common and savage snapshots (in that order), then installing, I noticed that X was still loading .so modules... and by checking the snapshots, you can see that they come with .a and .o libraries...  So, after installing, you have to make sure that X is loading .a and .o modules and not .so...  you can get the extra modules (if you don't have them already) from http://dri.freedesktop.org/snapshots/extras/

I copied the modules from the snapshots/extras to the location provided by my Xorg.0.log and renamed the .so's.  The modules that I had to replace are (and again, I used my Xorg.0.log file as a reference, I doubt this is really a good idea to behonest):

```

/usr/lib/modules

     libpcidata.so -> libpcidata.a

     libvgahw.so -> libvgahw.a

     libvbe.so -> libvbe.a

     libddc.so -> libi2c.a

     libfb.so -> libfb.a

     libxaa.so -> libxaa.a

     libramdac.so -> libramdac.a

     fonts/

          libbitmap.so -> libbitmap.a

          libtype1.so -> libtype1.a

     linux/

          libdrm.so -> libdrm.a

          libint10.so -> libint10.a

     input

          kdb_drv.so -> kdb_drv.o

          mouse_drv.so -> mouse_drv.o

     drivers

          savage_drv.so -> savage_drv.o

```

Maybe there's some setting that I'm overlooking that allows you to compile everything as .a (since this is the library format that the snapshots use).  Hope this can be helpful, I probably won't update my xorg now for a long time...

----------

## Motoi-Sakuraba-Milfeuille

 *Quote:*   

> Now, how I got DRI to work with xorg-x11-6.8.2-r1 (not the CVS version), was after downloading and unpackaging the common and savage snapshots (in that order), then installing, I noticed that X was still loading .so modules... and by checking the snapshots, you can see that they come with .a and .o libraries... So, after installing, you have to make sure that X is loading .a and .o modules and not .so... you can get the extra modules (if you don't have them already) from http://dri.freedesktop.org/snapshots/extras/ 

 

I never knew about those .so, .o and .a things, so I guess I got really fed up. But now that we have a concrete explanation for why this might not be working.... I'll start on this again, albeit only when I feel like it  :Smile: 

Hey koprimer, would it work without installing the common and savage snapshots? They compile all right on my system, but they don't cooperate when modprobed! 

Also, when you downloaded those modules from the snapshots/extras/ directory, aren't those supposed to be created when you run the common/savage script inside the dripkg/ directory? the script compiles the kernel modules (savage and drm) and the Xorg driver, I'm sure. therefore, the snapshots/extras/ stuff shouldn't matter. Right?

EDIT: the modules.tar.bz2 only provides the bare essentials, it seems... and I really need the savage module to work! 

```
savage: disagrees about version of symbol drm_open

savage: Unknown symbol drm_open
```

same thing continues with different drm_*s.

And when I modprobe drm, it says:

```
kobject_register failed for drm (-17)

[<c024a513>] kobject_register+0x43/0x50

etc
```

What's going on?

----------

## s0Ma

i'll have to revise my previous statement.

i thought i had dri working, since direct rendering showed up as "yes" in glxinfo, and glxgears worked in twm.

although, whenever i emerged another wm (gnome, fluxbox) i'd get graphical corruption whenever starting X, and if i killed X and went back to console, the display would be totally garbled.

i solved this by disabling the kernel framebuffer entirely (who needs it?), and now everything is working fine and dandy.

i did a fresh install on my laptop, and did this:

downloaded gentoo-sources, compiled agpgart, via-agp, and drm as modules.

emerged xorg

downloaded latest savage-snapshot from dri.freedesktop.org, installed it using the script.

boom. dri working perfectly. ~300fps in glxgears.

this begs the question, is the cvs-method really necessary nowadays?

EDIT: i almost forgot. i have agpgart, via-agp, drm and savage in my modules.autoload.d.

----------

## koprimer

Motoi-Sakuraba-Milfeuille:  Your problem seems to be a fairly common problem with dri...  The error you're receiving is due to a problem with your kernel.  It seems to happen a lot when you don't include agpgart as a module.  The best I can suggest if you use 2.6, is to find out what your card's PCI bridge is, then set these settings in your kernel (mine was VIA, you can always check by lspci | grep -i bridge):

```

Device Drivers --->

     Character Devices --->

     <M> /dev/agpgart (AGP Support)

     <M>     VIA chipset support (if you use VIA)

     <  > Direct Rendering Manager (you don't need it)

```

make && make modules_install

cp .config /boot/config-X.X.X

cp System.map /boot/System.map-x.x.x

cp arch/i386/boot/bzImage /boot/kernel-x.x.x (or whatever you call it)

Then install the savage modules from the savage snapshot, and add to your /etc/modules.autoload.d/kernel-2.6

```

agpgart

via-agp (this would be intel-agp if you have an Intel bridge)

savage

```

Good luck, this is the best I can do without needing to know more info about your error.

*EDIT* also, you are right, the savage snapshots build and install the kernel modules you need... but, you must have agpgart compiled into your kernel...  the extras is just the extra modules not included in the common snapshots, you do not have to compile the modules...  I used the modules to supply the .a and .o libraries to replace the .so's that I had installed... if compiling agpgart doesn't solve your problem, then it might help to specify your kernel version along with any dmesg and /var/log/Xorg.0.log errors... so we can help you further in solving your problem..

----------

## Motoi-Sakuraba-Milfeuille

Thanks koprimer! Now the modules will be modprobed, the CVS version of X still doesn't install completely, but at least it installed the Savage driver.

However, running X gives symbol lookup error: undefined symbol: DRIQueryVersion. 

 *Quote:*   

> 
> 
> downloaded gentoo-sources, compiled agpgart, via-agp, and drm as modules.
> 
> emerged xorg
> ...

 

OK, first off, this sounds impossible. Why?

The Xorg-X11 you get by emerging only has the Savage driver 1.1.27, which doesn't do DRI at all.

The savage-snapshot only gives you the kernel modules. 

You have to get the Savage 2.0.0 driver from the xorg-x11 cvs, compile it.

EDIT: if you use the savage-common snapshots, you don't really need to get the DRM from CVS and compile it.... right?

EDIT2: I don't see any .a files in /usr/lib/modules or /usr/X11R6/lib/modules. They're all .so files. koprimer's module trick won't work for me, I guess.

Here's what the log says in the end:

```

blablablabla Savage driver 2.0.0

blabla.

blablablabla write combining range.

SAVAGE(0): Sufficient Videoram available for 3D (yes, DRI is finally working!)

```

And it just terminates there. When I press the ctrl-alt-fx key to get back to the terminal, it says that

X: symbol lookup error: /usr/X11R6/lib/modules/drivers/savage_drv.so: undefined symbol: DRIQueryVersion

Apparently, Google says nobody else on the internet has had this error with Savage chips. I'm CVS-ing another Xorg from cvs again.... sigh. Why is this so hard?

----------

## s0Ma

 *Quote:*   

> OK, first off, this sounds impossible. Why?
> 
> The Xorg-X11 you get by emerging only has the Savage driver 1.1.27, which doesn't do DRI at all.
> 
> The savage-snapshot only gives you the kernel modules.
> ...

 

impossible may be, but glxinfo says what it says (Direct rendering: yes), and glxgears runs and gives me ~300 fps. am i missing something?

EDIT: oh, i get it. actually, the savage snapshot i downloaded off of dri.freedesktop.org installed savage drivers into my X11 installation. so apparently it isn't kernel-modules only.

----------

## koprimer

 *koprimer wrote:*   

> I've done an emerge -C xorg-x11 && emerge xorg-x11 twice now...  from what I can tell, it installs .so libraries...  
> 
> But the snapshots on dri.freedesktop.org compile .a (libglx, libdri, libdrm, libGLcore) and .o (savage_drv) libraries (along with the kernel modules).  

 

Just to clarify, the snapshots install .a and .o libraries that you need along with the DRM/savage kernel modules.  

Moto-Sakuraba-Milfeuille: You need to load the .a and .o libraries...  Please reread everything I said carefully...  You are obviously loading the savage_drv.so library when you need to be loading the savage_drv.o library (which was installed by the snapshot)...  I can't vouge for the CVS version, all i can say is, if you install the CVS version, make sure to emerge -C xorg-x11 first...

If you are loading the .a and .o libraries, then please reply with the output of  

```
cat /var/log/Xorg.0.log | grep Loading
```

so we can see which modules you are loading... if you've been reading up on my posts, you would notice that at first I was getting Unresolved Symbol errors due to loading the wrong modules..  The only module that I'm loading, that is an .so library, is the libfreetype.so module.

Cheers!

----------

## Motoi-Sakuraba-Milfeuille

I got it working.... the thing finally compiled! Although I think I used the savage driver in the CVS installation instead of the .a and .o files from the snapshots.  glxgears fps is at 425.4. 

I'll post something up later, it was all using the .so files.

So, what koprimer did was:

Emerge xorg-x11, install the dripkg. This installs .a files into /usr/X11R6/lib/modules. However, the X thing likes to use .so files first, before .a files. Naturally, this made my xorg-x11 emerged installation not work. However, koprimer overwrote his older 1.1.27 savage_drv.so driver with the savage_drv.o, which was version 2, and replaced every other .so in the directory with the new .a and .o modules with the snapshots/extras/modules.tar.bz2. Therefore, his worked. Apparently, the emerged xorg-x11 server also recognizes .a and .o formats.

But what I did was emerge the CVS version of xorg-x11, which provided the savage driver 2.0 in .so format. 

However, I got some questions:

So I muck around in /usr/lib/modules, right? not /usr/X11R6/lib/modules?

And you don't muck around in the /usr/lib/modules/dri/ directory, only the /usr/lib/modules/drivers/ directory?

EDIT: what's the difference between the savage_dri files and the savage_drv files?

----------

## Motoi-Sakuraba-Milfeuille

Last time i tried to post the first post, it froze on me. I guess it's not really stable... or probably it's just really random. Anyway, I got DRI working with the framebuffer. Hah!

Using 2.6.11-gentoo-r2, go to Device Drivers/Graphics Support/and if you have a Savage chip, you can enable everything except the S3 Savage support. Probably you can enable it if you turn off the "Console Acceleration" option below it, but I'll just leave it to other people to find out.

The drawback is that vesafb will now have to redraw the console, and it's noticeably a slower by just a bit, but oh well. At least you get DRI working.

The CVSed xorg still didn't install fully, but at least I got the driver. That's all that matters. I tried renaming the drivers, to get them working just like koprimer's, but it just gave more unresolved symbol errors. Good luck everybody. If the xorg miscompiles, just remember: either it's the CVS's fault, or something is misconfigured... for me, it was the CVS... I downlaoded the CVS again, and it compiled fully, but would only install halfway. Don't worry.... all you really need is the one single savage_drv.so file (or .o file or .a file). 

Files you need:

kernel sources (with agpgart AS MODULE and your PCI bridge also AS MODULE)

common-savage snapshots, which install both the DRI driver, and the kernel modules required for savage DRM. Think of it as a jigsaw puzzle... won't work unless they're all pieced together.

Or, if that did not work, try the CVS Xorg. Otherwise stick with your emerged xorg-x11.

The new driver should be in /usr/X11R6/lib/modules/drivers/savage_drv.so, or .o, or .a. 

Congrats to myself, everyone who got DRI working, and thanks to koprimer for actually making this sound sensible. For those still struggling, check your kernel config, check the CVS again, make sure you know which files you need, and good luck (you shouldn't need it).

----------

## s0Ma

aww damn. now i'm gonna have to get the framebuffer working with dri.  :Wink: 

glad you finally got it working. i am fairly sure that the savage snapshot i downloaded installed a savage_drv.o, though. just to be sure, i checked it out.

my savage-20050421-linux.i386.tar.bz2 contains:

dripkg/savage/savage_drv.o

dripkg/savage/savage_dri.so

so i guess it does indeed install 2.0.0 drivers for xorg.

----------

## Motoi-Sakuraba-Milfeuille

BTW, tell me if you get crashes or hard locks. I got crashes very often after about 10 hours of operation and straight compiling with framebuffer in the kernel, and X NOT running.  It's really weird. I'm compiling lots of stuff in the kernel without framebuffer now, and see if that will crash less. 

The main reason why I want framebuffer working is so that I can pass vga=789 to the kernel. Everything looks so much better like that, but I heard that in the 2.6 kernels, there's now another option or something. video=something. Hopefully.

----------

## s0Ma

no crashes or hard locks here. been running for approx 24 hours straight without any problems. i haven't turned the framebuffer on, tho.  :Wink: 

----------

## s0Ma

i just had to verify, so i tried it again from the very start.

recompiled kernel with agpgart, via-agp and no direct rendering manager. (and no framebuffer  :Wink: )

emerge xorg WITHOUT dlloader (tried with dlloader first, but wouldn't work)

download latest savage-snapshot from dri.freedesktop.org (currently running 20050428 snapshot)

installed using script (./install.sh)

added agpgart, via-agp, drm and savage to modules.autoload.d

reboot, aaand...

everything worked directly this time as well, although my Xorg.log.0 did say all the usual about sufficient ram being available for 3d, it didn't say anything about 3d acceleration being enabled, does this matter?

anyway, glxinfo says Direct rendering: yes, and glxgears runs around ~300fps as usual.

do notice that i didn't do any CVS stuff at all, i only did what's mentioned above.

EDIT: emerging xorg with dlloader is what's causing the unresolved symbols. just verified this on my stationary box (radeon 9600).

----------

## dmvianna

I don't have any problems with the framebuffer, but notice that I use the VESA driver for it, and the SAVAGE driver for Xorg.

```
title=Gentoo Linux 2.6.11-r4

root (hd0,0)

kernel (hd0,0)/kernel-2.6.11-gentoo-r4 root=/dev/hda5 video=vesafb:ywrap,mtrr,1024x768-16@60

```

I've enabled built-in vesafb-tng, and savage with everything enabled as modules in the kernel. I've that in order to use qingy. No glitches whatsoever!  :Very Happy: 

*But notice that I've tried hard until I realised that savagefb didn't work in the console. If you want to try it yourself, good luck!   :Mr. Green: 

----------

## Motoi-Sakuraba-Milfeuille

Yeah, I did heed your message, dmvianna  :Smile: 

So I stayed away from savagefb, although I did try to compile it as a module. My idea was to modprobe -r savagefb when I ran X. hoho... didn't quite work there.

So I tried vesa (vesafb-tng gives me graphic corruption before it even inits that 2.84 booting message), with no other drivers compiled in.

It ran ok, I went into X, mucked around, tried to get mozilla-firefox extensions available to everybody.

Then suddenly, everything slowed down instantly. The Firefox window closed, the Extensions window was still open, but it redrew itself line by line, pixel by pixel (I was in windowmaker, but I'm pretty sure this has nothing to do with it).

By now the whole system was really unresponsive, so I decided to kill X and get back to the terminal (man I feel more comfortable in the terminal than in X now, I must have grown as a Linux user). This horrible pattern that flashes on your screen just after you start x and it changes to vt7 comes on the screen, except now it's purple and shows no sign of going soon. The hard disk light goes crazy.

Doesn't seem to solve itself after some time. I reboot by holding down the damn button.

Now, reiserfsck told me that 1 specific corruption on the partition can only be fixed when running with --rebuild-tree. oops... I have learned my lesson. Sigh. Those 3D games had better work...

----------

## dmvianna

 :Mr. Green:  Sorry for not having told you before: I did get all this when trying to make vesafb work. Refer to its specific forums. I just remember I had to compile many packages with fbcon and directfb enabled in make.conf (mplayer and DirectFB, for example), and that I've tried many, many things before it stopped bugging me.

----------

## Motoi-Sakuraba-Milfeuille

I tried it again with koprimer's method. The emerged Xorg seems to like the new .a files, except for /usr/lib/modules/extensions/libdri.a. Here's what it says:

```
Symbol __glXgetActiveScreen from module /usr/lib/modules/extensions/libdri.a is unresolved!

Symbol __glXgetActiveScreen from module /usr/lib/modules/extensions/libdri.a is unresolved!
```

that's it. I hope this thing is easily surmountable. I copied the libdri.a module from my dripkg/core directory into the /usr/lib/modules/extensions, but it still gives me that message. Any ideas?

----------

## s0Ma

Motoi-Sakuraba-Milfeuille: did you compile xorg with dlloader?

----------

## Motoi-Sakuraba-Milfeuille

yup. It's in my USE Flags... I got DRI working again by make installing the CVS Xorg, and this time there aren't any strange freezes even when I have vesafb as framebuffer. I think I'm gonna leave off tinkering with my machine and use it for some real work, like playing ZSNES or writing HW. It's sucked off about two entire days off my week.

EDIT: Let me tell you all this, Savage 3D HW support is next to useless! The thing isn't even fast enough to run Tuxracer at 800x600 above 30fps, epsxe runs at 1fps, 1! imagine that, and frame rates jump by 5 on ZSNES if you enable OpenGL rendering. The only thing that that chip is good for is running glxgears at 400fps.... I'm sure of that, I benchmarked the whole thing today. The only other things it is good for is that OpenGL vis plugin in XMMS, and GL screensavers (which also tend to be on the slow side).

----------

## s0Ma

that's weird, i'm playing tuxracer at 1024x768, and it's working perfectly (it's a TAD bit slow, but not that i mind). i also enjoy that GLMatrix-screensaver, and it renders smoothly.

anyhow, try emerging xorg without dlloader, and just install the snapshots from dri.freedesktop.org. it'll work. when i compiled xorg with dlloader on my stationary machine (with a radeon 9600), the drivers for GL refused to work and complained about unresolved symbols. without dlloader however, it worked perfectly.

----------

## Motoi-Sakuraba-Milfeuille

On my laptop, frames drop to about 9fps.... 15fps feels almost smooth, but 9fps really starts biting here. on epsxe the playstation emulator.... heh..... 1fps. I'm not joking... and this is with everything really low, 640x480, sparse colors, all that. ZSNES loses 15 fps off the usual 60 when the Tales of Phantasia world map comes on the screen, and Star Ocean's title screen. I haven't seen an actual application, not even a screensaver, where the thing gets 60fps.

----------

## red-wolf76

Ok, I'm probably re-opening a can of worms here but I've continuously failed to enably my Savage to run with DRI/DRM.

Followed the tutorial here to the letter, well at least I think so... When I install the driver from a snapshot at dri.freedesktop and enable everything, the system responsiveness slows to a crawl once I startx and KDE starts the desktop. You can practically watch the taskbar items pop up one by one. Glxinfo with grep direct shows direct rendering enabled, but upon trying glxgears for an estimate of fps, my box hangs itself. Without DR, I get decent performance from X/KDE and about 300 fps of glxgears with 16bit colour-depth and 170 fps under 24bit.

System Info:

Kernel: gentoo-sources (2.6.11-gentoo-r6)

CPU Athlon XP (Barton) 2100+ /w 512 MB RAM

MoBo: Shuttle FX41 with VIA Chipset (KM266/KL266)

Graphics: On-board VIA KM266/VT8735 S3 ProSavage8 (DDR) with 32MB of shared system-RAM

framebuffer-support is enabled (but non-critical, I got identical results without it) for S3 Savage in-kernel

agpgart, via-agp, drm compiled as modules (again, identical results with monolithic compilation)

It's not crucial to have it, but you see, I'd like to know what I'm doing wrong.

----------

## xavier10

I would like to get DRI working on my Thinkpad T22 with Savage IX/MV.

I followed the how to and failed to get DRI working (glxinfo says No and glxgears barely above 100 fps).

Then I tried to follow the ideas in this thread and have to admit I am a bit lost now. I tried with an xorg snapshot with the following lines in the xc/config/cf/host.def file and the compilation failed (errors during the compilation of savage drivers:

```

/* DDX drivers to build: trim this list to your needs */

#define XF86CardDrivers savage

/* DRI drivers are built from Mesa CVS */

#define DriDrivers savage /**/

#define DevelDRIDrivers /**/

```

Any ideas where I should go from here ?

----------

## xavier10

Ok, I tried again, without the option "DriDrivers savage" (which I did read somewhere else, but not in this thread) and the compilation went ok. The install was smooth.

Basically, I applied Algor method, but did not succeed in compiling Mesa (drm.h reported missing plus the million errors you could expect when you miss an ".h").

----------

## koprimer

This might help some, but I made a savage install script that automates the CVS DRI-BUILD for savage for the kernel 2.6 on x86 only.

This has only been tested on my machine.

EDIT:  take out dllloader from your USE flags if you have in there, and rebuild xorg-x11

you can find the script Here.  Please confirm if it works, it may be outdated by the time you read this.

-coprime

----------

## omné

Hello, 

I use your script under my toshiba tecram 9100 (super savage IX/C 16M AGP 4x) everything seems to be OK, but I still can't use mplayer or totem (didn't tried xine) to watch movies.

See this post : https://forums.gentoo.org/viewtopic-p-2463808.html#2463808 (don't know where to post).

Any idear ? Nobody with the same problem ?

Thx,

Omné.

----------

## penix1

I have been fighting with this since the change to Xorg. I did have to modify your script a little (hope you don't mind   :Very Happy:  ) The changes were required because I got the following error:

```
glxinfo: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
```

Where I changed it is here:

```
mv /usr/lib/libGL.so.1.2 /usr/lib/opengl/xorg-x11/lib

rm /usr/lib/libGL.so*

ln -s /usr/lib/opengl/xorg-x11/lib/libGL.so /usr/lib/libGL.so

cp /usr/src/xorg/xc/lib/GL/GL/libGL.* /usr/lib                                <----------ADDED THIS

cp /usr/lib/modules/extensions/libglx.so /usr/lib/opengl/xorg-x11/extensions

ldconfig
```

Now I get this:

Xorg.0.log

```
(II) SAVAGE(0): initializing int10

(II) SAVAGE(0): Primary V_BIOS segment is: 0xc000

(II) SAVAGE(0): VESA BIOS detected

(II) SAVAGE(0): VESA VBE Version 3.0

(II) SAVAGE(0): VESA VBE Total Mem: 32768 kB

(II) SAVAGE(0): VESA VBE OEM: S3 Incorporated. Savage4

(II) SAVAGE(0): VESA VBE OEM Software Rev: 2.0

(II) SAVAGE(0): VESA VBE OEM Vendor: S3 Incorporated.

(II) SAVAGE(0): VESA VBE OEM Product: Savage4

(II) SAVAGE(0): VESA VBE OEM Product Rev: Rev B

(--) SAVAGE(0): mapping framebuffer @ 0xd0000000 with size 0x2000000

(==) SAVAGE(0): Write-combining range (0xd0000000,0x2000000)

(II) SAVAGE(0): Splitting WC range: base: 0xd2000000, size: 0x5000000

(II) SAVAGE(0): Splitting WC range: base: 0xd4000000, size: 0x3000000

(==) SAVAGE(0): Write-combining range (0xd6000000,0x1000000)

(==) SAVAGE(0): Write-combining range (0xd4000000,0x3000000)

(==) SAVAGE(0): Write-combining range (0xd2000000,0x5000000)

(II) SAVAGE(0): map aperture:0xb08d9000

(II) SAVAGE(0): 4740 kB of Videoram needed for 3D; 32768 kB of Videoram available

(II) SAVAGE(0): Sufficient Videoram available for 3D

(II) SAVAGE(0): [drm] bpp: 16 depth: 16

(II) SAVAGE(0): [drm] Sarea 2200+284: 2484

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is 6, (OK)

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is 6, (OK)

drmOpenByBusid: Searching for BusID pci:0000:01:00.0

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is 6, (OK)

drmOpenByBusid: drmOpenMinor returns 6

drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0

(II) SAVAGE(0): [drm] DRM interface version 1.2

(II) SAVAGE(0): [drm] created "savage" driver at busid "pci:0000:01:00.0"

(II) SAVAGE(0): [drm] added 8192 byte SAREA at 0xceb81000

(II) SAVAGE(0): [drm] mapped SAREA 0xceb81000 to 0xb08c7000

(II) SAVAGE(0): [drm] framebuffer handle = 0xd0000000

(II) SAVAGE(0): [drm] added 1 reserved context for kernel

(II) SAVAGE(0): [agp] Mode 0x1f000201 [AGP 0x1106/0x0305; Card 0x5333/0x8a26]

(II) SAVAGE(0): [agp] 16384 kB allocated with handle 0x00000001

(II) SAVAGE(0): [agp] command DMA handle = 0xe0000000

(II) SAVAGE(0): [agp] agpTextures handle = 0xe0100000

(II) SAVAGE(0): [drm] aperture handle = 0xd2000000

(II) SAVAGE(0): [drm] Enabling ShadowStatus for DRI.

(II) SAVAGE(0): [drm] Status handle = 0x0837f000

(II) SAVAGE(0): [drm] Status page mapped at 0xb08c6000

(II) SAVAGE(0): [dri] visual configs initialized

(**) SAVAGE(0): DRI is enabled

(--) SAVAGE(0): Chose mode 117 at 85Hz.

(II) SAVAGE(0): virtualX:1024,virtualY:768

(II) SAVAGE(0): bpp:16,tiledwidthBytes:2048,tiledBufferSize:1572864 

(II) SAVAGE(0): bpp:16,widthBytes:2048,BufferSize:1572864 

(II) SAVAGE(0): videoRambytes:0x02000000 

(II) SAVAGE(0): textureSize:0x0195f000 

(II) SAVAGE(0): textureSize:0x0195f000 

(II) SAVAGE(0): textureOffset:0x00680000 

(II) SAVAGE(0): depthOffset:0x00500000,depthPitch:2048

(II) SAVAGE(0): backOffset:0x00380000,backPitch:2048

(II) SAVAGE(0): Memory manager initialized to (0,0) (1024,1791)

(II) SAVAGE(0): Largest offscreen area available: 1024 x 1023

(II) SAVAGE(0): Reserved back buffer at offset 0x380000

(II) SAVAGE(0): Reserved depth buffer at offset 0x500000

(II) SAVAGE(0): Reserved 25980 kb for textures at offset 0x680000

(II) SAVAGE(0): Using XFree86 Acceleration Architecture (XAA)

   Screen to screen bit blits

   Solid filled rectangles

   8x8 mono pattern filled rectangles

   Indirect CPU to Screen color expansion

   Solid Lines

   Image Writes

   Offscreen Pixmaps

   Setting up tile and stipple cache:

      28 128x128 slots

      7 256x256 slots

(==) SAVAGE(0): Backing store disabled

(II) SAVAGE(0): X context handle = 0x1

(II) SAVAGE(0): [DRI] installation complete

(II) SAVAGE(0): [junkers]pSAVAGEDRIServer:

(II) SAVAGE(0): [junkers]   reserved_map_agpstart:0x00000000

(II) SAVAGE(0): [junkers]   reserved_map_idx:0x00000000

(II) SAVAGE(0): [junkers]   sarea_priv_offset:0x00000000

(II) SAVAGE(0): [junkers]   chipset:0x00000000

(II) SAVAGE(0): [junkers]   sgram:0x00000000

(II) SAVAGE(0): [junkers]   frontbufferSize:0x00180000

(II) SAVAGE(0): [junkers]   frontOffset:0x00000000

(II) SAVAGE(0): [junkers]   frontPitch:0x00000800

(II) SAVAGE(0): [junkers]   backbufferSize:0x00180000

(II) SAVAGE(0): [junkers]   backOffset:0x00380000

(II) SAVAGE(0): [junkers]   backPitch:0x00000800

(II) SAVAGE(0): [junkers]   depthbufferSize:0x00180000

(II) SAVAGE(0): [junkers]   depthOffset:0x00500000

(II) SAVAGE(0): [junkers]   depthPitch:0x00000800

(II) SAVAGE(0): [junkers]   textureOffset:0x00680000

(II) SAVAGE(0): [junkers]   textureSize:0x0195f000

(II) SAVAGE(0): [junkers]   textureSize:0x0195f000

(II) SAVAGE(0): [junkers]   logTextureGranularity:0x00000000

(II) SAVAGE(0): [junkers]   agp:handle:0x00000001

(II) SAVAGE(0): [junkers]   agp:offset:0x01000000

(II) SAVAGE(0): [junkers]   agp:size:0x01000000

(II) SAVAGE(0): [junkers]   agp:map:0x00000000

(II) SAVAGE(0): [junkers]   registers:handle:0xdfe80000

(II) SAVAGE(0): [junkers]   registers:offset:0x00000000

(II) SAVAGE(0): [junkers]   registers:size:0x00080000

(II) SAVAGE(0): [junkers]   registers:map:0x00000000

(II) SAVAGE(0): [junkers]   status:handle:0x0837f000

(II) SAVAGE(0): [junkers]   status:offset:0x00000000

(II) SAVAGE(0): [junkers]   status:size:0x00001000

(II) SAVAGE(0): [junkers]   status:map:0xb08c6000

(II) SAVAGE(0): [junkers]   agpTextures:handle:0xe0100000

(II) SAVAGE(0): [junkers]   agpTextures:offset:0x00100000

(II) SAVAGE(0): [junkers]   agpTextures:size:0x00f00000

(II) SAVAGE(0): [junkers]   apgTextures:map:0x00000000

(II) SAVAGE(0): [junkers]   logAgpTextureGranularity:0x00000000

(II) SAVAGE(0): [junkers]   cmdDma:handle:0xe0000000

(II) SAVAGE(0): [junkers]   cmdDma:offset:0x00000000

(II) SAVAGE(0): [junkers]   cmdDma:size:0x00100000

(II) SAVAGE(0): [junkers]   cmdDma:map:0x00000000

(II) SAVAGE(0): [junkers]pSAVAGEDRI:

(II) SAVAGE(0): [junkers]   chipset:0x00000004

(II) SAVAGE(0): [junkers]   width:0x00000400

(II) SAVAGE(0): [junkers]   height:0x00000300

(II) SAVAGE(0): [junkers]   mem:0x02000000

(II) SAVAGE(0): [junkers]   cpp:2

(II) SAVAGE(0): [junkers]   zpp:2

(II) SAVAGE(0): [junkers]   agpMode:1

(II) SAVAGE(0): [junkers]   bufferSize:65536

(II) SAVAGE(0): [junkers]   frontbufferSize:0x00180000

(II) SAVAGE(0): [junkers]   frontOffset:0x00000000

(II) SAVAGE(0): [junkers]   backbufferSize:0x00180000

(II) SAVAGE(0): [junkers]   backOffset:0x00380000

(II) SAVAGE(0): [junkers]   depthbufferSize:0x00180000

(II) SAVAGE(0): [junkers]   depthOffset:0x00500000

(II) SAVAGE(0): [junkers]   textureOffset:0x00680000

(II) SAVAGE(0): [junkers]   textureSize:0x01800000

(II) SAVAGE(0): [junkers]   logTextureGranularity:0x00000015

(II) SAVAGE(0): [junkers]   agpTextureHandle:0xe0100000

(II) SAVAGE(0): [junkers]   agpTextureSize:0x00f00000

(II) SAVAGE(0): [junkers]   logAgpTextureGranularity:0x00000014

(II) SAVAGE(0): [junkers]   apertureHandle:0xd2000000

(II) SAVAGE(0): [junkers]   apertureSize:0x05000000

(II) SAVAGE(0): [junkers]   aperturePitch:0x00001000

(II) SAVAGE(0): [junkers]   statusHandle:0x0837f000

(II) SAVAGE(0): [junkers]   statusSize:0x00001000

(II) SAVAGE(0): [junkers]   sarea_priv_offset:0x00000898

(II) SAVAGE(0): Direct rendering enabled
```

and glxinfo is:

```
glxinfo

name of display: :0.0

display: :0  screen: 0

direct rendering: Yes

server glx vendor string: SGI

server glx version string: 1.2

server glx extensions:

    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating,

    GLX_EXT_import_context, GLX_OML_swap_method, GLX_SGI_make_current_read,

    GLX_SGIS_multisample, GLX_SGIX_fbconfig

client glx vendor string: SGI

client glx version string: 1.4

client glx extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory,

    GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method,

    GLX_OML_sync_control, GLX_SGI_make_current_read, GLX_SGI_swap_control,

    GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig,

    GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group

GLX extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIS_multisample

OpenGL vendor string: S3 Graphics Inc.

OpenGL renderer string: Mesa DRI ProSavage 20050501 AGP 1x x86/MMX+/3DNow!+/SSE

OpenGL version string: 1.2 Mesa 6.3

OpenGL extensions:

    GL_ARB_imaging, GL_ARB_multitexture, GL_ARB_texture_compression,

    GL_ARB_texture_env_add, GL_ARB_transpose_matrix, GL_ARB_window_pos,

    GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_minmax,

    GL_EXT_blend_subtract, GL_EXT_clip_volume_hint,

    GL_EXT_compiled_vertex_array, GL_EXT_convolution, GL_EXT_copy_texture,

    GL_EXT_draw_range_elements, GL_EXT_histogram, 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_env_add,

    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_OES_read_format,

    GL_SGI_color_matrix, GL_SGI_color_table, GL_SGIS_texture_edge_clamp,

    GL_SGIS_texture_lod

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav

 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat

----------------------------------------------------------------------

0x22 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None

0x23 16 tc  0 16  0 r  .  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None

0x24 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  8  0  0  0  0  0 0 Slow

0x25 16 tc  0 16  0 r  .  .  5  6  5  0  0 16  8  0  0  0  0  0 0 Slow

0x26 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow

0x27 16 tc  0 16  0 r  .  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow

0x28 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow

0x29 16 tc  0 16  0 r  .  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow
```

and for good measure glxgears:

```
glxgears

1820 frames in 5.0 seconds = 363.893 FPS

1796 frames in 5.0 seconds = 359.161 FPS

1824 frames in 5.0 seconds = 364.644 FPS

1819 frames in 5.0 seconds = 363.712 FPS

1825 frames in 5.0 seconds = 364.903 FPS

1825 frames in 5.0 seconds = 364.873 FPS

1827 frames in 5.0 seconds = 365.201 FPS

```

Again, thanks a lot dude!

B.

----------

## Motoi-Sakuraba-Milfeuille

Hey, my Prosavage DDR and VIA C3 can only muster around 215 fps! Oh well... at least zsnes runs smoothly now.

errr, the only comment I can add to your awesome script that saves around 400 man-hours (including research time) is an optimization line:

```
sed s/'#define DefaultGcc2i386Opt.*'/'#define DefaultGcc2i386Opt -O3 -gstabs+ -pipe blabla....'/ host.def
```

Add that above the first instance of sed in the script. That makes it change the optimization thingies inside the host.def file. Saves you from having to ctrl-c the script, edit host.def manually, and rerun the script (which will most likely rewrite host.def all over again).

koprimer, you are a genius. The only con was that the Xorg.0.log reported Direct Rendering as enabled, but no, glxgears was still at 47fps, and glxinfo reported no direct rendering. Using the snapshots from dri.freedesktop.org/snapshots solved the problem, and now I have direct rendering working again.

BTW, about the random freezes while using the computer/leaving it alone, here is the solution:

You have to disable savagefb in the kernel to make DRI work properly. That's a given.

What's not given is that once you deselect savagefb in make menuconfig, on the top of the same screen (Device Drivers)>(Graphics Support), below the "Support for Frame Buffer devices", there's two options:

"Enable Video Mode Handling Helpers"

"Enable Tile Blitting Support"

Disable both of them. That seemed to banish the random freezes when I was using vesafb instead of savagefb. I guess only the video card specific fb drivers need those two options.

----------

## resistor

I've been trying to use the modified CVS install script, but whenever I start Xorg after doing so, the entire screen is scambled.  I don't even have to change the config file! What gives?

----------

## Motoi-Sakuraba-Milfeuille

you most probably have compiled the kernel with savagefb. Leave it out this time, only leave vesafb or vesafb-tng.

----------

## resistor

I disabled the Savage driver for vesa-tng, and now I don't get funkiness, but DRI still doesn't work.  The savage DRI kernel driver fails to load with the errors:

savage: Unknown symbol drm_get_resource_len

savage: Unknown symbol drm_get_dev

savage: Unknown symbol drm_get_resource_start

savage: Unknown symbol drm_cleanup_pci

savage: Unknown symbol drm_initmap

The drm module is loaded, so I'm not sure what the problem is.

----------

## Motoi-Sakuraba-Milfeuille

I remember I got something like that at first.... when I didn't compile agpgart as a module.

Compile agpgart as a module and it should be fixed....

----------

## koprimer

penix1, thanks for pointing that out, the problem was with the script, it assumed you had opengl-update installed.  I went ahead and made the fix.  Glad to see that some are getting some use out of this script.  Would be really nice if someone who knew how to script well could take this and actualy make an ebuild for us.

EDIT: Also, thanks Motoi-Sakuraba-Milfeuille for the great suggestion.  I went ahead and added a couple of sed statements that will use your CFLAGS in the /etc/make.conf file.

Here's the updated code.  Cheers!

EDIT:  Also, just an update on things to consider when having problems.

1.  For the linux kernel 2.6, try to match your settings like these:

```

Device Drivers --->

   Character devices --->

      <M> /dev/agpgart (AGP support)

      <M>   VIA chipset support

      <  > Direct Rendering Manager (XFree86 4.10 and higher DRI support)

   Graphics support --->

      <  > S3 Savage support

```

2.  make sure you don't USE dllloader in /etc/make.conf  (can anyone confirm this?)

3.  emerge unmerge xorg  (if you're using the CVS build)

4.  try to include these settings in your /etc/X11/xorg.conf

```

Section "Module"

     Load            "dri"

     Load            "glx"

EndSection

Section "Device"

     Identifier      "card0"

     Driver          "savage"

     Option          "ForceInit"          "yes"

     Option          "ShadowStatus"  "true"

EndSection

Section "Screen"

     Device         "card0"  #just make sure you point to your savage device

EndSection

Section "DRI"

     Mode 0666

EndSection

```

I'm sure anything that I've left out can be found on this old forum.

-coprime

----------

## omné

I had problem with resolution, I was sitck on 640x480.

I sfolved it with this : https://forums.gentoo.org/viewtopic-t-353333-highlight-savage.html

Now let's tried to use 24 bits and trying to play video...

My other problem is that i disable frame buffer, now my virtuals terms are small.

----------

## koprimer

 *omné wrote:*   

> My other problem is that i disable frame buffer, now my virtuals terms are small.

 

No one said you couldn't use framebuffers, infact I use VESAfb without any problems.  We are suggesting to those to not use the Savagefb.

-coprime

----------

## penix1

 *koprimer wrote:*   

>  *omné wrote:*   My other problem is that i disable frame buffer, now my virtuals terms are small. 
> 
> No one said you couldn't use framebuffers, infact I use VESAfb without any problems.  We are suggesting to those to not use the Savagefb.
> 
> -coprime

 

Actually, I have been using the savagefb driver to no ill effects since using your excellent script. Maybe they fixed whatever problems it had (or I haven't hit it yet?)?!? 

Anyway, I am using the 2.6.12-r4 kernel and all is well. My chip is the KM-133 maybe that has something to do with it. I don't see a reason to stop using the savagefb driver at this stage. Things may change though.

B.

----------

## omné

Where do you set it ? The savagesb ? In menuconfig. I only have vesafb and vesafb-tng in Device Driver -> Graphic support.

----------

## eslo

 *omné wrote:*   

> I only have vesafb and vesafb-tng in Device Driver -> Graphic support.

 

No, if you disable vesafb and scroll down a little you will see savage reveal itself.

(savagefb support modedb, which means you can append the same parameters as with vesafb).

Ex. My append line to the kernel is:

video=savagefb:1024x768-16@60 (Laptop)

----------

## llogiq

After reading this discussion, I was able to set up DRI acceleration on my Averatec 3156X. It is not very fast (only 400fps in window, 67fps full screen 1024x768), but it works.

The steps I took:

1. building the kernel with AGPgart + DRM (yes, the latter is not needed)

2. building xorg 11.6.8.2 with USE=insecure_drivers

3. downloading the latest common and savage archives from http://dri.freedesktop.org/snapshots/ (dated 20050718), untarring them and running install.sh of both.

Thanks to everyone involved. Now if I only could find more little-demanding opengl games...  :Wink: 

----------

## omné

 *eslo wrote:*   

>  *omné wrote:*   I only have vesafb and vesafb-tng in Device Driver -> Graphic support. 
> 
> No, if you disable vesafb and scroll down a little you will see savage reveal itself.
> 
> (savagefb support modedb, which means you can append the same parameters as with vesafb).
> ...

 

Sorry I didn't anser later, I was on vacation (no adsl, 56k...  :Shocked:  ) It was great  :Very Happy: 

Your solution work great.

But I got new problems.

Later I used the script from koprimer on a 2.6.11-r11-gentoo kernel. I worked great.

I tried it on 2.6.12-r6 and 2.6.12-suspend-r4. With no succes (problem loading drivers).

So, now, i use the savage archive from dri-freedesktop.org (see the post just over me).

I had to recompile my xorg-x11 with the dlloader option beaucause of a problem (i can't find the thread i use for it)

Now my X server run but I can't read some video (avi and wmv, mpeg seem good) with mplayer (xv driver like I use to do last week).

What is the problem ? 

my xorg-conf (I didn't change anything) : 

 *Quote:*   

> 
> 
>        Option     "UseBIOS"  "True"             # [<bool>]
> 
>         Identifier  "Card0"
> ...

 

Is there something wrong ?

Maybee the dlloader USE flag ?

Or something in my kernel ?

thanks.

----------

## salivian

Hey ... Does anybody have luck with the latest CVS ?

I tried one on Wed Sep 14, which segfaulted on glxinfo.

now I have reverted to Jul 17 (a day before the latest binaries snapshot.) which seems to be fully working.

Thanks!

Horace

----------

## williamvergara

Well, ill take some lines to explain my situation. This is the VERY FIRST TIME, that i can not solve my problem while just looking the forums. So this time i must ask.  I have an amilo k 7600. With a savage card. I was about two months ago i had it fully working.  I could play tuxracer and warcraft. The hard drive get damage so i had to get a new one. I have done everything that i did the last time, but it aint working and i dont know why. I've tried with agpgart and (in my case) via-agp in the kernel, as modules, with drm in the kernel, and as module and all the combinations that you can imagine with 3 differents kernel (and yes, the very last one too, gentoo-sources-13-r3). But when i run the install.sh from the savage package i get an error. The kernel can not load the module. I also tried with the x11-drm ebuild. That works a little. In glxinfo i get direct rendering enabled, i can play chromium or neverball. But when it comes tuxracer, tux feels like no going down  :Crying or Very sad:   .

I know it can run better cuz it already has. Please help me. here al relevant information

xorg.conf

```
Section "ServerLayout"

   Identifier     "Layout0"

   Screen      0  "Screen0" 0 0

   InputDevice    "Keyboard0" "CoreKeyboard"

   InputDevice    "Mouse0" "CorePointer"

   InputDevice    "Touchpad"

   InputDevice     "Tablet0"

EndSection

Section "Files"

EndSection

Section "Module"

   Load "freetype"

   # Load "xtt"

   Load    "synaptics"

   Load  "extmod"

   Load  "glx"

   Load  "dri"

   Load  "dbe"

   Load  "record"

   Load  "xtrap"

   Load  "type1"

EndSection

Section "InputDevice"

   Identifier  "Mouse0"

   Driver      "mouse"

   Option       "Protocol" "Auto"

   Option       "Device" "/dev/psaux"

   Option       "ZAxisMapping" "4 5"

EndSection

Section "InputDevice"

   Identifier  "Tablet0"

   Driver      "summa"

   Option      "Device" "/dev/ttyS1"

   Option      "Cursor" "Puck"

   Option      "InputFashion" "Tablet"

   Option      "SendCoreEvents"

   Option      "BaudRate" "9600"

   Option      "DataBits" "8"

   Option      "StopBits" "1"

   Option      "Parity" "odd"

   Option      "FlowControl" "xoff"

   Option      "VTime" "10"

   Option      "VMin" "1"

   Option      "AlwaysCore" "on"

   Option      "Name" "SUMMASKETCH"

   Option      "Vendor" "SUMMAGRAPHICS"

EndSection

Section "InputDevice"

   Identifier  "Keyboard0"

   Driver      "kbd"

   Option       "XkbModel" "pc104"

   Option       "XkbLayout" "de"

   Option   "XkbRules" "xorg"

   Option   "XkbVariant" "nodadkeys"

EndSection

Section "InputDevice"

   Identifier "Touchpad"

   Driver "synaptics"

   Option "SendCoreEvents"

   Option "Device" "/dev/input/event0"

   Option "Protocol" "event"

   # Next line required only if you want to disable the mousepad while typing:

   Option "SHMConfig" "on"

   # The rest of the options are NOT required, just a default similar to the Windows drivers with non of the extra features.

   Option "LeftEdge" "1900"

   Option "RightEdge" "5400"

   Option "TopEdge" "1400"

   Option "BottomEdge" "4500"

   Option "FingerLow" "25"

   Option "FingerHigh" "30"

   Option "MaxTapTime" "180"

   Option "MaxTapMove" "220"

   Option "VertScrollDelta" "100"

   Option "MinSpeed" "0.02"

   Option "MaxSpeed" "0.18"

   Option "AccelFactor" "0.0010"

EndSection

Section "Monitor"

   Identifier   "Monitor0"

   HorizSync    31.5 - 57.0

   VertRefresh  50.0 - 90.0

EndSection

Section "Device"

   Identifier  "Card0"

   Driver      "savage"

   BusID       "01:00:00"

   Option      "UseBIOS" "on"#recien puesto

   Option      "SAA7111" "1"#recien puesto

   Option      "BackingStore" "1"

   Option      "BusType" "AGP"#lo puse recien

   Option      "AGPFastWrite" "True"

   Option      "AGPMode" "2"

   VideoRam    32000

EndSection

Section "Screen"

   Identifier "Screen0"

   Device     "Card0"

   Monitor    "Monitor0"

   DefaultDepth     16

   SubSection "Display"

      Viewport  0 0

      Depth    16

      Modes    "1024x768" "800x600" "640x480" "640x400" "512x384" "400x300" "320x240" "320x200"

        EndSubSection

   SubSection "Display"

      Viewport   0 0

      Depth     24

      Modes    "1024x768" "800x600" "640x480" "640x400" "512x384" "400x300" "320x240" "320x200"

   EndSubSection

EndSection

Section "DRI"

   Mode 0666

EndSection 

```

relevant kernel config

```
CONFIG_AGP=y

CONFIG_AGP_ALI=m

CONFIG_AGP_ATI=m

CONFIG_AGP_AMD=m

CONFIG_AGP_AMD64=m

CONFIG_AGP_INTEL=m

CONFIG_AGP_NVIDIA=m

CONFIG_AGP_SIS=y

# CONFIG_AGP_SWORKS is not set

CONFIG_AGP_VIA=y

# CONFIG_AGP_EFFICEON is not set

CONFIG_DRM=y

CONFIG_DRM_TDFX=m

CONFIG_DRM_R128=m

CONFIG_DRM_RADEON=m

CONFIG_DRM_I810=m

CONFIG_DRM_I830=m

CONFIG_DRM_I915=m

CONFIG_DRM_MGA=m

CONFIG_DRM_SIS=m

CONFIG_DRM_VIA=m

```

the x log

```

X Window System Version 6.8.2

Release Date: 9 February 2005

X Protocol Version 11, Revision 0, Release 6.8.2

Build Operating System: Linux 2.6.13-gentoo-r3 i686 [ELF] 

Current Operating System: Linux pegasus 2.6.13-gentoo-r3 #8 Tue Oct 18 02:46:17 CEST 2005 i686

Build Date: 12 October 2005

   Before reporting problems, check http://wiki.X.Org

   to make sure that you have the latest version.

Module Loader present

Markers: (--) probed, (**) from config file, (==) default setting,

   (++) from command line, (!!) notice, (II) informational,

   (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

(==) Log file: "/var/log/Xorg.0.log", Time: Tue Oct 18 00:55:32 2005

(==) Using config file: "/etc/X11/xorg.conf"

(==) ServerLayout "Layout0"

(**) |-->Screen "Screen0" (0)

(**) |   |-->Monitor "Monitor0"

(**) |   |-->Device "Card0"

(**) |-->Input Device "Keyboard0"

(**) |-->Input Device "Mouse0"

(**) |-->Input Device "Touchpad"

(**) |-->Input Device "Tablet0"

(==) FontPath set to "/usr/share/fonts/misc/,/usr/share/fonts/TTF/,/usr/share/fonts/Type1/,/usr/share/fonts/CID/,/usr/share/fonts/75dpi/,/usr/share/fonts/100dpi/"

(==) RgbPath set to "/usr/lib/X11/rgb"

(==) ModulePath set to "/usr/lib/modules"

(WW) Open APM failed (/dev/apm_bios) (No such file or directory)

(II) Module ABI versions:

   X.Org ANSI C Emulation: 0.2

   X.Org Video Driver: 0.7

   X.Org XInput driver : 0.4

   X.Org Server Extension : 0.2

   X.Org Font Renderer : 0.4

(II) Loader running on linux

(II) LoadModule: "bitmap"

(II) Loading /usr/lib/modules/fonts/libbitmap.a

(II) Module bitmap: vendor="X.Org Foundation"

   compiled for 6.8.2, module version = 1.0.0

   Module class: X.Org Font Renderer

   ABI class: X.Org Font Renderer, version 0.4

(II) Loading font Bitmap

(II) LoadModule: "pcidata"

(II) Loading /usr/lib/modules/libpcidata.a

(II) Module pcidata: vendor="X.Org Foundation"

   compiled for 6.8.2, module version = 1.0.0

   ABI class: X.Org Video Driver, version 0.7

(++) using VT number 7

(II) PCI: PCI scan (all values are in hex)

(II) PCI: 00:00:0: chip 1106,3156 card 1734,1054 rev 00 class 06,00,00 hdr 00

(II) PCI: 00:01:0: chip 1106,b091 card 0000,0000 rev 00 class 06,04,00 hdr 01

(II) PCI: 00:09:0: chip 1524,1411 card 2000,0000 rev 01 class 06,07,00 hdr 82

(II) PCI: 00:10:0: chip 1106,3038 card 1734,1054 rev 80 class 0c,03,00 hdr 80

(II) PCI: 00:10:1: chip 1106,3038 card 1734,1054 rev 80 class 0c,03,00 hdr 80

(II) PCI: 00:10:3: chip 1106,3104 card 1734,1054 rev 82 class 0c,03,20 hdr 00

(II) PCI: 00:11:0: chip 1106,3177 card 1734,1054 rev 00 class 06,01,00 hdr 80

(II) PCI: 00:11:1: chip 1106,0571 card 1734,1054 rev 06 class 01,01,8a hdr 00

(II) PCI: 00:11:5: chip 1106,3059 card 1734,1054 rev 50 class 04,01,00 hdr 00

(II) PCI: 00:11:6: chip 1106,3068 card 1734,1054 rev 80 class 07,80,00 hdr 00

(II) PCI: 00:12:0: chip 1106,3065 card 1734,1054 rev 74 class 02,00,00 hdr 00

(II) PCI: 01:00:0: chip 5333,8d04 card 1734,1054 rev 00 class 03,00,00 hdr 00

(II) PCI: End of PCI scan

(II) Host-to-PCI bridge:

(II) Bus 0: bridge is at (0:0:0), (0,0,2), BCTRL: 0x0008 (VGA_EN is set)

(II) Bus 0 I/O range:

   [0] -1   0   0x00000000 - 0x0000ffff (0x10000) IX[B]

(II) Bus 0 non-prefetchable memory range:

   [0] -1   0   0x00000000 - 0xffffffff (0x0) MX[B]

(II) Bus 0 prefetchable memory range:

   [0] -1   0   0x00000000 - 0xffffffff (0x0) MX[B]

(II) PCI-to-PCI bridge:

(II) Bus 1: bridge is at (0:1:0), (0,1,1), BCTRL: 0x0008 (VGA_EN is set)

(II) Bus 1 I/O range:

   [0] -1   0   0x0000c000 - 0x0000dfff (0x2000) IX[B]

(II) Bus 1 non-prefetchable memory range:

   [0] -1   0   0xe0000000 - 0xefffffff (0x10000000) MX[B]

(II) Bus 1 prefetchable memory range:

   [0] -1   0   0x90000000 - 0x9fffffff (0x10000000) MX[B]

(II) PCI-to-CardBus bridge:

(II) Bus 2: bridge is at (0:9:0), (0,2,5), BCTRL: 0x0540 (VGA_EN is cleared)

(II) Bus 2 I/O range:

   [0] -1   0   0x00002000 - 0x00002fff (0x1000) IX[B]

   [1] -1   0   0x00003000 - 0x00003fff (0x1000) IX[B]

(II) Bus 2 non-prefetchable memory range:

   [0] -1   0   0x20000000 - 0x21ffffff (0x2000000) MX[B]

(II) Bus 2 prefetchable memory range:

   [0] -1   0   0x1e000000 - 0x1fffffff (0x2000000) MX[B]

(II) PCI-to-ISA bridge:

(II) Bus -1: bridge is at (0:17:0), (0,-1,-1), BCTRL: 0x0008 (VGA_EN is set)

(--) PCI:*(1:0:0) S3 Inc. VT8375 [ProSavage8 KM266/KL266] rev 0, Mem @ 0xe0000000/19, 0x90000000/27, BIOS @ 0x000c0000/16

(II) Addressable bus resource ranges are

   [0] -1   0   0x00000000 - 0xffffffff (0x0) MX[B]

   [1] -1   0   0x00000000 - 0x0000ffff (0x10000) IX[B]

(II) OS-reported resource ranges:

   [0] -1   0   0xffe00000 - 0xffffffff (0x200000) MX[B](B)

   [1] -1   0   0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)

   [2] -1   0   0x000f0000 - 0x000fffff (0x10000) MX[B]

   [3] -1   0   0x000c0000 - 0x000effff (0x30000) MX[B]

   [4] -1   0   0x00000000 - 0x0009ffff (0xa0000) MX[B]

   [5] -1   0   0x0000ffff - 0x0000ffff (0x1) IX[B]

   [6] -1   0   0x00000000 - 0x000000ff (0x100) IX[B]

(II) PCI Memory resource overlap reduced 0xa0000000 from 0xa3ffffff to 0x9fffffff

(II) Active PCI resource ranges:

   [0] -1   0   0xf0000100 - 0xf00001ff (0x100) MX[B]

   [1] -1   0   0xf0000000 - 0xf00000ff (0x100) MX[B]

   [2] -1   0   0xa0000000 - 0x9fffffff (0x0) MX[B]O

   [3] -1   0   0x000c0000 - 0x000cffff (0x10000) MX[B](B)

   [4] -1   0   0x90000000 - 0x97ffffff (0x8000000) MX[B](B)

   [5] -1   0   0xe0000000 - 0xe007ffff (0x80000) MX[B](B)

   [6] -1   0   0x0000e300 - 0x0000e3ff (0x100) IX[B]

   [7] -1   0   0x0000e200 - 0x0000e2ff (0x100) IX[B]

   [8] -1   0   0x0000e100 - 0x0000e1ff (0x100) IX[B]

   [9] -1   0   0x00001100 - 0x0000110f (0x10) IX[B]

   [10] -1   0   0x00001300 - 0x0000131f (0x20) IX[B]

   [11] -1   0   0x00001200 - 0x0000121f (0x20) IX[B]

(II) Active PCI resource ranges after removing overlaps:

   [0] -1   0   0xf0000100 - 0xf00001ff (0x100) MX[B]

   [1] -1   0   0xf0000000 - 0xf00000ff (0x100) MX[B]

   [2] -1   0   0xa0000000 - 0x9fffffff (0x0) MX[B]O

   [3] -1   0   0x000c0000 - 0x000cffff (0x10000) MX[B](B)

   [4] -1   0   0x90000000 - 0x97ffffff (0x8000000) MX[B](B)

   [5] -1   0   0xe0000000 - 0xe007ffff (0x80000) MX[B](B)

   [6] -1   0   0x0000e300 - 0x0000e3ff (0x100) IX[B]

   [7] -1   0   0x0000e200 - 0x0000e2ff (0x100) IX[B]

   [8] -1   0   0x0000e100 - 0x0000e1ff (0x100) IX[B]

   [9] -1   0   0x00001100 - 0x0000110f (0x10) IX[B]

   [10] -1   0   0x00001300 - 0x0000131f (0x20) IX[B]

   [11] -1   0   0x00001200 - 0x0000121f (0x20) IX[B]

(II) OS-reported resource ranges after removing overlaps with PCI:

   [0] -1   0   0xffe00000 - 0xffffffff (0x200000) MX[B](B)

   [1] -1   0   0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)

   [2] -1   0   0x000f0000 - 0x000fffff (0x10000) MX[B]

   [3] -1   0   0x000c0000 - 0x000cffff (0x10000) MX[B]

   [4] -1   0   0x00000000 - 0x0009ffff (0xa0000) MX[B]

   [5] -1   0   0x0000ffff - 0x0000ffff (0x1) IX[B]

   [6] -1   0   0x00000000 - 0x000000ff (0x100) IX[B]

(II) All system resource ranges:

   [0] -1   0   0xffe00000 - 0xffffffff (0x200000) MX[B](B)

   [1] -1   0   0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)

   [2] -1   0   0x000f0000 - 0x000fffff (0x10000) MX[B]

   [3] -1   0   0x000c0000 - 0x000cffff (0x10000) MX[B]

   [4] -1   0   0x00000000 - 0x0009ffff (0xa0000) MX[B]

   [5] -1   0   0xf0000100 - 0xf00001ff (0x100) MX[B]

   [6] -1   0   0xf0000000 - 0xf00000ff (0x100) MX[B]

   [7] -1   0   0xa0000000 - 0x9fffffff (0x0) MX[B]O

   [8] -1   0   0x000c0000 - 0x000cffff (0x10000) MX[B](B)

   [9] -1   0   0x90000000 - 0x97ffffff (0x8000000) MX[B](B)

   [10] -1   0   0xe0000000 - 0xe007ffff (0x80000) MX[B](B)

   [11] -1   0   0x0000ffff - 0x0000ffff (0x1) IX[B]

   [12] -1   0   0x00000000 - 0x000000ff (0x100) IX[B]

   [13] -1   0   0x0000e300 - 0x0000e3ff (0x100) IX[B]

   [14] -1   0   0x0000e200 - 0x0000e2ff (0x100) IX[B]

   [15] -1   0   0x0000e100 - 0x0000e1ff (0x100) IX[B]

   [16] -1   0   0x00001100 - 0x0000110f (0x10) IX[B]

   [17] -1   0   0x00001300 - 0x0000131f (0x20) IX[B]

   [18] -1   0   0x00001200 - 0x0000121f (0x20) IX[B]

(II) LoadModule: "freetype"

(II) Loading /usr/lib/modules/fonts/libfreetype.so

(II) Module freetype: vendor="X.Org Foundation & the After X-TT Project"

   compiled for 6.8.2, module version = 2.1.0

   Module class: X.Org Font Renderer

   ABI class: X.Org Font Renderer, version 0.4

(II) Loading font FreeType

(II) LoadModule: "synaptics"

(II) Loading /usr/lib/modules/input/synaptics_drv.o

(II) Module synaptics: vendor="The XFree86 Project"

   compiled for 4.2.0, module version = 1.0.0

   Module class: XFree86 XInput Driver

   ABI class: XFree86 XInput driver, version 0.3

(II) LoadModule: "extmod"

(II) Loading /usr/lib/modules/extensions/libextmod.a

(II) Module extmod: vendor="X.Org Foundation"

   compiled for 6.8.2, module version = 1.0.0

   Module class: X.Org Server Extension

   ABI class: X.Org Server Extension, version 0.2

(II) Loading extension SHAPE

(II) Loading extension MIT-SUNDRY-NONSTANDARD

(II) Loading extension BIG-REQUESTS

(II) Loading extension SYNC

(II) Loading extension MIT-SCREEN-SAVER

(II) Loading extension XC-MISC

(II) Loading extension XFree86-VidModeExtension

(II) Loading extension XFree86-Misc

(II) Loading extension XFree86-DGA

(II) Loading extension DPMS

(II) Loading extension TOG-CUP

(II) Loading extension Extended-Visual-Information

(II) Loading extension XVideo

(II) Loading extension XVideo-MotionCompensation

(II) Loading extension X-Resource

(II) LoadModule: "glx"

(II) Loading /usr/lib/modules/extensions/libglx.a

(II) Module glx: vendor="X.Org Foundation"

   compiled for 6.8.99.15, module version = 1.0.0

   ABI class: X.Org Server Extension, version 0.2

(II) Loading sub module "GLcore"

(II) LoadModule: "GLcore"

(II) Loading /usr/lib/modules/extensions/libGLcore.a

Skipping "/usr/lib/modules/extensions/libGLcore.a:m_debug_clip.o":  No symbols found

Skipping "/usr/lib/modules/extensions/libGLcore.a:m_debug_norm.o":  No symbols found

Skipping "/usr/lib/modules/extensions/libGLcore.a:m_debug_xform.o":  No symbols found

(II) Module GLcore: vendor="X.Org Foundation"

   compiled for 6.8.99.15, module version = 1.0.0

   ABI class: X.Org Server Extension, version 0.2

(II) Loading extension GLX

(II) LoadModule: "dri"

(II) Loading /usr/lib/modules/extensions/libdri.a

(II) Module dri: vendor="X.Org Foundation"

   compiled for 6.8.99.15, module version = 1.0.0

   ABI class: X.Org Server Extension, version 0.2

(II) Loading sub module "drm"

(II) LoadModule: "drm"

(II) Loading /usr/lib/modules/linux/libdrm.a

(II) Module drm: vendor="X.Org Foundation"

   compiled for 6.8.99.15, module version = 1.0.0

   ABI class: X.Org Server Extension, version 0.2

(II) Loading extension XFree86-DRI

(II) LoadModule: "dbe"

(II) Loading /usr/lib/modules/extensions/libdbe.a

(II) Module dbe: vendor="X.Org Foundation"

   compiled for 6.8.2, module version = 1.0.0

   Module class: X.Org Server Extension

   ABI class: X.Org Server Extension, version 0.2

(II) Loading extension DOUBLE-BUFFER

(II) LoadModule: "record"

(II) Loading /usr/lib/modules/extensions/librecord.a

(II) Module record: vendor="X.Org Foundation"

   compiled for 6.8.2, module version = 1.13.0

   Module class: X.Org Server Extension

   ABI class: X.Org Server Extension, version 0.2

(II) Loading extension RECORD

(II) LoadModule: "xtrap"

(II) Loading /usr/lib/modules/extensions/libxtrap.a

(II) Module xtrap: vendor="X.Org Foundation"

   compiled for 6.8.2, module version = 1.0.0

   Module class: X.Org Server Extension

   ABI class: X.Org Server Extension, version 0.2

(II) Loading extension DEC-XTRAP

(II) LoadModule: "type1"

(II) Loading /usr/lib/modules/fonts/libtype1.a

(II) Module type1: vendor="X.Org Foundation"

   compiled for 6.8.2, module version = 1.0.2

   Module class: X.Org Font Renderer

   ABI class: X.Org Font Renderer, version 0.4

(II) Loading font Type1

(II) Loading font CID

(II) LoadModule: "savage"

(II) Loading /usr/lib/modules/drivers/savage_drv.o

(II) Module savage: vendor="X.Org Foundation"

   compiled for 6.8.99.15, module version = 2.0.0

   Module class: X.Org Video Driver

   ABI class: X.Org Video Driver, version 0.7

(II) LoadModule: "kbd"

(II) Loading /usr/lib/modules/input/kbd_drv.o

(II) Module kbd: vendor="X.Org Foundation"

   compiled for 6.8.2, module version = 1.0.0

   Module class: X.Org XInput Driver

   ABI class: X.Org XInput driver, version 0.4

(II) LoadModule: "mouse"

(II) Loading /usr/lib/modules/input/mouse_drv.o

(II) Module mouse: vendor="X.Org Foundation"

   compiled for 6.8.2, module version = 1.0.0

   Module class: X.Org XInput Driver

   ABI class: X.Org XInput driver, version 0.4

(II) LoadModule: "synaptics"

(II) Reloading /usr/lib/modules/input/synaptics_drv.o

(II) LoadModule: "summa"

(II) Loading /usr/lib/modules/input/summa_drv.o

(II) Module summa: vendor="X.Org Foundation"

   compiled for 6.8.2, module version = 1.0.0

   Module class: X.Org XInput Driver

   ABI class: X.Org XInput driver, version 0.4

(II) SAVAGE: driver (version 2.0.0) for S3 Savage chipsets: Savage4,

   Savage3D, Savage3D-MV, Savage2000, Savage/MX-MV, Savage/MX,

   Savage/IX-MV, Savage/IX, ProSavage PM133, ProSavage KM133,

   Twister PN133, Twister KN133, SuperSavage/MX 128, SuperSavage/MX 64,

   SuperSavage/MX 64C, SuperSavage/IX 128, SuperSavage/IX 128,

   SuperSavage/IX 64, SuperSavage/IX 64, SuperSavage/IXC 64,

   SuperSavage/IXC 64, ProSavage DDR, ProSavage DDR-K

(II) Primary Device is: PCI 01:00:0

(--) Chipset ProSavageDDR found

(II) resource ranges after xf86ClaimFixedResources() call:

   [0] -1   0   0xffe00000 - 0xffffffff (0x200000) MX[B](B)

   [1] -1   0   0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)

   [2] -1   0   0x000f0000 - 0x000fffff (0x10000) MX[B]

   [3] -1   0   0x000c0000 - 0x000cffff (0x10000) MX[B]

   [4] -1   0   0x00000000 - 0x0009ffff (0xa0000) MX[B]

   [5] -1   0   0xf0000100 - 0xf00001ff (0x100) MX[B]

   [6] -1   0   0xf0000000 - 0xf00000ff (0x100) MX[B]

   [7] -1   0   0xa0000000 - 0x9fffffff (0x0) MX[B]O

   [8] -1   0   0x000c0000 - 0x000cffff (0x10000) MX[B](B)

   [9] -1   0   0x90000000 - 0x97ffffff (0x8000000) MX[B](B)

   [10] -1   0   0xe0000000 - 0xe007ffff (0x80000) MX[B](B)

   [11] -1   0   0x0000ffff - 0x0000ffff (0x1) IX[B]

   [12] -1   0   0x00000000 - 0x000000ff (0x100) IX[B]

   [13] -1   0   0x0000e300 - 0x0000e3ff (0x100) IX[B]

   [14] -1   0   0x0000e200 - 0x0000e2ff (0x100) IX[B]

   [15] -1   0   0x0000e100 - 0x0000e1ff (0x100) IX[B]

   [16] -1   0   0x00001100 - 0x0000110f (0x10) IX[B]

   [17] -1   0   0x00001300 - 0x0000131f (0x20) IX[B]

   [18] -1   0   0x00001200 - 0x0000121f (0x20) IX[B]

(II) resource ranges after probing:

   [0] -1   0   0xffe00000 - 0xffffffff (0x200000) MX[B](B)

   [1] -1   0   0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)

   [2] -1   0   0x000f0000 - 0x000fffff (0x10000) MX[B]

   [3] -1   0   0x000c0000 - 0x000cffff (0x10000) MX[B]

   [4] -1   0   0x00000000 - 0x0009ffff (0xa0000) MX[B]

   [5] -1   0   0xf0000100 - 0xf00001ff (0x100) MX[B]

   [6] -1   0   0xf0000000 - 0xf00000ff (0x100) MX[B]

   [7] -1   0   0xa0000000 - 0x9fffffff (0x0) MX[B]O

   [8] -1   0   0x000c0000 - 0x000cffff (0x10000) MX[B](B)

   [9] -1   0   0x90000000 - 0x97ffffff (0x8000000) MX[B](B)

   [10] -1   0   0xe0000000 - 0xe007ffff (0x80000) MX[B](B)

   [11] 0   0   0x000a0000 - 0x000affff (0x10000) MS[B]

   [12] 0   0   0x000b0000 - 0x000b7fff (0x8000) MS[B]

   [13] 0   0   0x000b8000 - 0x000bffff (0x8000) MS[B]

   [14] -1   0   0x0000ffff - 0x0000ffff (0x1) IX[B]

   [15] -1   0   0x00000000 - 0x000000ff (0x100) IX[B]

   [16] -1   0   0x0000e300 - 0x0000e3ff (0x100) IX[B]

   [17] -1   0   0x0000e200 - 0x0000e2ff (0x100) IX[B]

   [18] -1   0   0x0000e100 - 0x0000e1ff (0x100) IX[B]

   [19] -1   0   0x00001100 - 0x0000110f (0x10) IX[B]

   [20] -1   0   0x00001300 - 0x0000131f (0x20) IX[B]

   [21] -1   0   0x00001200 - 0x0000121f (0x20) IX[B]

   [22] 0   0   0x000003b0 - 0x000003bb (0xc) IS[B]

   [23] 0   0   0x000003c0 - 0x000003df (0x20) IS[B]

(II) Setting vga for screen 0.

(II) Loading sub module "vgahw"

(II) LoadModule: "vgahw"

(II) Loading /usr/lib/modules/libvgahw.a

(II) Module vgahw: vendor="X.Org Foundation"

   compiled for 6.8.2, module version = 0.1.0

   ABI class: X.Org Video Driver, version 0.7

(**) SAVAGE(0): Depth 16, (--) framebuffer bpp 16

(==) SAVAGE(0): RGB weight 565

(==) SAVAGE(0): Default visual is TrueColor

(II) SAVAGE(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000

(**) SAVAGE(0): Option "UseBIOS" "on"

(**) SAVAGE(0): Option "BusType" "AGP"

(**) SAVAGE(0): Option "AGPMode" "2"

(==) SAVAGE(0): Using HW cursor

(**) SAVAGE(0): Using video BIOS to set modes

(II) Loading sub module "vbe"

(II) LoadModule: "vbe"

(II) Loading /usr/lib/modules/libvbe.a

(II) Module vbe: vendor="X.Org Foundation"

   compiled for 6.8.2, module version = 1.1.0

   ABI class: X.Org Video Driver, version 0.7

(II) Loading sub module "int10"

(II) LoadModule: "int10"

(II) Loading /usr/lib/modules/linux/libint10.a

(II) Module int10: vendor="X.Org Foundation"

   compiled for 6.8.2, module version = 1.0.0

   ABI class: X.Org Video Driver, version 0.7

(II) SAVAGE(0): initializing int10

(II) SAVAGE(0): Primary V_BIOS segment is: 0xc000

(II) SAVAGE(0): VESA BIOS detected

(II) SAVAGE(0): VESA VBE Version 3.0

(II) SAVAGE(0): VESA VBE Total Mem: 31680 kB

(II) SAVAGE(0): VESA VBE OEM: S3 Graphics ProSavage DDR Family BIOS

(II) SAVAGE(0): VESA VBE OEM Software Rev: 2.0

(II) SAVAGE(0): VESA VBE OEM Vendor: S3 Garphics Incorporated.

(II) SAVAGE(0): VESA VBE OEM Product: VBE 3.0

(II) SAVAGE(0): VESA VBE OEM Product Rev: Rev 0.0

(--) SAVAGE(0): Chip: id 8d04, "ProSavage DDR-K"

(--) SAVAGE(0): Engine: "ProSavageDDR"

(--) SAVAGE(0): AGP card detected

(**) SAVAGE(0): BusType set to AGP

(==) SAVAGE(0): Using AGP DMA

(==) SAVAGE(0): Will try command and vertex DMA mode

(**) SAVAGE(0): Using AGP 2x mode

(==) SAVAGE(0): Using 16 MB AGP aperture

(II) SAVAGE(0): mapping MMIO @ 0xe0000000 with size 0x80000

(==) SAVAGE(0): Using gamma correction (1.0, 1.0, 1.0)

(**) SAVAGE(0): videoram =  32000k

(II) Loading sub module "ddc"

(II) LoadModule: "ddc"

(II) Loading /usr/lib/modules/libddc.a

(II) Module ddc: vendor="X.Org Foundation"

   compiled for 6.8.2, module version = 1.0.0

   ABI class: X.Org Video Driver, version 0.7

(--) SAVAGE(0): No DDC signal

(II) Loading sub module "i2c"

(II) LoadModule: "i2c"

(II) Loading /usr/lib/modules/libi2c.a

(II) Module i2c: vendor="X.Org Foundation"

   compiled for 6.8.2, module version = 1.2.0

   ABI class: X.Org Video Driver, version 0.7

(II) SAVAGE(0): I2C bus "I2C bus" initialized.

(II) SAVAGE(0): I2C device "I2C bus:ddc2" registered at address 0xA0.

(II) SAVAGE(0): I2C device "I2C bus:ddc2" removed.

(--) SAVAGE(0): Detected current MCLK value of 14.318 MHz

(--) SAVAGE(0): 1024x768 TFT LCD panel detected and active

(--) SAVAGE(0): - Limiting video mode to 1024x768

(--) SAVAGE(0): Found 13 modes at this depth:

    [10e] 320 x 200, 70Hz

    [133] 320 x 240, 72Hz

    [143] 400 x 300, 72Hz

    [153] 512 x 384, 70Hz

    [11d] 640 x 400, 70Hz

    [111] 640 x 480, 60Hz, 75Hz, 85Hz, 100Hz, 160Hz

    [114] 800 x 600, 60Hz, 75Hz, 85Hz

    [117] 1024 x 768, 60Hz, 70Hz, 75Hz, 85Hz, 100Hz, 130Hz

    [17a] 1280 x 768, 60Hz

    [14f] 1280 x 960, 60Hz, 85Hz

    [11a] 1280 x 1024, 60Hz, 75Hz, 85Hz, 100Hz

    [13c] 1400 x 1050, 60Hz, 75Hz

    [122] 1600 x 1200, 60Hz

(II) SAVAGE(0): Monitor0: Using hsync range of 31.50-57.00 kHz

(II) SAVAGE(0): Monitor0: Using vrefresh range of 50.00-90.00 Hz

(II) SAVAGE(0): Clock range:  10.00 to 250.00 MHz

(--) SAVAGE(0): No suitable BIOS mode found for 640x350 85Hz.

(II) SAVAGE(0): Not using default mode "640x350" (no mode of this name)

(--) SAVAGE(0): No suitable BIOS mode found for 320x175 85Hz.

(II) SAVAGE(0): Not using default mode "320x175" (no mode of this name)

(--) SAVAGE(0): Chose mode 11d at 70Hz.

(--) SAVAGE(0): Chose mode 10e at 70Hz.

(--) SAVAGE(0): No suitable BIOS mode found for 720x400 85Hz.

(II) SAVAGE(0): Not using default mode "720x400" (no mode of this name)

(--) SAVAGE(0): No suitable BIOS mode found for 360x200 85Hz.

(II) SAVAGE(0): Not using default mode "360x200" (no mode of this name)

(--) SAVAGE(0): Chose mode 111 at 60Hz.

(--) SAVAGE(0): Chose mode 133 at 72Hz.

(--) SAVAGE(0): Chose mode 111 at 75Hz.

(--) SAVAGE(0): Chose mode 133 at 72Hz.

(--) SAVAGE(0): Chose mode 111 at 75Hz.

(--) SAVAGE(0): Chose mode 133 at 72Hz.

(--) SAVAGE(0): Chose mode 111 at 85Hz.

(--) SAVAGE(0): Chose mode 133 at 72Hz.

(--) SAVAGE(0): Chose mode 114 at 60Hz.

(--) SAVAGE(0): Chose mode 143 at 72Hz.

(--) SAVAGE(0): Chose mode 114 at 60Hz.

(--) SAVAGE(0): Chose mode 143 at 72Hz.

(--) SAVAGE(0): Chose mode 114 at 75Hz.

(--) SAVAGE(0): Chose mode 143 at 72Hz.

(--) SAVAGE(0): Chose mode 114 at 75Hz.

(--) SAVAGE(0): Chose mode 143 at 72Hz.

(--) SAVAGE(0): Chose mode 114 at 85Hz.

(--) SAVAGE(0): Chose mode 143 at 72Hz.

(--) SAVAGE(0): Chose mode 117 at 85Hz.

(--) SAVAGE(0): Chose mode 153 at 70Hz.

(--) SAVAGE(0): Chose mode 117 at 60Hz.

(--) SAVAGE(0): Chose mode 153 at 70Hz.

(--) SAVAGE(0): Chose mode 117 at 70Hz.

(--) SAVAGE(0): Chose mode 153 at 70Hz.

(--) SAVAGE(0): Chose mode 117 at 75Hz.

(II) SAVAGE(0): Not using default mode "1024x768" (hsync out of range)

(--) SAVAGE(0): Chose mode 153 at 70Hz.

(II) SAVAGE(0): Not using default mode "512x384" (hsync out of range)

(--) SAVAGE(0): Chose mode 117 at 85Hz.

(II) SAVAGE(0): Not using default mode "1024x768" (hsync out of range)

(--) SAVAGE(0): Chose mode 153 at 70Hz.

(II) SAVAGE(0): Not using default mode "512x384" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1152x864" (exceeds panel dimensions)

(--) SAVAGE(0): No suitable BIOS mode found for 576x432 75Hz.

(II) SAVAGE(0): Not using default mode "576x432" (no mode of this name)

(II) SAVAGE(0): Not using default mode "1280x960" (exceeds panel dimensions)

(--) SAVAGE(0): Chose mode 111 at 60Hz.

(II) SAVAGE(0): Not using default mode "640x480" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1280x960" (exceeds panel dimensions)

(--) SAVAGE(0): Chose mode 111 at 85Hz.

(II) SAVAGE(0): Not using default mode "640x480" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1280x1024" (exceeds panel dimensions)

(--) SAVAGE(0): No suitable BIOS mode found for 640x512 60Hz.

(II) SAVAGE(0): Not using default mode "640x512" (no mode of this name)

(II) SAVAGE(0): Not using default mode "1280x1024" (exceeds panel dimensions)

(--) SAVAGE(0): No suitable BIOS mode found for 640x512 75Hz.

(II) SAVAGE(0): Not using default mode "640x512" (no mode of this name)

(II) SAVAGE(0): Not using default mode "1280x1024" (exceeds panel dimensions)

(--) SAVAGE(0): No suitable BIOS mode found for 640x512 85Hz.

(II) SAVAGE(0): Not using default mode "640x512" (no mode of this name)

(II) SAVAGE(0): Not using default mode "1600x1200" (exceeds panel dimensions)

(--) SAVAGE(0): Chose mode 114 at 60Hz.

(II) SAVAGE(0): Not using default mode "800x600" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1600x1200" (exceeds panel dimensions)

(--) SAVAGE(0): Chose mode 114 at 60Hz.

(II) SAVAGE(0): Not using default mode "800x600" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1600x1200" (exceeds panel dimensions)

(--) SAVAGE(0): Chose mode 114 at 75Hz.

(II) SAVAGE(0): Not using default mode "800x600" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1600x1200" (exceeds panel dimensions)

(--) SAVAGE(0): Chose mode 114 at 75Hz.

(II) SAVAGE(0): Not using default mode "800x600" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1600x1200" (exceeds panel dimensions)

(--) SAVAGE(0): Chose mode 114 at 85Hz.

(II) SAVAGE(0): Not using default mode "800x600" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1792x1344" (exceeds panel dimensions)

(--) SAVAGE(0): No suitable BIOS mode found for 896x672 60Hz.

(II) SAVAGE(0): Not using default mode "896x672" (no mode of this name)

(II) SAVAGE(0): Not using default mode "1792x1344" (bad mode clock/interlace/doublescan)

(--) SAVAGE(0): No suitable BIOS mode found for 896x672 75Hz.

(II) SAVAGE(0): Not using default mode "896x672" (no mode of this name)

(II) SAVAGE(0): Not using default mode "1856x1392" (exceeds panel dimensions)

(--) SAVAGE(0): No suitable BIOS mode found for 928x696 60Hz.

(II) SAVAGE(0): Not using default mode "928x696" (no mode of this name)

(II) SAVAGE(0): Not using default mode "1856x1392" (bad mode clock/interlace/doublescan)

(--) SAVAGE(0): No suitable BIOS mode found for 928x696 75Hz.

(II) SAVAGE(0): Not using default mode "928x696" (no mode of this name)

(II) SAVAGE(0): Not using default mode "1920x1440" (exceeds panel dimensions)

(--) SAVAGE(0): No suitable BIOS mode found for 960x720 60Hz.

(II) SAVAGE(0): Not using default mode "960x720" (no mode of this name)

(II) SAVAGE(0): Not using default mode "1920x1440" (bad mode clock/interlace/doublescan)

(--) SAVAGE(0): No suitable BIOS mode found for 960x720 75Hz.

(II) SAVAGE(0): Not using default mode "960x720" (no mode of this name)

(--) SAVAGE(0): No suitable BIOS mode found for 832x624 74Hz.

(II) SAVAGE(0): Not using default mode "832x624" (no mode of this name)

(--) SAVAGE(0): No suitable BIOS mode found for 416x312 74Hz.

(II) SAVAGE(0): Not using default mode "416x312" (no mode of this name)

(II) SAVAGE(0): Not using default mode "1152x768" (exceeds panel dimensions)

(--) SAVAGE(0): No suitable BIOS mode found for 576x384 54Hz.

(II) SAVAGE(0): Not using default mode "576x384" (no mode of this name)

(II) SAVAGE(0): Not using default mode "1400x1050" (exceeds panel dimensions)

(--) SAVAGE(0): No suitable BIOS mode found for 700x525 59Hz.

(II) SAVAGE(0): Not using default mode "700x525" (no mode of this name)

(II) SAVAGE(0): Not using default mode "1400x1050" (exceeds panel dimensions)

(--) SAVAGE(0): No suitable BIOS mode found for 700x525 74Hz.

(II) SAVAGE(0): Not using default mode "700x525" (no mode of this name)

(II) SAVAGE(0): Not using default mode "1600x1024" (exceeds panel dimensions)

(--) SAVAGE(0): No suitable BIOS mode found for 800x512 60Hz.

(II) SAVAGE(0): Not using default mode "800x512" (no mode of this name)

(II) SAVAGE(0): Not using default mode "1920x1440" (bad mode clock/interlace/doublescan)

(--) SAVAGE(0): No suitable BIOS mode found for 960x720 85Hz.

(II) SAVAGE(0): Not using default mode "960x720" (no mode of this name)

(II) SAVAGE(0): Not using default mode "2048x1536" (bad mode clock/interlace/doublescan)

(--) SAVAGE(0): Chose mode 117 at 60Hz.

(II) SAVAGE(0): Not using default mode "1024x768" (hsync out of range)

(II) SAVAGE(0): Not using default mode "2048x1536" (bad mode clock/interlace/doublescan)

(--) SAVAGE(0): Chose mode 117 at 75Hz.

(II) SAVAGE(0): Not using default mode "1024x768" (hsync out of range)

(II) SAVAGE(0): Not using default mode "2048x1536" (bad mode clock/interlace/doublescan)

(--) SAVAGE(0): Chose mode 117 at 85Hz.

(II) SAVAGE(0): Not using default mode "1024x768" (hsync out of range)

(--) SAVAGE(0): Chose mode 117 at 70Hz.

(--) SAVAGE(0): Chose mode 114 at 85Hz.

(--) SAVAGE(0): Chose mode 111 at 85Hz.

(--) SAVAGE(0): Chose mode 11d at 70Hz.

(--) SAVAGE(0): Chose mode 153 at 70Hz.

(--) SAVAGE(0): Chose mode 143 at 72Hz.

(--) SAVAGE(0): Chose mode 133 at 72Hz.

(--) SAVAGE(0): Chose mode 10e at 70Hz.

(--) SAVAGE(0): Chose mode 117 at 60Hz.

(--) SAVAGE(0): Chose mode 117 at 85Hz.

(--) SAVAGE(0): Chose mode 114 at 75Hz.

(--) SAVAGE(0): Chose mode 114 at 75Hz.

(--) SAVAGE(0): Chose mode 114 at 60Hz.

(--) SAVAGE(0): Chose mode 114 at 60Hz.

(--) SAVAGE(0): Chose mode 111 at 75Hz.

(--) SAVAGE(0): Chose mode 111 at 75Hz.

(--) SAVAGE(0): Chose mode 111 at 60Hz.

(--) SAVAGE(0): Chose mode 153 at 70Hz.

(--) SAVAGE(0): Chose mode 153 at 70Hz.

(--) SAVAGE(0): Chose mode 143 at 72Hz.

(--) SAVAGE(0): Chose mode 143 at 72Hz.

(--) SAVAGE(0): Chose mode 143 at 72Hz.

(--) SAVAGE(0): Chose mode 143 at 72Hz.

(--) SAVAGE(0): Chose mode 133 at 72Hz.

(--) SAVAGE(0): Chose mode 133 at 72Hz.

(--) SAVAGE(0): Chose mode 133 at 72Hz.

(--) SAVAGE(0): Virtual size is 1024x768 (pitch 1024)

(**) SAVAGE(0): *Default mode "1024x768": 75.0 MHz, 56.5 kHz, 70.1 Hz

(II) SAVAGE(0): Modeline "1024x768"   75.00  1024 1048 1184 1328  768 771 777 806 -hsync -vsync

(**) SAVAGE(0): *Default mode "800x600": 56.3 MHz, 53.7 kHz, 85.1 Hz

(II) SAVAGE(0): Modeline "800x600"   56.30  800 832 896 1048  600 601 604 631 +hsync +vsync

(**) SAVAGE(0): *Default mode "640x480": 36.0 MHz, 43.3 kHz, 85.0 Hz

(II) SAVAGE(0): Modeline "640x480"   36.00  640 696 752 832  480 481 484 509 -hsync -vsync

(**) SAVAGE(0): *Default mode "640x400": 31.5 MHz, 37.9 kHz, 85.1 Hz

(II) SAVAGE(0): Modeline "640x400"   31.50  640 672 736 832  400 401 404 445 -hsync +vsync

(**) SAVAGE(0): *Default mode "512x384": 37.5 MHz, 56.5 kHz, 70.1 Hz (D)

(II) SAVAGE(0): Modeline "512x384"   37.50  512 524 592 664  384 385 388 403 doublescan -hsync -vsync

(**) SAVAGE(0): *Default mode "400x300": 28.1 MHz, 53.7 kHz, 85.3 Hz (D)

(II) SAVAGE(0): Modeline "400x300"   28.15  400 416 448 524  300 300 302 315 doublescan +hsync +vsync

(**) SAVAGE(0): *Default mode "320x240": 18.0 MHz, 43.3 kHz, 85.2 Hz (D)

(II) SAVAGE(0): Modeline "320x240"   18.00  320 348 376 416  240 240 242 254 doublescan -hsync -vsync

(**) SAVAGE(0): *Default mode "320x200": 15.8 MHz, 37.9 kHz, 85.3 Hz (D)

(II) SAVAGE(0): Modeline "320x200"   15.75  320 336 368 416  200 200 202 222 doublescan -hsync +vsync

(**) SAVAGE(0):  Default mode "1024x768": 65.0 MHz, 48.4 kHz, 60.0 Hz

(II) SAVAGE(0): Modeline "1024x768"   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync

(**) SAVAGE(0):  Default mode "1024x768": 44.9 MHz, 35.5 kHz, 87.1 Hz (I)

(II) SAVAGE(0): Modeline "1024x768"   44.90  1024 1032 1208 1264  768 768 776 817 interlace +hsync +vsync

(**) SAVAGE(0):  Default mode "800x600": 49.5 MHz, 46.9 kHz, 75.0 Hz

(II) SAVAGE(0): Modeline "800x600"   49.50  800 816 896 1056  600 601 604 625 +hsync +vsync

(**) SAVAGE(0):  Default mode "800x600": 50.0 MHz, 48.1 kHz, 72.2 Hz

(II) SAVAGE(0): Modeline "800x600"   50.00  800 856 976 1040  600 637 643 666 +hsync +vsync

(**) SAVAGE(0):  Default mode "800x600": 40.0 MHz, 37.9 kHz, 60.3 Hz

(II) SAVAGE(0): Modeline "800x600"   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync

(**) SAVAGE(0):  Default mode "800x600": 36.0 MHz, 35.2 kHz, 56.2 Hz

(II) SAVAGE(0): Modeline "800x600"   36.00  800 824 896 1024  600 601 603 625 +hsync +vsync

(**) SAVAGE(0):  Default mode "640x480": 31.5 MHz, 37.5 kHz, 75.0 Hz

(II) SAVAGE(0): Modeline "640x480"   31.50  640 656 720 840  480 481 484 500 -hsync -vsync

(**) SAVAGE(0):  Default mode "640x480": 31.5 MHz, 37.9 kHz, 72.8 Hz

(II) SAVAGE(0): Modeline "640x480"   31.50  640 664 704 832  480 489 491 520 -hsync -vsync

(**) SAVAGE(0):  Default mode "640x480": 25.2 MHz, 31.5 kHz, 60.0 Hz

(II) SAVAGE(0): Modeline "640x480"   25.20  640 656 752 800  480 490 492 525 -hsync -vsync

(**) SAVAGE(0):  Default mode "512x384": 32.5 MHz, 48.4 kHz, 60.0 Hz (D)

(II) SAVAGE(0): Modeline "512x384"   32.50  512 524 592 672  384 385 388 403 doublescan -hsync -vsync

(**) SAVAGE(0):  Default mode "512x384": 22.4 MHz, 35.5 kHz, 87.1 Hz (D)

(II) SAVAGE(0): Modeline "512x384"   22.45  512 516 604 632  384 384 388 409 interlace doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "400x300": 24.8 MHz, 46.9 kHz, 75.1 Hz (D)

(II) SAVAGE(0): Modeline "400x300"   24.75  400 408 448 528  300 300 302 312 doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "400x300": 25.0 MHz, 48.1 kHz, 72.2 Hz (D)

(II) SAVAGE(0): Modeline "400x300"   25.00  400 428 488 520  300 318 321 333 doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "400x300": 20.0 MHz, 37.9 kHz, 60.3 Hz (D)

(II) SAVAGE(0): Modeline "400x300"   20.00  400 420 484 528  300 300 302 314 doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "400x300": 18.0 MHz, 35.2 kHz, 56.3 Hz (D)

(II) SAVAGE(0): Modeline "400x300"   18.00  400 412 448 512  300 300 301 312 doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "320x240": 15.8 MHz, 37.5 kHz, 75.0 Hz (D)

(II) SAVAGE(0): Modeline "320x240"   15.75  320 328 360 420  240 240 242 250 doublescan -hsync -vsync

(**) SAVAGE(0):  Default mode "320x240": 15.8 MHz, 37.9 kHz, 72.8 Hz (D)

(II) SAVAGE(0): Modeline "320x240"   15.75  320 332 352 416  240 244 245 260 doublescan -hsync -vsync

(**) SAVAGE(0):  Default mode "320x240": 12.6 MHz, 31.5 kHz, 60.1 Hz (D)

(II) SAVAGE(0): Modeline "320x240"   12.60  320 328 376 400  240 245 246 262 doublescan -hsync -vsync

(==) SAVAGE(0): DPI set to (75, 75)

(II) Loading sub module "fb"

(II) LoadModule: "fb"

(II) Loading /usr/lib/modules/libfb.a

(II) Module fb: vendor="X.Org Foundation"

   compiled for 6.8.2, module version = 1.0.0

   ABI class: X.Org ANSI C Emulation, version 0.2

(II) Loading sub module "xaa"

(II) LoadModule: "xaa"

(II) Loading /usr/lib/modules/libxaa.a

(II) Module xaa: vendor="X.Org Foundation"

   compiled for 6.8.2, module version = 1.2.0

   ABI class: X.Org Video Driver, version 0.7

(II) Loading sub module "ramdac"

(II) LoadModule: "ramdac"

(II) Loading /usr/lib/modules/libramdac.a

(II) Module ramdac: vendor="X.Org Foundation"

   compiled for 6.8.2, module version = 0.1.0

   ABI class: X.Org Video Driver, version 0.7

(II) do I need RAC?  No, I don't.

(II) resource ranges after preInit:

   [0] 0   0   0x90000000 - 0x97ffffff (0x8000000) MS[B]

   [1] 0   0   0xe0000000 - 0xe007ffff (0x80000) MS[B]

   [2] -1   0   0xffe00000 - 0xffffffff (0x200000) MX[B](B)

   [3] -1   0   0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)

   [4] -1   0   0x000f0000 - 0x000fffff (0x10000) MX[B]

   [5] -1   0   0x000c0000 - 0x000cffff (0x10000) MX[B]

   [6] -1   0   0x00000000 - 0x0009ffff (0xa0000) MX[B]

   [7] -1   0   0xf0000100 - 0xf00001ff (0x100) MX[B]

   [8] -1   0   0xf0000000 - 0xf00000ff (0x100) MX[B]

   [9] -1   0   0xa0000000 - 0x9fffffff (0x0) MX[B]O

   [10] -1   0   0x000c0000 - 0x000cffff (0x10000) MX[B](B)

   [11] -1   0   0x90000000 - 0x97ffffff (0x8000000) MX[B](B)

   [12] -1   0   0xe0000000 - 0xe007ffff (0x80000) MX[B](B)

   [13] 0   0   0x000a0000 - 0x000affff (0x10000) MS[B](OprD)

   [14] 0   0   0x000b0000 - 0x000b7fff (0x8000) MS[B](OprD)

   [15] 0   0   0x000b8000 - 0x000bffff (0x8000) MS[B](OprD)

   [16] -1   0   0x0000ffff - 0x0000ffff (0x1) IX[B]

   [17] -1   0   0x00000000 - 0x000000ff (0x100) IX[B]

   [18] -1   0   0x0000e300 - 0x0000e3ff (0x100) IX[B]

   [19] -1   0   0x0000e200 - 0x0000e2ff (0x100) IX[B]

   [20] -1   0   0x0000e100 - 0x0000e1ff (0x100) IX[B]

   [21] -1   0   0x00001100 - 0x0000110f (0x10) IX[B]

   [22] -1   0   0x00001300 - 0x0000131f (0x20) IX[B]

   [23] -1   0   0x00001200 - 0x0000121f (0x20) IX[B]

   [24] 0   0   0x000003b0 - 0x000003bb (0xc) IS[B](OprU)

   [25] 0   0   0x000003c0 - 0x000003df (0x20) IS[B](OprU)

(II) Loading sub module "int10"

(II) LoadModule: "int10"

(II) Reloading /usr/lib/modules/linux/libint10.a

(II) SAVAGE(0): initializing int10

(II) SAVAGE(0): Primary V_BIOS segment is: 0xc000

(II) SAVAGE(0): VESA BIOS detected

(II) SAVAGE(0): VESA VBE Version 3.0

(II) SAVAGE(0): VESA VBE Total Mem: 31680 kB

(II) SAVAGE(0): VESA VBE OEM: S3 Graphics ProSavage DDR Family BIOS

(II) SAVAGE(0): VESA VBE OEM Software Rev: 2.0

(II) SAVAGE(0): VESA VBE OEM Vendor: S3 Garphics Incorporated.

(II) SAVAGE(0): VESA VBE OEM Product: VBE 3.0

(II) SAVAGE(0): VESA VBE OEM Product Rev: Rev 0.0

(--) SAVAGE(0): mapping framebuffer @ 0x90000000 with size 0x1f40000

(II) SAVAGE(0): Splitting WC range: base: 0x90000000, size: 0x1f40000

(II) SAVAGE(0): Splitting WC range: base: 0x91000000, size: 0xf40000

(II) SAVAGE(0): Splitting WC range: base: 0x91800000, size: 0x740000

(II) SAVAGE(0): Splitting WC range: base: 0x91c00000, size: 0x340000

(II) SAVAGE(0): Splitting WC range: base: 0x91e00000, size: 0x140000

(==) SAVAGE(0): Write-combining range (0x91f00000,0x40000)

(==) SAVAGE(0): Write-combining range (0x91e00000,0x140000)

(==) SAVAGE(0): Write-combining range (0x91c00000,0x340000)

(WW) SAVAGE(0): Failed to set up write-combining range (0x91800000,0x740000)

(WW) SAVAGE(0): Failed to set up write-combining range (0x91000000,0xf40000)

(WW) SAVAGE(0): Failed to set up write-combining range (0x90000000,0x1f40000)

(II) SAVAGE(0): Splitting WC range: base: 0x92000000, size: 0x5000000

(II) SAVAGE(0): Splitting WC range: base: 0x94000000, size: 0x3000000

(WW) SAVAGE(0): Failed to set up write-combining range (0x96000000,0x1000000)

(WW) SAVAGE(0): Failed to set up write-combining range (0x94000000,0x3000000)

(WW) SAVAGE(0): Failed to set up write-combining range (0x92000000,0x5000000)

(II) SAVAGE(0): map aperture:0xb0c54000

(II) SAVAGE(0): 4740 kB of Videoram needed for 3D; 32000 kB of Videoram available

(II) SAVAGE(0): Sufficient Videoram available for 3D

(II) SAVAGE(0): [drm] bpp: 16 depth: 16

(II) SAVAGE(0): [drm] Sarea 2200+284: 2484

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

[drm] failed to load kernel module "savage"

(II) SAVAGE(0): [drm] drmOpen failed

(EE) SAVAGE(0): [drm] DRIScreenInit failed.  Disabling DRI.

(EE) SAVAGE(0): DRI isn't enabled

(--) SAVAGE(0): Chose mode 117 at 70Hz.

(II) SAVAGE(0): Using 1280 lines for offscreen memory.

(II) SAVAGE(0): Using XFree86 Acceleration Architecture (XAA)

   Screen to screen bit blits

   Solid filled rectangles

   8x8 mono pattern filled rectangles

   Indirect CPU to Screen color expansion

   Solid Lines

   Image Writes

   Offscreen Pixmaps

   Setting up tile and stipple cache:

      32 128x128 slots

      12 256x256 slots

(**) SAVAGE(0): Option "BackingStore" "1"

(**) SAVAGE(0): Backing store enabled

(EE) SAVAGE(0): Direct rendering disabled

(WW) SAVAGE(0): Option "SAA7111" is not used

(WW) SAVAGE(0): Option "AGPFastWrite" is not used

(==) RandR enabled

(II) Initializing built-in extension MIT-SHM

(II) Initializing built-in extension XInputExtension

(II) Initializing built-in extension XTEST

(II) Initializing built-in extension XKEYBOARD

(II) Initializing built-in extension LBX

(II) Initializing built-in extension XC-APPGROUP

(II) Initializing built-in extension SECURITY

(II) Initializing built-in extension XINERAMA

(II) Initializing built-in extension XFIXES

(II) Initializing built-in extension XFree86-Bigfont

(II) Initializing built-in extension RENDER

(II) Initializing built-in extension RANDR

(II) Initializing built-in extension COMPOSITE

(II) Initializing built-in extension DAMAGE

(II) Initializing built-in extension XEVIE

(**) Option "CoreKeyboard"

(**) Keyboard0: Core Keyboard

(**) Option "Protocol" "standard"

(**) Keyboard0: Protocol: standard

(**) Option "AutoRepeat" "500 30"

(**) Option "XkbRules" "xorg"

(**) Keyboard0: XkbRules: "xorg"

(**) Option "XkbModel" "pc104"

(**) Keyboard0: XkbModel: "pc104"

(**) Option "XkbLayout" "de"

(**) Keyboard0: XkbLayout: "de"

(**) Option "XkbVariant" "nodadkeys"

(**) Keyboard0: XkbVariant: "nodadkeys"

(**) Option "CustomKeycodes" "off"

(**) Keyboard0: CustomKeycodes disabled

(**) Option "Protocol" "Auto"

(**) Mouse0: Device: "/dev/psaux"

(**) Mouse0: Protocol: "Auto"

(**) Option "CorePointer"

(**) Mouse0: Core Pointer

(**) Option "Device" "/dev/psaux"

(==) Mouse0: Emulate3Buttons, Emulate3Timeout: 50

(**) Option "ZAxisMapping" "4 5"

(**) Mouse0: ZAxisMapping: buttons 4 and 5

(**) Mouse0: Buttons: 5

(**) Mouse0: SmartScroll: 1 

(II) Synaptics touchpad driver version 0.14.3

(**) Option "Device" "/dev/input/event0"

(**) Option "SHMConfig" "on"

(**) Option "LeftEdge" "1900"

(**) Option "RightEdge" "5400"

(**) Option "TopEdge" "1400"

(**) Option "BottomEdge" "4500"

(**) Option "FingerLow" "25"

(**) Option "FingerHigh" "30"

(**) Option "MaxTapTime" "180"

(**) Option "MaxTapMove" "220"

(**) Option "VertScrollDelta" "100"

(EE) Touchpad no synaptics touchpad detected and no repeater device

(EE) Touchpad Unable to query/initialize Synaptics hardware.

(EE) PreInit failed for input device "Touchpad"

(II) UnloadModule: "synaptics"

xf86SumInit allocating...

xf86SumInit CollectInputOptions... done.

(**) Option "AlwaysCore" "on"

(**) Tablet0: always reports core events

(**) Tablet0: serial device is /dev/ttyS1

(**) Tablet0: set for absolute mode

(**) Tablet0: cursor mode is puck

(II) XINPUT: Adding extended input device "Tablet0" (type: SummaSketch Tablet)

(II) XINPUT: Adding extended input device "Mouse0" (type: MOUSE)

(II) XINPUT: Adding extended input device "Keyboard0" (type: KEYBOARD)

(**) Option "Device" "/dev/ttyS1"

SummaSketch write: Input/output error(--) Mouse0: PnP-detected protocol: "ExplorerPS/2"

(II) Mouse0: ps2EnableDataReporting: succeeded

SummaSketch write: Input/output errorCould not init font path element /usr/share/fonts/CID/, removing from list!

SetClientVersion: 0 8

SummaSketch write: Input/output errorSummaSketch write: Input/output errorSummaSketch write: Input/output error

```

lspci

```

0000:01:00.0 VGA compatible controller: S3 Inc. VT8375 [ProSavage8 KM266/KL266]

```

and finally the dri.log 

[code:1:ae8241880e]

make DRM_MODULES=savage.o modules

make[1]: Entering directory `/home/billy/instaladores/xxx/dripkg/drm/linux-core'

make -C /lib/modules/2.6.13-gentoo-r3/source  SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules

make[2]: Entering directory `/usr/src/linux-2.6.13-gentoo-r3'

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_auth.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_bufs.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_context.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_dma.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_drawable.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_drv.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_fops.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_ioctl.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_irq.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_lock.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_memory.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_proc.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_stub.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_vm.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_sysfs.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_pci.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_agpsupport.o

  CC [M]  /home/b

----------

## williamvergara

and finally the dri.log 

```

make DRM_MODULES=savage.o modules

make[1]: Entering directory `/home/billy/instaladores/xxx/dripkg/drm/linux-core'

make -C /lib/modules/2.6.13-gentoo-r3/source  SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules

make[2]: Entering directory `/usr/src/linux-2.6.13-gentoo-r3'

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_auth.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_bufs.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_context.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_dma.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_drawable.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_drv.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_fops.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_ioctl.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_irq.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_lock.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_memory.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_proc.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_stub.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_vm.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_sysfs.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_pci.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_agpsupport.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_scatter.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm_memory_debug.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/ati_pcigart.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/savage_drv.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/savage_bci.o

  CC [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/savage_state.o

  LD [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm.o

  LD [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/savage.o

  Building modules, stage 2.

  MODPOST

  LD [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/drm.ko

  CC      /home/billy/instaladores/xxx/dripkg/drm/linux-core/savage.mod.o

  LD [M]  /home/billy/instaladores/xxx/dripkg/drm/linux-core/savage.ko

make[2]: Leaving directory `/usr/src/linux-2.6.13-gentoo-r3'

make[1]: Leaving directory `/home/billy/instaladores/xxx/dripkg/drm/linux-core'

FATAL: Error inserting savage (/lib/modules/2.6.13-gentoo-r3/kernel/drivers/char/drm/savage.ko): Unknown symbol in module, or unknown parameter (see dmesg)

```

Thanx in advance!!

----------

## BonesToo

Did you check your dmesg?  It prolly says something about a missing symbol pci_pretty_name huh?  This was removed from kernel 2.6.13+.  I have a patch you can try and apply to the savage drm code.  I originally made this patch to be applied against the x11-drm-20050502 ebuild.  But it might still work for the dri snapshots, but if it doesn't it's still a simple patch to apply by hand  :Wink: 

2.6.13+ savage drm patch:

```

--- drm/linux-core/savage_drv.c.alt-pci_pretty-fix      2005-12-18 14:57:29.000000000 -0800

+++ drm/linux-core/savage_drv.c 2005-12-18 14:58:02.000000000 -0800

@@ -32,14 +32,13 @@

 

 static int postinit( struct drm_device *dev, unsigned long flags )

 {

-       DRM_INFO( "Initialized %s %d.%d.%d %s on minor %d: %s\n",

+       DRM_INFO( "Initialized %s %d.%d.%d %s on minor %d:\n",

                DRIVER_NAME,

                DRIVER_MAJOR,

                DRIVER_MINOR,

                DRIVER_PATCHLEVEL,

                DRIVER_DATE,

-               dev->primary.minor,

-               pci_pretty_name(dev->pdev)

+               dev->primary.minor

                );

        return 0;

 }

--- drm/linux-core/drm_compat.h.alt-pci_pretty-fix      2005-12-18 15:06:55.000000000 -0800

+++ drm/linux-core/drm_compat.h 2005-12-18 15:07:29.000000000 -0800

@@ -150,9 +150,6 @@

        return NULL;

 }

 

-#ifndef pci_pretty_name

-#define pci_pretty_name(x) x->name

-#endif

 

 struct drm_device;

 static inline int radeon_create_i2c_busses(struct drm_device *dev)

```

----------

## dmvianna

In case you are wondering: xorg-x11 6.9 USE="insecure-drivers" gives me that:

```
me@myown ~ $ glxinfo | grep direct

direct rendering: Yes
```

If anyone wants the same, just read the first post at https://forums.gentoo.org/viewtopic-t-396898-highlight-xorg+7+release.html and have fun!   :Laughing: 

----------

## williamvergara

Sorry for my delayed. Thanx for your advices. But i also followed that post and now everythings working fine. I was unserd to do that, some other guy with the same card as mine did it, and told me is was working great. So i did the same, and now i can play tuxracer.

----------

## Dan Forever

Forgive me for being a newbie BonesToo, but how do you apply the patch? I've got a laptop with a prosavage in it giving me grief with 2.6.14-gentoo-r5  :Sad: 

----------

## dmvianna

Heh. Just follow the "To use it" section in the first post. You won't need to really "patch" the kernel or something that hard. You'll just need to unpack (# tar -xvjf *.tar.bz2) as it tells you to, and to create the directories and files it refers to, in case you don't have them. Send me a private message if you need any more help. I was struck with the ease of it, as compared to what it was when I had to test many cvs xorg snapshots to find out which one would work.   :Razz: 

----------

## williamvergara

As dmvianna said,it seems so easy, that i also thought "what is it that im doing wrong?".But no, that ebuild is a master piece. I short, this is what i did:

downloaded the overlay

untar it in /usr/local/portage/x11-base (if you are a noob and dont know how to do it, use the konqueror as root and unter it under konqueror)

edit make.conf, add this line: PORTDIR_OVERLAY="/usr/local/portage"

backup your old xorg-x11 (again if you are a noob and dont know how to do it, this is what i suggest: backup your xorg.conf and this list of config files www.binasoft.com/cambiosparaelnuevoxorg, not all are necesaries, i would say the first 10 just in case)

Unmask it by adding =x11-base/xorg-x11-6.9* -* to your /etc/portage/package.keywords, or just emerge it by path

and create the dir .compose-cache in your home.

i think thats it.

greetings

----------

## Dan Forever

williamvergara, are you talking about using this ebuild? https://forums.gentoo.org/viewtopic-t-396898-start-0.html

I thought dmvianna meant the first post of this topic?

----------

## williamvergara

yes, im talkin about that post. That worked great for me.

----------

## firephoto

Has anyone been successful with opengl apps working with the savage drivers from an xorg-7 emerge?

The drivers work great for accelerated 2d but as soon as an opengl app runs it dies with a "killed" message. glx is getting loaded, it just anything that uses it not working it seems like. This has happened with glxgears and some other opengl app I tested. Just curious if anyone has a solution or knows what is causing it since the strace here didn't reveal anything very usefull.

----------

## BonesToo

Sorry for late response Dan Forever.  If you want to update to xorg 6.9 following that post, it will probably all just work.  I'm still running xorg 6.8 with x11-drm for that, which does require the patch for 2.6.13+ kernels.  If you choose to do it that way, then I'll post my overlay ebuild for x11-drm.

----------

## Dan Forever

I'm actually considering xorg 7.0 after reading http://www.gentoo.org/proj/en/desktop/x/x11/modular-x-howto.xml since 7.0 and 6.9 are the same, essentially, to the end user...

----------

## dmvianna

 :Question:  Why would I have a stable system if I could ruin it by testing some new obscure capability?   :Rolling Eyes: 

OK, there it goes: have someone succeeded in making module savage work with a suspend2-sources kernel? I've just ruined my direct rendering *again*. Basically, after compiling the new kernel, I've lost the savage module, and neither the newest binary snapshot nor recompiling xorg 6.9 gets it working again. Damn. That's what I get:

```
# modprobe savage

FATAL: Error inserting savage (/lib/modules/2.6.14-suspend2-r7/kernel/drivers/char/drm/savage.ko): Unknown symbol in module, or unknown parameter (see dmesg)

# dmesg

savage: Unknown symbol drm_addmap
```

----------

## Dan Forever

it's all fun   :Twisted Evil: 

I can't seem to get my savage module at all.

I've got x11-drivers/xf86-video-savage 'merged.

```
FATAL: Module savage not found.

[drm] failed to load kernel module "savage"

(EE) SAVAGE(0): [drm] DRIScreenInit failed. Disabling DRI.

(EE) SAVAGE(0): DRI isn't enabled
```

appears to be the useful stuff from the spew in the console.

Briefly going over /var/log/Xorg.0.log it appears to be working until...

```
drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is -1, (No such device or address)
```

looking at the directory /dev/dri it appears to be empty...

Dan

----------

## Dan Forever

OK, update, I fixed that problem by adding in the savage drivers as a module in the [2.6.15-r1] kernel->character devices. graphics devices has nothing in there. I now have a slightly different problem:

```
(EE) SAVAGE(0): [agp] AGP not available
```

 :/

agpgart is loaded as a module

----------

## dmvianna

I've just started a thread for savagers who are testing the new modular xorg-7.0: https://forums.gentoo.org/viewtopic-t-436831-highlight-.html. See you there!   :Cool: 

[edit] By the way, now I have DRI enabled in the modular xorg. Just read the topic quoted above.   :Very Happy: 

----------

## dmvianna

firephoto: did you have any luck with glxgears? I'm getting the same here. I'm running xorg-7.0-r1 too.

[edit] I wasn't using the new dri drivers that come with the 2.6.15 kernel. Using those everything works like a charm.   :Very Happy: 

----------

## firephoto

I think I got it partially working, I know my results have changed since I last posted in this one (now that I read what I posted) but I'm pretty sure the last thing I tested resulted in the "X crashes" problem.

----------

## RuFI0

I've been at this for more than a month now and i still can't get DRI working. Here's my info:

lspci:

```

01:00.0 VGA compatible controller: S3 Inc. VT8375 [ProSavage8 KM266/KL266]

```

glxinfo:

```

name of display: :0.0

display: :0  screen: 0

direct rendering: No

server glx vendor string: SGI

server glx version string: 1.2

server glx extensions:

    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, 

    GLX_EXT_import_context, GLX_OML_swap_method, GLX_SGI_make_current_read, 

    GLX_SGIS_multisample, GLX_SGIX_fbconfig

client glx vendor string: SGI

client glx version string: 1.4

client glx extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 

    GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method, 

    GLX_OML_sync_control, GLX_SGI_make_current_read, GLX_SGI_swap_control, 

    GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, 

    GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group

GLX extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_OML_swap_method, 

    GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_fbconfig

OpenGL vendor string: Mesa project: www.mesa3d.org

OpenGL renderer string: Mesa GLX Indirect

OpenGL version string: 1.2 (1.5 Mesa 6.2.1)

OpenGL 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

glu version: 1.3

glu extensions:

    GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav

 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat

----------------------------------------------------------------------

0x23 24 tc  0 24  0 r  y  .  8  8  8  0  0 16  0  0  0  0  0  0 0 None

0x24 24 tc  0 24  0 r  y  .  8  8  8  0  0 16  8 16 16 16  0  0 0 None

0x25 24 tc  0 32  0 r  y  .  8  8  8  8  0 16  8 16 16 16 16  0 0 None

0x26 24 tc  0 32  0 r  .  .  8  8  8  8  0 16  8 16 16 16 16  0 0 None

0x27 24 dc  0 24  0 r  y  .  8  8  8  0  0 16  0  0  0  0  0  0 0 None

0x28 24 dc  0 24  0 r  y  .  8  8  8  0  0 16  8 16 16 16  0  0 0 None

0x29 24 dc  0 32  0 r  y  .  8  8  8  8  0 16  8 16 16 16 16  0 0 None

0x2a 24 dc  0 32  0 r  .  .  8  8  8  8  0 16  8 16 16 16 16  0 0 None
```

/etc/X11/xorg.conf

```

# **********************************************************************

# Module section -- this  section  is used to specify

# which dynamically loadable modules to load.

# **********************************************************************

#

Section "Module"

# This loads the DBE extension module.

    Load        "dbe"   # Double buffer extension

# This loads the miscellaneous extensions module, and disables

# initialisation of the XFree86-DGA extension within that module.

    SubSection  "extmod"

      Option    "omit xfree86-dga"   # don't initialise the DGA extension

    EndSubSection

# This loads the font modules

    Load        "type1"

#    Load        "speedo"

    Load        "freetype"

#    Load        "xtt"

# This loads the GLX module

    Load       "glx"

# This loads the DRI module

    Load       "dri"

EndSection

# **********************************************************************

# Files section.  This allows default font and rgb paths to be set

# **********************************************************************

Section "Files"

# The location of the RGB database.  Note, this is the name of the

# file minus the extension (like ".txt" or ".db").  There is normally

# no need to change the default.

    RgbPath     "/usr/lib/X11/rgb"

# Multiple FontPath entries are allowed (which are concatenated together),

# as well as specifying multiple comma-separated entries in one FontPath

# command (or a combination of both methods)

# 

# 

    FontPath   "/usr/share/fonts/misc/"

    FontPath   "/usr/share/fonts/TTF/"

    FontPath   "/usr/share/fonts/Type1/"

#    FontPath   "/usr/share/fonts/CID/"

    FontPath   "/usr/share/fonts/75dpi/"

    FontPath   "/usr/share/fonts/100dpi/"

    FontPath   "/usr/share/fonts/local/"

#    FontPath   "/usr/share/fonts/Speedo/"

#    FontPath   "/usr/share/fonts/TrueType/"

#    FontPath   "/usr/share/fonts/freefont/"

# The module search path.  The default path is shown here.

#    ModulePath "/usr/X11R6/lib/modules"

EndSection

# **********************************************************************

# Server flags section.

# **********************************************************************

Section "ServerFlags"

# Uncomment this to cause a core dump at the spot where a signal is 

# received.  This may leave the console in an unusable state, but may

# provide a better stack trace in the core dump to aid in debugging

#    Option "NoTrapSignals"

# Uncomment this to disable the <Crtl><Alt><Fn> VT switch sequence

# (where n is 1 through 12).  This allows clients to receive these key

# events.

#    Option "DontVTSwitch"

# Uncomment this to disable the <Crtl><Alt><BS> server abort sequence

# This allows clients to receive this key event.

#    Option "DontZap"

# Uncomment this to disable the <Crtl><Alt><KP_+>/<KP_-> mode switching

# sequences.  This allows clients to receive these key events.

#    Option "Dont Zoom"

# Uncomment this to disable tuning with the xvidtune client. With

# it the client can still run and fetch card and monitor attributes,

# but it will not be allowed to change them. If it tries it will

# receive a protocol error.

#    Option "DisableVidModeExtension"

# Uncomment this to enable the use of a non-local xvidtune client. 

#    Option "AllowNonLocalXvidtune"

# Uncomment this to disable dynamically modifying the input device

# (mouse and keyboard) settings. 

#    Option "DisableModInDev"

# Uncomment this to enable the use of a non-local client to

# change the keyboard or mouse settings (currently only xset).

#    Option "AllowNonLocalModInDev"

EndSection

# **********************************************************************

# Input devices

# **********************************************************************

# **********************************************************************

# Core keyboard's InputDevice section

# **********************************************************************

Section "InputDevice"

    Identifier  "Keyboard1"

    Driver      "kbd"

# For most OSs the protocol can be omitted (it defaults to "Standard").

# When using XQUEUE (only for SVR3 and SVR4, but not Solaris),

# uncomment the following line.

#    Option     "Protocol"      "Xqueue"

    Option "AutoRepeat" "500 30"

# Specify which keyboard LEDs can be user-controlled (eg, with xset(1))

#    Option     "Xleds"      "1 2 3"

#    Option "LeftAlt"     "Meta"

#    Option "RightAlt"    "ModeShift"

# To customise the XKB settings to suit your keyboard, modify the

# lines below (which are the defaults).  For example, for a non-U.S.

# keyboard, you will probably want to use:

#    Option "XkbModel"    "pc105"

# If you have a US Microsoft Natural keyboard, you can use:

#    Option "XkbModel"    "microsoft"

#

# Then to change the language, change the Layout setting.

# For example, a german layout can be obtained with:

#    Option "XkbLayout"   "de"

# or:

#    Option "XkbLayout"   "de"

#    Option "XkbVariant"  "nodeadkeys"

#

# If you'd like to switch the positions of your capslock and

# control keys, use:

#    Option "XkbOptions"  "ctrl:swapcaps"

# These are the default XKB settings for Xorg

#    Option "XkbModel"    "pc105"

#    Option "XkbLayout"   "us"

#    Option "XkbVariant"  ""

#    Option "XkbOptions"  ""

#    Option "XkbDisable"

    Option "XkbModel"   "pc101"

    Option "XkbLayout"  "us"

EndSection

# **********************************************************************

# Core Pointer's InputDevice section

# **********************************************************************

Section "InputDevice"

# Identifier and driver

    Identifier  "Mouse1"

    Driver      "mouse"

    Option "Protocol"    "Auto"

    Option "Device"      "/dev/psaux"

# Mouse-speed setting for PS/2 mouse.

#    Option "Resolution"        "256"

# When using XQUEUE, comment out the above two lines, and uncomment

# the following line.

#    Option "Protocol"  "Xqueue"

# Baudrate and SampleRate are only for some Logitech mice. In

# almost every case these lines should be omitted.

#    Option "BaudRate"  "9600"

#    Option "SampleRate"        "150"

# Emulate3Buttons is an option for 2-button Microsoft mice

# Emulate3Timeout is the timeout in milliseconds (default is 50ms)

    Option "Emulate3Buttons"

#    Option "Emulate3Timeout"    "50"

# ChordMiddle is an option for some 3-button Logitech mice

#    Option "ChordMiddle"

EndSection

# **********************************************************************

# Other input device sections 

# this is optional and is required only if you

# are using extended input devices.  This is for example only.  Refer

# to the xorg.conf man page for a description of the options.

# **********************************************************************

#

# Section "InputDevice" 

#    Identifier  "Mouse2"

#    Driver      "mouse"

#    Option      "Protocol"      "MouseMan"

#    Option      "Device"        "/dev/mouse2"

# EndSection

#

# Section "InputDevice"

#    Identifier "spaceball"

#    Driver     "magellan"

#    Option     "Device"        "/dev/cua0"

# EndSection

#

# Section "InputDevice"

#    Identifier "spaceball2"

#    Driver     "spaceorb"

#    Option     "Device"        "/dev/cua0"

# EndSection

#

# Section "InputDevice"

#    Identifier "touchscreen0"

#    Driver     "microtouch"

#    Option     "Device"        "/dev/ttyS0"

#    Option     "MinX"          "1412"

#    Option     "MaxX"          "15184"

#    Option     "MinY"          "15372"

#    Option     "MaxY"          "1230"

#    Option     "ScreenNumber"  "0"

#    Option     "ReportingMode" "Scaled"

#    Option     "ButtonNumber"  "1"

#    Option     "SendCoreEvents"

# EndSection

#

# Section "InputDevice"

#    Identifier "touchscreen1"

#    Driver     "elo2300"

#    Option     "Device"        "/dev/ttyS0"

#    Option     "MinX"          "231"

#    Option     "MaxX"          "3868"

#    Option     "MinY"          "3858"

#    Option     "MaxY"          "272"

#    Option     "ScreenNumber"  "0"

#    Option     "ReportingMode" "Scaled"

#    Option     "ButtonThreshold"       "17"

#    Option     "ButtonNumber"  "1"

#    Option     "SendCoreEvents"

# EndSection

# **********************************************************************

# Monitor section

# **********************************************************************

# Any number of monitor sections may be present

Section "Monitor"

    Identifier  "My Monitor"

# HorizSync is in kHz unless units are specified.

# HorizSync may be a comma separated list of discrete values, or a

# comma separated list of ranges of values.

# NOTE: THE VALUES HERE ARE EXAMPLES ONLY.  REFER TO YOUR MONITOR'S

# USER MANUAL FOR THE CORRECT NUMBERS.

    HorizSync   31.5 - 48.5

#    HorizSync  30-64         # multisync

#    HorizSync  31.5, 35.2    # multiple fixed sync frequencies

#    HorizSync  15-25, 30-50  # multiple ranges of sync frequencies

# VertRefresh is in Hz unless units are specified.

# VertRefresh may be a comma separated list of discrete values, or a

# comma separated list of ranges of values.

# NOTE: THE VALUES HERE ARE EXAMPLES ONLY.  REFER TO YOUR MONITOR'S

# USER MANUAL FOR THE CORRECT NUMBERS.

    VertRefresh 50-90

EndSection

# **********************************************************************

# Graphics device section

# **********************************************************************

# Any number of graphics device sections may be present

# Standard VGA Device:

Section "Device"

    Identifier  "Standard VGA"

    VendorName  "Unknown"

    BoardName   "Unknown"

# The chipset line is optional in most cases.  It can be used to override

# the driver's chipset detection, and should not normally be specified.

#    Chipset    "generic"

# The Driver line must be present.  When using run-time loadable driver

# modules, this line instructs the server to load the specified driver

# module.  Even when not using loadable driver modules, this line

# indicates which driver should interpret the information in this section.

    Driver     "vga"

# The BusID line is used to specify which of possibly multiple devices

# this section is intended for.  When this line isn't present, a device

# section can only match up with the primary video device.  For PCI

# devices a line like the following could be used.  This line should not

# normally be included unless there is more than one video device

# intalled.

#    BusID      "PCI:0:10:0"

#    VideoRam   256

#    Clocks     25.2 28.3

EndSection

# Device configured by xorgconfig:

Section "Device"

    Identifier  "savage"

    Driver      "savage"

    #Option     "ForceInit"     "yes"

    #Option     "ShadowStatus"  "true"

    #VideoRam    32768

    # Insert Clocks lines here if appropriate

EndSection

# **********************************************************************

# Screen sections

# **********************************************************************

# Any number of screen sections may be present.  Each describes

# the configuration of a single screen.  A single specific screen section

# may be specified from the X server command line with the "-screen"

# option.

Section "Screen"

    Identifier  "Screen 1"

    Device      "savage"

    Monitor     "My Monitor"

    DefaultDepth 24

    Subsection "Display"

        Depth       8

        Modes       "1280x1024" "1024x768" "800x600" "640x480"

        ViewPort    0 0

    EndSubsection

    Subsection "Display"

        Depth       16

        Modes       "1280x1024" "1024x768" "800x600" "640x480"

        ViewPort    0 0

    EndSubsection

    Subsection "Display"

        Depth       24

        Modes       "1280x1024" "1024x768" "800x600" "640x480"

        ViewPort    0 0

    EndSubsection

EndSection

# **********************************************************************

# ServerLayout sections.

# **********************************************************************

# Any number of ServerLayout sections may be present.  Each describes

# the way multiple screens are organised.  A specific ServerLayout

# section may be specified from the X server command line with the

# "-layout" option.  In the absence of this, the first section is used.

# When now ServerLayout section is present, the first Screen section

# is used alone.

Section "ServerLayout"

# The Identifier line must be present

    Identifier  "Simple Layout"

# Each Screen line specifies a Screen section name, and optionally

# the relative position of other screens.  The four names after

# primary screen name are the screens to the top, bottom, left and right

# of the primary screen.  In this example, screen 2 is located to the

# right of screen 1.

    Screen "Screen 1"

# Each InputDevice line specifies an InputDevice section name and

# optionally some options to specify the way the device is to be

# used.  Those options include "CorePointer", "CoreKeyboard" and

# "SendCoreEvents".

    InputDevice "Mouse1" "CorePointer"

    InputDevice "Keyboard1" "CoreKeyboard"

EndSection

Section "DRI"

   Mode 0666

EndSection
```

lsmod:

```

via_agp                 8256  1 

savage                 33984  0 

drm                    66004  1 savage

agpgart                29904  2 via_agp,drm
```

I'm using xorg-x11-6.8.2-r6. The driver seens to load ok but i still can get DRI working. Any ideas?

----------

## dmvianna

RuFIO:

1) First, prepare to work on the console if xorg does not load.    :Wink: 

2) Comment out all that:

```
Section "Device"

    Identifier  "Standard VGA"

    VendorName  "Unknown"

    BoardName   "Unknown"

    Driver     "vga"

EndSection
```

3) Cross you fingers and restart xorg.   :Smile: 

4) If it does start normally, your savage driver is working OK. Great!   :Very Happy:  You can forget standard VGA for the centuries of the centuries now.

5) Try that configuration for the savage driver:

```
Section "Device"

   Identifier  "Videocard0"

   Driver      "savage"

#   Driver      "vesa"

#   Driver   "vga"

   Option "SWCursor" "True"

   Option "ShadowStatus" "off"

   Option "UseBIOS" "True"

   Option "AGPSize" "16"

   Option "AGPMode" "4"

   Option "DmaMode" "Vertex"

   Option "DmaType" "AGP"

   Option "BusType" "AGP"

EndSection
```

If anything goes wrong, you can always switch back to VGA or VESA (better than VGA) by quoting out "savage" and unquoting the desired one.

6) No dice? Read the savage man page, change your device settings accordingly. You might have to test different ones until everything works at its best.

```
$ man savage
```

7) Be sure you're reading this as well; it is very informative:

```
# ls -l /var/log/Xorg.*.log
```

(choose the more recent one, of course)

```
# cat /var/log/Xorg.<?>.log | grep SAVAGE

# cat /var/log/Xorg.<?>.log | grep direct

# cat /var/log/Xorg.<?>.log | grep dri

# cat /var/log/Xorg.<?>.log | grep drm
```

and good luck!   :Cool: 

----------

## RuFI0

Thanks for the reply dmvianna.

Well, i've commented the lines you suggested and X loads just fine so i'm sure that the savage driver is working. However, i still can't get DRI.

cat /var/log/Xorg.0.log | grep SAVAGE

```

(II) SAVAGE: driver (version 1.1.27) for S3 Savage chipsets: Savage4,

(**) SAVAGE(0): Depth 24, (--) framebuffer bpp 32

(==) SAVAGE(0): RGB weight 888

(==) SAVAGE(0): Default visual is TrueColor

(II) SAVAGE(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000

(**) SAVAGE(0): Option "SWCursor" "True"

(**) SAVAGE(0): Option "UseBIOS" "True"

(**) SAVAGE(0): Option "ShadowStatus" "off"

(**) SAVAGE(0): Using SW cursor

(**) SAVAGE(0): Using video BIOS to set modes

(**) SAVAGE(0): Option: ShadowStatus enabled

(II) SAVAGE(0): initializing int10

(II) SAVAGE(0): Primary V_BIOS segment is: 0xc000

(II) SAVAGE(0): VESA BIOS detected

(II) SAVAGE(0): VESA VBE Version 3.0

(II) SAVAGE(0): VESA VBE Total Mem: 31680 kB

(II) SAVAGE(0): VESA VBE OEM: S3 Graphics ProSavage DDR Family BIOS

(II) SAVAGE(0): VESA VBE OEM Software Rev: 2.0

(II) SAVAGE(0): VESA VBE OEM Vendor: S3 Garphics Incorporated.

(II) SAVAGE(0): VESA VBE OEM Product: VBE 3.0

(II) SAVAGE(0): VESA VBE OEM Product Rev: Rev 0.0

(--) SAVAGE(0): Chip: id 8d04, "ProSavage DDR-K"

(--) SAVAGE(0): Engine: "ProSavage"

(--) SAVAGE(0): mapping MMIO @ 0xdfe80000 with size 0x80000

(==) SAVAGE(0): Using gamma correction (1.0, 1.0, 1.0)

(--) SAVAGE(0): probed videoram:  32768k

(II) SAVAGE(0): VESA VBE DDC supported

(II) SAVAGE(0): VESA VBE DDC Level none

(II) SAVAGE(0): VESA VBE DDC transfer in appr. 0 sec.

(II) SAVAGE(0): VESA VBE DDC read failed

(--) SAVAGE(0): Detected current MCLK value of 14.318 MHz

(II) SAVAGE(0): My Monitor: Using hsync range of 31.50-48.50 kHz

(II) SAVAGE(0): My Monitor: Using vrefresh range of 50.00-90.00 Hz

(II) SAVAGE(0): Clock range:  10.00 to 220.00 MHz

(II) SAVAGE(0): Not using default mode "800x600" (hsync out of range)

(II) SAVAGE(0): Not using default mode "400x300" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1024x768" (hsync out of range)

(II) SAVAGE(0): Not using default mode "512x384" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1024x768" (hsync out of range)

(II) SAVAGE(0): Not using default mode "512x384" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1024x768" (hsync out of range)

(II) SAVAGE(0): Not using default mode "512x384" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1152x864" (hsync out of range)

(II) SAVAGE(0): Not using default mode "576x432" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1280x960" (hsync out of range)

(II) SAVAGE(0): Not using default mode "640x480" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1280x960" (hsync out of range)

(II) SAVAGE(0): Not using default mode "640x480" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1280x1024" (hsync out of range)

(II) SAVAGE(0): Not using default mode "640x512" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1280x1024" (hsync out of range)

(II) SAVAGE(0): Not using default mode "640x512" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1280x1024" (hsync out of range)

(II) SAVAGE(0): Not using default mode "640x512" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1600x1200" (hsync out of range)

(II) SAVAGE(0): Not using default mode "800x600" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1600x1200" (hsync out of range)

(II) SAVAGE(0): Not using default mode "800x600" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1600x1200" (hsync out of range)

(II) SAVAGE(0): Not using default mode "800x600" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1600x1200" (hsync out of range)

(II) SAVAGE(0): Not using default mode "800x600" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1600x1200" (bad mode clock/interlace/doublescan)

(II) SAVAGE(0): Not using default mode "800x600" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1792x1344" (hsync out of range)

(II) SAVAGE(0): Not using default mode "896x672" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1792x1344" (bad mode clock/interlace/doublescan)

(II) SAVAGE(0): Not using default mode "896x672" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1856x1392" (hsync out of range)

(II) SAVAGE(0): Not using default mode "928x696" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1856x1392" (bad mode clock/interlace/doublescan)

(II) SAVAGE(0): Not using default mode "928x696" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1920x1440" (bad mode clock/interlace/doublescan)

(II) SAVAGE(0): Not using default mode "960x720" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1920x1440" (bad mode clock/interlace/doublescan)

(II) SAVAGE(0): Not using default mode "960x720" (hsync out of range)

(II) SAVAGE(0): Not using default mode "832x624" (hsync out of range)

(II) SAVAGE(0): Not using default mode "416x312" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1400x1050" (hsync out of range)

(II) SAVAGE(0): Not using default mode "700x525" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1400x1050" (hsync out of range)

(II) SAVAGE(0): Not using default mode "700x525" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1600x1024" (hsync out of range)

(II) SAVAGE(0): Not using default mode "800x512" (hsync out of range)

(II) SAVAGE(0): Not using default mode "1920x1440" (bad mode clock/interlace/doublescan)

(II) SAVAGE(0): Not using default mode "960x720" (hsync out of range)

(II) SAVAGE(0): Not using default mode "2048x1536" (bad mode clock/interlace/doublescan)

(II) SAVAGE(0): Not using default mode "1024x768" (hsync out of range)

(II) SAVAGE(0): Not using default mode "2048x1536" (bad mode clock/interlace/doublescan)

(II) SAVAGE(0): Not using default mode "1024x768" (hsync out of range)

(II) SAVAGE(0): Not using default mode "2048x1536" (bad mode clock/interlace/doublescan)

(II) SAVAGE(0): Not using default mode "1024x768" (hsync out of range)

(II) SAVAGE(0): Not using mode "1280x1024" (no mode of this name)

(II) SAVAGE(0): Not using default mode "1152x768" (width too large for virtual size)

(--) SAVAGE(0): Found 13 modes at this depth:

(--) SAVAGE(0): Virtual size is 1024x768 (pitch 1024)

(**) SAVAGE(0): *Default mode "1024x768": 65.0 MHz, 48.4 kHz, 60.0 Hz

(II) SAVAGE(0): Modeline "1024x768"   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync

(**) SAVAGE(0): *Default mode "800x600": 49.5 MHz, 46.9 kHz, 75.0 Hz

(II) SAVAGE(0): Modeline "800x600"   49.50  800 816 896 1056  600 601 604 625 +hsync +vsync

(**) SAVAGE(0): *Default mode "640x480": 36.0 MHz, 43.3 kHz, 85.0 Hz

(II) SAVAGE(0): Modeline "640x480"   36.00  640 696 752 832  480 481 484 509 -hsync -vsync

(**) SAVAGE(0):  Default mode "1024x768": 44.9 MHz, 35.5 kHz, 87.1 Hz (I)

(II) SAVAGE(0): Modeline "1024x768"   44.90  1024 1032 1208 1264  768 768 776 817 interlace +hsync +vsync

(**) SAVAGE(0):  Default mode "800x600": 50.0 MHz, 48.1 kHz, 72.2 Hz

(II) SAVAGE(0): Modeline "800x600"   50.00  800 856 976 1040  600 637 643 666 +hsync +vsync

(**) SAVAGE(0):  Default mode "800x600": 40.0 MHz, 37.9 kHz, 60.3 Hz

(II) SAVAGE(0): Modeline "800x600"   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync

(**) SAVAGE(0):  Default mode "800x600": 36.0 MHz, 35.2 kHz, 56.2 Hz

(II) SAVAGE(0): Modeline "800x600"   36.00  800 824 896 1024  600 601 603 625 +hsync +vsync

(**) SAVAGE(0):  Default mode "640x480": 31.5 MHz, 37.5 kHz, 75.0 Hz

(II) SAVAGE(0): Modeline "640x480"   31.50  640 656 720 840  480 481 484 500 -hsync -vsync

(**) SAVAGE(0):  Default mode "640x480": 31.5 MHz, 37.9 kHz, 72.8 Hz

(II) SAVAGE(0): Modeline "640x480"   31.50  640 664 704 832  480 489 491 520 -hsync -vsync

(**) SAVAGE(0):  Default mode "640x480": 25.2 MHz, 31.5 kHz, 60.0 Hz

(II) SAVAGE(0): Modeline "640x480"   25.20  640 656 752 800  480 490 492 525 -hsync -vsync

(**) SAVAGE(0):  Default mode "720x400": 35.5 MHz, 37.9 kHz, 85.0 Hz

(II) SAVAGE(0): Modeline "720x400"   35.50  720 756 828 936  400 401 404 446 -hsync +vsync

(**) SAVAGE(0):  Default mode "640x400": 31.5 MHz, 37.9 kHz, 85.1 Hz

(II) SAVAGE(0): Modeline "640x400"   31.50  640 672 736 832  400 401 404 445 -hsync +vsync

(**) SAVAGE(0):  Default mode "640x350": 31.5 MHz, 37.9 kHz, 85.1 Hz

(II) SAVAGE(0): Modeline "640x350"   31.50  640 672 736 832  350 382 385 445 +hsync -vsync

(**) SAVAGE(0):  Default mode "576x384": 32.5 MHz, 44.2 kHz, 54.8 Hz (D)

(II) SAVAGE(0): Modeline "576x384"   32.50  576 589 657 736  384 385 388 403 doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "512x384": 32.5 MHz, 48.4 kHz, 60.0 Hz (D)

(II) SAVAGE(0): Modeline "512x384"   32.50  512 524 592 672  384 385 388 403 doublescan -hsync -vsync

(**) SAVAGE(0):  Default mode "512x384": 22.4 MHz, 35.5 kHz, 87.1 Hz (D)

(II) SAVAGE(0): Modeline "512x384"   22.45  512 516 604 632  384 384 388 409 interlace doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "400x300": 24.8 MHz, 46.9 kHz, 75.1 Hz (D)

(II) SAVAGE(0): Modeline "400x300"   24.75  400 408 448 528  300 300 302 312 doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "400x300": 25.0 MHz, 48.1 kHz, 72.2 Hz (D)

(II) SAVAGE(0): Modeline "400x300"   25.00  400 428 488 520  300 318 321 333 doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "400x300": 20.0 MHz, 37.9 kHz, 60.3 Hz (D)

(II) SAVAGE(0): Modeline "400x300"   20.00  400 420 484 528  300 300 302 314 doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "400x300": 18.0 MHz, 35.2 kHz, 56.3 Hz (D)

(II) SAVAGE(0): Modeline "400x300"   18.00  400 412 448 512  300 300 301 312 doublescan +hsync +vsync

(**) SAVAGE(0):  Default mode "320x240": 18.0 MHz, 43.3 kHz, 85.2 Hz (D)

(II) SAVAGE(0): Modeline "320x240"   18.00  320 348 376 416  240 240 242 254 doublescan -hsync -vsync

(**) SAVAGE(0):  Default mode "320x240": 15.8 MHz, 37.5 kHz, 75.0 Hz (D)

(II) SAVAGE(0): Modeline "320x240"   15.75  320 328 360 420  240 240 242 250 doublescan -hsync -vsync

(**) SAVAGE(0):  Default mode "320x240": 15.8 MHz, 37.9 kHz, 72.8 Hz (D)

(II) SAVAGE(0): Modeline "320x240"   15.75  320 332 352 416  240 244 245 260 doublescan -hsync -vsync

(**) SAVAGE(0):  Default mode "320x240": 12.6 MHz, 31.5 kHz, 60.1 Hz (D)

(II) SAVAGE(0): Modeline "320x240"   12.60  320 328 376 400  240 245 246 262 doublescan -hsync -vsync

(**) SAVAGE(0):  Default mode "360x200": 17.8 MHz, 37.9 kHz, 85.0 Hz (D)

(II) SAVAGE(0): Modeline "360x200"   17.75  360 378 414 468  200 200 202 223 doublescan -hsync +vsync

(**) SAVAGE(0):  Default mode "320x200": 15.8 MHz, 37.9 kHz, 85.3 Hz (D)

(II) SAVAGE(0): Modeline "320x200"   15.75  320 336 368 416  200 200 202 222 doublescan -hsync +vsync

(**) SAVAGE(0):  Default mode "320x175": 15.8 MHz, 37.9 kHz, 85.3 Hz (D)

(II) SAVAGE(0): Modeline "320x175"   15.75  320 336 368 416  175 191 192 222 doublescan +hsync -vsync

(==) SAVAGE(0): DPI set to (75, 75)

(II) SAVAGE(0): initializing int10

(II) SAVAGE(0): Primary V_BIOS segment is: 0xc000

(II) SAVAGE(0): VESA BIOS detected

(II) SAVAGE(0): VESA VBE Version 3.0

(II) SAVAGE(0): VESA VBE Total Mem: 31680 kB

(II) SAVAGE(0): VESA VBE OEM: S3 Graphics ProSavage DDR Family BIOS

(II) SAVAGE(0): VESA VBE OEM Software Rev: 2.0

(II) SAVAGE(0): VESA VBE OEM Vendor: S3 Garphics Incorporated.

(II) SAVAGE(0): VESA VBE OEM Product: VBE 3.0

(II) SAVAGE(0): VESA VBE OEM Product Rev: Rev 0.0

(--) SAVAGE(0): mapping framebuffer @ 0xd0000000 with size 0x2000000

(==) SAVAGE(0): Write-combining range (0xd0000000,0x2000000)

(--) SAVAGE(0): Chose mode 118 at 60Hz.

(II) SAVAGE(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000

(II) SAVAGE(0): Using 1279 lines for offscreen memory.

(II) SAVAGE(0): Using XFree86 Acceleration Architecture (XAA)

(==) SAVAGE(0): Backing store disabled

(WW) SAVAGE(0): Option "AGPSize" is not used

(WW) SAVAGE(0): Option "AGPMode" is not used

(WW) SAVAGE(0): Option "DmaMode" is not used

(WW) SAVAGE(0): Option "DmaType" is not used

(WW) SAVAGE(0): Option "BusType" is not used
```

cat /var/log/Xorg.0.log | grep DRI

```

(II) Loading extension XFree86-DRI
```

cat /var/log/Xorg.0.log | grep drm

```

(II) Loading sub module "drm"

(II) LoadModule: "drm"

(II) Loading /usr/lib/modules/linux/libdrm.a

(II) Module drm: vendor="X.Org Foundation"
```

----------

## dmvianna

How's your kernel set? did you choose

```
device drivers -> graphics support -> S3 savage support [X]

device drivers -> character devices -> direct rendering manager -> savage video cards [M]
```

I suppose the first option is chosen, as you are able to load the driver. As about the second, please check.

From there, I might not be able to help you. Try reading the log files and see when/why dri fails. You might try stuff like

```
cat /var/log/Xorg.0.log | grep [EE]
```

(for errors)

```
cat /var/log/Xorg.0.log | grep [WW]
```

(for warnings)

or plain 

```
nano -w /var/log/Xorg.0.log
```

(for freakin' everything)

It might take some time, reading and insight. Setting DRI up is often an adventure. Good luck!

----------

## hoyanf

Maybe this might helped some you... from my post on another thread https://forums.gentoo.org/viewtopic-t-436831-highlight-.html

 *Quote:*   

> 
> 
> my glxinfo :-
> 
> name of display: :0.0
> ...

 

btw am using modular X..

----------

