aa_autoinit(3)
π aa_autoinit β the "just make it work bestie" init function π
okay so real talk: this is a page from the Library Functions Manual, and it's about aa_autoinit, which is genuinely the β¨ easy to use AA-lib initialization function β¨. The whole point of her is that you don't have to pick a driver yourself β she does the picking. Iconic behaviour, no notes. π
πΈ SYNOPSIS πΈ
#include <aalib.h>
aa_context *aa_autoinit(const struct aa_hardware_params *params);
π¦ PARAMETERS π¦
const struct aa_hardware_params *paramsβ the hardware parameters you actually want. Bestie, if you have no strong feelings (valid!), just passaa_defparamsand get the default values. She'll take it from there. π«Ά
π DESCRIPTION π
So what does she do? She goes looking for an available output driver that supports the parameters you specified. πβ¨
The order matters, and here's the tea:
- First she attempts to initialize the recommended drivers. π
- Then, in order, she goes through the drivers available in the
aa_driversarray β which is literally all the regular output drivers compiled into AA-lib. π
So like... she tries the good ones first, and then she just works her way down the list until something sticks. Main character energy fr fr. π₯
β RETURNS β
A pointer to the initialized context structure when successful β or NULL on failure. π That's it. That's the whole vibe check. If you get NULL, something did not slay, and you should probably go look at your params. π
ngl NULL here means failure, not "no preference" β don't sleep on checking it.
π SEE ALSO π
the whole extended friend group, iykyk:
save_d(3)mem_d(3)aa_help(3)aa_formats(3)aa_fonts(3)aa_dithernames(3)aa_drivers(3)aa_kbddrivers(3)aa_mousedrivers(3)aa_kbdrecommended(3)aa_mouserecommended(3)aa_displayrecommended(3)aa_defparams(3)aa_defrenderparams(3)aa_scrwidth(3)aa_scrheight(3)aa_mmwidth(3)aa_mmheight(3)aa_imgwidth(3)aa_imgheight(3)aa_image(3)aa_text(3)aa_attrs(3)aa_currentfont(3)aa_autoinitkbd(3)aa_autoinitmouse(3)aa_recommendhi(3)aa_recommendlow(3)aa_init(3)aa_initkbd(3)aa_initmouse(3)aa_close(3)aa_uninitkbd(3)aa_uninitmouse(3)aa_fastrender(3)aa_render(3)aa_puts(3)aa_printf(3)aa_gotoxy(3)aa_hidecursor(3)aa_showcursor(3)aa_getmouse(3)aa_hidemouse(3)aa_showmouse(3)aa_registerfont(3)aa_setsupported(3)aa_setfont(3)aa_getevent(3)aa_getkey(3)aa_resize(3)aa_resizehandler(3)aa_parseoptions(3)aa_edit(3)aa_createedit(3)aa_editkey(3)aa_putpixel(3)aa_recommendhikbd(3)aa_recommendlowkbd(3)aa_recommendhimouse(3)aa_recommendlowmouse(3)aa_recommendhidisplay(3)aa_recommendlowdisplay(3)
and that's the page, bestie π«Ά this one got pulled together by c2man off aalib.h, dated 8 September 1999 β vintage fr, but the vibes are timeless. go forth and let her find you a driver. β¨π
π¦ where this page comes from
- arch rolling: aalib 1.4rc5-19 Β· LGPL-2.0-or-later
- debian bookworm: libaa1-dev 1.4p5-50
- debian trixie: libaa1-dev 1.4p5-51.1+b1
- epel 10: aalib-devel 1.4.0-0.52.rc5.el10_0 Β· LGPL-2.1-or-later
- epel 9: aalib-devel 1.4.0-0.42.rc5.el9 Β· LGPLv2+
- fedora 43: aalib-devel 1.4.0-0.56.rc5.fc43 Β· LGPL-2.1-or-later
- fedora 43: aalib-devel 1.4.0-0.56.rc5.fc43 Β· LGPL-2.1-or-later
- fedora 44: aalib-devel 1.4.0-0.58.rc5.fc44 Β· LGPL-2.1-or-later
- fedora 44: aalib-devel 1.4.0-0.58.rc5.fc44 Β· LGPL-2.1-or-later
- nixpkgs unstable: aalib 1.4rc5
- opensuse-leap 16.0: aalib-devel 1.4.0-bp160.1.14 Β· GPL-2.0-or-later
- opensuse-leap 16.0: aalib-devel 1.4.0-bp160.1.14 Β· GPL-2.0-or-later
- opensuse-leap 16.0: aalib-devel 1.4.0-bp160.1.14 Β· GPL-2.0-or-later
- opensuse-leap 16.0: aalib-devel 1.4.0-bp160.1.14 Β· GPL-2.0-or-later
- ubuntu jammy: libaa1-dev 1.4p5-50build1
- ubuntu noble: libaa1-dev 1.4p5-51.1
- ubuntu questing: libaa1-dev 1.4p5-51.1
- ubuntu resolute: libaa1-dev 1.4p5-51.1build1
- ubuntu stonking: libaa1-dev 1.4p5-51.1build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms