diff mbox series

[1/1] riscv: defconfig: enable DRM_NOUVEAU

Message ID 20211012164658.81894-1-heinrich.schuchardt@canonical.com (mailing list archive)
State New, archived
Headers show
Series [1/1] riscv: defconfig: enable DRM_NOUVEAU | expand

Commit Message

Heinrich Schuchardt Oct. 12, 2021, 4:46 p.m. UTC
Both RADEON and NOUVEAU graphics cards are supported on RISC-V. Enabling
the one and not the other does not make sense.

As typically at most one of RADEON, NOUVEAU, or VIRTIO GPU support will be
needed DRM drivers should be compiled as modules.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
---
 arch/riscv/configs/defconfig | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

Comments

Palmer Dabbelt Oct. 26, 2021, 11:57 p.m. UTC | #1
On Tue, 12 Oct 2021 09:46:58 PDT (-0700), heinrich.schuchardt@canonical.com wrote:
> Both RADEON and NOUVEAU graphics cards are supported on RISC-V. Enabling
> the one and not the other does not make sense.
>
> As typically at most one of RADEON, NOUVEAU, or VIRTIO GPU support will be
> needed DRM drivers should be compiled as modules.

Do you have an nVidia card that works on real hardware?  Last I checked 
was a while ago, but they weren't working at the time (IIRC it was 
something to do with PCIe addressing, but it was a hardware limitation 
so I don't remember exactly how it all fits together).

If they work then I'm happy to flip them on.

> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
> ---
>  arch/riscv/configs/defconfig | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig
> index 4ebc80315f01..c252fd5706d2 100644
> --- a/arch/riscv/configs/defconfig
> +++ b/arch/riscv/configs/defconfig
> @@ -72,9 +72,10 @@ CONFIG_GPIOLIB=y
>  CONFIG_GPIO_SIFIVE=y
>  # CONFIG_PTP_1588_CLOCK is not set
>  CONFIG_POWER_RESET=y
> -CONFIG_DRM=y
> -CONFIG_DRM_RADEON=y
> -CONFIG_DRM_VIRTIO_GPU=y
> +CONFIG_DRM=m
> +CONFIG_DRM_RADEON=m
> +CONFIG_DRM_NOUVEAU=m
> +CONFIG_DRM_VIRTIO_GPU=m
>  CONFIG_FRAMEBUFFER_CONSOLE=y
>  CONFIG_USB=y
>  CONFIG_USB_XHCI_HCD=y
Damien Le Moal Oct. 27, 2021, 2:31 a.m. UTC | #2
On 2021/10/27 8:58, Palmer Dabbelt wrote:
> On Tue, 12 Oct 2021 09:46:58 PDT (-0700), heinrich.schuchardt@canonical.com wrote:
>> Both RADEON and NOUVEAU graphics cards are supported on RISC-V. Enabling
>> the one and not the other does not make sense.
>>
>> As typically at most one of RADEON, NOUVEAU, or VIRTIO GPU support will be
>> needed DRM drivers should be compiled as modules.
> 
> Do you have an nVidia card that works on real hardware?  Last I checked 
> was a while ago, but they weren't working at the time (IIRC it was 
> something to do with PCIe addressing, but it was a hardware limitation 
> so I don't remember exactly how it all fits together).
> 
> If they work then I'm happy to flip them on.

Why enable this at all ? If they do not work, then disabling theses cards make
sense. But if they do work, isn't leaving the config to be the default defined
by the driver the preferred approach ? Otherwise, we will eventually end-up with
a defconfig that has everything enabled...

