Having re-installed the Nvidia drivers (this time using Negativo’s repository),
suddenly X11 didn’t boot properly. And it’s a real headache fiddling with the setup - the
following is what worked for me (and some of the process).
Bottom line: Get the kernel parameters right, and the xorg.conf will take care of itself…
My Deep Learning computer set-up
Two graphics systems installed in computer :
On-board intel chipset (FWIW on a Gigabyte B85M-DH-A) with a monitor attached
Nvidia Titan-X graphics card with no monitor (intended for GPGPU processing only)
The main stumbling block is that the Nvidia installation (I think) modified the
kernel parameters so that the Nvidia driver was happy - but that prevents the
intel driver from enabling modesetting, which X11 requires to be
enabled for the X-server to boot cleanly.
Checking the system
Check the cards installed :
The important thing to note is the 00:02.0 as the PCI ‘slot’ for the Intel controller
(this number needs to be slightly reformatted for a xorg.conf file).
Ensure the intel driver for the internal on-board video subsystem is installed :
Updating the kernel parameters
NB: These can be edited during the boot process as a check/backup while testing things.
The relevant contents of /etc/default/grub were set as follows by the Nvidia installer :
But the basic point is that xorg-x11-drv-intel requires the intel driver
(which is loaded by the kernel, for me, via i915) to be in modesetting mode.
Therefore, the /etc/default/grub line needs to be updated to :
(notice that all the available graphics modules are .modeset=0 apart from intel.modeset=1,
and that nouveau is still disabled).
Once that has been updated, run :
As helpfully pointed out by the creator of the Negativo RPMs, it’s probably not essential to
explicitly set all the .modeset parameters individually - there’s likely to be a
leaner combination that works. However, given how irritating it is having a machine that boots badly,
I feel that doing it ‘long-hand’ has its own benefits…
Now after rebooting :
During experimentation, I was fiddling with an /etc/X11/xorg.conf that ended up like this (working, but rather hacky) :
However, while it’s nice that the above /etc/X11/xorg.conf works, it’s nicer still
that if the system starts without an /etc/X11/xorg.conf, it will configure itself automatically.
Fortunately, with the correct kernel parameters (as above), the system auto-configuration works perfectly,
and X boots on the on-board graphics chip both with acceleration switched on and in the correct resolution
(the window manager Display tool will list of all the available resolutions too).