Solved SiS VGA Adapter not detected

After recently upgrading installed packages X.org fails to detect the attached video card properly. Previously it had done so successfully. My system reports the video card as:
Code:
vgapci0@pci0:1:0:0:    class=0x030000 card=0xe0121631 chip=0x63301039 rev=0x00 hdr=0x00
    vendor     = 'Silicon Integrated Systems [SiS]'
    device     = '661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter'
    class      = display
    subclass   = VGA
ensuring the x11-drivers/xf86-video-sis port was installed X -configure produced an xorg.conf.new (link here) file without properly listing the required sis driver. Defaulting to the vanilla vesa driver. I also noted that the new file failed to list the proper monitor timings, where previously it had.

Should I tell X.org to use the sis driver X.org fails to run.

The command X -config /root/xorg.conf.net -retro produces the expected results but should you actually try to run X.org, with or without a window manager such as Xfce, it fails.

Error log using the vesa driver here.
Error log using the sis driver here.

For me the parts from the error logs that stand out are:
Code:
[   781.122] (EE) Segmentation fault at address 0x0
[   781.122] (EE)
Fatal server error:
[   781.122] (EE) Caught signal 11 (Segmentation fault). Server aborting

Nothing is coming to mind given the fact that the Xorg.0.log file detects the card but fails to operate it correctly. Any suggestions?
 
There were some odd SIS cards that were not handled by the normal driver. As far as I know, they are old and rare. But if starting X manually with a custom config works, it should be possible to use that.

Do not use multiple Device sections. I would start with just vesa. This is the entire xorg.conf, no other entries:
Code:
Section "Device"
        Identifier  "Card0"
        Driver      "vesa"
EndSection

If that works, good. Then try the same thing, only with the sis driver, changing only the Driver line.

The log files show you are still using FreeBSD 10.0, which means no vt(4) device, which means that after X exits the console will not be visible. Commands should still be accepted by the console, although without being shown.
 
Well we got a little further. The vesa driver appeared be the only driver that would work. Just need to bump up the refresh rate. If memory serves right it should be in the region of 75-80Hz.

Tried to cvt a new mode line and add to xrandr but it failed to swap refresh rate. Successfully changed the resolution to the lower one preferred by the user however!

Will give xrandr another go or see if I can define the required mode in xorg.conf as we are now a step forward! :)

(The display still reverts back to the old console display without vt(4)() console but will switch over anyway).
 

Attachments

  • IMG_20150115_175608.jpg
    IMG_20150115_175608.jpg
    874.8 KB · Views: 519
If this is an LCD monitor, there is little reason to mess with the refresh rate. Few take anything more than 60Hz, and it was impossible for me to see any difference on the ones that did.

(The display still reverts back to the old console display without vt(4)() console but will switch over anyway).
Ah, that's only with KMS drivers.
 
Sadly a CRT. Double sadness is that there are plenty spare so I can't "break it" and replace with an LCD. The machine is so old it probably won't stretch to the modern wide screen resolutions. :( For the trifecta of sadness my IT "budget" for these is £0! :D
 
Nothing wrong with a CRT (unless you need to configure it!), you get the benefits of pleasant colour tones and a huge contrast ratio. This sounds like a project I would start, being honest.

I wish I could help. I have a Packard Bell laptop knocking around that uses the SiS driver, but I havn't tried FreeBSD on it since the new Xorg versions came around. If it's of any use I'd be happy to dig it out and see if it reports the same crashes?

PS: Is that a Samtron monitor, perchance? The OSD is maddeningly familiar, but I can't place it. Best of luck!
 
The x11-drivers/xf86-video-sis driver was reverse engineered in the early 2000's and has not received much effort as of late. I still drag out an ECS A900 with an Sis 630 video chip that runs OpenBSD.
On my machine, the BusID entry in xorg.conf was not being read correctly. Removing/Commenting the entry out resulted in the Sis card being recognized.
Code:
#BusID "PCI:1:0:0"
Don't ask me why.

According to your Xorg.0.log your chipset family is
Code:
Chipset SIS660/[M]661[F|M]X/[M]670/[M]741[GX]/[M]760[GX]/[M]761[GX]/[M]770[GX] found
The Arch wiki for that video driver also indicates that
xorg.conf needs a video timing option
SiS 671 card
Add

Option "UseTiming1366" "yes"

to Device section.
Xorg also broke the driver which has been patched in OpenBSD and many Linux distributions. I cannot see that these patches have been applied in FreeBSD. If the xorg.conf option does not work, you may want to see if OpenBSD 5.6/current supports your SiS video and if so direct the port maintainer to the patches and offer to test in FreeBSD

Edit: Add Arch Wiki SiS link
Here is my /etc/X11/xorg.conf.d/40-sis.conf
Code:
Section "Device"
  Identifier  "Card0"
  Driver  "sis"
  #BusID  "PCI:1:0:0"
  Option  "UseFBDev" "true"
  Option  "Accel" "false"
EndSection

Thomas Winischhofer's documentation is still available.

Edit 2 above
 
Last edited:
Thanks for that. Out of the office until Monday and will try those. If they fail I will try the OpenBSD idea for I would love to contribute something back to the FreeBSD Community.

To answer dscrdia@ it is a Samtron monitor. We have about 20 of them. I took a special picture for you. Hope it brings back good memories.
rsz_20150116_174614.jpg
 
Initially I thought that none of the fixes worked so I tried using OpenBSD. Of course that refused to work too. Panicking on boot.......

Eventually giving the problem a break and returning to it a little later I found that the determinant was in fact just one option as shown below:

Code:
Option "Accel" "false"
Attached below is the copy of the working xorg.conf file should anyone find it useful in the future. No idea what the effect on performance will be with this but at least it works. :)

The machine now operates at the required resolution and refresh rate.

Many thanks for the documentation link. I had been trying to get to that from the link listed in the driver but appeared to be dead.
 

Attachments

  • xorg.conf
    2.2 KB · Views: 434
Back
Top