CosmosOS / Cosmos

Cosmos is an operating system "construction kit". Build your own OS using managed languages such as C#, VB.NET, and more!
https://www.goCosmos.org
BSD 3-Clause "New" or "Revised" License
2.86k stars 542 forks source link

VBE Can't change monitor resolution #2923

Closed koteProgrammist closed 4 months ago

koteProgrammist commented 4 months ago

I tried to test my OS on some real hardware, 2 PC's and 2 laptops. My PC don't work because limine is deny :) My second start my OS on VBE graphics mode and all be normal. My laptop decided to use VGA and there's starting some issues... Also it with my second laptop. Check attached screenshots: Безымянный Безымянный1

pleasenoban commented 4 months ago

that looks like an issue with using the vmware svgaii driver on vbox to me

koteProgrammist commented 4 months ago

that looks like an issue with using the vmware svgaii driver on vbox to me

No, its not. I try to disable SVGAII But same problem still exist. (I saw what VGACanvas normally work on VMWare, maybe its issue in VBox?)

koteProgrammist commented 4 months ago

I found out the VBoxVGA use not VGA! It use VBE! This glitches on VBox screen was because theres be 1024x768 instead 800x600. Why VBE cant change monitor resolution?

valentinbreiz commented 4 months ago

I found out the VBoxVGA use not VGA! It use VBE! This glitches on VBox screen was because theres be 1024x768 instead 800x600. Why VBE cant change monitor resolution?

Pure VBE needs to be in real mode(16bit) to change resolution. Cosmos is 32bit protected mode. The only way now to get VBE working on real hardware is to compile your kernel with VBE informations in multiboot so that the bootloader will set the mode for you when it is still in 16bit mode.

koteProgrammist commented 4 months ago

I found out the VBoxVGA use not VGA! It use VBE! This glitches on VBox screen was because theres be 1024x768 instead 800x600. Why VBE cant change monitor resolution?

Pure VBE needs to be in real mode(16bit) to change resolution. Cosmos is 32bit protected mode. The only way now to get VBE working on real hardware is to compile your kernel with VBE informations in multiboot so that the bootloader will set the mode for you when it is still in 16bit mode.

Thanks you very much! It worked with my laptop, 2 PC's and all VM's!