Discussion:
External HDMI Monitor and Kernel Updates
(too old to reply)
User
2023-07-16 15:53:53 UTC
Permalink
I have a laptop and then I like to connect a fairly large external
monitor. The setup sort of looks like this:

+-------------------------+
| |
| |
| |
| |
| |
| |
+-------------------------+
+---------------+
| |
| |
| |
| |
+---------------+

Anytime I do an update which changes the kernel I lose display to the
big external monitor. To fix this I have to uninstall the nvidia-kernel
and nvidia-driver packages and then go rebuild them from slackbuilds.

https://slackbuilds.org/repository/15.0/system/nvidia-kernel/
https://slackbuilds.org/repository/15.0/system/nvidia-driver/

The whole process can be rather tedious and cumbersome. The monitor
just says "Cannot detect HDMI signal" if I don't have the nvidia-driver
installed on the system.

Wondering if anyone else deals with this or has a greatly simplified
solution (e.g. not even needing the nvida-driver to connect a monitor?)
Rich
2023-07-16 16:33:50 UTC
Permalink
Post by User
I have a laptop and then I like to connect a fairly large external
+-------------------------+
| |
| |
| |
| |
| |
| |
+-------------------------+
+---------------+
| |
| |
| |
| |
+---------------+
Anytime I do an update which changes the kernel I lose display to the
big external monitor. To fix this I have to uninstall the nvidia-kernel
and nvidia-driver packages and then go rebuild them from slackbuilds.
https://slackbuilds.org/repository/15.0/system/nvidia-kernel/
https://slackbuilds.org/repository/15.0/system/nvidia-driver/
The whole process can be rather tedious and cumbersome. The monitor
just says "Cannot detect HDMI signal" if I don't have the nvidia-driver
installed on the system.
Wondering if anyone else deals with this or has a greatly simplified
solution (e.g. not even needing the nvida-driver to connect a monitor?)
You did not say what video card. You imply Slack 15 from your
slackbuild URL's.

Here I have this Nvidia video card:
02:00.0 VGA compatible controller: NVIDIA Corporation G94GL [Quadro FX 1800] (rev a1)

To which I have two monitors connected.

I use the nouveau driver, and xrandr to setup the two monitors, and
everything just works.

So maybe give the nouveau driver a try (presuming it works with your
card, which you did not specify).
User
2023-07-16 19:05:43 UTC
Permalink
Post by Rich
Post by User
I have a laptop and then I like to connect a fairly large external
+-------------------------+
| |
| |
| |
| |
| |
| |
+-------------------------+
+---------------+
| |
| |
| |
| |
+---------------+
Anytime I do an update which changes the kernel I lose display to the
big external monitor. To fix this I have to uninstall the nvidia-kernel
and nvidia-driver packages and then go rebuild them from slackbuilds.
https://slackbuilds.org/repository/15.0/system/nvidia-kernel/
https://slackbuilds.org/repository/15.0/system/nvidia-driver/
The whole process can be rather tedious and cumbersome. The monitor
just says "Cannot detect HDMI signal" if I don't have the nvidia-driver
installed on the system.
Wondering if anyone else deals with this or has a greatly simplified
solution (e.g. not even needing the nvida-driver to connect a monitor?)
You did not say what video card. You imply Slack 15 from your
slackbuild URL's.
02:00.0 VGA compatible controller: NVIDIA Corporation G94GL [Quadro FX 1800] (rev a1)
To which I have two monitors connected.
I use the nouveau driver, and xrandr to setup the two monitors, and
everything just works.
So maybe give the nouveau driver a try (presuming it works with your
card, which you did not specify).
01:00.0 VGA compatible controller: NVIDIA Corporation TU117M (rev a1)

Slackware 15.0
5.15.117
User
2023-07-16 19:18:49 UTC
Permalink
Post by User
Post by User
I have a laptop and then I like to connect a fairly large external
       +-------------------------+
       |                         |
       |                         |
       |                         |
       |                         |
       |                         |
       |                         |
       +-------------------------+
            +---------------+
            |               |
            |               |
            |               |
            |               |
            +---------------+
