Subject: screen saver for wsdisplay on vesafb and Xorg wsfb?
To: None <tech-x11@netbsd.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-x11
Date: 07/28/2006 02:13:24
For two months, I have been using Xorg xf86-video-wsfb driver with 
NetBSD's wsdisplay(4) on NetBSD's vesafb (missing man page?).
(vesa not mentioned in wsdisplay(4) either.) This is on i386 NetBSD 
3.99.2x.

I can't turn off my display with xset.

The wsfb_driver.c has:

      pScreen->SaveScreen = WsfbSaveScreen;

which is:

WsfbSaveScreen(ScreenPtr pScreen, int mode)
{
        ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
        WsfbPtr fPtr = WSFBPTR(pScrn);
        int state;

        TRACE_ENTER("SaveScreen");

        if (!pScrn->vtSema)
                return TRUE;

        if (mode != SCREEN_SAVER_FORCER) {
                state = xf86IsUnblank(mode)?WSDISPLAYIO_VIDEO_ON:
                                            WSDISPLAYIO_VIDEO_OFF;
                ioctl(fPtr->fd,
                      WSDISPLAYIO_SVIDEO, &state);
        }
        return TRUE;
}

I see WSDISPLAYIO_SVIDEO in /usr/src/sys/arch/i386/bios/vesafb.c.

How can I troubleshoot why I have no screen blank? What commands can I 
try?

(Note that I can screenblank fine using unichrome or via on the same 
system.)

Also where are the WSDISPLAYIO_* settings documented?

The screen does turn off when I close the lid (or close most of the way). 
(With no ACPI in kernel it reboots though.)

I have no idea if the wsfb "CloseScreen" function is used, but I am 
guessing it is not as the screen will blank out side of X if lid is closed 
too.


- Jeremy C. Reed