Author Topic: SNAP Driver Source  (Read 794 times)

Dan Eicher

  • Jr. Member
  • **
  • Posts: 77
  • Karma: +4/-0
    • View Profile
SNAP Driver Source
« on: August 13, 2025, 01:45:03 am »
 ** This question is not meant in a negative way towards Arca Noae **

I noticed this article:
https://www.arcanoae.com/arca-noae-licenses-snap-graphics-os2-code/
 from 2015

It do not remember seeing, a lot of use of this source code to expand the drivers to newer chips sets, instead more of a focus on vesa as a write once, run anywhere solution. 

Just curious as to what happened/how that works, as I remember the early days of graphics chips having 100's of pages of manual explaining how to program them, then came CGA/Hercules - again with lots of, even bigger manuals explaining how to program them, then EGA - with even bigger books, then finally, I don't own a copy, but one really thick book on programming the 'VGA' chip.

Now, I don't know how programmers learn about the capabilities of various graphics chips, which continue to develop at a breakneck pace, both Nvidia, Intel and AMD.


Dave Yeo

  • Hero Member
  • *****
  • Posts: 5533
  • Karma: +136/-1
    • View Profile
Re: SNAP Driver Source
« Reply #1 on: August 13, 2025, 02:29:52 am »
Back in the day, Scitech was on fairly good terms with the various graphic chip manufacturers, and there were a lot more of them and they supported an accelerated driver that supported most all chips. This was in the 2D world and I think there was some limited support for 3D at the end. They basically stopped development about the time of PCIx with a few cards supported, notably ATI Radeon X800/X850 series, also NVIDIA GeForce 6600, actually I had a 6700 that worked with the experimental setting. Also the Thinkpad T42/43's chip was fully supported, I think IBM paid them. Dariusz for example uses an X850 IIRC and has a dual monitor setup.
At one point they were going to GPL the source, only happened with the SDK and eventually Arca Noae bought the rights. They're planning on extending it to support at least recent Intel chips. No idea how that is going.
Currently the VBE driver is the only one that generally works unless you have an old ATI PCIx card. You can easily switch to it if you want to test it. Don't even have to switch to VGA first anymore as both SNAP and Panorama are based on IBM's gengradd driver. It is on your ISO, see the readme. If you were using your T43, it would give much better performance.

Roderick Klein

  • Hero Member
  • *****
  • Posts: 749
  • Karma: +16/-0
    • View Profile
Re: SNAP Driver Source
« Reply #2 on: August 13, 2025, 04:51:20 pm »
** This question is not meant in a negative way towards Arca Noae **

I noticed this article:
https://www.arcanoae.com/arca-noae-licenses-snap-graphics-os2-code/
 from 2015

It do not remember seeing, a lot of use of this source code to expand the drivers to newer chips sets, instead more of a focus on vesa as a write once, run anywhere solution. 

Just curious as to what happened/how that works, as I remember the early days of graphics chips having 100's of pages of manual explaining how to program them, then came CGA/Hercules - again with lots of, even bigger manuals explaining how to program them, then EGA - with even bigger books, then finally, I don't own a copy, but one really thick book on programming the 'VGA' chip.

Now, I don't know how programmers learn about the capabilities of various graphics chips, which continue to develop at a breakneck pace, both Nvidia, Intel and AMD.

From what I understand its very simple. Simply a lack of human resources.

Current chipsets no longer really comply with well a standard. You have UEFI GOP but this is effectively a frame buffer address to write to.

If you want to know how chipsets work in native mode you need to read Linux/FreeBSD code or Spec sheets. Its all extremely time consuming.
And then you have one chipset! In daily live the return on investment for SNAP on modern hardware, you will most likely not even notice it really that you are running Panorama.
Primary interests to have SNAP: Change output port on a laptop to HDMI for example or to have 2 screens connected.

Other then that I am afraid SNAP is currently frozen in time.

Roderick Klein


Dariusz Piatkowski

  • Hero Member
  • *****
  • Posts: 1449
  • Karma: +33/-0
    • View Profile
Re: SNAP Driver Source
« Reply #3 on: August 13, 2025, 05:27:30 pm »
...Dariusz for example uses an X850 IIRC and has a dual monitor setup...

For what it's worth, I cannot even imagine a Desktop environment with a single display anymore. The fact that I can enjoy such a hardware setup on our OS/2 platform is THE reason why I will continue to use SNAP.

