Opened 11 years ago

Last modified 4 years ago

#520 new enhancement

Driver for VESA-compatible graphics adapter — at Version 2

Reported by: Vojtech Horky Owned by:
Priority: major Milestone:
Component: helenos/gui Version: mainline
Keywords: gsoc13, gsoc14, gsoc15, ui Cc:
Blocker for: Depends on:
See also:

Description (last modified by Martin Decky)

Implement a driver for a VESA-compatible graphics card pluggable into the HelenOS graphics stack.

Details
HelenOS has its own compositing server but it currently depends on kernel to properly set the mode of the graphics card. Effectively it means that the configuration of the graphics card is done at compile time (through configuration menu option) and there is no way to e.g. change the resolution at run-time.

Implement a driver for a graphics card that would be pluggable to the graphics stack and to the driver framework used in HelenOS and would allow the most common operations upon the graphics card. Because currently there is no graphics driver it is reasonable to create rather simpler variant of the driver that would not use advanced features but rather switch the card into a VESA-compatible mode. The implemented driver shall support following operations. First of all, switch the graphics card into the VESA "legacy" mode that to allow running on as many models of the graphics adapters as possible. Detect possible resolutions and inform the graphics stack about them. Provide interface to allow user change the resolution and color depth. Detection of a second monitor would be a very nice feature.
What Gains and Benefits will this bring?
The current driver is a very minimalistic one living in the kernel. Creating a full-fledged video-driver in userspace would allow to remove the kernel driver and even more reduce the number of relict-drivers still present in kernel. It is expected that the userspace driver would provide extra features (runtime detection of possible resolution etc.) that would improve the experience when using HelenOS GUI.
Difficulty
Medium
Required skills
A successful applicant will have good skills of programming in the C language and the ability to survive in a non-standard non-POSIX environment. Previous experience with driver or graphics stack implementation would be beneficial.
Documentation
Possible mentors
HelenOS Core Team, Martin Decky

Change History (2)

comment:1 by Martin Decky, 11 years ago

Component: helenos/unspecifiedhelenos/gui

comment:2 by Martin Decky, 11 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.