> 
>> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
>> ---
>>  arch/riscv/configs/defconfig | 7 ++++---
>>  1 file changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig
>> index 4ebc80315f01..c252fd5706d2 100644
>> --- a/arch/riscv/configs/defconfig
>> +++ b/arch/riscv/configs/defconfig
>> @@ -72,9 +72,10 @@ CONFIG_GPIOLIB=y
>>  CONFIG_GPIO_SIFIVE=y
>>  # CONFIG_PTP_1588_CLOCK is not set
>>  CONFIG_POWER_RESET=y
>> -CONFIG_DRM=y
>> -CONFIG_DRM_RADEON=y
>> -CONFIG_DRM_VIRTIO_GPU=y
>> +CONFIG_DRM=m
>> +CONFIG_DRM_RADEON=m
>> +CONFIG_DRM_NOUVEAU=m
>> +CONFIG_DRM_VIRTIO_GPU=m
>>  CONFIG_FRAMEBUFFER_CONSOLE=y
>>  CONFIG_USB=y
>>  CONFIG_USB_XHCI_HCD=y
> 
> _______________________________________________
> linux-riscv mailing list
> linux-riscv@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv
>
Heinrich Schuchardt Oct. 27, 2021, 7:31 a.m. UTC | #3
On 10/27/21 04:31, Damien Le Moal wrote:
> On 2021/10/27 8:58, Palmer Dabbelt wrote:
>> On Tue, 12 Oct 2021 09:46:58 PDT (-0700), heinrich.schuchardt@canonical.com wrote:
>>> Both RADEON and NOUVEAU graphics cards are supported on RISC-V. Enabling
>>> the one and not the other does not make sense.
>>>
>>> As typically at most one of RADEON, NOUVEAU, or VIRTIO GPU support will be
>>> needed DRM drivers should be compiled as modules.
>>
>> Do you have an nVidia card that works on real hardware?  Last I checked
>> was a while ago, but they weren't working at the time (IIRC it was
>> something to do with PCIe addressing, but it was a hardware limitation
>> so I don't remember exactly how it all fits together).
>>
>> If they work then I'm happy to flip them on.

My SiFive Unmatched is running KDE on a GT710.

It would be unfair to treat the two major GPU vendors AMD and Nvidia 
differently.

> 
> Why enable this at all ? If they do not work, then disabling theses cards make
> sense. But if they do work, isn't leaving the config to be the default defined
> by the driver the preferred approach ? Otherwise, we will eventually end-up with
> a defconfig that has everything enabled...

If you want to get your system up, having keyboard input and GPU output 
is the bare minimum that you need to proceed unless you are a developer 
working over UART and have a second system available.

To keep the kernel small DRM drivers should be modules.

Best regards

Heinrich

> 
>>
>>> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
>>> ---
>>>   arch/riscv/configs/defconfig | 7 ++++---
>>>   1 file changed, 4 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig
>>> index 4ebc80315f01..c252fd5706d2 100644
>>> --- a/arch/riscv/configs/defconfig
>>> +++ b/arch/riscv/configs/defconfig
>>> @@ -72,9 +72,10 @@ CONFIG_GPIOLIB=y
>>>   CONFIG_GPIO_SIFIVE=y
>>>   # CONFIG_PTP_1588_CLOCK is not set
>>>   CONFIG_POWER_RESET=y
>>> -CONFIG_DRM=y
>>> -CONFIG_DRM_RADEON=y
>>> -CONFIG_DRM_VIRTIO_GPU=y
>>> +CONFIG_DRM=m
>>> +CONFIG_DRM_RADEON=m
>>> +CONFIG_DRM_NOUVEAU=m
>>> +CONFIG_DRM_VIRTIO_GPU=m
>>>   CONFIG_FRAMEBUFFER_CONSOLE=y
>>>   CONFIG_USB=y
>>>   CONFIG_USB_XHCI_HCD=y
>>
>> _______________________________________________
>> linux-riscv mailing list
>> linux-riscv@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-riscv
>>
> 
>
Adam Borowski Oct. 27, 2021, 3:44 p.m. UTC | #4
On Tue, Oct 26, 2021 at 04:57:08PM -0700, Palmer Dabbelt wrote:
> On Tue, 12 Oct 2021 09:46:58 PDT (-0700), heinrich.schuchardt@canonical.com wrote:
> > Both RADEON and NOUVEAU graphics cards are supported on RISC-V. Enabling
> > the one and not the other does not make sense.
> > 
> > As typically at most one of RADEON, NOUVEAU, or VIRTIO GPU support will be
> > needed DRM drivers should be compiled as modules.
> 
> Do you have an nVidia card that works on real hardware?  Last I checked was
> a while ago, but they weren't working at the time (IIRC it was something to
> do with PCIe addressing, but it was a hardware limitation so I don't
> remember exactly how it all fits together).

Not having read the docs (no one does! :p), I took a random old card from
the shelf, put it in, and it just worked:

07:00.0 VGA compatible controller: NVIDIA Corporation G98 [GeForce 8400 GS Rev. 2] (rev a1)