...At one point they were going to GPL the source, only happened with the SDK and eventually Arca Noae bought the rights. They're planning on extending it to support at least recent Intel chips. No idea how that is going...

So back in Jan_2016 I reached out to Lewis (AN) volunteering to help with the updates to the SNAP solution. My contribution would have been a tiny little thing, however having successfully used the previously available SDK and written some ATI X850 specific utils (such as GPU engine and memory speed adjusters) I thought I could at least help up with the mundane utils side of things.

Lewis explained some of the plans they had at that time, Steve Levine was going to lead that work, which over time transitioned to David A for basically caretaker type of a thing. Point being: I am not aware of ANY new capabilities having been added to the SNAP drivers since, short of a single SMP hang related fix (I believe).

I wish the case was different and perhaps part of my frustration stems from the fact that we could have done something, even the little things to continue to keep this thing afloat and heck, maybe even expanded by a tiny little amount to the more upgraded chipsets that still largely followed the same proven architectures of past releases.

Dariusz Piatkowski

  • Hero Member
  • *****
  • Posts: 1449
  • Karma: +33/-0
    • View Profile
Re: SNAP Driver Source
« Reply #4 on: August 13, 2025, 05:30:15 pm »
Hi Dan!

I noticed this article:
https://www.arcanoae.com/arca-noae-licenses-snap-graphics-os2-code/
 from 2015

It do not remember seeing, a lot of use of this source code to expand the drivers to newer chips sets, instead more of a focus on vesa as a write once, run anywhere solution...

If you want the latest publicly available ScitTech SDK let me know and I can toss that up on my webserver. This is NOT the current AN owned SDK/source.

BTW: it is the same thing you can stil d/l from here => http://web.archive.org/web/20080907115037/http://scitechsoft.com/ftp/devel/full_depot_r23.zip

Dan Eicher

  • Jr. Member
  • **
  • Posts: 77
  • Karma: +4/-0
    • View Profile
Re: SNAP Driver Source
« Reply #5 on: August 13, 2025, 08:26:27 pm »
Thanks for the information Dariusz.
The press release seemed to hold a lot of promise.  You have cleared up for me, what happened.
Thank You.

Andi B.

  • Hero Member
  • *****
  • Posts: 920
  • Karma: +16/-2
    • View Profile
Re: SNAP Driver Source
« Reply #6 on: August 14, 2025, 08:40:48 am »
...Dariusz for example uses an X850 IIRC and has a dual monitor setup...

For what it's worth, I cannot even imagine a Desktop environment with a single display anymore. The fact that I can enjoy such a hardware setup on our OS/2 platform is THE reason why I will continue to use SNAP.

...
I used the X300 mit dual monitor setup (2x 1920x1200) many years. For the newer system I have to put in a ATI 550 which after some work from David A. (ticket) could drive my new 42,5" 3840x2160 monitor with nativ resolution using Panorama. Intel integrated couldn't be convinced to do it right.

Now again about 8-10 years later my current system could not drive this resolution with current Panorama using AMD internal GPU. Additional ATI550 can be convinced to setup the right resolution. But then I've to set Virtualaddresslimit<=1536 as otherwise the system crashes immediately. But that's no useful option for me.

