WebSite Information > Comments, Suggestions & Questions

os2world website script problem?

<< < (5/7) > >>

Lars:

--- Quote from: Dave Yeo on December 10, 2023, 05:12:09 am ---
--- Quote from: Lars on December 08, 2023, 08:05:52 am ---I had written a device driver to sync on the VGA sync signal:
https://github.com/lerdmann/vsync

And here, it has already been discussed:
https://github.com/bitwiseworks/mozilla-os2/issues/220

It reads the VSYNC sync bit from some VGA register and blocks on it to toggle (waits for the beam to return from bottom right to top left, so to say). It is somewhat system friendly in that it will yield the CPU if the yielding flag indicates that there is some other thread waiting to be continued.

1) I have no clue if every graphics card still contains the original VGA register set
2) I have no clue how and where to integrate this into Firefox

If someone could either point me to the place in Firefox where to add this or if someone could build Firefox (of which I also have no clue) then maybe it would be worth giving it a try.

Lars

--- End quote ---

Hi Lars, finally got Firefox building again, moved computers and had to restore environment and fix the tree.
Pushed the latest to https://github.com/dryeo/mozilla-aos branch esr45.9.
The vsync stuff is scattered around thebes, such as https://github.com/dryeo/mozilla-aos/blob/esr45.9/gfx/thebes/VsyncSource.cpp. The Windows implementation might be a good start, https://github.com/dryeo/mozilla-aos/blob/esr45.9/gfx/thebes/gfxWindowsPlatform.cpp#L2733

Whether using the VGA registers will work is a good question. I doubt it on a UEFI install, I haven't had any luck accessing the registers there, and it is loaded at a weird address. Might be possible to get info from Arca Noae how to access it in their VGA BIOS.
Might work on a legacy install.  The screensaver has a fall back of directly manipulating the VGA registers to put the monitor to sleep (set VSYNC/HSYNC to zero), which doesn't seem to work on recent hardware.

--- End quote ---

The driver does not use the VGA BIOS in any way. It directly accesses the legacy VGA registers.
In PCI config space, it looks for a VGA compatible device when it loads and if it cannot find one, it outputs an error message and aborts. Maybe that is the way to test ...

Rich Walsh:

--- Quote from: Lars on December 12, 2023, 06:09:31 pm ---it looks for a VGA compatible device when it loads and if it cannot find one, it outputs an error message and aborts. Maybe that is the way to test ...

--- End quote ---

Lars, the best way to test is to post the binary so people can test...  ;)

Lars:
Yes, of course. I have built it, I just need to upload to GitHub...

Lars:
I have now created a release on github.com/lerdmann/vsync/releases.

Dave Yeo:

--- Quote from: Lars on December 15, 2023, 08:08:29 am ---I have now created a release on github.com/lerdmann/vsync/releases.

--- End quote ---

Doesn't seem to be there. Perhaps just post here for testing purposes

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version