---
name: "aa_init"
section: "3"
platform: "linux"
package: "aalib"
version: "1.4rc5-19"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://carta.tech/man/aa_init"
---

# aa\_init(3)

open the output display for AA-lib.

## NAME

aa\_init - open the output display for AA-lib.

## SYNOPSIS

**#include \<aalib.h\>**

**aa\_context \*aa\_init**\
 **(**\
\
 	**const struct aa\_driver \*driver,**\
\
 	**const struct aa\_hardware\_params \*defparams,**\
\
 	**const void \*driverdata**\
 **);**

## PARAMETERS

- **const struct aa\_driver \*driver**

  Driver you want to use.  Available drivers are listed in the NULL terminated aa\_drivers array.

- **const struct aa\_hardware\_params \*defparams**

  Hardware parameters you want.  Use aa\_defparams for default values.

- **const void \*driverdata**

  This pointer is passed dirrectly to driver used to specify additional driver dependent parameters.

## DESCRIPTION

This is the most primitive AA-lib initialization function. Allows better control over the process than the easier to use aa\_autoinit function.

Every AA-lib program ought to have call to aa\_parseoptions before first call to aa\_init.

## RETURNS

Pointer to new AA-lib context or NULL if failed.

## SEE ALSO

[save\_d(3)](/man/save_d/3.md), [mem\_d(3)](/man/mem_d/3.md), [aa\_help(3)](/man/aa_help/3.md), [aa\_formats(3)](/man/aa_formats/3.md), [aa\_fonts(3)](/man/aa_fonts/3.md), [aa\_dithernames(3)](/man/aa_dithernames/3.md), [aa\_drivers(3)](/man/aa_drivers/3.md), [aa\_kbddrivers(3)](/man/aa_kbddrivers/3.md), [aa\_mousedrivers(3)](/man/aa_mousedrivers/3.md), [aa\_kbdrecommended(3)](/man/aa_kbdrecommended/3.md), [aa\_mouserecommended(3)](/man/aa_mouserecommended/3.md), [aa\_displayrecommended(3)](/man/aa_displayrecommended/3.md), [aa\_defparams(3)](/man/aa_defparams/3.md), [aa\_defrenderparams(3)](/man/aa_defrenderparams/3.md), [aa\_scrwidth(3)](/man/aa_scrwidth/3.md), [aa\_scrheight(3)](/man/aa_scrheight/3.md), [aa\_mmwidth(3)](/man/aa_mmwidth/3.md), [aa\_mmheight(3)](/man/aa_mmheight/3.md), [aa\_imgwidth(3)](/man/aa_imgwidth/3.md), [aa\_imgheight(3)](/man/aa_imgheight/3.md), [aa\_image(3)](/man/aa_image/3.md), [aa\_text(3)](/man/aa_text/3.md), [aa\_attrs(3)](/man/aa_attrs/3.md), [aa\_currentfont(3)](/man/aa_currentfont/3.md), [aa\_autoinit(3)](/man/aa_autoinit/3.md), [aa\_autoinitkbd(3)](/man/aa_autoinitkbd/3.md), [aa\_autoinitmouse(3)](/man/aa_autoinitmouse/3.md), [aa\_recommendhi(3)](/man/aa_recommendhi/3.md), [aa\_recommendlow(3)](/man/aa_recommendlow/3.md), [aa\_initkbd(3)](/man/aa_initkbd/3.md), [aa\_initmouse(3)](/man/aa_initmouse/3.md), [aa\_close(3)](/man/aa_close/3.md), [aa\_uninitkbd(3)](/man/aa_uninitkbd/3.md), [aa\_uninitmouse(3)](/man/aa_uninitmouse/3.md), [aa\_fastrender(3)](/man/aa_fastrender/3.md), [aa\_render(3)](/man/aa_render/3.md), [aa\_puts(3)](/man/aa_puts/3.md), [aa\_printf(3)](/man/aa_printf/3.md), [aa\_gotoxy(3)](/man/aa_gotoxy/3.md), [aa\_hidecursor(3)](/man/aa_hidecursor/3.md), [aa\_showcursor(3)](/man/aa_showcursor/3.md), [aa\_getmouse(3)](/man/aa_getmouse/3.md), [aa\_hidemouse(3)](/man/aa_hidemouse/3.md), [aa\_showmouse(3)](/man/aa_showmouse/3.md), [aa\_registerfont(3)](/man/aa_registerfont/3.md), [aa\_setsupported(3)](/man/aa_setsupported/3.md), [aa\_setfont(3)](/man/aa_setfont/3.md), [aa\_getevent(3)](/man/aa_getevent/3.md), [aa\_getkey(3)](/man/aa_getkey/3.md), [aa\_resize(3)](/man/aa_resize/3.md), [aa\_resizehandler(3)](/man/aa_resizehandler/3.md), [aa\_parseoptions(3)](/man/aa_parseoptions/3.md), [aa\_edit(3)](/man/aa_edit/3.md), [aa\_createedit(3)](/man/aa_createedit/3.md), [aa\_editkey(3)](/man/aa_editkey/3.md), [aa\_putpixel(3)](/man/aa_putpixel/3.md), [aa\_recommendhikbd(3)](/man/aa_recommendhikbd/3.md), [aa\_recommendlowkbd(3)](/man/aa_recommendlowkbd/3.md), [aa\_recommendhimouse(3)](/man/aa_recommendhimouse/3.md), [aa\_recommendlowmouse(3)](/man/aa_recommendlowmouse/3.md), [aa\_recommendhidisplay(3)](/man/aa_recommendhidisplay/3.md), [aa\_recommendlowdisplay(3)](/man/aa_recommendlowdisplay/3.md)
