Plan 9 from Bell Labs’s /usr/web/sources/patch/applied/vesa-softscreen-resize/readme

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


this patch fixes some crashes and lockups related to
vga screen resize.

removed the memimagedraw call from devvga's initdraw command,
as it overdraws the screen after we notified the client in
the size command. (we clear the screen in screensize instead)

properly handle softscreen case in screensize(). the bug was
that the old paged vga case set scr->paddr causing it in
the vesa resize case to use VGAMEM() as the framebuffer.
also free the old softscreen after we finished.

scr->useflush was never reset in case you switch drivers from
vesa to something else.

clear the framebuffer in screensize() instead of in the
initdraw command of devvga.

add mtrr to vgalinearaddr() so all framebuffers including vesa
benefit from it.

vgavesa was changed to use /dev/realmode instead of the
direct realmode() call so it works with realmode emulator
(/n/sources/contrib/cinap_lenrek/realemu.tgz)

use normal vgalinearaddr() to map the framebuffer. in case
we want to use softscreen, we clear scr->paddr, scr->vaddr
adn scr->apsize cause screensize() to allocate the softscreen
for us and call our flush routine.

flush does nothing if we dont use softscreen.




Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.