Or do I have a driver IC between the ATMega and the LCD?
Yes, definitely.
A graphics LCD panel needs complex multi-level drive signals; the controller ICs (for small panels, at least) have internal RAM that you [via the driver program] load the grey level or colour for each pixel in to, and the driver IC translates the grey or colour values to the correct voltage combinations for the panel.
The interface from the MCU - Arduino, PIC or whatever - can be two wire I2C (slowest), three or four wire SPI (reasonably fast) or parallel data bus (fastest), depending on the requirements, speed vs number of MCU pins needed just for the display.
These are a good example of a small display with integrated controller IC
1.44" LCD Screen Display Module,128X128 Resolution,TFT LCD Display Module, with Spi Serial Module, for 5110/3310, St7735 : Amazon.co.uk: Business, Industry & Science
www.amazon.co.uk
They use a SPI interface and can be updated fast enough to display reasonable moving images, if you use a fast enough MCU.
I used a Seed Xiao (32 bit ARM CPU similar to arduino zero or M0) to run two of those, in my version of a Halloween project another user on mentioned; it's programmed via the Arduino IDE, after adding the seeed device library:
Now with pin headers pre-soldered! This is the smallest member of the Seeeduino family. The Seeeduino XIAO (Pre-Soldered) still carries the powerful CPU-ARM® Cortex®-M0+(SAMD21G18) which is a low-power Arduino microcontroller. On the other hand, this little board has good performance in...
See the links in the description of this video for more info.
I've also used the common 128x160 1.8" TFTs with DSPIC MCUs; you need a device with a lot of RAM and storage to do anything much with graphics, though text just needs enough for the font data and working memory.