No, setting gdb-display-io-nopopup to nil does not prevent the program IO from being split off into the gdb-inferior-io buffer, nor does it prevent the gdb-inferior-io buffer from popping up when debugging is started. The purpose of setting gdb-display-io-buffer to nil is to prevent the gdb-inferior-io buffer from being created altogether, instead outputting the program output to the GDB buffer itself. A user in the Doom Emacs Discord told me this used to be the behavior of gdb-mi.el but that it was changed without giving the user the option to opt out. I have not investigated that but the comments say that is a feature of GDB 6.4 onward.
> Date: Thu, 27 Jul 2023 20:33:39 -0400
>
> This change allows the user to disable the `gdb-inferior-io' buffer.
> This is useful for users that prefer a more classical gdb experience
> where you just have the GDB window and the source window.
Sorry, I don't think I understand why you need a new defcustom.
Doesn't setting gdb-display-io-nopopup non-nil already achieve what
you want? It does here.
Thanks.