1

I'm running FreeBSD 11.4 on an old Compaq Presario 3550. I want to take advantage of the full 1024x768 display, but vidcontrol doesn't seem to be working properly. This is what I've done so far:

  1. Changed /boot/loader.conf to include kern.vty=sc since vidcontrol -i mode gave an empty list when using vt instead of sc.
  2. Running vidcontrol -i mode gives lots of different supported modes (probably around 40).
  3. Running vidcontrol MODE_261 (size 1024x768x8 P) appeared to resize the display to use the full resolution, placing the prompt in the upper left-hand corner of the screen. However, after about 4 or 5 lines, the entire lower portion of the display was a grid of RGB lines. Within a few minutes, the system crashed.
  4. Several places recommended loading the vesa module into the kernel, but running kldload vesa gives me the message kldload: can't load vesa: module already loaded or in kernal. While I could try rebuilding the kernel from the source as described here, I'm not sure that it would do any good since the vesa module is already installed.

I'd really appreciate any pointers. Thanks!

EDIT 1: No, this is not X11. This is all in the console-only mode.

EDIT 2: vidcontrol VGA_80x50, vidcontrol 80x50, and vidcontrol MODE_30 all give the error "vidcontrol: setting video mode: invalid argument". Note that mode 30 is 80x50 with an 8x8 font. Running vidcontrol VESA_132x50 gives the same error, although vidcontrol VESA_132x25 does resize the width, but everything is scrambled, forcing me to reset using vidcontrol 80x25.

EDIT 3: running vidcontrol VESA_800x600 works. This is acceptable, but I'd still like to get the full display resolution.

2
  • Try some of the generic/common modes mentioned in vidcontrol(1) first. VGA_80x50 used to well supported. Most cards got VGA right. Then try VESA_132x50. Commented Mar 5, 2021 at 7:50
  • Oh! Just to be sure: When you say 1024x768 you are not talking about X11? If we are talking about X11 then the console driver does not matter and we should look elsewhere Commented Mar 5, 2021 at 7:53

1 Answer 1

0

Unfortunately, what isn't working properly is VESA on your machine. To set modes, the vesa kernel module, that overlays the vga framebuffer driver, diverts the mode setting requests from the vga framebuffer driver's own mode setting code to your firmware's VESA mode setting code. Clearly that's not setting up the display adapter hardware correctly.

Either your VESA firmware is downright faulty, or the vesa overlay isn't using it properly. Either way, the only solution is laborious kernel debugging, with a serial console if you don't want to go mad.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .