How to get a high resolution console for FreeBSD inside a VMWare image?

Jared Evans jnevans at gmail.com
Fri Oct 14 10:24:54 PDT 2005


I know that this isn't exactly a standard configuration (VMWare as opposed
to native installation) for FreeBSD so most of the answers I found online
weren't really applicable for me.

I simply wanted a high resolution FreeBSD console PTYs running under VMWare.
It was surprisingly more complex than I expected:

When attempting to change screen resolution for a console in FreeBSD running
under VMWare, I ran across this error message:

> vidcontrol -g 100x37 VESA_800x600

vidcontrol: cannot set videomode inappropriate ioctl for device

It seemed to me that VMWare was unable to init VESA correctly in console but
strangely enough Xorg is capable of changing to a higher resolution without
any problems.

After some googling:

VESA driver in current source tree checks the NONVGA flag of VESA
information block when loading. If this flag is set it will refuse to
initialize. Most VESA adapters do not set this flag, but the virtual display
adapter in VMWare does.

in src/sys/i386/isa/vesa.c, there is a check for the flag V_NONVGA in line
655. If you comment it out, flag check will be bypassed. After all, if Xorg
can use higher resolution, there shouldn't be a problem using VESA on the
console!

Re-compiling my kernel to include the below as suggested by several more web
searches:

options VESA
options SC_PIXEL_MODE
options VGA_WIDTH90

rebooting then:

> vidcontrol -g 100x37 VESA_800x600

vidcontrol: operation not supported by device

Any more tips for me?


More information about the freebsd-questions mailing list