Meow!
Palmer Dabbelt Oct. 27, 2021, 10:12 p.m. UTC | #5
On Wed, 27 Oct 2021 00:31:54 PDT (-0700), heinrich.schuchardt@canonical.com wrote:
> On 10/27/21 04:31, Damien Le Moal wrote:
>> On 2021/10/27 8:58, Palmer Dabbelt wrote:
>>> On Tue, 12 Oct 2021 09:46:58 PDT (-0700), heinrich.schuchardt@canonical.com wrote:
>>>> Both RADEON and NOUVEAU graphics cards are supported on RISC-V. Enabling
>>>> the one and not the other does not make sense.
>>>>
>>>> As typically at most one of RADEON, NOUVEAU, or VIRTIO GPU support will be
>>>> needed DRM drivers should be compiled as modules.
>>>
>>> Do you have an nVidia card that works on real hardware?  Last I checked
>>> was a while ago, but they weren't working at the time (IIRC it was
>>> something to do with PCIe addressing, but it was a hardware limitation
>>> so I don't remember exactly how it all fits together).
>>>
>>> If they work then I'm happy to flip them on.
>
> My SiFive Unmatched is running KDE on a GT710.
>
> It would be unfair to treat the two major GPU vendors AMD and Nvidia
> differently.
>
>>
>> Why enable this at all ? If they do not work, then disabling theses cards make
>> sense. But if they do work, isn't leaving the config to be the default defined
>> by the driver the preferred approach ? Otherwise, we will eventually end-up with
>> a defconfig that has everything enabled...
>
> If you want to get your system up, having keyboard input and GPU output
> is the bare minimum that you need to proceed unless you are a developer
> working over UART and have a second system available.
>
> To keep the kernel small DRM drivers should be modules.

I can buy the argument for not having any of this in arch defconfigs, 
but in practice there's a lot of stuff in defconfigs that I don't really 
think should be arch decisions (ext4, for example).  If we've got AMD in 
there and the nVidia cards work then I don't see any reason to 
differentiate between the two, so let's just do the same thing for both.

This is on for-next.

>
> Best regards
>
> Heinrich
>
>>
>>>
>>>> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
>>>> ---
>>>>   arch/riscv/configs/defconfig | 7 ++++---
>>>>   1 file changed, 4 insertions(+), 3 deletions(-)
>>>>
>>>> diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig
>>>> index 4ebc80315f01..c252fd5706d2 100644
>>>> --- a/arch/riscv/configs/defconfig
>>>> +++ b/arch/riscv/configs/defconfig
>>>> @@ -72,9 +72,10 @@ CONFIG_GPIOLIB=y
>>>>   CONFIG_GPIO_SIFIVE=y
>>>>   # CONFIG_PTP_1588_CLOCK is not set
>>>>   CONFIG_POWER_RESET=y
>>>> -CONFIG_DRM=y
>>>> -CONFIG_DRM_RADEON=y
>>>> -CONFIG_DRM_VIRTIO_GPU=y
>>>> +CONFIG_DRM=m
>>>> +CONFIG_DRM_RADEON=m
>>>> +CONFIG_DRM_NOUVEAU=m
>>>> +CONFIG_DRM_VIRTIO_GPU=m
>>>>   CONFIG_FRAMEBUFFER_CONSOLE=y
>>>>   CONFIG_USB=y
>>>>   CONFIG_USB_XHCI_HCD=y
>>>
>>> _______________________________________________
>>> linux-riscv mailing list
>>> linux-riscv@lists.infradead.org
>>> http://lists.infradead.org/mailman/listinfo/linux-riscv
>>>
>>
>>
diff mbox series

Patch

diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig
index 4ebc80315f01..c252fd5706d2 100644
--- a/arch/riscv/configs/defconfig
+++ b/arch/riscv/configs/defconfig
@@ -72,9 +72,10 @@  CONFIG_GPIOLIB=y
 CONFIG_GPIO_SIFIVE=y
 # CONFIG_PTP_1588_CLOCK is not set
 CONFIG_POWER_RESET=y
-CONFIG_DRM=y
-CONFIG_DRM_RADEON=y
-CONFIG_DRM_VIRTIO_GPU=y
+CONFIG_DRM=m
+CONFIG_DRM_RADEON=m
+CONFIG_DRM_NOUVEAU=m
+CONFIG_DRM_VIRTIO_GPU=m
 CONFIG_FRAMEBUFFER_CONSOLE=y
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y