Move from hardware:
I cannot, for the life of me, get DRM to work with my voodoo5. Bus mastering is not enabled on my agp, which I think has something to do with it.
From the DRI users guide:
/snip
setpci -s 01:00.0 4.w
A hexadecimal value will be printed. Convert the least significant digit to binary. For example, if you see 3, that's 0011 in binary (bit two is 0). If you see 7, that's 0111 in binary (bit two is 1). In the first example, bus mastering is disabled. It's enabled in the second example.
The following shell script will enabled bus mastering for your graphics card and host bridge. Run it as root.
#!/bin/bash
dev=01:00.0 # change as appropriate
echo Enabling bus mastering on device $dev
setpci -s $dev 4.w=$(printf %x $((0x$(setpci -s $dev 4.w)|4)))
dev=00:00.0
echo Enabling bus mastering on host bridge $dev
setpci -s $dev 4.w=$(printf %x $((0x$(setpci -s $dev 4.w)|4)))
You can check if this worked by running the first setpci command again.
Code: Select all
setpci -s 01:00.0 4.w
returns 0003, which according to the above information, says that bus mastering is not enabled. Using the the enclosed shell script, does nothing.
Relevant information is as follows:
XFree86.0.log
Code: Select all
(II) TDFX: Driver for 3dfx Banshee/Voodoo3 chipsets: 3dfx Banshee,
(WW) TDFX: No matching Device section for instance (BusID PCI:1:0:1) found
(II) TDFX(0): Softbooting the board (through the int10 interface).
(II) TDFX(0): Primary V_BIOS segment is: 0xc000
(II) TDFX(0): Softbooting the board succeeded.
(II) TDFX(0): TDFXFindChips: found 2 chip(s)
(**) TDFX(0): Depth 16, (--) framebuffer bpp 16
(==) TDFX(0): RGB weight 565
(==) TDFX(0): Default visual is TrueColor
(--) TDFX(0): Chipset: "3dfx Voodoo5"
(--) TDFX(0): Linear framebuffer at 0xB8000000
(--) TDFX(0): MMIO registers at addr 0xC8000000
(--) TDFX(0): PIO registers at addr 0x6C00
(II) TDFX(0): DRAMINIT1 read 0x40202031, programming 0x40202031 (not Banshee)
(II) TDFX(0): TDFXInitChips: numchips = 1
(II) TDFX(0): TDFXInitChips: cfgbits = 0x00000005, initbits = 0x00000301
(II) TDFX(0): TDFXInitChips: mem0base = 0xc8000000, mem1base = 0xb8000008
(II) TDFX(0): TDFXInitChips: mem0size = 0x02000000, mem1size = 0x08000000
(II) TDFX(0): TDFXInitChips: mem0bits = 0x00000005, mem1bits = 0x00000000
(II) TDFX(0): TDFXInitChips: cfgbits = 0x00000005
(II) TDFX(0): TDFXInitChips: MMIOAddr[0] = 0xc8000000
(II) TDFX(0): TDFXInitChips: LinearAddr[0] = 0xb8000008
(**) TDFX(0): VideoRAM: 65536 kByte Mapping 131072 kByte
(==) TDFX(0): Using gamma correction (1.0, 1.0, 1.0)
(II) TDFX(0): Monitor0: Using hsync range of 30.00-70.00 kHz
(II) TDFX(0): Monitor0: Using vrefresh range of 50.00-160.00 Hz
(II) TDFX(0): Clock range: 12.00 to 350.00 MHz
<snip>
(==) TDFX(0): DPI set to (75, 75)
(**) TDFX(0): ShowCache Disabled
(**) TDFX(0): video key default 0x1e
(II) TDFX(0): initializing int10
(II) TDFX(0): Primary V_BIOS segment is: 0xc000
(II) TDFX(0): VESA BIOS detected
(II) TDFX(0): VESA VBE Version 3.0
(II) TDFX(0): VESA VBE Total Mem: 16384 kB
(II) TDFX(0): VESA VBE OEM: 3dfx Interactive, Inc.
(II) TDFX(0): VESA VBE OEM Software Rev: 1.0
(II) TDFX(0): VESA VBE OEM Vendor: 3dfx Interactive, Inc.
(II) TDFX(0): VESA VBE OEM Product: Voodoo5 5500
(II) TDFX(0): VESA VBE OEM Product Rev: Version 1.00
(II) TDFX(0): VESA VBE DDC supported
(II) TDFX(0): VESA VBE DDC Level 2
(II) TDFX(0): VESA VBE DDC transfer in appr. 8 sec.
(II) TDFX(0): VESA VBE DDC read successfully
(II) TDFX(0): Manufacturer: KDS Model: 1745 Serial#: 18019734
(II) TDFX(0): Year: 2001 Week: 18
(II) TDFX(0): EDID Version: 1.3
(II) TDFX(0): Analog Display Input, Input Voltage Level: 0.700/0.300 V
(II) TDFX(0): Sync: Separate Composite
(II) TDFX(0): Max H-Image Size [cm]: horiz.: 31 vert.: 23
(II) TDFX(0): Gamma: 2.50
(II) TDFX(0): DPMS capabilities: StandBy Suspend Off; RGB/Color Display
(II) TDFX(0): redX: 0.625 redY: 0.342 greenX: 0.280 greenY: 0.595
(II) TDFX(0): blueX: 0.155 blueY: 0.070 whiteX: 0.283 whiteY: 0.298
(II) TDFX(0): Supported VESA Video Modes:
(II) TDFX(0): 720x400@70Hz
(II) TDFX(0): 720x400@88Hz
(II) TDFX(0): 640x480@60Hz
(II) TDFX(0): 640x480@67Hz
(II) TDFX(0): 640x480@72Hz
(II) TDFX(0): 640x480@75Hz
(II) TDFX(0): 800x600@56Hz
(II) TDFX(0): 800x600@60Hz
(II) TDFX(0): 800x600@72Hz
(II) TDFX(0): 800x600@75Hz
(II) TDFX(0): 832x624@75Hz
(II) TDFX(0): 1024x768@87Hz (interlaced)
(II) TDFX(0): 1024x768@60Hz
(II) TDFX(0): 1024x768@70Hz
(II) TDFX(0): 1024x768@75Hz
(II) TDFX(0): Manufacturer's mask: 0
(II) TDFX(0): Supported Future Video Modes:
(II) TDFX(0): #0: hsize: 1024 vsize 768 refresh: 85 vid: 22881
(II) TDFX(0): #1: hsize: 800 vsize 600 refresh: 85 vid: 22853
(II) TDFX(0): #2: hsize: 640 vsize 480 refresh: 85 vid: 22833
(II) TDFX(0): #3: hsize: 1280 vsize 1024 refresh: 60 vid: 32897
(II) TDFX(0): Monitor name: Visual Sensat
(II) TDFX(0): Monitor name: ions VS-7i
(II) TDFX(0): Ranges: V min: 50 V max: 160 Hz, H min: 30 H max: 70 kHz, PixClock max 110 MHz
(II) TDFX(0): Serial No: AAB18019734
(==) TDFX(0): Write-combining range (0xb8000000,0x8000000)
(II) TDFX(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x6900
(II) TDFX(0): Changing back offset from 0x03cff000 to 0x03cfe000
(II) TDFX(0): Textures Memory 58.58 MB
(II) TDFX(0): Cursor Offset: [0x00000000,0x00001000)
(II) TDFX(0): Fifo Offset: [0x00001000, 0x00041000)
(II) TDFX(0): Front Buffer Offset: [0x00041000, 0x0026A000)
(II) TDFX(0): Texture Offset: [0x0026A000, 0x03CFE000)
(II) TDFX(0): BackOffset: [0x03CFE000, 0x03E7E000)
(II) TDFX(0): DepthOffset: [0x03E7F000, 0x03FFF000)
(II) TDFX(0): Minimum 338, Maximum 3327 lines of offscreen memory available
(II) TDFX(0): [dri] VideoRAM = 65536, VirtualXres = 1024, VirtualYres= 768,
(II) TDFX(0): [drm] drmOpen failed
(EE) TDFX(0): [dri] DRIScreenInit failed, disabling DRI.
(II) TDFX(0): Using XFree86 Acceleration Architecture (XAA)
(==) TDFX(0): Backing store disabled
(==) TDFX(0): Silken mouse enabled
(**) TDFX(0): DPMS enabled
(==) TDFX(0): Direct rendering disabled
XF86Config
Code: Select all
Section "ServerLayout"
Identifier "XFree86 Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
ModulePath "/usr/X11R6/lib/modules"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/CID/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
EndSection
Section "Module"
Load "extmod"
Load "dri"
Load "dbe"
Load "record"
Load "xtrap"
Load "glx"
Load "speedo"
Load "type1"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/mouse"
Option "ZAxisMapping" "4 5"
EndSection
Section "Monitor"
#DisplaySize 310 230 # mm
Identifier "Monitor0"
VendorName "KDS"
ModelName "ions VS-7i"
Option "DPMS"
HorizSync 30-70
VertRefresh 50-160
# ModeLine "1152x864/78Hz" 110 1152 1240 1324 1552 864 864 876 908
EndSection
Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
### [arg]: arg optional
#Option "NoAccel" # [<bool>]
#Option "SWcursor" # [<bool>]
#Option "Dac6Bit" # [<bool>]
#Option "Dac8Bit" # [<bool>]
#Option "DMAForXv" # [<bool>]
#Option "ForcePCIMode" # [<bool>]
#Option "CCEPIOMode" # [<bool>]
#Option "CCENoSecurity" # [<bool>]
#Option "CCEusecTimeout" # <i>
#Option "AGPMode" # <i>
#Option "AGPSize" # <i>
#Option "RingSize" # <i>
#Option "BufferSize" # <i>
#Option "Display" # <str>
#Option "PanelWidth" # <i>
#Option "PanelHeight" # <i>
#Option "ProgramFPRegs" # [<bool>]
#Option "UseFBDev" # [<bool>]
#Option "VideoKey" # <i>
#Option "ShowCache" # [<bool>]
Identifier "Card0"
# Driver "ati"
# Driver "vesa"
Driver "tdfx"
VideoRam 65536
VendorName "Generic"
BoardName "Voodoo 5 5500"
BusID "PCI:1:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 16
SubSection "Display"
Depth 1
Modes "1152x864/78Hz" "1024x768" "800x600" "640x480"
Virtual 0 0
EndSubSection
SubSection "Display"
Depth 4
Modes "1152x864/78Hz" "1024x768" "800x600" "640x480"
Virtual 0 0
EndSubSection
SubSection "Display"
Depth 8
Modes "1152x864/78Hz" "1024x768" "800x600" "640x480"
Virtual 0 0
EndSubSection
SubSection "Display"
Depth 15
Modes "1152x864/78Hz" "1024x768" "800x600" "640x480"
Virtual 0 0
EndSubSection
SubSection "Display"
Depth 16
Modes "1152x864/78Hz" "1024x768" "800x600" "640x480"
Virtual 0 0
EndSubSection
SubSection "Display"
Depth 24
Modes "1280x1024/70Hz" "1152x864" "1024x768" "800x600" "640x480"
# Modes "1152x864/78Hz" "1024x768" "800x600" "640x480"
Virtual 0 0
EndSubSection
SubSection "Display"
Depth 32
Modes "1280x1024" "1152x864" "1024x768" "800x600" "640x480" "320x240"
Virtual 0 0
EndSubSection
EndSection
Section "dri"
Mode 0666
EndSection
Section "ServerFlags"
EndSection
glxinfo
Code: Select all
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_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
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: Mesa project: www.mesa3d.org
OpenGL renderer string: Mesa GLX Indirect
OpenGL version string: 1.3 Mesa 4.0.4
OpenGL extensions:
GL_ARB_imaging, GL_ARB_multitexture, GL_ARB_texture_border_clamp,
GL_ARB_texture_cube_map, GL_ARB_texture_env_add,
GL_ARB_texture_env_combine, GL_ARB_texture_env_dot3,
GL_ARB_transpose_matrix, GL_EXT_abgr, GL_EXT_blend_color,
GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_texture_env_add,
GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,
GL_EXT_texture_lod_bias
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 16 tc 1 16 0 r y . 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 16 16 16 0 0 0 None
0x25 16 tc 1 16 0 r y . 5 6 5 8 0 16 8 16 16 16 16 0 0 None
0x26 16 tc 1 16 0 r . . 5 6 5 8 0 16 8 16 16 16 16 0 0 None
0x27 16 dc 1 16 0 r y . 5 6 5 0 0 16 0 0 0 0 0 0 0 None
0x28 16 dc 1 16 0 r y . 5 6 5 0 0 16 8 16 16 16 0 0 0 None
0x29 16 dc 1 16 0 r y . 5 6 5 8 0 16 8 16 16 16 16 0 0 None
0x2a 16 dc 1 16 0 r . . 5 6 5 8 0 16 8 16 16 16 16 0 0 None
ldd /usr/X11R6/bin/glxinfo
Code: Select all
libGLU.so.1 => /usr/lib/libGLU.so.1 (0x4002a000)
libGL.so.1 => /usr/X11R6/lib/libGL.so.1 (0x400a2000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4010c000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4011a000)
libpthread.so.0 => /lib/libpthread.so.0 (0x401f7000)
libm.so.6 => /lib/libm.so.6 (0x40248000)
libc.so.6 => /lib/libc.so.6 (0x4026a000)
libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/libstdc++.so.5 (0x40398000)
libgcc_s.so.1 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/libgcc_s.so.1 (0x40451000)
libdl.so.2 => /lib/libdl.so.2 (0x4045a000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
slocate tdfx
Code: Select all
/usr/src/linux-2.4.22-gentoo-r5/drivers/char/drm/tdfx_drv.c
/usr/src/linux-2.4.22-gentoo-r5/drivers/char/drm/tdfx.h
/usr/src/linux-2.4.22-gentoo-r5/drivers/char/drm-4.0/tdfx_drv.c
/usr/src/linux-2.4.22-gentoo-r5/drivers/char/drm-4.0/tdfx_context.c
/usr/src/linux-2.4.22-gentoo-r5/drivers/char/drm-4.0/tdfx_drv.h
/usr/src/linux-2.4.22-gentoo-r5/drivers/video/tdfxfb.c
/usr/X11R6/lib/modules/dri/tdfx_dri.so
/usr/X11R6/lib/modules/drivers/tdfx_drv.o
Also I've browsed the forums and found several posts, but damned if I can find any obvious docs on why i should do what they suggest.
http://forums.gentoo.org/viewtopic.p ... voodoo5
What is glut? Why do I need it? What is mesa-glu? Why do I need it, according to the documents on the mesa web site say that all the mesa code I need for this video card are built into XFree86. I have the correct version of glide (Why do I need...?):
Searching...
[ Results for search key : glide ]
[ Applications found : 1 ]
* media-libs/glide-v3
Latest version available: 3.10-r3
Latest version installed: 3.10-r3
Size of downloaded files: 3,566 kB
Homepage: http://glide.sourceforge.net/
Description: Hardware support for the voodoo3, voodoo4 and voodoo5
License: 3DFX
My kernel is compiled correctly (according to the hardware acceleration HOW-TO). I hope someone can see / suggest something I've missed.
Peter

