I have a headless desktop computer (no screen / no keyboard) used as a machine-learning training server (using a GPU). I connect it via SSH from my other computer (laptop).


  • I start the computer with Nvidia GTX 650 as the only graphic card connected on the motherboard, it seems it doesn't boot, and I cannot SSH the computer

  • I start the computer with Nvidia GTX 650 + an old ATI Radeon graphic card as well (I have two PCI-express slots on the MB), then it boots, I can SSH it.

Note: the Nvidia's drivers are installed (apt-get install nvidia-315), and it is detected (in the second case), and Tensorflow can succesfully use it, so it means the problem doesn't come from missing drivers.

What could be the problem preventing Ubuntu 16.04 server to boot with the Nvidia GTX 650 as the only graphic card?

  • Can you check if the server starts with the Nvidia card and a monitor? IMHO, grub/grub2/whatever or the framebuffer fails to initialize the Nvidia card when headless, so you have no console and the server freezes. If true, you can try to change boot parameters to force a VESA video mode or to move the console on a serial. – andcoz Jan 16 '19 at 15:04
  • @andcoz I don't have any monitor or TV anymore... (only laptops) how to change boot parameters to force VESA or move console to serial ? – Basj Jan 16 '19 at 15:09
  • Is the nouveau driver installed as well ? you can see if yes with the command lsmod | grep nouveau. – jayooin Jan 17 '19 at 6:17
  • nouveau is the graphical driver used by default on Linux. – jayooin Jan 17 '19 at 8:24
  • @Basj Can I give you a suggestion? Do not ask new questions in comments. Search this site (or duckduckgo.com) and, if you do not find an answer, open a new question for that point. E.g. "What is the difference between nouveau and nvidia driver?" or "How can I set video mode at Linux boot?" are good candidates for new questions. Sorry but we cannot answer to such complex questions in comments. – andcoz Jan 17 '19 at 14:51

Maybe you have installed that laptop with this dual card configuration, and then the display configuration (X) has memorised that one.

You can do :

  • Check for the log files (system, X) and analyse what happens when you don't have the ATI card attached. If the server starts and puts some logs or not
  • Update or create the xorg.conf, that one is a bit tricky.
|improve this answer|||||
  • (Note: the laptop is the computer I use only to SSH the server, so graphic card configuration of thé laptop should not matter) – Basj Jan 16 '19 at 14:55
  • Yes, so to get the logs, you would need to be in the working configuration with the two cards. Then SSH to the computer to get the logs and check the configuration of the display : /etc/X11/xorg.conf in general or other files in /etc/X11 – jayooin Jan 16 '19 at 14:58
  • It s an Ubuntu server and i have never run it in X mode, so there's no X11 config – Basj Jan 16 '19 at 15:07
  • Right, Tensorflow isn't using the GPU to generate 3D or other visual effects. You can try to set the nomodeset option in your grub on the boot option. – jayooin Jan 16 '19 at 15:44
  • how to set this nomodeset option? How can I do it from command line, once booted? Is there a config file I should modify? Isn't nomodeset by default with Ubuntu server? – Basj Jan 16 '19 at 16:33

It seems to be a strange motherboard + graphic card problem (MB: M4A79XTD EVO). I haven't really solved it, but here is, for future reference, a description of the tests:

  • Nvidia GTX 650 Ti alone on slot PCIEx16_1: doesn't even boot!
    Old ATI alone on same slot: boot OK
    Old Radeon HD 5770 on same slot: boot OK

  • Nvidia GTX 650 Ti alone on slot PCIEx16_2: OK
    Old ATI alone on same slot: OK

  • Nvidia GTX 650 Ti on slot PCIEx16_1
    + Old ATI on slot PCIEx16_2
    => boot OK

Possible reasons:

  • I suspect that my PCIEx16_1 slot doesn't work properly in x16 mode. When there are two graphic cards, it is probably forced to x8 for each (and thus it works).
    Old graphic cards probably use x8 anyway, and that would explain why it does work with the old graphic cards, even on PCIEx16_1 slot


  • flash a new BIOS / update (untested)
  • use PCIEx16_2 only and forget about PCIEx16_1 (originally, I wanted to avoid that because PCIEx16_1's location in the computer case is better for the cooling)
  • use the Nvidia in PCIEx16_1, but keep an old (useless) graphic card in PCIEx16_2 just to force x8 and thus it'll work.
|improve this answer|||||
  • In the BIOS is there a 8x video option? Or a VESA video option? Some way to lock the PCI slot to a specific speed? – Michael Prokopec Jan 19 '19 at 3:48
  • @MichaelProkopec I didn't find such an option. Here is the MB manual but I didn't find anything like this: dlcdnets.asus.com/pub/ASUS/mb/socketAM3/M4A79XTD_EVO/… – Basj Jan 19 '19 at 21:57
  • "Have you also tried to put the Nvidia graphic card in the other slot where you usually put the ATI ?" Glad that it could help you with this case. – jayooin Jan 22 '19 at 6:46

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.