Newish Intel OPENSTEP 4.2 box

Started by Nitro, January 18, 2023, 02:23:27 AM

Previous topic - Next topic

Nitro

Apparently "newish" is an actual word. I put together an Intel box to test a more recent motherboard/CPU combination (2008 era) than what I've used in the past. It still has some quirks, so I'll need to do a lot more testing before I would recommend this combination to anyone. Here's a quick list of components:

•    3.0 GHz Intel Core 2 Quad Q9650 CPU
•    MSI MS-7519 P43-C51 motherboard
•    Asus PCI Express Nvidia GeForce GT 710 2GB fanless video card
•    8GB of G.SKILL DDR3 RAM (908.20MB available to OPENSTEP)
•    Ensoniq AudioPCI ES1371 sound card
•    3com 3C905B-TX PCI network adapter
•    Adaptec AHA-2940UW PCI SCSI adapter
•    New/old stock IBM 9 GB 68 pin SCSI hard drive
•    Pioneer DVD-305S SCSI DVD drive
•    New optical PS/2 wheel mouse
•    Dell PS/2 keyboard
•    Cooler Master computer case from my PC graveyard

A lot of time was spent shuffling expansion cards around and turning BIOS settings on/off to finally get things working. Some of the setup problems were self-inflicted. The PCI Express video card used in this build may still be available new from a few vendors. With the OPENSTEP VESA driver the card uses VBE mode 333, which is listed during boot as 1920 x 1080 32bpp. Video output is through the HDMI port to a 1080P monitor.

The computer is set up to triple-boot OPENSTEP 4.2, Ubuntu 22.04 and Windows 7 using GRUB2. I added a USB 3.0 adapter for Linux and Windows to use since the onboard USB controller is disabled due to IRQ conflicts with pretty much everything. There's also a SATA SSD and DVD burner for use by Linux and Windows. The $10 optical PS/2 wheel mouse has worked out great so far.

Screengrab.png

GeForce_710.jpg

Front.jpg

Side.jpg

Cable management is about as good as it's going to get with ribbon cables. The box still needs more testing, as a few of the benchmarks either didn't finish or gave strange results, however the BYTE Benchmark did manage to complete.

==============================================================

  BYTE UNIX Benchmarks (Version 3.11)
  System -- localhost
  Start Benchmark Run: Sun Jun  5 17:54:12 GMT 2022
   2 interactive users.
Dhrystone 2 without register variables   9479069.3 lps   (10 secs, 6 samples)
Dhrystone 2 using register variables     9131290.5 lps   (10 secs, 6 samples)
Arithmetic Test (type = arithoh)         20873556.1 lps   (10 secs, 6 samples)
Arithmetic Test (type = register)        2755093.5 lps   (10 secs, 6 samples)
Arithmetic Test (type = short)           2225001.5 lps   (10 secs, 6 samples)
Arithmetic Test (type = int)             2754777.2 lps   (10 secs, 6 samples)
Arithmetic Test (type = long)            2755127.9 lps   (10 secs, 6 samples)
Arithmetic Test (type = float)           1469827.9 lps   (10 secs, 6 samples)
Arithmetic Test (type = double)          1469721.2 lps   (10 secs, 6 samples)
System Call Overhead Test                689235.7 lps   (10 secs, 6 samples)
Pipe Throughput Test                     1042036.5 lps   (10 secs, 6 samples)
Pipe-based Context Switching Test        271977.5 lps   (10 secs, 6 samples)
Process Creation Test                      9189.4 lps   (10 secs, 6 samples)
Execl Throughput Test                      no measured results
File Read  (10 seconds)                  2249500.0 KBps  (10 secs, 6 samples)
File Write (10 seconds)                   13800.0 KBps  (10 secs, 6 samples)
File Copy  (10 seconds)                   10833.0 KBps  (10 secs, 6 samples)
File Read  (30 seconds)                  2243652.0 KBps  (30 secs, 6 samples)
File Write (30 seconds)                   13600.0 KBps  (30 secs, 6 samples)
File Copy  (30 seconds)                    9861.0 KBps  (30 secs, 6 samples)
C Compiler Test                             387.3 lpm   (60 secs, 3 samples)
Shell scripts (1 concurrent)                370.0 lpm   (60 secs, 3 samples)
Shell scripts (2 concurrent)                198.7 lpm   (60 secs, 3 samples)
Shell scripts (4 concurrent)                 80.7 lpm   (60 secs, 3 samples)
Shell scripts (8 concurrent)                 42.3 lpm   (60 secs, 3 samples)
Dc: sqrt(2) to 99 decimal places          64585.3 lpm   (60 secs, 6 samples)
Recursion Test--Tower of Hanoi            70234.2 lps   (10 secs, 6 samples)

