# vidcontrol -i mode



## balanga (Feb 22, 2017)

I am trying to change my screen resolution as per The Handbook, but when I run `vidcontrol -i mode` I just get some headings followed by an underline, no values. What am I missing?

I'm running FreeBSD 11.0-RELEASE, but have no idea what graphics chip I'm using. Not sure how to tell... dmesg mentions VT(vga): resolution 64x480 and vtvga0: <VT VGA driver> on motherboard.


----------



## SirDice (Feb 23, 2017)

The handbook assumes you're using the 'old' sc(4) console driver. The new vt(4) driver works a little different in this respect. Have a look at the man page:

```
kern.vt.fb.default_mode
             Set this value to a graphic mode to override the default mode
             picked by the vt backend.  The mode is applied to all output con-
             nectors.  This is currently only supported by the vt_fb backend
             when it's paired with a KMS video driver.
```


----------



## balanga (Feb 24, 2017)

I had a look, but couldn't make much sense of everything. I wanted something which could tell me what modes were supported by my system and didn't find such a command, but it did lead me on to discover `vidfont`.


----------



## fscorrea (Feb 28, 2017)

balanga said:


> I wanted something which could tell me what modes were supported by my system and didn't find such a command


According to vt(4):

```
START-UP OPERATION WITH X86 BIOS SYSTEMS
     The computer BIOS starts in text mode, and the FreeBSD loader(8) runs,
     loading the kernel.  If hw.vga.textmode is set, the system remains in
     text mode.  Otherwise, [HIGHLIGHT]vt switches to 640x480x16 VGA mode using vt_vga.[/HIGHLIGHT]
     If a KMS (Kernel Mode Setting) video driver is available, the display is
     switched to high resolution and the KMS driver takes over.  [HIGHLIGHT]When a KMS
     driver is not available, vt_vga remains active.[/HIGHLIGHT]
```
You can set graphic modes for vt_fb only:

```
kern.vt.fb.default_mode
             Set this value to a graphic mode to override the default mode
             picked by the vt backend.  The mode is applied to all output
             connectors.  [HIGHLIGHT]This is currently only supported by the vt_fb
             backend when it is paired with a KMS video driver.[/HIGHLIGHT]
```
vidcontrol(1) is listed among other unimplemented/partially implemented features intended for vt(4), according to https://wiki.freebsd.org/Newcons. Therefore, it can't be used to set or check available modes for vt_vga, meaning you have to stick with default 640x480x16 unless you switch to vt_fb (requires KMS video drivers).

Graphic modes can be set for vt_fb. The output of `$ xrandr` can be used as a reference.

Note that vidcontrol(1) still works partially with vt_vga. For example, a white screen with black text can be obtained by running `$ vidcontrol black white` while using either vt_vga or vt_fb.


----------



## balanga (Feb 28, 2017)

Thanks for pointing out `$ vidcontrol black white`. As a result I now know how to get green text on a black background... Takes me back to when I used a real computer


----------



## Scott Miller (Mar 12, 2017)

*Setting the screen resolution in v11 -- got it to work by going back to the old sc(4).*

Not ideal. I assume the new vt(4) was created so we could take advantage of some cool new features, but is it ready for prime time? The biggest problem is that vt(4) is not covered in the handbook, not even the online handbook. It needs to be. Maybe the stuff I want to do is perfectly doable, but being a newbe I don't know that. I carefully read the Wiki page on Newcons and the man page for vt(4)

I tried putting 
	
	



```
kern.vt.fb.default_mode="800x600"
```
 into /boot/loader.conf but that did nothing. So I commented that out and put in 
	
	



```
kern.vty="sc"
```
 instead. Now everything in the handbook works. At this point several hours had past and I got tired of chasing the problem.

Oh, and there's a bug between the default settings for vt(4) and Supermicro's IPMI iKVM Viewer. The window is the right height (640 pixels for default) but there's extra blank at the top and the line at the bottom is cut in half (makes it tough to see what I'm typing).

*Given that all I want is a command-line interface, step-by-step, how do I get the new vt(4) to work? Thanks a million.*


----------



## fscorrea (Mar 28, 2017)

Scott Miller said:


> *all I want is a command-line interface*


Is it, really? If so, you already have it - in 640x480x16. If you want something other than this, it is not doable. Read my post above.

As for the line in /boot/loader.conf:

```
kern.[HIGHLIGHT]vt.fb[/HIGHLIGHT].default_mode="800x600"
```
Got it?

Now if you do have KMS and your problem is with vt_fb rather than vt_vga, then I can help you if you want (despite my being a newbie too). There are plenty of threads regarding this issue as well, but keep in mind we'll be dealing with vt_fb and not vt_vga. The situation regarding vt_vga is as described above.



Scott Miller said:


> The biggest problem is that vt(4) is not covered in the handbook, not even the online handbook. It needs to be.


I understand and I agree with you. Not only this, there are plenty of issues regarding the handbook. But proper modification and release is hardly a trivial matter. We'll need to be patient on this subject at least for a while.


----------

