summary refs log tree commit diff stats
path: root/results/classifier/gemma3:12b/vnc/1752646
blob: 1f6e6a608e4fdedbc8b43b2542acecbc47e61e5a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Freezing VNC screen on some the UEFI framebuffer applications

Hi folks!

I use TianCore (UEFI) formware on the qemu (master version last commit a6e0344).
When kernel/linux is start, it using UEFI Framebuffer. Then I run UEFI application (which writes directly to the framebuffer) my VNS screen is freezing. Then I restart vnclient I see only one frame.

When I run application, I getting in the file hw/display/vga.c on function 'vga_ioport_write' some commands, it change "s->ar_index" from 0x20 -> 0x10 

In the function vga_update_display:
1751         if (!(s->ar_index & 0x20)) {
1752             graphic_mode = GMODE_BLANK;
1753         } else {

And I got GMODE_BLANK mode. If I patch it:
1751         if (0) {

my VNC not freezing.

From "Hardware Level VGA and SVGA Video Programming Information Page" I saw, what ar_index is 0x3C0 (Attribute Controller Data Write Register), 0x20(5-bit) is PAS -- Palette Address Source

If there is a output via the UEFI framebuffer, does the difference have a PAS or not? Why do we need to pause the output if the PAS is exposed? Especially when the application outputs via framebuffer.