/MyApps/ByteBenchmark/pgms/index.base /tmp/27862.dat

                     INDEX VALUES           
TEST                                        BASELINE     RESULT      INDEX

Arithmetic Test (type = double)               2703.3  1469721.2      543.7
Arithmetic Test (type = long)                 2827.0  2755127.9      974.6
Arithmetic Test (type = register)             2847.5  2755093.5      967.5
C Compiler Test                                 24.1      387.3       16.1
Dhrystone 2 without register variables       24179.3  9479069.3      392.0
Execl Throughput Test                           23.7        0.0        0.0
File Copy  (30 seconds)                        518.0     9861.0       19.0
File Read  (30 seconds)                      18288.0  2243652.0      122.7
File Write (30 seconds)                        600.0    13600.0       22.7
Pipe-based Context Switching Test             1153.5   271977.5      235.8
Process Creation Test                           34.0     9189.4      270.3
Recursion Test--Tower of Hanoi                 323.8    70234.2      216.9
Shell scripts (8 concurrent)                     3.8       42.3       11.1
                                                                 =========
     SUM of 13 items                                                3792.4
     AVERAGE                                                         291.7

It runs all of the software that I've tried so far, with the exception of a few benchmarks. I have another motherboard with the same processor, so I'll test that in the future.

Nitro

verdraith

Nice build.  Does the Ensoniq function properly under OPENSTEP?

As I mentioned elsewhere, I was thinking about going for a full ATX 440BX, but if things work Well Enough(tm) with what you have there (re the Ensonic and the GeForce as a VESA VBE framebuffer), then that opens up a whole world of Micro and Mini ATX/ITX systems and cases.

Also, that desktop background... that poor Cube.  I hope that involved thermite, uh, for, um, science!
Lisp Hacker

Nitro

Quote from: verdraith on January 18, 2023, 02:38:44 AMNice build.  Does the Ensoniq function properly under OPENSTEP?

As I mentioned elsewhere, I was thinking about going for a full ATX 440BX, but if things work Well Enough(tm) with what you have there (re the Ensonic and the GeForce as a VESA VBE framebuffer), then that opens up a whole world of Micro and Mini ATX/ITX systems and cases.

Also, that desktop background... that poor Cube.  I hope that involved thermite, uh, for, um, science!

Thanks. Yes, the Ensoniq card works with OPENSTEP, although I had to turn off IRQ sharing in the expert settings of Configure.

This year marks the thirtieth anniversary of Simson Garfinkel's cube burning. We may have to start a wallpaper thread.  :)
Nitro

Daxziz

I like the idea behind this :)

Regarding the VESA driver and graphics card. Is this option the best compared to using one of the older properly supported ones? I was under the impression, that the VESA driver was like a last resort and only good for systems that shouldn't do intense graphic.


-Daxziz

verdraith

I think using hardware for which drivers exist is always the better option, but the list of supported video cards for NEXTSTEP and OPENSTEP is pretty small, and there would be other considerations to take into account -- such as busses, slots, displays et al.

Traditionally, VESA mode runs the Vendor Support Gauntlet(tm), that is to say that some vendors do not implement VESA as they ought to, and getting the right VESA mode might be a challenge.

With that said, I suspect a large percentage NVIDIA and AMD cards would work with the VESA driver, and people posting whether a card works or not could be a useful thing for build variety.

For example, https://hardware.besly.de/index.php?hardware=Graphic_Cards
Lisp Hacker

Nitro

Quote from: Daxziz on January 25, 2023, 12:46:45 AMI like the idea behind this :)

Regarding the VESA driver and graphics card. Is this option the best compared to using one of the older properly supported ones? I was under the impression, that the VESA driver was like a last resort and only good for systems that shouldn't do intense graphic.


-Daxziz

I would echo what verdraith said and add a few things. Some of the older video cards were barely fast enough even with a proper driver, so the added VESA emulation layer was more of a problem. These newer cards are so fast that the VESA driver doesn't appear to be an issue. We'll have to come up with a list of standard video benchmarks that we can use to compare video cards. I'll be happy to run benchmarks on the cards I have.
Nitro

Daxziz

Quote from: Nitro on January 25, 2023, 03:53:36 AMI would echo what verdraith said and add a few things. Some of the older video cards were barely fast enough even with a proper driver, so the added VESA emulation layer was more of a problem. These newer cards are so fast that the VESA driver doesn't appear to be an issue. We'll have to come up with a list of standard video benchmarks that we can use to compare video cards. I'll be happy to run benchmarks on the cards I have.

