# Change console screen saver without rebooting



## vincepoy (Feb 4, 2010)

Greetings everyone:

/etc/rc.conf allows specifying the console screen saver to use after a system boots up but is there a way to change to a different screen saver without rebooting?


----------



## fronclynne (Feb 4, 2010)

kldunload(8) the old one, & kldload(8) the new one.  vidcontrol(1) -t changes the save timeout (I think on a per-tty basis).  Something like shift-pause (just read up on splash(4), actually) will instantly activate the screensaver.


----------



## vincepoy (Feb 4, 2010)

I tried kldunload daemon and then kldload logo and then when I hit shift-pause, it only gave a blank/black screen... kunload logo and kldload daemon worked fine when I did shift-pause.


----------



## fronclynne (Feb 4, 2010)

logo_saver.ko might depend on "options SC_PIXEL_MODE" being in kernel (I'm not sure which ones, but some of them definitely depend on SC_PIXEL_MODE).  Which would mean that, sadly, you'll eventually have to reboot.


----------



## vincepoy (Feb 4, 2010)

what exactly is SC_PIXEL_MODE since all I can find about it is:

options         SC_PIXEL_MODE           # add support for the raster text mode

Someone seems to say that VESA and SC_PIXEL_MODE as kernel config options might break using console screensavers from working.  I have VESA but I don't have SC_PIXEL_MODE.

http://www.marksanborn.net/freebsd/adding-a-console-screensaver-to-freebsd-70/


----------



## vincepoy (Feb 4, 2010)

I just tried every saver excluding apm_saver.ko listed in /boot/kernel and the results are:

works:
blank, daemon, fade, logo, snake, star

only gives a blank screen:
dragon, fire, green, rain, warp


----------



## fronclynne (Feb 5, 2010)

vincepoy said:
			
		

> what exactly is SC_PIXEL_MODE since all I can find about it is:
> 
> options         SC_PIXEL_MODE           # add support for the raster text mode
> 
> ...



You would add the line 
	
	



```
options SC_PIXEL_MODE
```
 to your kernel config file and recompile.

http://www.freebsd.org/doc/handbook/kernelconfig-building.html

This really only applies to i386, I believe.


----------



## vincepoy (Feb 6, 2010)

What I meant was exactly what does SC_PIXEL_MODE do as I know it's a config option for the kernel but also increases the size of the kernel a lot but what benefits does it provide?  I'm sure SC_PIXEL_MODE is for all architectures and not just i386 as it's in src/sys/conf/NOTES and not src/sys/i386/conf/NOTES which means it's for everything.


----------



## fronclynne (Feb 7, 2010)

All I got is what the "man" says.  from sc(4): 
	
	



```
SC_PIXEL_MODE
            Adds support for pixel (raster) mode console.  This mode is useful
            on some laptop computers, but less so on most other systems, and
            it adds substantial amount of code to syscons.  If this option is
            NOT defined, you can reduce the kernel size a lot.  See the
            VESA800X600 flag below.
```

I might be wrong, but I think it is needed for some of the graphics mode screen savers.

Sorry, yeah, SC_PIXEL_MODE is available for other archs, but VESA modes only work on i386 (though see http://forums.freebsd.org/showthread.php?t=6291 ).

I'm also not so sure about the "you can reduce the kernel size a lot" bit.  Once Moore's law gets to crankin' good we should be staring down the barrel of 2G kernels within months.  I kid, but I had fairly featured kernels under 4.x at less than 1.5M, my 8.0-RELEASE-p2 custom kernel clocks in at 8.7M.  Which is still only a touch over 0.2% of my primary storage.  So I guess I'm torn between massive, radiating growth and serene purity.


----------



## fronclynne (Feb 7, 2010)

Just a datum: 
	
	



```
-rwxr-xr-x  1 root  wheel  9086417 Feb  6 23:48 /usr/obj/usr/src/sys/NOSCPIXELMODE/kernel
-rwxr-xr-x  1 root  wheel  9099979 Feb  6 23:34 /usr/obj/usr/src/sys/WITHSCPIXELMODE/kernel
```


----------



## vincepoy (Feb 7, 2010)

It's just strange that the kernel modules are there for the saver and it doesn't all work out of the box without adding options and recompiling the kernel since it's not documented anywhere that stuff like dragon as a screen saver would require other things, even the FreeBSD handbook doesn't mention it.  You're right that it doesn't really add much to the size of the kernel.  It seems that "makeoptions     DEBUG=-g" would add more to the kernel as the kernel symbols is 67MB atleast in size.  Isn't logo a graphics mode screen saver or maybe it's something else?  Maybe it just requires the nVidia X11 display driver before it'll work but I couldn't test that as nvidia-driver 96.43.xx won't compile under 8.0-RELEASE or later.  The GENERIC kernel is 110MB or so including all modules because of the kernel symbols as mentioned above.


----------



## fronclynne (Feb 8, 2010)

I think you're right that it's a bit weird.  It's a legacy thing, though, from back when the kernel needed to be pretty small and 13K meant something.  On the other hand, GENERIC does include stuff like "options AHC_REG_PRETTY_PRINT"  which, if the comment is to be believed, adds an order of magnitude more to the kernel size than "options SC_PIXEL_MODE".

Also, as the non-technical user-base has grown, so has the discouragement towards custom kernel building (of course, a few months on the freebsd-questions@ list will teach you why).

At this point I'm merely rambling, but I don't think my experience is a good indicator of How To Do Things:  I run custom kernels, when something breaks I tend to blame myself (and I've only been wrong in that maybe four times in ten years), & I have pretty good problem solving skills, so google and the mailing list archive solve nearly everything I've had problems with.  The noise level on the mailing lists would be unbelievable if everyone fired off angry emails every time they broke something with a bone-headed entry in make.conf, the small number of users who do that right now is pretty noisy as it is.


----------



## vincepoy (Feb 9, 2010)

Probably back during the days when libs were still aout and not elf.  I guess I was just curious about the other console screensavers even though I never use the console myself except for X as ssh to the machine is a lot easier and in the past 11 years, the only time I even use the console is when I reboot after a new src tree build and new kernel as I run -CURRENT.  So I'm not sure if new screensavers were added or was it always that way, just trying to see what the other screen savers look like.  It seems like the screensaver list is listed everywhere even googling except it doesn't say what it requires for certain savers to work.  I've never had problems except it's a result of something breaking in the -current tree.  I subscribe to the mailing lists but I haven't receive postings since 2003 or so for the same reasons you mentioned but when there are problems and it's more to report a bug, I just post to the list with the problem and it gets fixed.  There are just some things that I have no experience with so I decide to ask the question just for curiousity sakes.


----------

