diff mbox

video/console/vgacon: Print big fat warning with nomodeset

Message ID 20180702210442.18648-1-lyude@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Lyude Paul July 2, 2018, 9:04 p.m. UTC
It's been a pretty good while since kernel modesetting was introduced.
It has almost entirely replaced previous solutions which required
userspace modesetting, and I can't even recall any drivers off the top
of my head for modern day hardware that don't only support one or the
other. Even nvidia's ugly blob does not require the use of nomodeset,
and only requires that nouveau be blacklisted.

Effectively, the only thing nomodeset does in the year 2018 is disable
your graphics drivers. Since VESA is a thing, this will give many users
the false impression that they've actually fixed an issue they were
having with their machine simply because the laptop will boot up to a
degraded GUI. This of course, is never actually the case.

Things get even worse when you consider that there's still an enormous
amount of tutorials users find on the internet that still suggest adding
nomodeset, along with various users who have been around long enough to
still suggest it.

There really isn't any legitimate reason I can see for this to be an
option that's used by anyone else other then developers, or properly
informed users. So, let's end the confusion and start printing warnings
whenever it's enabled.

Signed-off-by: Lyude Paul <lyude@redhat.com>
---
 drivers/video/console/vgacon.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Daniel Vetter July 3, 2018, 7:34 a.m. UTC | #1
On Mon, Jul 02, 2018 at 05:04:40PM -0400, Lyude Paul wrote:
> It's been a pretty good while since kernel modesetting was introduced.
> It has almost entirely replaced previous solutions which required
> userspace modesetting, and I can't even recall any drivers off the top
> of my head for modern day hardware that don't only support one or the
> other. Even nvidia's ugly blob does not require the use of nomodeset,
> and only requires that nouveau be blacklisted.
> 
> Effectively, the only thing nomodeset does in the year 2018 is disable
> your graphics drivers. Since VESA is a thing, this will give many users
> the false impression that they've actually fixed an issue they were
> having with their machine simply because the laptop will boot up to a
> degraded GUI. This of course, is never actually the case.
> 
> Things get even worse when you consider that there's still an enormous
> amount of tutorials users find on the internet that still suggest adding
> nomodeset, along with various users who have been around long enough to
> still suggest it.
> 
> There really isn't any legitimate reason I can see for this to be an
> option that's used by anyone else other then developers, or properly
> informed users. So, let's end the confusion and start printing warnings
> whenever it's enabled.
> 
> Signed-off-by: Lyude Paul <lyude@redhat.com>

Yeah makes tons of sense. I think we should also perhaps mark the option
as a tainting one, but I think that's only wired up for module option.

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

> ---
>  drivers/video/console/vgacon.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c
> index f09e17b60e45..09731b2f6815 100644
> --- a/drivers/video/console/vgacon.c
> +++ b/drivers/video/console/vgacon.c
> @@ -112,6 +112,11 @@ EXPORT_SYMBOL(vgacon_text_force);
>  static int __init text_mode(char *str)
>  {
>  	vgacon_text_mode_force = true;
> +
> +	pr_warning("You have booted with nomodeset. This means your GPU drivers are DISABLED\n");
> +	pr_warning("Any video related functionality will be severely degraded, and you may not even be able to suspend the system properly\n");
> +	pr_warning("Unless you actually understand what nomodeset does, you should reboot without enabling it\n");
> +
>  	return 1;
>  }
>  
> -- 
> 2.17.1
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
Jani Nikula July 3, 2018, 11:57 a.m. UTC | #2
On Tue, 03 Jul 2018, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Mon, Jul 02, 2018 at 05:04:40PM -0400, Lyude Paul wrote:
>> It's been a pretty good while since kernel modesetting was introduced.
>> It has almost entirely replaced previous solutions which required
>> userspace modesetting, and I can't even recall any drivers off the top
>> of my head for modern day hardware that don't only support one or the
>> other. Even nvidia's ugly blob does not require the use of nomodeset,
>> and only requires that nouveau be blacklisted.
>> 
>> Effectively, the only thing nomodeset does in the year 2018 is disable
>> your graphics drivers. Since VESA is a thing, this will give many users
>> the false impression that they've actually fixed an issue they were
>> having with their machine simply because the laptop will boot up to a
>> degraded GUI. This of course, is never actually the case.
>> 
>> Things get even worse when you consider that there's still an enormous
>> amount of tutorials users find on the internet that still suggest adding
>> nomodeset, along with various users who have been around long enough to
>> still suggest it.
>> 
>> There really isn't any legitimate reason I can see for this to be an
>> option that's used by anyone else other then developers, or properly
>> informed users. So, let's end the confusion and start printing warnings
>> whenever it's enabled.
>> 
>> Signed-off-by: Lyude Paul <lyude@redhat.com>
>
> Yeah makes tons of sense. I think we should also perhaps mark the option
> as a tainting one, but I think that's only wired up for module option.

