From owner-svn-src-all@FreeBSD.ORG Sat Apr 4 07:27:23 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 58A32B00; Sat, 4 Apr 2015 07:27:23 +0000 (UTC) Received: from mail109.syd.optusnet.com.au (mail109.syd.optusnet.com.au [211.29.132.80]) by mx1.freebsd.org (Postfix) with ESMTP id 1B6A8219; Sat, 4 Apr 2015 07:27:22 +0000 (UTC) Received: from c211-30-166-197.carlnfd1.nsw.optusnet.com.au (c211-30-166-197.carlnfd1.nsw.optusnet.com.au [211.30.166.197]) by mail109.syd.optusnet.com.au (Postfix) with ESMTPS id 078DCD62918; Sat, 4 Apr 2015 18:27:11 +1100 (AEDT) Date: Sat, 4 Apr 2015 18:27:11 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Rui Paulo Subject: Re: svn commit: r281059 - head/sys/boot/efi/boot1 In-Reply-To: <201504040427.t344RtGZ095522@svn.freebsd.org> Message-ID: <20150404175620.V1951@besplex.bde.org> References: <201504040427.t344RtGZ095522@svn.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.1 cv=A5NVYcmG c=1 sm=1 tr=0 a=KA6XNC2GZCFrdESI5ZmdjQ==:117 a=PO7r1zJSAAAA:8 a=kj9zAlcOel0A:10 a=JzwRw_2MAAAA:8 a=R36WSaORWdIywQFW2VkA:9 a=CjuIK1q_8ugA:10 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Apr 2015 07:27:23 -0000 On Sat, 4 Apr 2015, Rui Paulo wrote: > Log: > boot1 EFI: reset the screen and select the best mode. > > It's necessary to reset the screen to make sure any vendor pixels are > gone when we start boot1. In the Lenovo X1 (3rd gen), this is the > only way to clear the screen. Previously, the Lenovo logo would only > disappear after the kernel started scrolling the display. > > After resetting the screen, EFI could put us in the worst LCD mode > (oversized characters), so we now find the largest mode we can use and > hope it's the most appropriate one (it's not trivial to tell what's > the correct LCD resolution at this point). It's worth noting that the > final stage loader has a 'mode' command that can be used to switch > text modes. :-(. I just complained about the bug that vt (on non-EFI) clears the screen where sc carefully preserves the screen in its history buffer. For graphics mode, determining the resolution is the trivial part :-). You also need OCR or something to translate the pixels into the format of your history buffer. Don't forget to fetch Lenevo's history buffer and translate it into your format :-). I don't have problems with boot logos except when the battery dies, since I turn them off until the CMOS forgets, but lose boot messages in another way from newer monitors blanking the screen after mode switches for much longer than older monitors. I expected newer systems to "fix" this by using the same graphics mode for the whole boot. Resetting the screen is even worse than clearing. Whole boots should take a second or 2. I don't get close to that. More like 20. But with the monitor blanking the screen for 5+ seconds afer every mode switch, even a 20-second boot gives almost no time for reading its messages. Saving the messages in history buffers or booting with -p becomes more important. Bruce