Getting my sis graphics hardware acceleration to work - Mesa and DXX error
Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Getting my sis graphics hardware acceleration to work - Mesa and DXX error
I am trying to enable 3d graphics card (sis 630/700 (I think))
I believed the steps to doing this were to compile DRM modules (video card drivers) and then make sure Mesa (or libGL) was using these. So far I have done the following:
- Have compiled and successfully loaded a new kernel (2.4.35).
- Used the new kernel to load some DRM kernel modules.
- Accomplished all 3 prerequisites for installing Mesa-7.0.1 according to the web-sites instructions:
1. Getting the DRM kernel modules which Mesa directed me to, which seemed to compile successfully. They found my kernel config file. I downloaded several types of this, some provided for sis specifically, some were provided with XFree86 4.6.0, which I didn't end up compiling when I downloaded and compiled this graphical system, and one from DRM which I got from the direction of the Mesa instruction file (http://dri.sf.net/). The one I used, I believe, was the one that Mesa directed me to. I suppose there were also DRM modules compiled by my kernel?
2. glxproto.h
3. DRI-enabled X server
There were a lot of other problems with compiling - glxproto.h WAS missing; a file (Mesa-7.0.1/src/glx/glxext.c) tried to include Xfixes.h and Xdamage.h, which didn't exist on my system. I simply commented out these lines, and it compiled. Another file (Mesa-7.0.1/src/mesa/drivers/dri/common/xmlconfig.c) called for a file expat.h which existed on my system in /usr/X11R6/include, but either Mesa or gcc was not finding these during compilation. I simply copied this file (expat.h) to Mesa-7.0.1/include, and after this Mesa compiled, I believe, completely.
- Now my /var/log/XFree86.0.log seems to report that drm is finding my card and everything is set up for my graphics card to work with direct rendering. However, when I run glxgears or glxinfo, I am told "
SiS DRI driver expected DDX version 0-0.8.x but got version 0.7.0
libGL warning: 3D driver returned no fbconfigs.
libGL error: InitDriver failed
libGL error: reverting to (slow) indirect rendering
"
I looked a bit at what this DDX is (/usr/X11R6/lib/X11/doc/ddx.txt), but couldn't make too much sense of it.
I am still not very sure how the different parts of direct rendering work together - from kernel modules, to DRI libraries, to DRM modules (which I believe are kernel modules?) to Mesa and Mesa-dri libraries, and now to DDX.
I've mostly used the Mesa compile instructions for help on how to do stuff, and the DRI instructions (http://dri.freedesktop.org/wiki/Building.html, I believe). The DRI instructions supposed a lot of things: it seemed to describe a version of Mesa I didn't have, and it explained how to get it using only specific packaging systems. It also seemed to be a set of instructions specifically for an X.org graphical system, and I have XFree86.
Does anyone know why I get this DDX error message? Any thought on what part of my direct rendering isn't working, or how to find out what part isn't working? Is it because my graphical system is not compatible with my DRM modules?
I am running on a DSL hardrive install (because I havn't yet bothered to order a fuller linux operating system). As I said above, I've installed XFree86 to replace the Xvesa that was provided, and I compiled a new kernel (2.4.35).
Good... now, read the man page for the sis driver: pay special attention to chapter 3. "300 series specific information". (The manual includes 630/730 in the "300 Series".)
AFAIK: You will not be using mesa ... you want the sis driver with the sisfb framebuffer driver and a few additional xorg.conf entries. Now you are pointed in the right direction: have fun
I've tried out winischhofer's suggestions - some of it seems to be working, but my system is not finding sisfb in the kernel, both when it is compiled as a module and when compiled into the kernel. Right now my system does not show a console - the boot process leaves the screen blank until XFree86 comes up. As well, in the XFree86 log file, I am told sisfb is not being found. Other than that the log file seems to show no problems.
It seems like I lost my console when I turned off the VGA and vesa fb options in my kernel (which is 2.4.35).
One thing to note is that the version of the X.org sis driver I downloaded doesn't match my version of XFree86 (4.6 with gcc 3.x) since there wasn't one for this new a version of XFree86.
I have also turned my BIOS from a PCI graphic option to AGP, even though I didn't know what these are. Then, also in the BIOS, I gave it 32 MB of video memory, and it gave me the option of the memory address for this, which I left as is.
Lilo passes the mem:12288 option, as does MaxXFBMem in the XF86Config-4 file. I thought this was important since I lost my "graphical" console (?).
Any ideas on what might be wrong? I don't always understand all the options in the kernel configuration, so I wouldn't be suprised if these are out of line. I turned off all DRM and AGP modules for video cards other than sis. sis DRM is a module, and I think all other sis options are statically compiled.
"
* For 2.4: Enable "Prompt for development and/or incomplete code/drivers" in Code Maturity Level Options, "SiS Acceleration" or "SiS display support" along with your type of chipset in Console Drivers->Framebuffer support. If you happen to select Advanced Low Level Driver Options (which I do not recommend), you *must* select "8 bpp packed pixel support", "16 bpp packed pixel support" and "32 bpp packed pixel support" as well.
* For 2.6: Go to "Device Drivers"->"Graphics Support" and enable "Support for framebuffer devices", "SiS acceleration" along with your type of chipset (for XGI, select "SiS315/330"). Then go to the sub-menu Console display driver support and enable "Framebuffer Console support". Leave "Select compile-in fonts" unchecked. Furthermore make sure that "VESA VGA graphics support" is disabled as well."
- http://www.winischhofer.eu/linuxsispart4.shtml#download
"
# Enable SiS DRM support in the kernel configuration (under "Character Devices"). Choose the SiS DRM to be compiled as a module (not statically into the kernel). The module will be loaded automatically, no need to modprobe it.
# Enable AGP support in your kernel configuration (not for PCI versions of SIS 300/305 cards). It is recommended to compile AGP statically into the kernel. Note: The AGP driver to use depends on what host chipset you have. On SiS 630/730 and assumingly 540, this is "SiS generic". If you use a SiS 300/305 (AGP) in a non-SiS mainboard, check the manufacturer of your AGP host controller.
"
- http://www.winischhofer.net/sisdri.shtml
I am going to go over the kernel options again another day, maybe. I am not sure if I remember seeing that Framebuffer Console Support option.
Does one of the kernel options specifically enable winischhofer's sisfb module?
I've tried out winischhofer's suggestions - some of it seems to be working, but my system is not finding sisfb in the kernel, both when it is compiled as a module and when compiled into the kernel. Right now my system does not show a console - the boot process leaves the screen blank until XFree86 comes up.
In DSL??? That shouldn't happen.[quote] As well, in the XFree86 log file, I am told sisfb is not being found.[quote]It is in the 2.6 kernels ... should be in the 2.4's DSL uses... however, DSL is pretty agressive with scaling down everything. You also need to make sure it is called in xfree86.conf and DRI permissions are set to 665(?) or something. It is ages since I did this with my SiS board (now RIP) and I recall I ended up buying an nvidia AGP card.
I installed a completely new kernel though - so that I would have the correct source tree for compiling my DRM modules.
Yeah, I might end up getting a more complete distro soon. I think it is a good idea, rather than trying to add stuff to DSL.
I think I was wrong about modprobe - sisfb does seem to be found by my kernel.
{edit}
After changing some things and running lilo, the X log file now indicated sisfb is being found, though modprobe and sisfbctrl both indicate otherwise.
(end edit)
Here are some messages from my system. It looks like dri is running, but glxinfo doesn't show it. Could the issue be with the GL libraries? Also, a modules called libvbe.a fails to load.
Here is the dmesg messages: I've tried seperating the sis-related messages from the rest.
Code:
Linux version 2.4.35 (root@box) (gcc version 3.3.4 (Debian 1:3.3.4-7)) #22 SMP Mon Aug 6 16:21:46 EDT 2007
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 0000000006ff0000 (usable)
BIOS-e820: 0000000006ff0000 - 0000000006ff8000 (ACPI data)
BIOS-e820: 0000000006ff8000 - 0000000007000000 (ACPI NVS)
BIOS-e820: 00000000ffef0000 - 00000000fff00000 (reserved)
BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
0MB HIGHMEM available.
111MB LOWMEM available.
On node 0 totalpages: 28656
zone(0): 4096 pages.
zone(1): 24560 pages.
zone(2): 0 pages.
ACPI disabled because your bios is from 97 and too old
You can enable it with acpi=force
Kernel command line: BOOT_IMAGE=DslLinux2 ro root=301 hda=scsi hdb=scsi hdc=scsi hdd=scsi hde=scsi hdf=scsi hdg=scsi hdh=scsi apm=power-off nomce noapic video=sisfb:mode:1024x768x16,mem:12288
ide_setup: hda=scsi
ide_setup: hdb=scsi
ide_setup: hdc=scsi
ide_setup: hdd=scsi
ide_setup: hde=scsi
ide_setup: hdf=scsi
ide_setup: hdg=scsi
ide_setup: hdh=scsi
No local APIC present or hardware disabled
Initializing CPU#0
Detected 735.002 MHz processor.
Console: colour dummy device 80x25
Calibrating delay loop... 1468.00 BogoMIPS
Memory: 110152k/114624k available (1445k kernel code, 4084k reserved, 557k data, 144k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Dentry cache hash table entries: 16384 (order: 5, 131072 bytes)
Inode cache hash table entries: 8192 (order: 4, 65536 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 4096 (order: 2, 16384 bytes)
Page-cache hash table entries: 32768 (order: 5, 131072 bytes)
CPU: L1 I Cache: 64K (32 bytes/line), D cache 64K (32 bytes/line)
CPU: L2 Cache: 64K (32 bytes/line)
CPU: After generic, caps: 00803135 80803035 00000000 00000000
CPU: Common caps: 00803135 80803035 00000000 00000000
Checking 'hlt' instruction... OK.
Checking for popad bug... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)
mtrr: detected mtrr type: Intel
CPU: L1 I Cache: 64K (32 bytes/line), D cache 64K (32 bytes/line)
CPU: L2 Cache: 64K (32 bytes/line)
CPU: After generic, caps: 00803135 80803135 00000000 00000000
CPU: Common caps: 00803135 80803035 00000000 00000000
CPU0: Centaur VIA Samuel 2 stepping 03
per-CPU timeslice cutoff: 182.65 usecs.
SMP motherboard not detected.
Local APIC not detected. Using dummy APIC emulation.
Waiting on wait_init_idle (map = 0x0)
All processors have done init_idle
ACPI: Subsystem revision 20040326
ACPI: Interpreter disabled.
PCI: PCI BIOS revision 2.10 entry at 0xfd9f8, last bus=1
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
PCI: Using IRQ router SIS5595 [1039/0008] at 00:01.0
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
VFS: Disk quotas vdquot_6.5.1
sisfb: Video ROM found
sisfb: Video RAM at 0xe0000000, mapped to 0xc781e000, size 16384k
sisfb: MMIO at 0xefee0000, mapped to 0xc881f000, size 128k
sisfb: Memory heap starting at 8192K, size 7672K
sisfb: CRT1 DDC supported
sisfb: CRT1 DDC level: 2
sisfb: Monitor range H 31-61KHz, V 43-75Hz, Max. dotclock 78MHz
sisfb: Setting mode 1024x768x16 (60Hz)
sisfb: Initial vbflags 0x0
Console: switching to colour frame buffer device 128x48
sisfb: 2D acceleration is enabled, y-panning enabled (auto-max)
fb0: SiS 630 frame buffer device version 1.8.10
sisfb: Copyright (C) 2001-2005 Thomas Winischhofer
pty: 256 Unix98 ptys configured
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 77M
agpgart: Detected SiS 630 chipset
agpgart: AGP aperture is 64M @ 0xf4000000
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
SIS5513: IDE controller at PCI slot 00:00.1
SIS5513: chipset revision 208
SIS5513: not 100% native mode: will probe irqs later
SIS5513: SiS630 ATA 66 controller
ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:DMA, hdb:DMA
ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:DMA, hdd:DMA
hda: WDC WD200EB-00CPF0, ATA DISK drive
hdc: CREATIVE CD5233E, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: attached ide-disk driver.
hda: host protected area => 1
hda: 39102336 sectors (20020 MB) w/2048KiB Cache, CHS=2434/255/63
Partition check:
hda: hda1 hda2 < hda5 hda6 hda7 >
ide: late registration of driver.
SCSI subsystem driver Revision: 1.00
kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
Initializing Cryptographic API
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 8192 bind 8192)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 144k freed
Real Time Clock Driver v1.10f
Adding Swap: 511520k swap-space (priority -1)
hdc: attached ide-scsi driver.
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
Vendor: CREATIVE : CD5233E Rev: 2.05
Type: CD-ROM ANSI SCSI revision: 02
Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0
sr0: scsi3-mmc drive: 8x/56x cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.12
Linux Kernel Card Services 3.1.22
options: [pci] [cardbus] [pm]
Intel ISA PCIC probe: not found.
Databook TCIC-2 PCMCIA probe: not found.
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-uhci.c: $Revision: 1.275 $ time 18:04:47 Aug 6 2007
usb-uhci.c: High bandwidth mode enabled
usb-uhci.c: v1.275:USB Universal Host Controller Interface driver
usb.c: deregistering driver usbdevfs
usb.c: deregistering driver hub
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
PCI: Found IRQ 5 for device 00:01.3
PCI: Sharing IRQ 5 with 00:01.2
usb-ohci.c: USB OHCI at membase 0xc88c8000, IRQ 5
usb-ohci.c: usb-00:01.3, Silicon Integrated Systems [SiS] USB 1.0 Controller (#2)
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
PCI: Found IRQ 5 for device 00:01.2
PCI: Sharing IRQ 5 with 00:01.3
usb-ohci.c: USB OHCI at membase 0xc88ca000, IRQ 5
usb-ohci.c: usb-00:01.2, Silicon Integrated Systems [SiS] USB 1.0 Controller
usb.c: new USB bus registered, assigned bus number 2
hub.c: USB hub found
hub.c: 3 ports detected
usbdevfs: remount parameter error
hub.c: new USB device 00:01.3-1, assigned address 2
usb_control/bulk_msg: timeout
usb.c: USB device not accepting new address=2 (error=-110)
hub.c: new USB device 00:01.3-1, assigned address 3
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI ISAPNP enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
PCI: Found IRQ 11 for device 00:01.6
PCI: Sharing IRQ 11 with 00:01.4
usb_control/bulk_msg: timeout
usb.c: USB device not accepting new address=3 (error=-110)
parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE]
parport0: irq 7 detected
Trident 4DWave/SiS 7018/ALi 5451,Tvia CyberPro 5050 PCI Audio, version 0.14.10h, 17:58:45 Aug 6 2007
PCI: Found IRQ 11 for device 00:01.4
PCI: Sharing IRQ 11 with 00:01.6
trident: SiS 7018 PCI Audio found at IO 0xda00, IRQ 11
ac97_codec: AC97 Audio codec, id: VIA97 (Unknown)
ac97_codec: AC97 Modem codec, id: SIL33 (Unknown)
FAT: bogus logical sector size 38917
VFS: Can't find a valid FAT filesystem on dev 03:05.
FAT: bogus logical sector size 38917
VFS: Can't find a valid FAT filesystem on dev 03:05.
NTFS driver v1.1.22 [Flags: R/W MODULE]
Journalled Block Device driver loaded
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
usb.c: registered new driver hiddev
usb.c: registered new driver hid
hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz>
hid-core.c: USB HID support drivers
mice: PS/2 mouse device common for all mice
ISO 9660 Extensions: Microsoft Joliet Level 1
ISOFS: changing to secondary root
kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,5), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,7), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
[drm] AGP 0.99 Aperture @ 0xf4000000 64MB
[drm] Initialized sis 1.0.0 20010503 on minor 0
hub.c: new USB device 00:01.3-1, assigned address 4
usb.c: USB device 4 (vend/prod 0x5dc/0xa410) is not claimed by any active driver.
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
scsi1 : SCSI emulation for USB Mass Storage devices
Vendor: LEXAR : JUMPDRIVE SPORT Rev: 1000
Type: Direct-Access ANSI SCSI revision: 02
Attached scsi removable disk sda at scsi1, channel 0, id 0, lun 0
SCSI device sda: 506880 512-byte hdwr sectors (260 MB)
sda: Write Protect is off
sda: sda1
WARNING: USB Mass Storage data integrity not assured
USB Mass Storage device found at 4
USB Mass Storage support registered.
FAT: bogus logical sector size 38917
VFS: Can't find a valid FAT filesystem on dev 03:05.
FAT: bogus logical sector size 38917
VFS: Can't find a valid FAT filesystem on dev 03:05.
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
Last edited by quep_fly; 08-12-2007 at 05:15 PM.
Reason: more info
_
...
XFree86 Version 4.6.0
Release Date: 10 May 2006
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.4.24 i686 [ELF]
Current Operating System: Linux box 2.4.35 #22 SMP Mon Aug 6 16:21:46 EDT 2007 i686
Build Date: 8 May 2006
Changelog Date: 10 May 2006
Before reporting problems, check http://www.XFree86.Org/
to make sure that you have the latest version.
Module Loader present
.....
(II) PCI: Probing config type using method 1
(II) PCI: Config type is 1
(II) PCI: stages = 0x03, oldVal1 = 0x80010050, mode1Res1 = 0x80000000
(II) PCI: PCI scan (all values are in hex)
.....
(--) PCI:*(1:0:0) Silicon Integrated Systems [SiS] 630/730 PCI/AGP VGA Display Adapter rev 33, Mem @ 0xe0000000/27, 0xefee0000/17, I/O @ 0xcc80/7
(WW) Open ACPI failed (/proc/acpi/event) (No such file or directory)
(WW) Open APM failed (/dev/apm_bios) (No such device)
.....
(II) LoadModule: "GLcore"
(II) Loading /usr/X11R6/lib/modules/extensions/libGLcore.a
(II) Module GLcore: vendor="The XFree86 Project"
compiled for 4.6.0, module version = 1.0.0
ABI class: XFree86 Server Extension, version 0.4
(II) LoadModule: "extmod"
(II) Loading /usr/X11R6/lib/modules/extensions/libextmod.a
(II) Module extmod: vendor="The XFree86 Project"
compiled for 4.6.0, module version = 1.0.0
Module class: XFree86 Server Extension
ABI class: XFree86 Server Extension, version 0.4
(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 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: "dbe"
(II) Loading /usr/X11R6/lib/modules/extensions/libdbe.a
(II) Module dbe: vendor="The XFree86 Project"
compiled for 4.6.0, module version = 1.0.0
Module class: XFree86 Server Extension
ABI class: XFree86 Server Extension, version 0.4
(II) Loading extension DOUBLE-BUFFER
(II) LoadModule: "record"
(II) Loading /usr/X11R6/lib/modules/extensions/librecord.a
(II) Module record: vendor="The XFree86 Project"
compiled for 4.6.0, module version = 1.13.0
Module class: XFree86 Server Extension
ABI class: XFree86 Server Extension, version 0.4
(II) Loading extension RECORD
(II) LoadModule: "xtrap"
(II) Loading /usr/X11R6/lib/modules/extensions/libxtrap.a
(II) Module xtrap: vendor="The XFree86 Project"
compiled for 4.6.0, module version = 1.0.0
Module class: XFree86 Server Extension
ABI class: XFree86 Server Extension, version 0.4
(II) Loading extension DEC-XTRAP
(II) LoadModule: "speedo"
(II) Loading /usr/X11R6/lib/modules/fonts/libspeedo.a
(II) Module speedo: vendor="The XFree86 Project"
compiled for 4.6.0, module version = 1.0.1
Module class: XFree86 Font Renderer
ABI class: XFree86 Font Renderer, version 0.5
(II) Loading font Speedo
(II) LoadModule: "type1"
(II) Loading /usr/X11R6/lib/modules/fonts/libtype1.a
(II) Module type1: vendor="The XFree86 Project"
compiled for 4.6.0, module version = 1.0.2
Module class: XFree86 Font Renderer
ABI class: XFree86 Font Renderer, version 0.5
(II) Loading font Type1
(II) Loading font CID
(II) LoadModule: "bitmap"
(II) Reloading /usr/X11R6/lib/modules/fonts/libbitmap.a
(II) Module bitmap: vendor="The XFree86 Project"
compiled for 4.6.0, module version = 1.0.0
Module class: XFree86 Font Renderer
ABI class: XFree86 Font Renderer, version 0.5
(II) Loading font Bitmap
(II) LoadModule: "freetype"
(II) Loading /usr/X11R6/lib/modules/fonts/libfreetype.a
(II) Module freetype: vendor="The XFree86 Project & the After X-TT Project"
compiled for 4.6.0, module version = 2.1.0
Module class: XFree86 Font Renderer
ABI class: XFree86 Font Renderer, version 0.5
(II) Loading font FreeType
(II) LoadModule: "sis"
(II) Loading /usr/X11R6/lib/modules/drivers/sis_drv.o
(II) Module sis: vendor="The XFree86 Project"
compiled for 4.5.0, module version = 0.7.0
Module class: XFree86 Video Driver
ABI class: XFree86 Video Driver, version 0.8
(II) LoadModule: "mouse"
(II) Loading /usr/X11R6/lib/modules/input/mouse_drv.o
(II) Module mouse: vendor="The XFree86 Project"
compiled for 4.6.0, module version = 1.0.0
Module class: XFree86 XInput Driver
ABI class: XFree86 XInput driver, version 0.5
(II) LoadModule: "kbd"
(II) Loading /usr/X11R6/lib/modules/input/kbd_drv.o
(II) Module kbd: vendor="The XFree86 Project"
compiled for 4.6.0, module version = 1.0.0
Module class: XFree86 XInput Driver
ABI class: XFree86 XInput driver, version 0.5
(II) SIS: driver for SiS chipsets: SIS5597/5598, SIS530/620,
SIS6326/AGP/DVD, SIS300/305, SIS630/730, SIS540, SIS315, SIS315H,
SIS315PRO/E, SIS550, SIS650/M650/651/740, SIS330(Xabre),
SIS[M]661[F|M]X/[M]741[GX]/[M]760[GX]/[M]761[GX], SIS340,
[M]670/[M]770[GX]
(II) SIS: driver for XGI chipsets: Volari Z7 (XG20),
Volari V3XT/V5/V8/Duo (XG40/XG42)
(II) Primary Device is: PCI 01:00:0
(--) Chipset SIS630/730 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 0xf3fff000 - 0xf3ffffff (0x1000) MX[B]E
[6] -1 0 0xf3ffe000 - 0xf3ffefff (0x1000) MX[B]E
[7] -1 0 0xf3ffd000 - 0xf3ffdfff (0x1000) MX[B]E
[8] -1 0 0xf3ffc000 - 0xf3ffcfff (0x1000) MX[B]
[9] -1 0 0xf4000000 - 0xf3ffffff (0x0) MX[B]EO
[10] -1 0 0xefee0000 - 0xefefffff (0x20000) MX[B](B)
[11] -1 0 0xe0000000 - 0xe7ffffff (0x8000000) MX[B](B)
[12] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
[13] -1 0 0x00000000 - 0x000000ff (0x100) IX[B]
[14] -1 0 0x0000dc00 - 0x0000dc7f (0x80) IX[B]E
[15] -1 0 0x0000de00 - 0x0000deff (0x100) IX[B]E
[16] -1 0 0x0000da00 - 0x0000daff (0x100) IX[B]E
[17] -1 0 0x0000d800 - 0x0000d8ff (0x100) IX[B]
[18] -1 0 0x0000ffa0 - 0x0000ffaf (0x10) IX[B]E
[19] -1 0 0x0000cc80 - 0x0000ccff (0x80) IX[B](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 0xf3fff000 - 0xf3ffffff (0x1000) MX[B]E
[6] -1 0 0xf3ffe000 - 0xf3ffefff (0x1000) MX[B]E
[7] -1 0 0xf3ffd000 - 0xf3ffdfff (0x1000) MX[B]E
[8] -1 0 0xf3ffc000 - 0xf3ffcfff (0x1000) MX[B]
[9] -1 0 0xf4000000 - 0xf3ffffff (0x0) MX[B]EO
[10] -1 0 0xefee0000 - 0xefefffff (0x20000) MX[B](B)
[11] -1 0 0xe0000000 - 0xe7ffffff (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 0x0000dc00 - 0x0000dc7f (0x80) IX[B]E
[18] -1 0 0x0000de00 - 0x0000deff (0x100) IX[B]E
[19] -1 0 0x0000da00 - 0x0000daff (0x100) IX[B]E
[20] -1 0 0x0000d800 - 0x0000d8ff (0x100) IX[B]
[21] -1 0 0x0000ffa0 - 0x0000ffaf (0x10) IX[B]E
[22] -1 0 0x0000cc80 - 0x0000ccff (0x80) IX[B](B)
[23] 0 0 0x000003b0 - 0x000003bb (0xc) IS[B]
[24] 0 0 0x000003c0 - 0x000003df (0x20) IS[B]
(II) Setting vga for screen 0.
(II) SIS(0): SiS driver (2006/09/29-1, compiled for XFree86 4.5.0.0)
(II) SIS(0): Copyright (C) 2001-2005 Thomas Winischhofer <thomas@winischhofer.net> and others
(II) SIS(0): *** See http://www.winischhofer.eu/linuxsisvga.shtml
(II) SIS(0): *** for documentation, updates and a Premium Version.
(WW) SIS(0): This driver binary is not compiled for this version of XFree86
(II) SIS(0): RandR rotation support not available in this version.
(II) SIS(0): Dynamic ist support not available in this version.
(II) SIS(0): Screen growing support not available in this version.
(II) SIS(0): Advanced Xv video blitter not available in this version.
(II) SIS(0): Advanced MergedFB support not available in this version.
(--) SIS(0): fb0: SiS kernel fb driver (sisfb) 1.8.10 detected (PCI:01:00.0)
(--) SIS(0): sisfb: memory heap at 8192KB, size 7672KB, viewport at 0KB
(--) SIS(0): sisfb: using video mode 0x4a
(--) SIS(0): sisfb: using SiS300 series Turboqueue, reserved 512K
(--) SIS(0): Relocated I/O registers at 0xCC80
(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.6.0, module version = 0.1.0
ABI class: XFree86 Video Driver, version 0.10
(**) SIS(0): Depth 16, (--) framebuffer bpp 16
(==) SIS(0): RGB weight 565
(==) SIS(0): Default visual is TrueColor
(--) SIS(0): Video BIOS version "2.00.50" found (old SiS data layout)
(**) SIS(0): Option "AGPSize" "32"
(==) SIS(0): Color HW cursor is disabled
(==) SIS(0): TurboQueue enabled
(==) SIS(0): Hotkey display switching is disabled
(II) SIS(0): WARNING: Using the Hotkey might freeze your machine, regardless
(II) SIS(0): whether enabled or disabled. This is no driver bug.
(==) SIS(0): SiSCtrl utility interface is disabled
(II) SIS(0): For information on SiSCtrl, see
http://www.winischhofer.at/linuxsispart1.shtml#sisctrl
(==) SIS(0): X server will not keep DPI constant for all screen sizes
(==) SIS(0): DRI enabled
(--) SIS(0): Shared Memory Area is on DIMM0
(--) SIS(0): DRAM type: SDR SDRAM
(--) SIS(0): Memory clock: 100.226 MHz
(--) SIS(0): (Adapter assumes MCLK being 100 Mhz)
(--) SIS(0): DRAM bus width: 64 bit
(--) SIS(0): Linear framebuffer at 0xE0000000
(--) SIS(0): MMIO registers at 0xEFEE0000 (size 64K)
(--) SIS(0): VideoRAM: 16384 KB
(II) SIS(0): Using 8192K of framebuffer memory at offset 0K
(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.6.0, module version = 1.0.0
ABI class: XFree86 Video Driver, version 0.10
(==) SIS(0): Using gamma correction (1.0, 1.0, 1.0)
(II) SIS(0): Gamma correction is enabled
(--) SIS(0): Memory bandwidth at 16 bpp is 400.904 MHz
(--) SIS(0): CRT1 DDC supported
(--) SIS(0): CRT1 DDC level: 2
(--) SIS(0): CRT1 DDC monitor info: *******************************************
(II) SIS(0): Manufacturer: MEI : c7a Serial#: 464
(II) SIS(0): Year: 1997 Week: 19
(II) SIS(0): EDID Version: 1.0
(II) SIS(0): Analog Display Input, Input Voltage Level: 0.700/0.300 V
(II) SIS(0): Sync: Separate Composite SyncOnGreenSerration on. V.Sync Pulse req. if CompSync or SyncOnGreen
(II) SIS(0): Max H-Image Size [cm]: horiz.: 32 vert.: 24
(II) SIS(0): Gamma: 2.38
(II) SIS(0): DPMS capabilities: StandBy Suspend Off; RGB/Color Display
(II) SIS(0): redX: 0.635 redY: 0.333 greenX: 0.280 greenY: 0.595
(II) SIS(0): blueX: 0.152 blueY: 0.063 whiteX: 0.283 whiteY: 0.298
.....
(--) SIS(0): Display dimensions: (320, 240) mm
(--) SIS(0): DPI set to (81, 81)
(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.6.0, module version = 1.0.0
ABI class: XFree86 ANSI C Emulation, version 0.3
(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.6.0, module version = 1.1.0
ABI class: XFree86 Video Driver, version 0.10
(II) SIS(0): 2D acceleration enabled
(II) Loading sub module "dri"
(II) LoadModule: "dri"
(II) Loading /usr/X11R6/lib/modules/extensions/libdri.a
(II) Module dri: vendor="The XFree86 Project"
compiled for 4.6.0, module version = 1.0.0
ABI class: XFree86 Server Extension, version 0.4
(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.6.0, module version = 1.0.0
ABI class: XFree86 Server Extension, version 0.4
(II) Loading extension XFree86-DRI
(II) Loading sub module "glx"
(II) LoadModule: "glx"
(II) Loading /usr/X11R6/lib/modules/extensions/libglx.a
(II) Module glx: vendor="The XFree86 Project"
compiled for 4.6.0, module version = 1.0.0
ABI class: XFree86 Server Extension, version 0.4
(II) Loading sub module "GLcore"
(II) LoadModule: "GLcore"
(II) Reloading /usr/X11R6/lib/modules/extensions/libGLcore.a
(II) Module GLcore: vendor="The XFree86 Project"
compiled for 4.6.0, module version = 1.0.0
ABI class: XFree86 Server Extension, version 0.4
(II) Loading extension GLX
(II) do I need RAC? No, I don't.
.....
(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.6.0, module version = 2.0.0
ABI class: XFree86 Video Driver, version 0.10
(WW) Module ABI minor version (8) is older than that required (9)
(II) UnloadModule: "vbe"
(II) Unloading /usr/X11R6/lib/modules/libvbe.a
(EE) SIS: Failed to load module "vbe" (module requirement mismatch, 0)
(WW) SIS(0): Failed to load/initialize vbe module
(==) SIS(0): Write-combining range (0xe0000000,0x1000000)
(II) SIS(0): Setting standard mode 0x4a
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/card0
drmOpenDevice: open result is 7, (OK)
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 7, (OK)
drmGetBusid returned ''
(II) SIS(0): [drm] loaded kernel module for "sis" driver
(II) SIS(0): [drm] DRM interface version 1.0
(II) SIS(0): [drm] created "sis" driver at busid "PCI:1:0:0"
(II) SIS(0): [drm] added 8192 byte SAREA at 0xc895f000
(II) SIS(0): [drm] mapped SAREA 0xc895f000 to 0x4167c000
(II) SIS(0): [drm] framebuffer handle = 0xe0000000
(II) SIS(0): [drm] added 1 reserved context for kernel
(II) SIS(0): [drm] MMIO registers mapped to 0xefee0000
(II) SIS(0): [drm] AGP enabled
(II) SIS(0): [drm] Allocated 32MB AGP memory
(II) SIS(0): [drm] Bound 32MB AGP memory
(II) SIS(0): [drm] Failed to add IRQ 0 handler
(II) SIS(0): [dri] Visual configs initialized
(II) SIS(0): Framebuffer from (0,0) to (1023,4093)
(II) SIS(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
Dashed Lines
Offscreen Pixmaps
Setting up tile and stipple cache:
32 128x128 slots
18 256x256 slots
6 512x512 slots
(--) SIS(0): CPU frequency 735.00Mhz
(II) SIS(0): Benchmarking system RAM to video RAM memory transfer methods:
(--) SIS(0): Checked libc memcpy()... 36.1 MiB/s
(--) SIS(0): Checked built-in-1 memcpy()... 36.1 MiB/s
(--) SIS(0): Checked built-in-2 memcpy()... 25.3 MiB/s
(--) SIS(0): Checked MMX memcpy()... 57.8 MiB/s
(--) SIS(0): Checked 3DNow! memcpy()... 57.8 MiB/s
(--) SIS(0): Using MMX method for aligned data transfers to video RAM
(--) SIS(0): Using MMX method for unaligned data transfers to video RAM
(==) SIS(0): Backing store disabled
(==) SIS(0): Silken mouse enabled
(**) Option "dpms"
(**) SIS(0): DPMS enabled
(--) SIS(0): Hardware supports two video overlays
(II) SIS(0): Using SiS300/315/330/340/350 series HW Xv
(II) SIS(0): X context handle = 0x00000001
(II) SIS(0): [drm] installed DRM signal handler
(II) SIS(0): [DRI] installation complete
(II) SIS(0): Direct rendering enabled
(II) SIS(0): Initialized SISCTRL extension version 0.1
(II) SIS(0): Registered screen 0 with SISCTRL extension version 0.1
.....
I read the DRI troubleshooting, which told me how to read the error messages from GL. This indicated my dri driver wasn't compatible with my libGL files, so I re-installed XFree86 4.6, and then it worked.
Thanks for your help. I am glad I finally got this working.
People frequently get confused by the proliferation of acronyms surrounding
OpenGL support on Linux. This document is a vain hope to reduce the
confusion. Definitions are given in expository order rather than alphabetical;
hopefully by the end you will understand better.
Hey, I can dream.
I'm focusing on Linux 2.6.
OpenGL: 3D graphics specification from SGI, descended from an earlier product
called IRIS GL, competitor of Direct3D and QuickDraw3D (deceased). Frequently
abbreviated "GL", particularly on Linux, since "OpenGL" is a trademark, and
use of the trademark requires passing a (non-free) conformance suite.
GLX: GL is a graphics language, not a windowing system. "GLX" refers to the
extension that binds GL to the X11 window system, enabling 3D drawing on X
windows. GLX is an extension to the X protocol. There are similar bindings
for other window systems too - WGL on Windows, AGL on MacOS. In X, the client
side GLX library is called libGL, and the server side extension is called
libglx.
Direct rendering: There are two ways a GL program can get its drawing done.
Either the client can do the drawing itself, or it can pass the GL requests
to the server and have the server do the drawing. Server-side rendering is
called "indirect rendering", and client-side rendering is called "direct
rendering". Direct rendering is usually faster. This is especially true
for Xorg, where the server's indirect renderer is entirely done in software.
DRI: The Direct Rendering Infrastructure is a technology that enables
direct rendering for GL programs on Linux and BSD operating systems.
Mesa: Mesa is a work-alike implementation of GL written by Brian Paul and
dozens of contributors. It contains a software rasterizer, a GL state machine,
and bindings to several window systems including X and Win32. All the open-
source DRI drivers are based on Mesa, as well as several closed-source DRI
drivers.
DRI driver: This is where all the excitement happens. The DRI driver is
responsible for programming the 3D hardware. Usually DRI drivers use the
Mesa state machine. In the DRI, the GLX client-side library loads a DRI
driver, named something_dri.so.
DRM driver: This is the kernel-side component of the DRI. The DRM is
responsible for security and handling resource contention. Not particularly
interesting, but mandatory. These are named something.ko in Linux 2.6.
DDX driver: This is a part of the X server, responsible for the other sorts
of X drawing like Render and Xv. The DDX has to be DRI-aware, but otherwise
not much GL-related happens in the DDX.
AGP: AGP is a fast version of the PCI local bus, with additional features
for graphics hardware. The core AGP kernel module is called agpgart.ko.
AGP chipset: Different motherboards have different chipsets and thus
different implementations of the AGP feature set. You need the one
corresponding to your motherboard chipset. This is probably not always the
same as your video chipset. Via chipsets need via-agp.ko, etc.
--- Configuration
So what do you need?
- Kernel:
DRM driver corresponding to your video card
AGP core support
AGP chipset support corresponding to your motherboard
For most supported cards, you have the DRM driver already. The exceptions as
of 2.6.9-ish are mach64 and savage. For those, you need to build the DRM
from CVS, as outlined on http://dri.freedesktop.org/wiki/Building .
Every kernel since the dawn of time has the necessary AGP bits.
Load the AGP core module. Load the AGP chipset module. Load the DRM module.
Make sure /dev/dri/card0 exists and is writable by you.
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.
Put Load "dri" and Load "glx" lines in xorg.conf. Make sure you're using the
DRI-aware DDX driver and not vesa or fbdev or whatever. Start X. Make sure
'grep Direct /var/log/Xorg.0.log' says "Direct rendering enabled". Run
glxinfo, and check that it says "direct rendering: Yes". Congrats, you win.
It seems like to get openGL version 2 - which I think will need to be through Mesa GL and dri, I will have to do something about my "DDX" driver. When I compile mesa linux-dri and install it, I still get an error about not having the right DDX version.
So either I will have to find out how to get a different DDX driver, or I may try to install X.org instead of XFree86.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.