With a TV output set up the installer runs the SIS X server, fails and then fires up the VESA server. The vesa server has a lot of missed pixels. I notice we set up mtrr's for the video ram and I wonder if the SiS can't handle this With a monitor plugged in instead the SiS server is run, and that fails differently but did work in 3.3.x. I'll play with the server options and see what is going on (last time I had to set a couple). Random, el cheapo, noname sis 6326 board with 8MB RAM.
You are pure evil. ;o) Try: Option "nomtrr"
NAME SiS 6326 CHIPSET SiS6326 SERVER SVGA DRIVER sis LINE Option "swcursor" # Enables software mouse cursor workaround LINE # Option "NoAccel" # Use this if acceleration is causing problems LINE # Option "fifo_moderate" LINE # Option "fifo_conserv" LINE # Option "fifo_aggressive" LINE # Option "fast_vram" LINE # Option "pci_burst_on" LINE # Option "xaa_benchmark" # DON'T use with "ext_eng_queue" !!! LINE # Option "ext_eng_queue" # Turbo-queue. This can cause drawing LINE # errors, but gives some accel NOCLOCKPROBE Try some of those options.. I think it also has a manpage detailing them, but didn't check.
MTRR seems to matter with the vesa server vesa + mtrr = corruption (eg in the installer) The native driver seems to depend on "NoXaaSolidFillRect", from the behaviour change I think XaaSolidFillRect is rendering a w x w rect not w x h. When it renders off screen due to that the card sometimes dies too. With NoSolidFillRect I've got another glitch when I wave windows around and off screen a lot which isnt present with noaccel. I'll look at that later on.
Oh the 3D is broken too.
Ok the complete essay for my SIS6326 AGP 8Mb appears to be "VESA" option does not work (gets the line stride wrong, assumes its 640 when the vesa BIOS stride is not). That stops it working on my TV in sis driver "MaxXFBmem" is broken, this breaks 3D support. (And also stops me telling the box my card has 8Mb RAM [it sets to 4 safely thankfully]) "TurboQueue off" is required to stop dropped pixel noise "Swcursor True" stops random occasional hangs "XaaNoSolidFillRect" is required to fix the rendering/crashes 3D still doesn't work. It appears X is not telling the sisfb/dri driver layer about the memory properly With NoAccel the TurboQueue off seems to be required With the vesa fb driver setting mtrr's as we do causes noise, misrendering and funny colours.
Further progress on this. Thomas Winischhofer <thomer at winischhofer.net> sent me the test version of his fixed drivers. These add Xv but also fix the turboqueue/cursor problem (the mouse cursor was overwriting the turboqueue). I'd say getting his updates in for the next RH XFree/Errata XFree would be a good thing - I can even play movies on the relic now