LinuxQuestions.org
Visit Jeremy's Blog.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices

Reply
 
Search this Thread
Old 12-17-2004, 03:14 PM   #1
surosec
LQ Newbie
 
Registered: Jan 2004
Location: Florida, USA
Distribution: Slackware 10
Posts: 9

Rep: Reputation: 0
libGL hates my S3 Savage MX with DRI enabled


Ok. So, I have this laptop with S3 Savage MX AGP video. After much frustration, I managed to get DRI working with x11-6.8.1 and the dri.sourceforge.net 20041123 snapshot. Upon completing this week-long search for working code, final victory over accelerated video was stolen from me by libGL.

My setup is this:
Micron TransPort Trek 2 U377
PIII 500MHz, 256MB RAM, Intel chipset, S3 Savage MX 16MB AGP video

Slackware 10.0, Linux 2.6.9, x11-6.8.1


Blues Clues:

glxgears:
Quote:
libGL warning: 3D driver claims to not support visual 0x23
libGL warning: 3D driver claims to not support visual 0x24
libGL warning: 3D driver claims to not support visual 0x25
libGL warning: 3D driver claims to not support visual 0x26
libGL warning: 3D driver claims to not support visual 0x27
libGL warning: 3D driver claims to not support visual 0x28
libGL warning: 3D driver claims to not support visual 0x29
libGL warning: 3D driver claims to not support visual 0x2a
libGL warning: 3D driver claims to not support visual 0x2b
libGL warning: 3D driver claims to not support visual 0x2c
libGL warning: 3D driver claims to not support visual 0x2d
libGL warning: 3D driver claims to not support visual 0x2e
libGL warning: 3D driver claims to not support visual 0x2f
libGL warning: 3D driver claims to not support visual 0x30
libGL warning: 3D driver claims to not support visual 0x31
libGL warning: 3D driver claims to not support visual 0x32
710 frames in 5.0 seconds = 142.000 FPS
812 frames in 5.0 seconds = 162.400 FPS
834 frames in 5.0 seconds = 166.800 FPS
1495 frames in 5.0 seconds = 299.000 FPS
glxinfo
Quote:
name of display: :0.0
libGL warning: 3D driver claims to not support visual 0x23
libGL warning: 3D driver claims to not support visual 0x24
libGL warning: 3D driver claims to not support visual 0x25
libGL warning: 3D driver claims to not support visual 0x26
libGL warning: 3D driver claims to not support visual 0x27
libGL warning: 3D driver claims to not support visual 0x28
libGL warning: 3D driver claims to not support visual 0x29
libGL warning: 3D driver claims to not support visual 0x2a
libGL warning: 3D driver claims to not support visual 0x2b
libGL warning: 3D driver claims to not support visual 0x2c
libGL warning: 3D driver claims to not support visual 0x2d
libGL warning: 3D driver claims to not support visual 0x2e
libGL warning: 3D driver claims to not support visual 0x2f
libGL warning: 3D driver claims to not support visual 0x30
libGL warning: 3D driver claims to not support visual 0x31
libGL warning: 3D driver claims to not support visual 0x32
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.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
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
xorg.conf highlights
Quote:
Section "Module"

Load "GLcore"
Load "glx"
Load "dbe"
Load "dri"
Load "type1"
Load "freetype"

EndSection

Section "DRI"

Mode 0666

EndSection

Section "Device"

Identifier "S3 Savage MX"
Driver "savage"
Option "SWCursor"

EndSection
xorg log highlights

