From owner-freebsd-current Tue Jul 24 4:58:41 2001 Delivered-To: freebsd-current@freebsd.org Received: from nasu.utsunomiya-u.ac.jp (nasu.utsunomiya-u.ac.jp [160.12.128.3]) by hub.freebsd.org (Postfix) with ESMTP id 5A52837B40C for ; Tue, 24 Jul 2001 04:58:15 -0700 (PDT) (envelope-from yokota@zodiac.mech.utsunomiya-u.ac.jp) Received: from nantai.utsunomiya-u.ac.jp by nasu.utsunomiya-u.ac.jp (8.11.2/1.1.29.3/26Jan01-1134AM) id f6OBw5c310891; Tue, 24 Jul 2001 20:58:05 +0900 (JST) Received: from zodiac.mech.utsunomiya-u.ac.jp by nantai.utsunomiya-u.ac.jp (8.11.2/1.1.29.3/30Jan01-0241PM) id f6OBw5l133713; Tue, 24 Jul 2001 20:58:05 +0900 (JST) Received: from zodiac.mech.utsunomiya-u.ac.jp (IDENT:SN2r3VE+GcMu/4Bwg25nng77WxV/5mpF@zodiac.mech.utsunomiya-u.ac.jp [160.12.43.7]) by zodiac.mech.utsunomiya-u.ac.jp (8.9.3+3.2W/3.7W/zodiac-May2000) with ESMTP id VAA14339; Tue, 24 Jul 2001 21:07:41 +0900 (JST) Message-Id: <200107241207.VAA14339@zodiac.mech.utsunomiya-u.ac.jp> To: freebsd-current@freebsd.org Cc: yokota@zodiac.mech.utsunomiya-u.ac.jp Subject: Death sentence to KLD screen savers? Comments? Date: Tue, 24 Jul 2001 21:07:40 +0900 From: Kazutaka YOKOTA Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG This is to propose to abolish KLD screen saver modules. KLD screen savers have the following problems/deficiencies. - It is too easy to abuse the power of being run in the kernel mode. The screen saver is invoked periodically once the console becomes idle. It should not spend long time to draw something to the screen. But, we may be tempted to do a bit more elaborate drawing so that we get "interesting" effects. It's too easy to degrade the system performance by staying in the screen saver too long. - While it is easy to manipulate the video board in the KLD module (because we can go anywhere and access anything :-), there are limitations. If you want to perform file I/O (to obtain some bitmaps from files), or want to read some sort of configuration file, there is no straight forward way to do so. I propose to have user-land screen savers instead of KLD screen savers. - The user-land screen saver won't degrade system performance. We can run it at lower priority. Even if we write very complicated graphical screen saver, we have no fear of breaking the system. (Unless we write a buggy program which directly manipulates video card hardware...) - The user-land screen saver can access files if necessary. We shall provide the "screen saver daemon" and a set of "screen saver programs." The screen saver daemon will run in the background and periodically checks if the console is idle. When it finds no activity in the console, it will launch a specified "screen saver program." Screen saver programs are ordinaly user programs which act just like our current KLD screen savers, such as daemon_saver, log_saver, blank_saver, etc, which draw something interesting in the screen. The text-mode screen savers (deamon_saver, snake_saver, star_saver) are written by using ncurses. The graphics-mode screen savers (logo_saver, warp_saver, fire_saver, rain_saver) will be written with libvgl. Blank_saver, apm_saver, fade_saver and green_saver are replaced by programs which performs ioctl to the console to implement the same effect as the current KLD version. I will publish sample implementation once VESA support in -CURRENT stabilizes. Any comments? Kazu PS: the splash screen support has to remain in syscons as the splash screen is put up when the kernel starts up... To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message