So after about 15-17 years using OS/2 with 3840x >=1200 I now have to switch to another primary OS. Or live with crappy 2560x1440 displayed on a 3840x2160 screen. :-( Or hope David accidently can fixes this memory problem.

Eugene Gorbunoff

  • Full Member
  • ***
  • Posts: 150
  • Karma: +1/-0
    • View Profile
Re: SNAP Driver Source
« Reply #7 on: August 14, 2025, 09:26:24 am »
To Andi B.
What is the current status of widescreen activation? => custom videomodes
* it's necessary use ati amd radeon ?
* nvidia allows use custom modes?
* Intel video cards - custom modes?

Dariusz Piatkowski

  • Hero Member
  • *****
  • Posts: 1449
  • Karma: +33/-0
    • View Profile
Re: SNAP Driver Source
« Reply #8 on: August 14, 2025, 01:49:49 pm »
Hey Andi!

...Now again about 8-10 years later my current system could not drive this resolution with current Panorama using AMD internal GPU. Additional ATI550 can be convinced to setup the right resolution. But then I've to set Virtualaddresslimit<=1536 as otherwise the system crashes immediately. But that's no useful option for me...

Just on a hunch, have you played with the 'Video Memory Limit' setting of the gaoption.exe?

Code: [Select]
Options for ATI Radeon X850 Series (device 0):

  Invert .................. Off
  Rotation ................ Off
  Flipped ................. Off
  Reduced DVI Timings...... Off
  Prefer 16 bit per pixel.. On
  Prefer 32 bit per pixel.. On
  Compressed Framebuffer... On
  Allow DDC BIOS........... On
  PCI bus mastering........ On
  Video memory packets..... On
  Hardware acceleration.... Full
  Multi Head Display....... Yes
     0: 1920 x 1200 (   0,   0,1920,1200)
     1: 1920 x 1200 (1920,   0,3840,1200)
  VESA DPVL Mode........... Off

Global options for all devices:

  Force VBE Fallback ...... Off
  Force VGA Fallback ...... Off
  Allow non-certified ..... On
  Disable write combining . Off
  Use BIOS for LCD panel... Auto
  Video Memory Limit....... 24 Mb
  Shared AGP memory size... 4096 Kb
  Use system memory driver. Off
  Disable DDC detection.... Off
  Enable AGP FastWrite..... Off
  Maximum AGP data rate.... 8X
  Virtual Display.......... Off

Once you execute that gaoption command that setting is saved and upon next reboot you'll find something like this in your graphics.log file ('==>' is mine for emphasis):

Code: [Select]
...
GA_enumerateDevices: Found 1 PCI/AGP display devices

Global options for all devices:
  Force VBE Fallback ...... Off
  Force VGA Fallback ...... Off
  Allow non-certified ..... On
  Disable write combining . Off
  Use BIOS for LCD panel... Auto
  Shared AGP memory size... 4096 KB
  Use system memory driver. Off
  Disable DDC detection.... Off
  Virtual Display.......... Off

Loading driver for device 0 (radeon.drv)
---------------------------------------------------------

==> Video memory limited to user supplied value of 24MB

Attempting to enable write combining, base = 0xD0000000, length = 0x01800000 ...
Failed: UNKNOWN ERROR!
Loading chipset filters...done.
Loading splash screen...done.

Graphics device configuration:
  Manufacturer......... ATI
  Chipset.............. Radeon X850 Series
  Bus Type............. PCI Express
==>  Memory............... 24576 KB
  DAC.................. ATI Internal 24 bit DAC
  Clock................ ATI Internal Clock
  Memory Clock......... 400 MHz
  Default Memory Clock. 400 MHz
  Maximum Memory Clock. 400 MHz
  Driver Revision...... 3.2, Build 29
  Driver Build......... May  2 2017
  Certified Version.... Not Certified

Graphics device options:
  Invert .................. Off
  Rotation ................ Off
  Flipped ................. Off
  Prefer 16 bit per pixel.. On
  Prefer 32 bit per pixel.. On
  PCI bus mastering........ On
  Hardware acceleration.... Full
...

I run a huge JFS cache of 1G...and given that my ATI X850 card is a 256M card I was running into issues early on allocating enough RAM for the cache. It is not until I pared that back to just about 24M (to account for 24-bit and resulting resolution over the two displays) that I was able to free up the system RAM for cache use.

Sooo...seeing as you have to play with the Virtualaddresslimit setting I wonder if that is worth a try (if you haven't done so already of course)?

Roderick Klein

  • Hero Member
  • *****
  • Posts: 749
  • Karma: +16/-0
    • View Profile
Re: SNAP Driver Source
« Reply #9 on: August 14, 2025, 08:33:08 pm »
...Dariusz for example uses an X850 IIRC and has a dual monitor setup...

For what it's worth, I cannot even imagine a Desktop environment with a single display anymore. The fact that I can enjoy such a hardware setup on our OS/2 platform is THE reason why I will continue to use SNAP.

...
I used the X300 mit dual monitor setup (2x 1920x1200) many years. For the newer system I have to put in a ATI 550 which after some work from David A. (ticket) could drive my new 42,5" 3840x2160 monitor with nativ resolution using Panorama. Intel integrated couldn't be convinced to do it right.

Now again about 8-10 years later my current system could not drive this resolution with current Panorama using AMD internal GPU. Additional ATI550 can be convinced to setup the right resolution. But then I've to set Virtualaddresslimit<=1536 as otherwise the system crashes immediately. But that's no useful option for me.

So after about 15-17 years using OS/2 with 3840x >=1200 I now have to switch to another primary OS. Or live with crappy 2560x1440 displayed on a 3840x2160 screen. :-( Or hope David accidently can fixes this memory problem.

I have seen your ticket. I will mention this to Steve Levine if he can find out what is going on!

Roderick

Roderick Klein

  • Hero Member
  • *****
  • Posts: 749
  • Karma: +16/-0
    • View Profile
Re: SNAP Driver Source
« Reply #10 on: August 14, 2025, 08:43:45 pm »
To Andi B.
What is the current status of widescreen activation? => custom videomodes
* it's necessary use ati amd radeon ?
* nvidia allows use custom modes?
* Intel video cards - custom modes?

In a lot of cases the wide screen activators on modern systems no longer work (UEFI).
Panorama has the code for ATI and Intel build in.
On UEFI systems you already get with laptops a lot of high screen resolutions where its a question if you still need the wide screen enabler.

Remember UEFI GOP is ONLY a memory address to write no other screen features etc.

Roderick Klein

Doug Clark

  • Sr. Member
  • ****
  • Posts: 372
  • Karma: +13/-1
    • View Profile
Re: SNAP Driver Source
« Reply #11 on: August 15, 2025, 09:23:09 pm »
The big benefit of SNAP for me is that currently SNAP is the only way (that I know of) of getting Win-OS/2 to reliably work on a screen size larger than 1920x1080. Which in my case is SNAP with a dual monitor setup running 3840x1080  (I don't have two monitors that will display larger than 1920x1080.  I do have a single 4k monitor).

Because of AndiB's post on 4k screen sizes awhile back, I purchased a Sapphire pulse RX 550 video card (from England - the shipping was more than the card)  to see if I could get it to work on my Ryzen.  What I found (on the Ryzen with RX550 video card and virtual address limit = 2048) was:

1) you have to boot as CSM in order to set colors to something less than 16M.  64K colors seems to work well. 16M colors not so good.
(first screen shot - the card name shows up as LEXA for some reason).  Win-OS/2 will not work

2) If you boot as UEFI you can only use 16M colors - there is no other color option and I did not get custom resolutions to work.  I did not try messing with virtual address limit

3)  with UEFI boot  (and 16M colors) you can get Win-OS/2 to work - but not very well.
On the second screen shot you can see the screen not getting updated correctly - noticeable for example below the "Initializing" text in the grey window at the lower left of the
Visual Builder screen.

4)  There are some Win-OS/2 apps, like Paint Brush, that won't work correctly at 16M colors, even with SNAP.