Anytime I do an update which changes the kernel I lose display to the
big external monitor.  To fix this I have to uninstall the nvidia-kernel
and nvidia-driver packages and then go rebuild them from slackbuilds.
https://slackbuilds.org/repository/15.0/system/nvidia-kernel/
https://slackbuilds.org/repository/15.0/system/nvidia-driver/
The whole process can be rather tedious and cumbersome.  The monitor
just says "Cannot detect HDMI signal" if I don't have the nvidia-driver
installed on the system.
Wondering if anyone else deals with this or has a greatly simplified
solution (e.g. not even needing the nvida-driver to connect a monitor?)
You did not say what video card.  You imply Slack 15 from your
slackbuild URL's.
02:00.0 VGA compatible controller: NVIDIA Corporation G94GL [Quadro FX 1800] (rev a1)
To which I have two monitors connected.
I use the nouveau driver, and xrandr to setup the two monitors, and
everything just works.
So maybe give the nouveau driver a try (presuming it works with your
card, which you did not specify).
01:00.0 VGA compatible controller: NVIDIA Corporation TU117M (rev a1)
Slackware 15.0
5.15.117
TU117M = NV167 (Nouveau) = NV160 Family
https://nouveau.freedesktop.org/FeatureMatrix.html
Rich
2023-07-16 19:55:49 UTC
Permalink
Post by User
Post by User
Post by User
I have a laptop and then I like to connect a fairly large external
       +-------------------------+
       |                         |
       |                         |
       |                         |
       |                         |
       |                         |
       |                         |
       +-------------------------+
            +---------------+
            |               |
            |               |
            |               |
            |               |
            +---------------+
Anytime I do an update which changes the kernel I lose display to the
big external monitor.  To fix this I have to uninstall the nvidia-kernel
and nvidia-driver packages and then go rebuild them from slackbuilds.
https://slackbuilds.org/repository/15.0/system/nvidia-kernel/
https://slackbuilds.org/repository/15.0/system/nvidia-driver/
The whole process can be rather tedious and cumbersome.  The monitor
just says "Cannot detect HDMI signal" if I don't have the nvidia-driver
installed on the system.
Wondering if anyone else deals with this or has a greatly simplified
solution (e.g. not even needing the nvida-driver to connect a monitor?)
You did not say what video card.  You imply Slack 15 from your
slackbuild URL's.
02:00.0 VGA compatible controller: NVIDIA Corporation G94GL [Quadro FX 1800] (rev a1)
To which I have two monitors connected.
I use the nouveau driver, and xrandr to setup the two monitors, and
everything just works.
So maybe give the nouveau driver a try (presuming it works with your
card, which you did not specify).
01:00.0 VGA compatible controller: NVIDIA Corporation TU117M (rev a1)
Slackware 15.0
5.15.117
TU117M = NV167 (Nouveau) = NV160 Family
https://nouveau.freedesktop.org/FeatureMatrix.html
There are a chunk of "to-do's" for that chip in the 2D space, so
nouveau may or may not work, and it may or may not be terribly speedy.
You'd have to give it a try to see.

Also, since you are using the Nvidia proprietary driver, then the
reason for needing to recompile the driver is the Nvidia kernel module.
Kernel modules will only load into the kernel they were compiled for,
so changing the kernel requires recompiling the Nvidia driver.

The reason you don't have to do so for all the other modules is the
Slackware kernel upgrade package includes all the other modules that
are included in the kernel itself already compiled for that kernel.
The nvidia proprietary driver is not part of the kernel itself, so it
is not included.
Henrik Carlqvist
2023-07-17 06:23:53 UTC
Permalink
Post by User
Anytime I do an update which changes the kernel I lose display to the
big external monitor. To fix this I have to uninstall the nvidia-kernel
and nvidia-driver packages and then go rebuild them from slackbuilds.
Yes, any third party kernel module has to be recompiled and reinstalled
when the kernel version is changed as Rich explained.
Post by User
The whole process can be rather tedious and cumbersome.
Yes, I agree that this sucks as it adds complexity to updating the kernel.
Post by User
Wondering if anyone else deals with this or has a greatly simplified
solution (e.g. not even needing the nvida-driver to connect a monitor?)
Your need for the binary nVidia driver depends upon your choice of
hardware. I have an alternative approach, but for a single system like
yours it is not really simplified...

When Slackware releases a new kernel as a security update, the
ChangeLog.txt lists a number of CVEs that are fixed. Another approach to
updating the kernel is:

1) Evaluate every CVE to see which ones apply to you. Some of them might
only affect hardware that you don't have or features that you don't
use.

2) Trace down the kernel source fixes for all the CVEs that you are
affected by.

3) Apply those kernel source patches to the source tree of your kernel
version. Some of the patches might need to get modified to fit the
differences between different kernel versions. Some of the patches
might not be possible to fit into your kernel with a reasonable amount
of work, if so, think again if that CVE is important enough to really
go and update the kernel version.

4) Rebuild your kernel with the patched source tree.

5) Rebuild any kernel modules that are affected by the patches.

6) Install your patched kernel modules

7) Install your patched kernel

8) Update boot loader to point to your new kernel

For only a few systems the above is a lot more work than updating the
kernel and nVidia drivers. However, for a whole bunch of systems running
with or without different versions of the binary nVidia driver and
possibly also other third party kernel modules it is less work than
updating the kernel to a new version number.

regards Henrik

Loading...