Date: Fri, 14 Oct 2005 21:42:18 -0500 From: Nikolas Britton <nikolas.britton@gmail.com> To: Jared Evans <jnevans@gmail.com> Cc: Ask FreeBSD <freebsd-questions@freebsd.org> Subject: Re: How to get a high resolution console for FreeBSD inside a VMWare image? Message-ID: <ef10de9a0510141942i697a86c7ye436fb92b530a526@mail.gmail.com> In-Reply-To: <2cbc9d820510141024i80098bdpee425dd4d0eb19b6@mail.gmail.com> References: <2cbc9d820510141024i80098bdpee425dd4d0eb19b6@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 10/14/05, Jared Evans <jnevans@gmail.com> wrote: > I know that this isn't exactly a standard configuration (VMWare as oppose= d > 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 VMWa= re. > It was surprisingly more complex than I expected: > > When attempting to change screen resolution for a console in FreeBSD runn= ing > 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 witho= ut > 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 disp= lay > adapter in VMWare does. > > in src/sys/i386/isa/vesa.c, there is a check for the flag V_NONVGA in lin= e > 655. If you comment it out, flag check will be bypassed. After all, if Xo= rg > 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? You computer (VMware) doesn't have a "proper" VESA BIOS and that is why 800x600 raster text mode won't work etc. FreeBSD 6 has this all worked just put 'allscreens_flags=3D"MODE_279"' in rc.conf for 1024x768... you can get a list of other modes supported by typing in vidcontrol -i MODE (I think, can never remember :-)). if you want this for FreeBSD 5.x then your going to have to manually patch your system, but I have a simple script that will do it for you. somewhere around here...... check for patch errors after you run the script. -------------------------------------------------- cd /tmp rm current-vesa_patch.tar.gz fetch http://www.nbritton.org/uploads/current-vesa_patch.tar.gz rm -r current-vesa_patch tar -zxf current-vesa_patch.tar.gz cd /usr/src/sys/dev/syscons patch </tmp/current-vesa_patch/current-syscons.diff cd /usr/src/usr.sbin/vidcontrol cp /tmp/current-vesa_patch/current-vidcontrol.1 ./vidcontrol.1 cp /tmp/current-vesa_patch/current-vidcontrol.c ./vidcontrol.c make && make install && make clean ----------------------------------------------------- You still need to put in your kernel (both FreeBSD 5 and 6): options VESA options SC_PIXEL_MODE and when you cvsup your src in FreeBSD 5 you will need to reapply the patch, cvsup will overwrite the files becouse the cvs revision tags don't match up. Anyways....
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ef10de9a0510141942i697a86c7ye436fb92b530a526>