5) The type of video "connection" used makes a difference.  Even though the RX550 video card supports both HDMI and DisplayPort, and my monitor supports both connections, 4k will only work on with a DisplayPort connection.  I also tried hooking up a 4K TV via HDMI and it will not display 4K for Panorama even though the TV and video card say they support HDMI at 60 HZ.  This was also true when testing with an Intel i5 8600 with integrated UHD graphics 630, which also supports HDMI, DisplayPort and VGA.

6) for the Intel (virtual address limit = 1536)  I had the same issue of needing to boot CSM in order to set the colors at something other the 16M, and the resolution at something other than 640x480.
When booting CSM WIn-OS/2 will not work in seamless mode, but will work in full screen. OS/2 seemed to work correctly - although I didn't do extensive testing.
(screen shot 3)

When booting the Intel in UEFI - at 16M colors and 640x480 (the only color and resolution choice) - Win-OS/2 would work in seamless mode and full screen.

There are some points to remember:

The older Radeon video cards that will work with SNAP are probably not going to be GOP enabled - meaning they won't work unless CSM is on, and the AOS installer will not work with them.  They will work fine once AOS is installed and with CSM support turned on.

Intel has removed CSM support from most of its processors by now.  AMD is removing CSM support from its graphics video cards starting at the Radeon 9000, but appears to be keeping CSM for its processors, at least at this point.

I was thinking of doing this a presentation at Warpstock Little Rock if you guys think anyone would be interested.
« Last Edit: August 15, 2025, 09:29:58 pm by Doug Clark »