Graphical Terminal Environment

Brandon Falk bfalk_bsd at
Tue Mar 6 15:24:44 UTC 2012

On 3/6/2012 11:05 AM, perryh at wrote:
> Brandon Falk <bfalk_bsd at> wrote:
>> I havent tried tmux yet, but on my system im only able to get
>> 80x40 with vidcontrol on one monitor. But with xterm in xorg
>> i can get 319x89 per monitor ...
> To get higher resolution than what vidcontrol provides, you'll most
> likely need to run the display in graphic mode (which is what X11
> does) rather than in text mode.  That means that you will need to
> either use, or reinvent, the lowest levels of X (display driver,
> window mapping) and at least part of the xterm/rxvt application
> (terminal emulation, font rasterizing, perhaps scrolling).  You
> could, however, eliminate the X practice of using the network to
> connect the terminal emulator to the display; this would give you
> an architecture resembling SunView (and its predecessor, SunTools).
> I _think_ SunTools/SunView were proprietary, although it's possible
> that Sun released the source code at some point.  You could try
> doing some research with Google and/or the Internet Archive.

That's pretty much my plan. To write some lower level drivers to put the system
in a graphics mode. I have 4 monitors and there is no other way to get multiple
monitors without a GPU specific driver (at least from my VGA OSDev experience).
My goal will be to make a driver that will be able to be runnable by any other
driver easily. Instead of having to use Xorg, just calls to the video driver to
set the mode to graphics, then some primitive functions to draw lines and dots.

I don't see why Xorg should dominate the drivers completely, I really wish it
was a matter of having an open, well documented, easy to use API that you can
just give direct commands to.

>From my understanding, this is the current model:

[  Apps   ]
[  Xorg   ]
[  Driver ]
[  GPU    ]

I think it should be the following:

[ Apps ]
[ Xorg ]       [ Apps ]
   |              |
   v              v
[        Driver          ]
[          GPU           ]

Does this make sense to anyone else? I really want to get this idea across
because I think it would be really beneficial.


More information about the freebsd-hackers mailing list