From owner-freebsd-stable@FreeBSD.ORG Sat Apr 7 00:30:44 2007 Return-Path: X-Original-To: freebsd-stable@FreeBSD.ORG Delivered-To: freebsd-stable@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5F30116A407 for ; Sat, 7 Apr 2007 00:30:44 +0000 (UTC) (envelope-from craig@feniz.gank.org) Received: from ion.gank.org (ion.gank.org [69.55.238.164]) by mx1.freebsd.org (Postfix) with ESMTP id 48DB613C480 for ; Sat, 7 Apr 2007 00:30:42 +0000 (UTC) (envelope-from craig@feniz.gank.org) Received: by ion.gank.org (Postfix, from userid 1001) id BDD471124E; Fri, 6 Apr 2007 19:30:39 -0500 (CDT) Date: Fri, 6 Apr 2007 19:30:39 -0500 From: Craig Boston To: freebsd-stable@FreeBSD.ORG Message-ID: <20070407003039.GA46860@nowhere> References: <20070405133858.GB72219@nowhere> <200704051427.l35ERkX4008931@lurza.secnetix.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200704051427.l35ERkX4008931@lurza.secnetix.de> User-Agent: Mutt/1.4.2.2i Cc: Subject: Re: Changing Console Resolution - Vidcontrol X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Apr 2007 00:30:44 -0000 On Thu, Apr 05, 2007 at 04:27:46PM +0200, Oliver Fromme wrote: > I think 800x600x4 would be even quicker, because no VESA > calls are required at all for screen output. Oops, I was mistaken. 800x600x4 (MODE_258) is what I'm using. 800x600x8 returns "Operation not supported" when trying to switch to it, as do both 4 and 8 bit 1024x768 modes. 16-bit and 32-bit modes work at the higher resolution but they're slow as molasses so I don't use them(1). I'd rather use 4-bit anyway as IMO there's very few reasons to have more than 16 colors in console mode. elinks is the only program I know of that claims to be able to use more and syscons may not even support the control codes it's using. > (All x4 modes use a planar layout. If such a bitplane is > larger than 64K, so-called bank switching is required to > access all of the video memory, because the VGA address > space allows only a 64K window for access at once. VESA > calls are required to perform the bank switching. As yes, I'm having flashbacks to the "good ol' days" right now :) I mostly stuck to tweaking the VGA registers at the lower resolution modes as VESA support was pretty spotty on most hardware at the time. I do remember using bank switching on occasion though. > I think FreeBSD's syscons supports it via "flags 0x80" > for the sc device in the kernel config file. See the > section "Driver Flags" in the sc(4) manual page. Thanks for the tip, but this doesn't work for me. Setting that flag in device.hints results in a blank screen and only a single virtual terminal (ALT+F? just beep). I _am_ able to log in blind and issue commands however. Checking dmesg over ssh didn't show any errors or clues. In any case, allscreens_flags works acceptably for my needs. Strange that it works but the 0x80 flag doesn't. (1) Interesting data point, syscons apparently doesn't use VESA very efficiently. 1024x768x16 mode is very slow -- I can see the screen redrawing line by line in something like top. However, I'm currently using the VESA driver for X at the moment as the trident driver has some problems with the chip in this laptop. 1024x768x16 mode using VESA is fast in X, almost as fast as the accelerated driver. So I know the hardware is capable of it. Unfortunately X has some other issues on this machine, like a weird kkeybooardd ssstutteringg problem when Xkb is enabled, so I tend to use the console a lot. Craig