A machine has two video cards: (1) an NVidia RTX 2080 Ti 12G (on PCIe 3x) and (2) NVidia GT710 (on PCIe 2x). The motherboard is Tyan S7065, two Xeons, chipset Intel C602. The idea is to use (1) for CUDA/OpenCL calculations and (2) for the UI (including OpenGL 3D, such as it can deliver). Of course, the proprietary NVidia driver is used, because it is required for CUDA/OpenCL.

The system is Ubuntu 18.04.4 with HWE Kernel 5.3.0-28-generic (same ting happens with kernel 4.15). The driver is NVIDIA-SMI 440.59, Driver Version: 440.59 from PPA, CUDA Version: 10.2

The card (1) is rather bulky so it can really be only placed in one particular slot physically. Unfortunately, the motherboard considers a card in that slot the primary video card and the BIOS does not seem to have a setting to change this. And so the UI appears on (1). We did find a way to move the X.org UI to (2) but we also need to move the console output and would appreciate advice how to do it.

We did see PCI-STUB vs VFIO-PCI and tried both suggested solutions but nothing appeared to work:

  • There is only one framebuffer, /dev/fb0, and it is on (1)

  • We added intel-iommu=on pci-stub.ids=10de:1e07,10de:10f7,10de:1ad6,10de:1ad7 to the kernel parameters (these are all PCI devices associated with (1)), nothing changed.


It's not a console. The console is a distinct thing in Linux, which can be a serial device, a parallel device, or a kernel virtual terminal. What you are talking about is moving KVTs around.

There is only one framebuffer

There is a way to move KVTs to other framebuffers. One can do it at bootstrap from the kernel command line, and one can adjust it at runtime with utility programs. This has been around since the 1990s; so long, in fact, that some Linux operating systems have thrown out the utility programs, even though they still work.

It has a prerequisite, however, of there being another framebuffer to move to.

The same pre-requisite applies to running framebuffer-based user-mode virtual terminals. They require a framebuffer, too.

So first get another framebuffer, for the display adapter that you want them to appear on.

Further reading

| improve this answer | |
  • The question is how to get a second framebuffer with two NVidia cards and the proprietary driver. – Mikhail Ramendik Feb 13 at 12:22
  • What's written in the question is asking how "to move the console output", which is above. The fact that "there is only one framebuffer" is a statement, not a question. – JdeBP Feb 13 at 13:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.