Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 23804 - SiS module xfree-drm-4.3.0-r4 undefined symbols
Summary: SiS module xfree-drm-4.3.0-r4 undefined symbols
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo X packagers
URL: http://simon.dehartog.nl/bug/
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-07-01 04:56 UTC by Simon de Hartog
Modified: 2003-07-07 00:32 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Simon de Hartog 2003-07-01 04:56:22 UTC
Overview: I wanted DRM for xfree on my SiS card on my laptop. xfree-drm-4.3.0-r4
emerged perfectly, but loading of the module fails. I have a SIS630 on-board on
my laptop.

Reproduction:
- Set sis USE flag in /etc/make.conf
- Set DRM to off in kernel (this was in the HW 3D Accel guide on gentoo site)
- Recompile kernel with that option and boot
- emerge xfree-drm-4.3.0-r4
- Add 'Load "dri"' and Load "glx"' to Module section in /etc/X11/XF86Config
- Configure Video
- insmod sis or start your X server

output from qpkg -v -I xfree:
x11-base/xfree-4.3.0-r3 *
x11-base/xfree-drm-4.3.0-r4 *

Results:
Using /lib/modules/2.4.20-gentoo-r5/kernel/drivers/char/drm/sis.o
/lib/modules/2.4.20-gentoo-r5/kernel/drivers/char/drm/sis.o: unresolved symbol
sis_free
/lib/modules/2.4.20-gentoo-r5/kernel/drivers/char/drm/sis.o: unresolved symbol 
sis_malloc

When starting X:

...
drmOpenDevice: minor is 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
drmOpenDevice: minor is 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
[drm] failed to load kernel module "agpgart"
[drm] failed to load kernel module "sis"
(II) SIS(0): [drm] drmOpen failed
(EE) SIS(0): [dri] DRIScreenInit failed.  Disabling DRI.
(II) SIS(0): Frame Buffer From (0,0) To (1024,1788)
...

NOTE: I have agpgart in my kernel. I also tried without Framebuffers.

Expected Results:
lsmod to show loaded sis module and XFree having HW 3D Accel :-)

Build Date & Platform: 2.4.20-gentoo-r5 built on Mon Jun 30 23:05:29 CEST 2003
i686 Pentium III (Coppermine)

Additional Builds & Platforms: None known to work or not work, sorry :-(

The output from emerge info, my XF86Config en relevant kernel config are located
at the URL above. Thank you in advance for your time and effort.
Comment 1 Andrew Bevitt 2003-07-01 07:54:19 UTC
I'll second this.
Just set it up now and have exactly the same problems using gaming-sources-2.4.20-r5

The only difference is that I dont get the drmOpenDevice messages.

Just the sis.o driver fails to load.
This seems consistent with the sis driver from the kernel source.
Comment 2 Donnie Berkholz (RETIRED) gentoo-dev 2003-07-01 08:49:55 UTC
Please try both -r3 and -r5 (currently KEYWORDS="-*" ) and see whether they 
work. Also, the sis drivers are beta; we have to uncomment them in the Makefile to 
even compile them, so issues are somewhat expected but one would hope they'd 
compile. Thanks. 
Comment 3 Andrew Bevitt 2003-07-01 09:39:28 UTC
-r3 and -r5 both did not work for me.

Neither did grabbing the CVS source and compiling that way.

All resulted in the same unresolved symbols errors.
Comment 4 Donnie Berkholz (RETIRED) gentoo-dev 2003-07-01 15:13:01 UTC
http://www.winischhofer.net/sisdri.shtml

This link may be of assistance in your quest to get SiS DRI working. It seems you may actually *need* the sis framebuffer driver, rather than avoiding it as with most cards.
Comment 5 Andrew Bevitt 2003-07-01 21:36:28 UTC
To quote that site
"...  do only select SiS 300/630 support, not SiS 315 (unless your machine has a 315/550/650/740, but in this case the whole thing doesn't make sense as DRI is not supported on the 310/325 series...)."

I have a SiS650 in my laptop that I was trying this on, so I cant really test it any futher.
Comment 6 Simon de Hartog 2003-07-05 08:52:55 UTC
Ok, that site really worked for me (www.winischhofer.net). I now have DRI functional under X, only glxinfo says it's still not working (Direct Rendering: no). Any last hints on that problem? Anyways, my output of X startup (relevant part):

(II) SIS(0): initializing int10
(II) SIS(0): Primary V_BIOS segment is: 0xc000
(II) SIS(0): VESA BIOS detected
(II) SIS(0): VESA VBE Version 3.0
(II) SIS(0): VESA VBE Total Mem: 32768 kB
(II) SIS(0): VESA VBE OEM: SiS
(II) SIS(0): VESA VBE OEM Software Rev: 1.0
(II) SIS(0): VESA VBE OEM Vendor: Silicon Integrated Systems Corp.
(II) SIS(0): VESA VBE OEM Product: 630
(II) SIS(0): VESA VBE OEM Product Rev: 2.02.3d
(II) SIS(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x9c80
(==) SIS(0): Write-combining range (0x40000000,0x2000000)
(II) SIS(0): VBFlags=0x21000002
(--) SIS(0): Before: CR30=0x21, CR31=0x44, CR32=0x08, CR33=0x02, CR35=0x00
(II) SIS(0): After:  CR30=0x21, CR31=0xc4, CR33=0x00
(II) SIS(0): Setting mode 0x4a
(--) SIS(0): (init301: LCDInfo=0x00e5 LCDResInfo=0x02 LCDTypeInfo=0x04 SetFlag=0x0008)
(--) SIS(0): (init: VBType=0x0000, VBInfo=0x4421)
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 8, (OK)
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 8, (OK)
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 8, (OK)
drmGetBusid returned ''
(II) SIS(0): [drm] created "sis" driver at busid "PCI:1:0:0"
(II) SIS(0): [drm] added 8192 byte SAREA at 0xc8975000
(II) SIS(0): [drm] mapped SAREA 0xc8975000 to 0x40015000
(II) SIS(0): [drm] framebuffer handle = 0x40000000
(II) SIS(0): [drm] added 1 reserved context for kernel
(II) SIS(0): [drm] Registers = 0x50000000
(II) SIS(0): [drm] drmAgpEnabled succeeded
(II) SIS(0): [drm] failure adding irq 0 handler, stereo disabled
(II) SIS(0): [dri] visual configs initialized.
(II) SIS(0): Frame Buffer From (0,0) To (1024,6142)
(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
                26 256x256 slots
                12 512x512 slots
(==) SIS(0): Backing store disabled
(==) SIS(0): Silken mouse enabled
(II) SIS(0): Using SiS300/315 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
(==) RandR enabled
(II) Setting vga for screen 0.

Looking good eh? The catch: Enable Framebuffer support for SIS 630/540/730 in kernel. This will then make the symbols required by the sis xfree-drm driver available. Also make sure you have LOTS of video memory. It put mine from 4MB to 32MB. Then you have to put the framebuffer config parameter in your bootloader, in my case video=sisfb:mode:1024x768x16,mem:12288
The last part (mem:12288) was taken from the site mentioned above.
Details: http://simon.dehartog.nl/bug23804/ , which contain kernel-config, X config, emerge.info, complete XFree86 startup log and glxinfo output.

Can this bug now be marked closed? This was my first bug report in bugzilla...
Comment 7 Donnie Berkholz (RETIRED) gentoo-dev 2003-07-07 00:32:34 UTC
The glxinfo problem is unique to the weird things you have to do with sis, as far as I know. I'm going to close this, and let me know if you have any more trouble with this.