All of lore.kernel.org
 help / color / mirror / Atom feed
* XGI DRM driver as a practice?
@ 2019-08-25 11:25 Ivan D
  2019-08-26  7:11 ` Thomas Zimmermann
  0 siblings, 1 reply; 3+ messages in thread
From: Ivan D @ 2019-08-25 11:25 UTC (permalink / raw)
  To: dri-devel; +Cc: jong_lin, peterhuewe, thomas, idr, aaro.koskinen

I'd like to learn DRM subsystem and GPU driver development and I was
thinking about about writing XGI DRM driver as a practice project
since:
- there's (or was until recently) staging fbdev driver that should
hopefully be working
- it's still possible to buy thin client HW with XGI Z11 running Linux

Does it make sense at all? I do have kernel experience but know very
little about DRM and graphics. One issue is absence of documentation,
but there could be as well others I'm not even aware of.
If there's a better approach than this please drop me a line.

Also putting relevant people from commit log to CC, hope it's ok.

Thanks,
Ivan
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: XGI DRM driver as a practice?
  2019-08-25 11:25 XGI DRM driver as a practice? Ivan D
@ 2019-08-26  7:11 ` Thomas Zimmermann
  2019-08-26  9:14   ` Daniel Vetter
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Zimmermann @ 2019-08-26  7:11 UTC (permalink / raw)
  To: Ivan D, dri-devel; +Cc: jong_lin, peterhuewe, thomas, idr, aaro.koskinen

Hi

Am 25.08.19 um 13:25 schrieb Ivan D:
> I'd like to learn DRM subsystem and GPU driver development and I was
> thinking about about writing XGI DRM driver as a practice project
> since:
> - there's (or was until recently) staging fbdev driver that should
> hopefully be working
> - it's still possible to buy thin client HW with XGI Z11 running Linux
> 
> Does it make sense at all?

That makes s lot of sense. However there are two different lines of XGI
hardware: one is SiS-based and the other is Trident-based. Those are
incompatible AFAIK. The Z11 is based on the SiS design. [1] Anything
that is Trident-based would require a different driver.


> I do have kernel experience but know very
> little about DRM and graphics. One issue is absence of documentation,
> but there could be as well others I'm not even aware of.

For documentation on VGA graphics you can read [2] and [3]. There's
kernel documentation at [4], although it lacks good tutorials on the
interfaces and the overall design.

The best way for learning about DRM is to read an existing driver. For
XGI, I'd start with bochs. It's for qemu, so you already have the
"testing hardware" as part of your Linux distribution. Bochs uses
dedicated video memory and provides atomic mode setting. That's all you
should need for a basic XGI driver.

Best regards
Thomas


[1] https://en.wikipedia.org/wiki/XGI_Technology#Cards
[2] https://wiki.osdev.org/VGA_Hardware
[3] http://www.osdever.net/FreeVGA/home.htm
[4] https://www.kernel.org/doc/html/latest/gpu/index.html

> If there's a better approach than this please drop me a line>
> Also putting relevant people from commit log to CC, hope it's ok.
> 
> Thanks,
> Ivan
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Linux GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany
GF: Felix Imendörffer, Mary Higgins, Sri Rasiah
HRB 21284 (AG Nürnberg)
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: XGI DRM driver as a practice?
  2019-08-26  7:11 ` Thomas Zimmermann
@ 2019-08-26  9:14   ` Daniel Vetter
  0 siblings, 0 replies; 3+ messages in thread
From: Daniel Vetter @ 2019-08-26  9:14 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: Aaro Koskinen, jong_lin, Ian Romanick, thomas, dri-devel, Ivan D,
	Peter Huewe

On Mon, Aug 26, 2019 at 9:11 AM Thomas Zimmermann <tzimmermann@suse.de> wrote:
>
> Hi
>
> Am 25.08.19 um 13:25 schrieb Ivan D:
> > I'd like to learn DRM subsystem and GPU driver development and I was
> > thinking about about writing XGI DRM driver as a practice project
> > since:
> > - there's (or was until recently) staging fbdev driver that should
> > hopefully be working
> > - it's still possible to buy thin client HW with XGI Z11 running Linux
> >
> > Does it make sense at all?
>
> That makes s lot of sense. However there are two different lines of XGI
> hardware: one is SiS-based and the other is Trident-based. Those are
> incompatible AFAIK. The Z11 is based on the SiS design. [1] Anything
> that is Trident-based would require a different driver.
>
>
> > I do have kernel experience but know very
> > little about DRM and graphics. One issue is absence of documentation,
> > but there could be as well others I'm not even aware of.
>
> For documentation on VGA graphics you can read [2] and [3]. There's
> kernel documentation at [4], although it lacks good tutorials on the
> interfaces and the overall design.
>
> The best way for learning about DRM is to read an existing driver. For
> XGI, I'd start with bochs. It's for qemu, so you already have the
> "testing hardware" as part of your Linux distribution. Bochs uses
> dedicated video memory and provides atomic mode setting. That's all you
> should need for a basic XGI driver.

If this is a genuine VGA register based display block, then there has
been a patch once, years back, to add vga helpers to drm.
Unfortunately some googling didn't find it. Anyway they were so old
that they definitely predated atomic, so most likely we'd want to
rewrite them. But if this happens (and there's some interested for
other hw with vga register support) then I think a helper that
implements the atomic crtc&plane (for the primary plane, I think
cursor was always an add-on) helper funcs in terms of VGA register
would be really neat. Plus some glue to set that up for you.

Cheers, Daniel

>
> Best regards
> Thomas
>
>
> [1] https://en.wikipedia.org/wiki/XGI_Technology#Cards
> [2] https://wiki.osdev.org/VGA_Hardware
> [3] http://www.osdever.net/FreeVGA/home.htm
> [4] https://www.kernel.org/doc/html/latest/gpu/index.html
>
> > If there's a better approach than this please drop me a line>
> > Also putting relevant people from commit log to CC, hope it's ok.
> >
> > Thanks,
> > Ivan
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> >
>
> --
> Thomas Zimmermann
> Graphics Driver Developer
> SUSE Linux GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany
> GF: Felix Imendörffer, Mary Higgins, Sri Rasiah
> HRB 21284 (AG Nürnberg)
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel



-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-08-26  9:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-25 11:25 XGI DRM driver as a practice? Ivan D
2019-08-26  7:11 ` Thomas Zimmermann
2019-08-26  9:14   ` Daniel Vetter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.