I found the cause of the issue.

The problem is not in the xserver-xorg-video-mach64 package.
It is in xserver-xorg-core package. The following patch against
xserver-xorg-core package solves the issue.

The mach64 driver accesses to the io port BUS_CNTL(=0x4ca0).
So ioperm(0, 1024, 1) is not sufficient. iopl(3) is also
required as before (bullseye's version).

diff --git a/hw.orig/xfree86/os-support/linux/lnx_video.c 
b/hw/xfree86/os-support/linux/lnx_video.c
index fd83022..2cc97cf 100644
--- a/hw.orig/xfree86/os-support/linux/lnx_video.c
+++ b/hw/xfree86/os-support/linux/lnx_video.c
@@ -122,7 +122,7 @@ hwEnableIO(void)
     char *buf=NULL, target[5];
     FILE *fp;
 
-    if (ioperm(0, 1024, 1)) {
+    if (ioperm(0, 1024, 1) || iopl(3)) {
         ErrorF("xf86EnableIO: failed to enable I/O ports 0000-03ff (%s)\n",
                strerror(errno));
         return FALSE;


-- 
Takashi Yano <[email protected]>

Reply via email to