Quote:
==) 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="X.Org Foundation"
compiled for 6.8.0, 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/X11R6/lib/modules/libxaa.a
(II) Module xaa: vendor="X.Org Foundation"
compiled for 6.8.0, module version = 1.2.0
ABI class: X.Org Video Driver, version 0.7
(--) Depth 24 pixmap format is 32 bpp
(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 - 0x107fffff (0x10700000) 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 0x11002000 - 0x110020ff (0x100) MX[B]
[7] -1 0 0x11001000 - 0x11001fff (0x1000) MX[B]
[8] -1 0 0x11000000 - 0x11000fff (0x1000) MX[B]
[9] -1 0 0x10800000 - 0x10801fff (0x2000) MX[B]
[10] -1 0 0x18000000 - 0x17ffffff (0x0) MX[B]O
[11] -1 0 0xf0000000 - 0xf7ffffff (0x8000000) MX[B](B)
[12] 0 0 0x000a0000 - 0x000affff (0x10000) MS[B](OprD)
[13] 0 0 0x000b0000 - 0x000b7fff (0x8000) MS[B](OprD)
[14] 0 0 0x000b8000 - 0x000bffff (0x8000) MS[B](OprD)
[15] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
[16] -1 0 0x00000000 - 0x000000ff (0x100) IX[B]
[17] -1 0 0x00001020 - 0x0000103f (0x20) IX[B]
[18] -1 0 0x00001000 - 0x0000100f (0x10) IX[B]
[19] -1 0 0x00001400 - 0x000014ff (0x100) IX[B]
[20] 0 0 0x000003b0 - 0x000003bb (0xc) IS[B](OprU)
[21] 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: 16384 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 0x1000000
(==) SAVAGE(0): Write-combining range (0xf0000000,0x1000000)
(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:0xb1c6b000
(--) SAVAGE(0): Chose mode 118 at 75Hz.
(II) SAVAGE(0): 9348 kB of Videoram needed for 3D; 16384 kB of Videoram available
(II) SAVAGE(0): Sufficient Videoram available for 3D
(II) SAVAGE(0): [drm] bpp: 32 depth: 24
(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)
drmOpenByBusid: drmOpenMinor returns 7
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 0xd083d000
(II) SAVAGE(0): [drm] mapped SAREA 0xd083d000 to 0xb1c69000
(II) SAVAGE(0): [drm] framebuffer handle = 0xf0000000
(II) SAVAGE(0): [drm] added 1 reserved context for kernel
(II) SAVAGE(0): [agp] Mode 0x1f000201 [AGP 0x8086/0x7190; Card 0x5333/0x8c10]
(II) SAVAGE(0): [agp] 16384 kB allocated with handle 0x00000001
(II) SAVAGE(0): [agp] agpTextures microcode handle = 0x18000000
(II) SAVAGE(0): [agp] agpTextures mapped at 0x00000000
(II) SAVAGE(0): [drm] aperture handle = 0xf2000000
(II) SAVAGE(0): [drm] Status handle = 0xd08a3000
(II) SAVAGE(0): [agp] Status page mapped at 0xb1c67000
(II) SAVAGE(0): [dri] visual configs initialized
(**) SAVAGE(0): DRI is enabled
(II) SAVAGE(0): virtualX:1024,virtualY:768
(II) SAVAGE(0): bpp:32,tiledwidthBytes:4096,tiledBufferSize:3145728
(II) SAVAGE(0): bpp:32,widthBytes:4096,BufferSize:3145728
(II) SAVAGE(0): videoRambytes:0x01000000
(II) SAVAGE(0): textureSize:0x004df000
(II) SAVAGE(0): textureSize:0x004df000
(II) SAVAGE(0): textureOffset:0x00b00000
(II) SAVAGE(0): depthOffset:0x00800000,depthPitch:4096
(II) SAVAGE(0): backOffset:0x00500000,backPitch:4096
(II) SAVAGE(0): Memory manager initialized to (0,0) (1024,1279)
(II) SAVAGE(0): Largest offscreen area available: 1024 x 511
(II) SAVAGE(0): Reserved back buffer at offset 0x500000
(II) SAVAGE(0): Reserved depth buffer at offset 0x800000
(II) SAVAGE(0): Reserved 4988 kb for textures at offset 0xb00000
(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:
24 128x128 slots
(==) SAVAGE(0): Backing store disabled
(II) SAVAGE(0): X context handle = 0x00000001
(II) SAVAGE(0): [drm] installed DRM signal handler
(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:0x00300000
(II) SAVAGE(0): [junkers] frontOffset:0x00000000
(II) SAVAGE(0): [junkers] frontPitch:0x00001000
(II) SAVAGE(0): [junkers] backbufferSize:0x00300000
(II) SAVAGE(0): [junkers] backOffset:0x00500000
(II) SAVAGE(0): [junkers] backPitch:0x00001000
(II) SAVAGE(0): [junkers] depthbufferSize:0x00300000
(II) SAVAGE(0): [junkers] depthOffset:0x00800000
(II) SAVAGE(0): [junkers] depthPitch:0x00001000
(II) SAVAGE(0): [junkers] textureOffset:0x00b00000
(II) SAVAGE(0): [junkers] textureSize:0x004df000
(II) SAVAGE(0): [junkers] textureSize:0x004df000
(II) SAVAGE(0): [junkers] logTextureGranularity:0x00000000
(II) SAVAGE(0): [junkers] agp:handle:0x00000001
(II) SAVAGE(0): [junkers] agpffset:0x01000000
(II) SAVAGE(0): [junkers] agp:size:0x01000000
(II) SAVAGE(0): [junkers] agp:map:0x00000000
(II) SAVAGE(0): [junkers] registers:handle:0xf1000000
(II) SAVAGE(0): [junkers] registersffset:0x00000000
(II) SAVAGE(0): [junkers] registers:size:0x00080000
(II) SAVAGE(0): [junkers] registers:map:0x00000000
(II) SAVAGE(0): [junkers] status:handle:0xd08a3000
(II) SAVAGE(0): [junkers] statusffset:0x00000000
(II) SAVAGE(0): [junkers] status:size:0x00002000
(II) SAVAGE(0): [junkers] status:map:0xb1c67000
(II) SAVAGE(0): [junkers] agpTextures:handle:0x18000000
(II) SAVAGE(0): [junkers] agpTexturesffset:0x00000000
(II) SAVAGE(0): [junkers] agpTextures:size:0x01000000
(II) SAVAGE(0): [junkers] apgTextures:map:0x00000000
(II) SAVAGE(0): [junkers] logAgpTextureGranularity:0x0000000a
(II) SAVAGE(0): [junkers]pSAVAGEDRI:
(II) SAVAGE(0): [junkers] chipset:0x00000002
(II) SAVAGE(0): [junkers] width:0x00000400
(II) SAVAGE(0): [junkers] height:0x00000300
(II) SAVAGE(0): [junkers] mem:0x01000000
(II) SAVAGE(0): [junkers] cpp:4
(II) SAVAGE(0): [junkers] zpp:4
(II) SAVAGE(0): [junkers] agpMode:1
(II) SAVAGE(0): [junkers] frontbuffer:0xf0000000
(II) SAVAGE(0): [junkers] frontbufferSize:0x00300000
(II) SAVAGE(0): [junkers] frontOffset:0x00000000
(II) SAVAGE(0): [junkers] frontPitch:0x00000400
(II) SAVAGE(0): [junkers] frontBitmapDesc:0x13200400
(II) SAVAGE(0): [junkers] backbuffer:0xf0500000
(II) SAVAGE(0): [junkers] backbufferSize:0x00300000
(II) SAVAGE(0): [junkers] backOffset:0x00500000
(II) SAVAGE(0): [junkers] backPitch:0x00001000
(II) SAVAGE(0): [junkers] backBitmapDesc:0x13200400
(II) SAVAGE(0): [junkers] depthbuffer:0xf0800000
(II) SAVAGE(0): [junkers] depthbufferSize:0x00300000
(II) SAVAGE(0): [junkers] depthOffset:0x00800000
(II) SAVAGE(0): [junkers] depthPitch:0x00001000
(II) SAVAGE(0): [junkers] depthBitmapDesc:0x13200400
(II) SAVAGE(0): [junkers] textures:0xf0b00000
(II) SAVAGE(0): [junkers] textureOffset:0x00b00000
(II) SAVAGE(0): [junkers] textureSize:0x00480000
(II) SAVAGE(0): [junkers] logTextureGranularity:0x00000013
(II) SAVAGE(0): [junkers] agpBufferOffset:0x00000000
(II) SAVAGE(0): [junkers] agpTextureOffset:0x00000000
(II) SAVAGE(0): [junkers] agpTextureSize:0x00000000
(II) SAVAGE(0): [junkers] logAgpTextureGranularity:0x00000014
(II) SAVAGE(0): [junkers] agpTextures:handle:0x18000000
(II) SAVAGE(0): [junkers] agpTexturesffset:0x00000000
(II) SAVAGE(0): [junkers] agpTextures:size:0x01000000
(II) SAVAGE(0): [junkers] apgTextures:map:0x00000000
(II) SAVAGE(0): [junkers] registers:handle:0xf1000000
(II) SAVAGE(0): [junkers] registersffset:0x00000000
(II) SAVAGE(0): [junkers] registers:size:0x00080000
(II) SAVAGE(0): [junkers] registers:map:0x00000000
(II) SAVAGE(0): [junkers] aperture:handle:0xf2000000
(II) SAVAGE(0): [junkers] apertureffset:0x00000000
(II) SAVAGE(0): [junkers] aperture:size:0x05000000
(II) SAVAGE(0): [junkers] aperture:map:0x00000000
(II) SAVAGE(0): [junkers] aperturePitch:0x00002000
(II) SAVAGE(0): [junkers] BCIcmdBuf:handle:0xf1010000
(II) SAVAGE(0): [junkers] BCIcmdBufffset:0x00000000
(II) SAVAGE(0): [junkers] BCIcmdBuf:size:0x00020000
(II) SAVAGE(0): [junkers] BCIcmdBuf:map:0x00010000
(II) SAVAGE(0): [junkers] status:handle:0xd08a3000
(II) SAVAGE(0): [junkers] statusffset:0x00000000
(II) SAVAGE(0): [junkers] status:size:0x00002000
(II) SAVAGE(0): [junkers] status:map:0x00000000
(II) SAVAGE(0): [junkers] sarea_priv_offset:0x00000898
(II) SAVAGE(0): Direct rendering enabled
(==) RandR enabled

Any help would be appreciated. Thank you for your support.
 
Old 12-17-2004, 04:26 PM   #2
surosec
LQ Newbie
 
Registered: Jan 2004
Location: Florida, USA
Distribution: Slackware 10
Posts: 9

Original Poster
Rep: Reputation: 0
It aparently has something to do with 24bit color depth incompatibility. Once X was reduced to 16, i realized a measure of sucess. Now my gears spin like mad. However, this driver is flakey. I would highly recommend folks to avoid any S3 video chips under Linux. There isnt much in the way of drivers for, and S3's website doesnt read like they really care about supporting their older hardware (unlike ATI or nVidia).

I'm still having funky OpenGL performance in some instances (games...). Does this sound like the drivers are simply limited to 16-bit or are there settings i can adjust or libs i can upgrade?

Last edited by surosec; 12-17-2004 at 04:28 PM.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Odd dri/libGL error millionknives Linux - Hardware 0 10-22-2005 07:37 PM
Can't get DRI enabled with Savage/IX-MV Arttu Linux - Software 14 02-09-2005 02:36 AM
DRI not working on Savage Trurl Linux - Hardware 2 01-24-2005 09:22 PM
Question about DRI for S3 savage (twister) blubz Linux - Hardware 1 11-19-2004 10:20 AM
DRI and libGL, libGLU bgaiser Linux - Hardware 0 08-31-2003 12:30 AM


All times are GMT -5. The time now is 09:11 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration