sid@llama.rtech.UUCP (Sid Shapiro) (11/18/87)
Hi there, We have a color sun 3/60 that we are trying to run X on. The get-sun-type ioctl is returning the wrong values for the frame buffer. Sun Tech support says it is a known problem, but that "some one on the net has solved the problem". Has someone out there solved this? If there a port of X (or patchs to - well, I suppose 11 would be best, but I'll take 10 -) that will correctly work with the color fb? Oh yeah, this is Sun OS/3.4 . Thanks, -- Sid Shapiro -- Relational Technology, Inc {mtxinu,cpsc6a}!rtech!sid (415)748-3470
dcmartin@POSTGRES.BERKELEY.EDU (David C. Martin) (11/18/87)
Sun tech support can't read manuals, apparently. I have been hacking on 10.4 to support the cg4 and the file is available for public ftp from postgres.Berkeley.EDU. If you can't get ftp access, let me know and I will see that Joe Cortopossi gets a tape. Anyway, in addition to the fixes for the cg4, there are some enhancements of the basic Sun implementation (for dashed lines, etc...). As for the ioctl problem, this solves it: if ((fd = open(DEV_FB, O_RDWR, 0)) < 0) { fprintf(stderr, "Can't open device %s\n", DEV_FB); return(-1); } /* attempt to get attributes */ if (ioctl(fd, FBIOGATTR, (char *) &fbgattr) < 0) { /* standard ioctl since cg4 special failed */ if (ioctl(fd, FBIOGTYPE, (char *) &fbt) < 0) { /* oops! */ fprintf(stderr, "Can't access device %s.\n", DEV_FB); close(fd); return(-1); } } else { /* set video display to emulate itself */ fbgattr.sattr.emu_type = fbgattr.real_type; /* do the ioctl */ if (ioctl(fd, FBIOSATTR, (char *) &fbgattr.sattr) < 0) { fprintf(stderr, "Can't set the attribute emulation type"); close(fd); return(-1); } /* use fbtype structure for real device */ fbt = fbgattr.fbtype; } close(fd); dcm