You are not logged in.
My box has Savage4-based ProSavage 8 onboard video hardware, which I am attempting to enable acceleration for. XOrg comes with 2D drivers for this hardware; however, 3D drivers are not included in XOrg or the Arch default kernel (though the kernel is compiled with DRM), so I had to install Mesa. Bingo, there's my 3D driver.
My xorg.conf seems to be configured right (it bloody well should be since I used hwd!)... But still no DRI according to glxinfo, still lame FPS from glxgears (113-144 FPS for normal-sized window), and still bloody hideous FPS from TuxRacer (~2 FPS).
Any help? I'm pretty sure I'm doing this right... Do I need to compile something into the kernel or something?
My xorg.conf:
# Auto-generated by KNOPPIX mkxf86config
Section "ServerLayout"
# PS/2 Mouse using /dev/input/mice in Kernel 2.6
# Serial Mouse not detected
Identifier "XFree86 Configured"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
# Additional fonts: Locale, Gimp, TTF...
# FontPath "/usr/X11R6/lib/X11/fonts/latin2/75dpi"
# FontPath "/usr/X11R6/lib/X11/fonts/latin2/100dpi"
# True type and type1 fonts are also handled via xftlib, see /etc/X11/XftConfig! RgbPath "/usr/X11R6/lib/X11/rgb"
ModulePath "/usr/X11R6/lib/modules"
FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo"
FontPath "/usr/X11R6/lib/X11/fonts/PEX"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/share/fonts/ttf/western"
FontPath "/usr/share/fonts/ttf/decoratives"
FontPath "/usr/share/fonts/truetype"
FontPath "/usr/share/fonts/truetype/openoffice"
FontPath "/usr/share/fonts/truetype/ttf-bitstream-vera"
FontPath "/usr/share/fonts/latex-ttf-fonts"
FontPath "/usr/X11R6/lib/X11/fonts/defoma/CID"
FontPath "/usr/X11R6/lib/X11/fonts/defoma/TrueType"
EndSection
Section "Module"
Load "ddc" # ddc probing of monitor
Load "GLcore"
Load "dbe"
Load "dri"
Load "extmod"
Load "glx"
Load "bitmap" # bitmap-fonts
Load "speedo"
Load "type1"
Load "freetype"
Load "record"
EndSection
Section "ServerFlags"
Option "AllowMouseOpenFail" "true"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc105"
Option "XkbLayout" ""
EndSection
Section "InputDevice"
Identifier "PS/2 Mouse"
Driver "mouse"
Option "Protocol" "auto"
Option "ZAxisMapping" "4 5"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "true"
Option "Emulate3Timeout" "70"
Option "SendCoreEvents" "true"
EndSection
Section "Monitor"
# Warning: This may fry old Monitors
# Very conservative. May flicker.
# VertRefresh 50.0 - 62.0 # Extreme conservative. Will flicker. TFT default.
# Default modes distilled from
# "VESA and Industry Standards and Guide for Computer Display Monitor
# Timing", version 1.0, revision 0.8, adopted September 17, 1998.
# $XFree86: xc/programs/Xserver/hw/xfree86/etc/vesamodes,v 1.4 1999/11/18 16:52:17 tsi Exp $
# 640x350 @ 85Hz (VESA) hsync: 37.9kHz
### Uncomment if you don't want to default to DDC:
### Uncomment if you don't want to default to DDC:
HorizSync 31.5 - 82.0
VertRefresh 50.0 - 120.0
Identifier "Monitor0"
ModeLine "640x350" 31.5 640 672 736 832 350 382 385 445 +hsync -vsync
ModeLine "640x400" 31.5 640 672 736 832 400 401 404 445 -hsync +vsync
ModeLine "720x400" 35.5 720 756 828 936 400 401 404 446 -hsync +vsync
ModeLine "640x480" 25.2 640 656 752 800 480 490 492 525 -hsync -vsync
ModeLine "640x480" 31.5 640 664 704 832 480 489 491 520 -hsync -vsync
ModeLine "640x480" 31.5 640 656 720 840 480 481 484 500 -hsync -vsync
ModeLine "640x480" 36.0 640 696 752 832 480 481 484 509 -hsync -vsync
ModeLine "800x600" 36.0 800 824 896 1024 600 601 603 625 +hsync +vsync
ModeLine "800x600" 40.0 800 840 968 1056 600 601 605 628 +hsync +vsync
ModeLine "800x600" 50.0 800 856 976 1040 600 637 643 666 +hsync +vsync
ModeLine "800x600" 49.5 800 816 896 1056 600 601 604 625 +hsync +vsync
ModeLine "800x600" 56.3 800 832 896 1048 600 601 604 631 +hsync +vsync
ModeLine "1024x768" 44.9 1024 1032 1208 1264 768 768 776 817 +hsync +vsync interlace
ModeLine "1024x768" 65.0 1024 1048 1184 1344 768 771 777 806 -hsync -vsync
ModeLine "1024x768" 75.0 1024 1048 1184 1328 768 771 777 806 -hsync -vsync
ModeLine "1024x768" 78.8 1024 1040 1136 1312 768 769 772 800 +hsync +vsync
ModeLine "1024x768" 94.5 1024 1072 1168 1376 768 769 772 808 +hsync +vsync
ModeLine "1152x864" 108.0 1152 1216 1344 1600 864 865 868 900 +hsync +vsync
ModeLine "1280x960" 108.0 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync
ModeLine "1280x960" 148.5 1280 1344 1504 1728 960 961 964 1011 +hsync +vsync
ModeLine "1280x1024" 108.0 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync
ModeLine "1280x1024" 135.0 1280 1296 1440 1688 1024 1025 1028 1066 +hsync +vsync
ModeLine "1280x1024" 157.5 1280 1344 1504 1728 1024 1025 1028 1072 +hsync +vsync
ModeLine "1600x1200" 162.0 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync
ModeLine "1600x1200" 175.5 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync
ModeLine "1600x1200" 189.0 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync
ModeLine "1600x1200" 202.5 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync
ModeLine "1600x1200" 229.5 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync
ModeLine "1792x1344" 204.8 1792 1920 2120 2448 1344 1345 1348 1394 -hsync +vsync
ModeLine "1792x1344" 261.0 1792 1888 2104 2456 1344 1345 1348 1417 -hsync +vsync
ModeLine "1856x1392" 218.3 1856 1952 2176 2528 1392 1393 1396 1439 -hsync +vsync
ModeLine "1856x1392" 288.0 1856 1984 2208 2560 1392 1393 1396 1500 -hsync +vsync
ModeLine "1920x1440" 234.0 1920 2048 2256 2600 1440 1441 1444 1500 -hsync +vsync
ModeLine "1920x1440" 297.0 1920 2064 2288 2640 1440 1441 1444 1500 -hsync +vsync
ModeLine "1800x1440" 230.0 1800 1896 2088 2392 1440 1441 1444 1490 +hsync +vsync
ModeLine "1800x1440" 250.0 1800 1896 2088 2392 1440 1441 1444 1490 +hsync +vsync
ModeLine "640x480" 43.2 640 680 744 848 480 481 484 509 -hsync +vsync
ModeLine "768x576" 35.0 768 792 872 976 576 577 580 597 -hsync +vsync
ModeLine "768x576" 42.9 768 800 880 992 576 577 580 601 -hsync +vsync
ModeLine "768x576" 45.5 768 808 888 1008 576 577 580 602 -hsync +vsync
ModeLine "768x576" 51.8 768 808 888 1008 576 577 580 605 -hsync +vsync
ModeLine "768x576" 62.6 768 816 896 1024 576 577 580 611 -hsync +vsync
ModeLine "800x600" 68.2 800 848 936 1072 600 601 604 636 -hsync +vsync
ModeLine "1024x768" 113.3 1024 1096 1208 1392 768 769 772 814 -hsync +vsync
ModeLine "1152x864" 81.6 1152 1216 1336 1520 864 865 868 895 -hsync +vsync
ModeLine "1152x864" 119.7 1152 1224 1352 1552 864 865 868 907 -hsync +vsync
ModeLine "1152x864" 143.5 1152 1232 1360 1568 864 865 868 915 -hsync +vsync
ModeLine "1280x960" 124.5 1280 1368 1504 1728 960 961 964 1001 -hsync +vsync
ModeLine "1280x960" 129.9 1280 1368 1504 1728 960 961 964 1002 -hsync +vsync
ModeLine "1280x960" 179.0 1280 1376 1520 1760 960 961 964 1017 -hsync +vsync
ModeLine "1280x1024" 191.0 1280 1376 1520 1760 1024 1025 1028 1085 -hsync +vsync
ModeLine "1400x1050" 122.6 1400 1488 1640 1880 1050 1051 1054 1087 -hsync +vsync
ModeLine "1400x1050" 149.3 1400 1496 1648 1896 1050 1051 1054 1094 -hsync +vsync
ModeLine "1400x1050" 155.8 1400 1496 1648 1896 1050 1051 1054 1096 -hsync +vsync
ModeLine "1400x1050" 179.3 1400 1504 1656 1912 1050 1051 1054 1103 -hsync +vsync
ModeLine "1400x1050" 214.4 1400 1512 1664 1928 1050 1051 1054 1112 -hsync +vsync
ModeLine "1600x1200" 280.6 1600 1728 1904 2208 1200 1201 1204 1271 -hsync +vsync
Option "DPMS" "true"
# HorizSync 28.0 - 78.0 # Warning: This may fry very old Monitors
EndSection
Section "Device"
### Available Driver options are:-
# sw_cursor is needed for some ati and radeon cards
#Option "sw_cursor"
#Option "hw_cursor"
#Option "NoAccel"
#Option "ShowCache"
#Option "ShadowFB"
#Option "UseFBDev"
#Option "Rotate"
# The following line is auto-generated by KNOPPIX mkxf86config
# BusID "PCI:1:0:0"
Identifier "Card0"
Driver "savage"
VendorName "All"
BoardName "All"
ChipSet "Savage4"
Card "savage Savage4"
Option "DRI" "on"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 4
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 15
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 32
Modes "1024x768" "800x600" "640x480"
EndSubSection
EndSection
Section "DRI"
Group "users"
Mode 0666
EndSection
Section "Extensions"
Option "Composite" "Enable"
Option "RENDER" "Enable"
EndSection
What glxinfo says:
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.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
0x3f 32 tc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None
What glxgears gives me:
622 frames in 5.0 seconds = 124.400 FPS
565 frames in 5.0 seconds = 113.000 FPS
565 frames in 5.0 seconds = 113.000 FPS
678 frames in 5.0 seconds = 135.600 FPS
565 frames in 5.0 seconds = 113.000 FPS
Any help?
Edit: changed "Mode 0660" to back to "0666". Doesn't help a damn thing.
BTW, I'm using the stock Arch kernel (linux-2.6.10-ARCH).
Offline
Check for errors "(EE)" in /var/log/Xorg.o.log
Offline
First error concerns Speedo module, which really doesn't exist (I ought to change xorg.conf so as not to load it):
(EE) Failed to load module "speedo" (module does not exist, 0)
Now something interesting:
(WW) SAVAGE(0): Option "DRI" is not used
Not an error, but DRI bloody well is used. I can put 'Option "DRI"' or 'Option "DRI" "on"' under the device section, and it won't change a damn thing.
There are no further errors whatsoever.
Offline
Xorg in the extras folder? Huh? :? What are you talking about?
Offline
Just a question... Do I need the XOrg binary if I use XOrg 6.8.2? IIRC the new version should support Savage acceleration.
Edit: Oh yeah, don't you have to install DRM via CVS? You need kernel modules don't you?
Offline
Okay... Thanks.
Offline
Alrighty... Sorry to resurrect a dead thread here, but I followed Jy's instructions and it didn't work. Sure I've got hardware accel now... It just happens that my display is now a complete blur no matter what my xorg.conf settings are, and, when I exit X via ctrl-alt-backspace (which requires me to hit the keys several times), my monitor complains that the scan rate is out of range for about 5 seconds... :shock: Is there any way to get this working without blowing out my monitor first?
And no, there's not a single error message in Xorg.0.log.
Offline
Decide which screen res you want, choose a reasonable refresh rate (75 or 85 - I'm using 100 as my monitor can do it). Then use these numbers in "gtf"
[paul@night ~]$ gtf 1024 768 100
# 1024x768 @ 100.00 Hz (GTF) hsync: 81.40 kHz; pclk: 113.31 MHz
Modeline "1024x768_100.00" 113.31 1024 1096 1208 1392 768 769 772 814 -HSync +Vsync
[paul@night ~]$
Make sure the pixel clock rate ("pclk") isn't above your monitor's max pxel clock rate, my max rate is 157.
Now you've got the "modeline", put that in the "monitor" section of xorg.conf
Here is mine
Section "Monitor"
Identifier "han"
HorizSync 30-96
VertRefresh 47-160
Option "DPMS"
DisplaySize 320 240
# Gamma 1.20
Modeline "1280x960" 153.09 1280 1376 1512 1744 960 961 964 1009 -HSync +Vsync
Modeline "1152x864" 143.47 1152 1232 1360 1568 864 865 868 915 -HSync +Vsync
Modeline "1024x768" 125.41 1024 1096 1208 1392 768 769 772 819 -HSync +Vsync
Modeline "640x480" 30.72 640 664 728 816 480 481 484 502 -HSync +Vsync
EndSection
Check your horizsync and vertrefresh are correct.
Offline
Everything seems to be correct... I generated xorg.conf with HWD, so it already has a bunch of modlines in it, and XOrg sees them. When I'm not using DRI, everything looks fine.
Offline
Hi guys, it doesn't work here either, even if I followed the instructions (tried March 15th snapshot). Dmesg gives me these errors when trying to load the DRM module:
kobject_register failed for drm (-17)
[<c031f85b>] kobject_register+0x5b/0x70
[<c01397c1>] mod_sysfs_setup+0x51/0xc0
[<c013adb0>] load_module+0xbc0/0xce0
[<c0152add>] vma_link+0xad/0xf0
[<c013af27>] sys_init_module+0x57/0x240
[<c0103279>] sysenter_past_esp+0x52/0x75
savage: disagrees about version of symbol drm_open
savage: Unknown symbol drm_open
savage: disagrees about version of symbol drm_fasync
savage: Unknown symbol drm_fasync
savage: disagrees about version of symbol drm_poll
savage: Unknown symbol drm_poll
savage: Unknown symbol drm_get_resource_len
savage: disagrees about version of symbol drm_core_get_reg_ofs
savage: Unknown symbol drm_core_get_reg_ofs
savage: Unknown symbol drm_get_dev
savage: disagrees about version of symbol drm_ioctl
savage: Unknown symbol drm_ioctl
savage: disagrees about version of symbol drm_exit
savage: Unknown symbol drm_exit
savage: disagrees about version of symbol drm_core_get_map_ofs
savage: Unknown symbol drm_core_get_map_ofs
savage: disagrees about version of symbol drm_init
savage: Unknown symbol drm_init
savage: Unknown symbol drm_get_resource_start
savage: Unknown symbol drm_cleanup_pci
savage: disagrees about version of symbol drm_mmap
savage: Unknown symbol drm_mmap
savage: Unknown symbol drm_initmap
savage: disagrees about version of symbol drm_core_reclaim_buffers
savage: Unknown symbol drm_core_reclaim_buffers
savage: disagrees about version of symbol drm_release
savage: Unknown symbol drm_release
Any ideas?
Offline
btw, "modprobe drm" works, but when restarting X, it seems that the Savage module kills the drm module, because doing afterwards an "lsmod" shows no drm loaded (while it was up before trying to load the savage module)!
Offline
No clue about that. It worked for me... All too well - X would give me nothing but blurred, flickering crap, even with 16 bit color and 1024x768 resolution.
Maybe the way to do it is to recompile XOrg completely from CVS, along with Mesa and DRM.
Offline
Gullible Jones: do you use a custom compiled kernel or the plain Arch one?
Offline
Plain old Arch. I don't think that's a problem... The DRM module loaded and everything, no errors, but something wasn't configured right. Maybe those hwd-generated modlines aren't good enough?
Offline
No, the reason I asked was because the via-agp module does not exist. I am not sure it has been compiled into the kernel. If it hasn't, this is why no one of us can load the Savage DRI.
Offline
You're right... The module's not there.
Maybe the module is compiled into the MM kernel? I wouldn't be surprised if that were the case.
Offline
For most supported cards, you have the userspace pieces already. The
exceptions, as of Xorg 6.8, are again mach64 and savage. For those you need to
build the Xorg server with "#define BuildDevelDRIDrivers YES" in host.def.
Source: http://people.freedesktop.org/~ajax/dri-explanation.txt
short, recompile Xorg with this option in the host.def and try again. i'm doing that on a Kontron MicroATX board with a "ProSavage PN133" card. i'll report my results shortly.
I recognize that while theory and practice are, in theory, the same, they are, in practice, different. -Mark Mitchell
Offline