You could do that by adding

	add_taint(TAINT_USER, LOCKDEP_STILL_OK);

in text_mode(). If you do that, you should probably amend the warning
message accordingly.

Either way,

Acked-by: Jani Nikula <jani.nikula@intel.com>

> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>
>> ---
>>  drivers/video/console/vgacon.c | 5 +++++
>>  1 file changed, 5 insertions(+)
>> 
>> diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c
>> index f09e17b60e45..09731b2f6815 100644
>> --- a/drivers/video/console/vgacon.c
>> +++ b/drivers/video/console/vgacon.c
>> @@ -112,6 +112,11 @@ EXPORT_SYMBOL(vgacon_text_force);
>>  static int __init text_mode(char *str)
>>  {
>>  	vgacon_text_mode_force = true;
>> +
>> +	pr_warning("You have booted with nomodeset. This means your GPU drivers are DISABLED\n");
>> +	pr_warning("Any video related functionality will be severely degraded, and you may not even be able to suspend the system properly\n");
>> +	pr_warning("Unless you actually understand what nomodeset does, you should reboot without enabling it\n");
>> +
>>  	return 1;
>>  }
>>  
>> -- 
>> 2.17.1
>> 
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
Bartlomiej Zolnierkiewicz July 24, 2018, 3:24 p.m. UTC | #3
On Monday, July 02, 2018 05:04:40 PM Lyude Paul wrote:
> It's been a pretty good while since kernel modesetting was introduced.
> It has almost entirely replaced previous solutions which required
> userspace modesetting, and I can't even recall any drivers off the top
> of my head for modern day hardware that don't only support one or the
> other. Even nvidia's ugly blob does not require the use of nomodeset,
> and only requires that nouveau be blacklisted.
> 
> Effectively, the only thing nomodeset does in the year 2018 is disable
> your graphics drivers. Since VESA is a thing, this will give many users
> the false impression that they've actually fixed an issue they were
> having with their machine simply because the laptop will boot up to a
> degraded GUI. This of course, is never actually the case.
> 
> Things get even worse when you consider that there's still an enormous
> amount of tutorials users find on the internet that still suggest adding
> nomodeset, along with various users who have been around long enough to
> still suggest it.
> 
> There really isn't any legitimate reason I can see for this to be an
> option that's used by anyone else other then developers, or properly
> informed users. So, let's end the confusion and start printing warnings
> whenever it's enabled.
> 
> Signed-off-by: Lyude Paul <lyude@redhat.com>

Patch queued for 4.19, thanks.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
diff mbox

Patch

diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c
index f09e17b60e45..09731b2f6815 100644
--- a/drivers/video/console/vgacon.c
+++ b/drivers/video/console/vgacon.c
@@ -112,6 +112,11 @@  EXPORT_SYMBOL(vgacon_text_force);
 static int __init text_mode(char *str)
 {
 	vgacon_text_mode_force = true;
+
+	pr_warning("You have booted with nomodeset. This means your GPU drivers are DISABLED\n");
+	pr_warning("Any video related functionality will be severely degraded, and you may not even be able to suspend the system properly\n");
+	pr_warning("Unless you actually understand what nomodeset does, you should reboot without enabling it\n");
+
 	return 1;
 }