#
1005a276 |
|
19-Oct-2021 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
vesa: live BIOS patching for Intel video devices The VESA standard does not define any way for software to set a custom video mode, which means normally we would be constrained to whichever modes the video card manufacturer decided to provide. However, since we run the BIOS in an emulated environment, it is possible (and even quite easy) to patch it and inject any video mode we want, provided we know the format to use and where to put the info in. This approach was used in the NewOS VESA driver, as well as in 915resolution (a tool that predates the availability of native drivers for Linux for Intel videocards). Later on it was also used in Chameleon and Clover, bootloaders that are used for hackintoshes (running MacOS on unsupported hardware). This commit implements full support for Intel cards only, AMD and NVidia will be added later (but there is preliminary code to detect them) Change-Id: I2c528ba18b3863f486da694860a10761efcbfb3f Reviewed-on: https://review.haiku-os.org/c/haiku/+/4624 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
e0c25f98 |
|
20-Aug-2016 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
VESA: compare modes by index, instead of contents We only compared the height, width, and depth of modes to decide if the mode was already set. However, at boot, we may have these settings right and other things not properly configured, preventing VESA to set a working mode unless forced from the boot menu. Fixes #12918
|
#
6328832f |
|
30-Mar-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Changed get_boot_item() API: it now also can retrieve the size of the boot item entry. * The bios_ia32 video platform code now stores the available VESA modes in the new vesa_modes kernel_args field. * When configuring a VESA mode via settings file, it's no longer needed to specify the exact mode - the closest available mode is now used. This should help with bug #1962. * frame_buffer_console_init() now also creates a boot_item for the VESA modes in the kernel_args. * The VESA accelerant now filters the mode list to only contain modes that are actually supported. * Moved non-shared vesa driver data into its own file vesa_private.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24675 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
93ee2104 |
|
08-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Added very basic VESA driver. Will be improved in the future (right now it doesn't really do anything, it just passes the initial frame buffer on to the app_server). While it seems to work on real hardware (if you set the video mode to 640x480x32, app_server restriction), under Bochs, the app_server crashes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12273 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6328832fba8f149074dbe7502dc0c180ff013263 |
|
30-Mar-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Changed get_boot_item() API: it now also can retrieve the size of the boot item entry. * The bios_ia32 video platform code now stores the available VESA modes in the new vesa_modes kernel_args field. * When configuring a VESA mode via settings file, it's no longer needed to specify the exact mode - the closest available mode is now used. This should help with bug #1962. * frame_buffer_console_init() now also creates a boot_item for the VESA modes in the kernel_args. * The VESA accelerant now filters the mode list to only contain modes that are actually supported. * Moved non-shared vesa driver data into its own file vesa_private.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24675 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
93ee21046d225f4f58eeeade87a937b8c10da6f1 |
|
08-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Added very basic VESA driver. Will be improved in the future (right now it doesn't really do anything, it just passes the initial frame buffer on to the app_server). While it seems to work on real hardware (if you set the video mode to 640x480x32, app_server restriction), under Bochs, the app_server crashes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12273 a95241bf-73f2-0310-859d-f6bbb57e9c96
|