Okay, this is a really strange question and I’m not sure how to phrase but, but I can’t seem to find anything on it anywhere, most likely because I’m not using the correct terminology. Also, this may be operating system specific, if it is, I’m using Debian.
Basically, when you boot an older computer or a modern server computer, or stuff along those lines, they boot to a terminal screen. Where all you do is type stuff. And if you want to do anything graphically, you usually download a desktop environment.
But I’m wondering, how could I go about drawing graphics without a desktop environment?
I remember back on MS-DOS you could use QBASIC to change the screen mode and you could then draw colored lines onto the screen like that. It’s probably much more complicated in C++, but I’d still like to be pointed in the right direction.
Sorry if this question is a bit unspecific, but I’d really like to be pointed in the right direction.
This is done by using a framebuffer console. Then you use a framework/library that can draw on that. For example DirectFB. There’s also some small libraries floating around, like libFB. I think SDL can also use the framebuffer. Never tried it myself though.
Then there’s framebuffer versions of GUI toolkits like Gtk+ and Qt, if GUI widgets is that you want.
There’s also SVGAlib, which talks to graphics cards directly, but it’s outdated by now. Not recommended. In general, you’re looking for “Linux framebuffer graphics”. That should get you a few starting points.
To get a framebuffer console, you need to configure your kernel accordingly. Usually you enable a KMS driver for you graphics card, and also enable the KMS framebuffer. If there isn’t a KMS driver for your card, you can use a generic VESA framebuffer console that works on most hardware (although, it being just generic VESA, is slow and non-accelerated.)