If the xf86-vide-i128 is compiled with XSERVER_LIBPCIACCESS, registers and frmaebuffer memory are mapped through libpciaccess. However, I128UnmapMem tries to unmap things vy using xf86UnmapVidMem. This fails because the memory isn't registered (which only happens if you mapped the memory using xf86MapPciMem. The attached diff fixes this.
Created attachment 23656 [details] [review] Fix
Mark, thanks for the patch. Reports in https://bugs.launchpad.net/bugs/306970 confirms that your patch fixes the crash on start-up. However, the computer freezes when startx is run a second time. Could this be another memory (un)map problem?
Thanks. Pushed commit cee4cdf061ca8e6376846c0eac2fc6d57711129e.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.