I really like the idea of a benchmark test on newer cards. If the increased performance on the newer cards would allow for the regular VESA driver to actually make newer cards work somewhat, that would be interesting :)

verdraith

I suppose the question is:  which benchmarks?

Given how DPS complicates the matter (graphics performance is tied to bit blitting), perhaps NXBench's 'NXFactor' test?
Lisp Hacker

Nitro

#8
Quote from: verdraith on January 25, 2023, 04:41:25 AMI suppose the question is:  which benchmarks?

Given how DPS complicates the matter (graphics performance is tied to bit blitting), perhaps NXBench's 'NXFactor' test?

That's one test that I did run after the build. The NXFactor score was 30.782.

NXBench_Nvidia_710.jpg
Nitro

verdraith

#9
that's not too shabby... what would the NXFactor be for a real Cube + Dimension on the colour screen?

-- edit --

Actually, might be better to use a NeXTstation Color as the baseline... given the main job for a Dimension's i860 is to shunt blocks of colour around memory.
Lisp Hacker

zombie

If memory serves, NXFactor was based on a stock cube, I think an 030 25mhz mono.

verdraith

The readme states a 25MHz '040 mono cube... so that'll give an 'NXFactor' of 1.

A baseline for colour video cards should really be whatever the NXFactor of a colour display, imo.

Anyhoo, I located the sources for the GNUstep port of NXBench (GSBench), and I am in the process of porting that back to NEXTSTEP 3.3 (how's that for meta?), which leads me on to the puff pastry meat pie of this post.


Dhrystone is meaningless and dead.  Long live Dhrystone.


"There are lies, damn lies, and benchmarks."

Dhrystone, the old Gold Standard(tm) for system benchmarks, is totally meaningless.  Compilers can optimise heaps of it away, it doesn't represent a meaningful system workload, and on modern hardware you're likely to get an amazingly-brilliant result of 0 (please increase number of runs).

As an example:

I have given it the largest number one can stuff into a signed integer, yet that's not enough.

The underlaying CPU for that VM is an Intel i7-6950X clocked at 3.9GHz (even though that's an X-series, that's a few generations behind the latest generation.)  The OS is NEXTSTEP 3.3 Intel and the compiler is GCC 2.5.8.

The solution

I'm looking into using CoreMark (https://github.com/eembc/coremark) as the benchmark that my NEXTSTEP port of the GNUstep port of the Rhapsody port of the OPENSTEP port of NXBench will use.

I think it will give more meaningful results when it comes to running NEXTSTEP 3.3 Intel or OPENSTEP 4.2 Intel on any machine newer than a 486DX.  The interesting part will be running it on '030 and '040 hardware.

CoreMark utilises such things as integer arithmetic, matrix manipulation, linked lists, state machine operation with data-dependant branches, etc... stuff more representative of an actual system workload.

More detailed information can be found on CoreMark's wikipedia page at https://en.wikipedia.org/wiki/Coremark.

On the plus side, my port will be quad-fat, so we can get values from PA-RISC and SPARC, too!
Lisp Hacker

verdraith

I kinda wish NeXT had done a deal with SGI to get access to GL, then I could base graphics performance off this 'benchmark':



For those thinking 'huh?', that content creator knocks up a fake video card and 'review' for April Fool's Day... they're quite ingenious :)
Lisp Hacker

Nitro

As I mentioned in the first post, this build is a test platform to see what newer hardware might work with OPENSTEP. It still needs a lot more testing to make sure everything works well. I'm not looking for the ultimate build here, just testing hardware to see what works. I'm basically going after the low hanging fruit at this point.

I tested a PCI Express to PCI adapter with the 3C905B-TX network card and initial testing was successful in a PCI-E 1x slot. Hopefully this means that in addition to PCI Express video cards we can use PCI Express cards such as network cards with an appropriate driver. I removed the flimsy mounting bracket on the adapter for testing. In actual use I would probably use a PCI Express 1x riser cable and/or a PCI riser cable to relocate the card to an open slot.

PCIe2PCI.jpg
PCIeNetwork.jpg 

I also ran the Povray skyvase benchmark mentioned in this thread, and the image rendered in 8 seconds.  :o

I have additional hardware on the way to do further testing. I'll probably try to slow the processor down with underclocking to see if that will allow the troublesome benchmarks to complete. More to follow.
Nitro

Nitro

Thank you @verdraith for taking the time to work on NSBench. It works great; love the icon. ;)

NSBench.jpg
Nitro