Ilia Mirkin
2021-Feb-23 15:46 UTC
[Nouveau] [PATCH 2/3] drm/nouveau/kms/nv50-: Report max cursor size to userspace
On Tue, Feb 23, 2021 at 10:36 AM Alex Riesen <alexander.riesen at cetitec.com> wrote:> > Ilia Mirkin, Tue, Feb 23, 2021 15:56:21 +0100: > > On Tue, Feb 23, 2021 at 9:26 AM Alex Riesen <alexander.riesen at cetitec.com> wrote: > > > Lyude Paul, Tue, Jan 19, 2021 02:54:13 +0100: > > > > diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c > > > > index c6367035970e..5f4f09a601d4 100644 > > > > --- a/drivers/gpu/drm/nouveau/dispnv50/disp.c > > > > +++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c > > > > @@ -2663,6 +2663,14 @@ nv50_display_create(struct drm_device *dev) > > > > else > > > > nouveau_display(dev)->format_modifiers = disp50xx_modifiers; > > > > > > > > + if (disp->disp->object.oclass >= GK104_DISP) { > > > > + dev->mode_config.cursor_width = 256; > > > > + dev->mode_config.cursor_height = 256; > > > > + } else { > > > > + dev->mode_config.cursor_width = 64; > > > > + dev->mode_config.cursor_height = 64; > > > > + } > > > > + > > > > /* create crtc objects to represent the hw heads */ > > > > if (disp->disp->object.oclass >= GV100_DISP) > > > > crtcs = nvif_rd32(&device->object, 0x610060) & 0xff; > > > > > > This change broke X cursor in my setup, and reverting the commit restores it. > > > > > > Dell Precision M4800, issue ~2014 with GK106GLM [Quadro K2100M] (rev a1). > > > libdrm 2.4.91-1 (Debian 10.8 stable). > > > There are no errors or warnings in Xorg logs nor in the kernel log. > > > > Could you confirm which ddx is driving the nvidia hw? You can find > > this out by running "xrandr --listproviders", or also in the xorg log. > > xrandr(1) does not seem to list much: > > $ xrandr --listproviders > Providers: number : 1 > Provider 0: id: 0x48 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 4 outputs: 5 associated providers: 0 name:modesettingThanks - this is what I was looking for. name:modesetting, i.e. the modesetting ddx driver. I checked nouveau source, and it seems like it uses a 64x64 cursor no matter what. Not sure what the modesetting ddx does. I'd recommend using xf86-video-nouveau in any case, but some distros have decided to explicitly force modesetting in preference of nouveau. Oh well. (And regardless, the regression should be addressed somehow, but it's also good to understand what the problem is.) Can you confirm what the problem with the cursor is? -ilia
Alex Riesen
2021-Feb-23 15:51 UTC
[Nouveau] [PATCH 2/3] drm/nouveau/kms/nv50-: Report max cursor size to userspace
Ilia Mirkin, Tue, Feb 23, 2021 16:46:52 +0100:> On Tue, Feb 23, 2021 at 10:36 AM Alex Riesen <alexander.riesen at cetitec.com> wrote: > > Ilia Mirkin, Tue, Feb 23, 2021 15:56:21 +0100: > > > On Tue, Feb 23, 2021 at 9:26 AM Alex Riesen <alexander.riesen at cetitec.com> wrote: > > > > > > > > This change broke X cursor in my setup, and reverting the commit restores it. > > > > > > > > Dell Precision M4800, issue ~2014 with GK106GLM [Quadro K2100M] (rev a1). > > > > libdrm 2.4.91-1 (Debian 10.8 stable). > > > > There are no errors or warnings in Xorg logs nor in the kernel log. > > > > > > Could you confirm which ddx is driving the nvidia hw? You can find > > > this out by running "xrandr --listproviders", or also in the xorg log. > > > > xrandr(1) does not seem to list much: > > > > $ xrandr --listproviders > > Providers: number : 1 > > Provider 0: id: 0x48 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 4 outputs: 5 associated providers: 0 name:modesetting > > Thanks - this is what I was looking for. name:modesetting, i.e. the > modesetting ddx driver. > > I checked nouveau source, and it seems like it uses a 64x64 cursor no > matter what. Not sure what the modesetting ddx does. > > I'd recommend using xf86-video-nouveau in any case, but some distrosI would like try this out. Do you know how to force the xorg server to choose this driver instead of modesetting?> have decided to explicitly force modesetting in preference of nouveau. > Oh well. (And regardless, the regression should be addressed somehow, > but it's also good to understand what the problem is.) > > Can you confirm what the problem with the cursor is?The cursor looks stretched vertically over a bigger matrix, while missing some lines and being wrapped over the bottom on top of that matrix.