hi I have actually fixed this issue sometime ago. diff -Nuarp xf86-video-sis-0.10.7/src/sis310_accel.c xf86-video-sis-0.10.7.exautsdfs/src/sis310_accel.c --- xf86-video-sis-0.10.7/src/sis310_accel.c 2012-06-06 16:47:03.000000000 +0800 +++ xf86-video-sis-0.10.7.exautsdfs/src/sis310_accel.c 2012-09-15 13:42:59.535124999 +0800 @@ -1874,7 +1874,7 @@ SiSUploadToScreen(PixmapPtr pDst, int x, { ScrnInfoPtr pScrn = xf86ScreenToScrn(pDst->drawable.pScreen); SISPtr pSiS = SISPTR(pScrn); - unsigned char *dst = pDst->devPrivate.ptr; + unsigned char *dst = ((unsigned char *) pSiS->FbBase) + exaGetPixmapOffset(pDst); int dst_pitch = exaGetPixmapPitch(pDst); (pSiS->SyncAccel)(pScrn); @@ -1882,7 +1882,7 @@ SiSUploadToScreen(PixmapPtr pDst, int x, if(pDst->drawable.bitsPerPixel < 8) return FALSE; - dst += (x * pDst->drawable.bitsPerPixel / 8) + (y * src_pitch); + dst += (x * pDst->drawable.bitsPerPixel / 8) + (y * dst_pitch); while(h--) { SiSMemCopyToVideoRam(pSiS, dst, (unsigned char *)src, (w * pDst->drawable.bitsPerPixel / 8)); @@ -1953,9 +1953,8 @@ SiSDownloadFromScreen(PixmapPtr pSrc, in { ScrnInfoPtr pScrn = xf86ScreenToScrn(pSrc->drawable.pScreen); SISPtr pSiS = SISPTR(pScrn); - unsigned char *src = pSrc->devPrivate.ptr; + unsigned char *src = ((unsigned char *) pSiS->FbBase) + exaGetPixmapOffset(pSrc); int src_pitch = exaGetPixmapPitch(pSrc); - int size = src_pitch < dst_pitch ? src_pitch : dst_pitch; (pSiS->SyncAccel)(pScrn); @@ -1964,7 +1963,8 @@ SiSDownloadFromScreen(PixmapPtr pSrc, in src += (x * pSrc->drawable.bitsPerPixel / 8) + (y * src_pitch); while(h--) { - SiSMemCopyFromVideoRam(pSiS, (unsigned char *)dst, src, size); + SiSMemCopyFromVideoRam(pSiS, (unsigned char *)dst, src, + (w * pSrc->drawable.bitsPerPixel / 8)); src += src_pitch; dst += dst_pitch; }
reference page(chinese) http://shuizhuyuanluo.blog.163.com/blog/static/7781812012811102554972/ -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1066464 Title: SiS driver crashes Xserver with EXA acceleration To manage notifications about this bug go to: https://bugs.launchpad.net/xserver-xorg-video-sis/+bug/1066464/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs