On Mon, Aug 26, 2019 at 9:11 AM Thomas Zimmermann <tzimmermann@xxxxxxx> 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@xxxxxxxxxxxxxxxxxxxxx > > 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@xxxxxxxxxxxxxxxxxxxxx > 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@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel