VOGONS


First post, by mln

User metadata
Rank Newbie
Rank
Newbie

Hi everyone. Long time reader, first time poster here. Wanted to introduce myself with the build I have been working on for some time.

Specs:

  • Mainboard: Asus P6X58D-E (X58 chipset)
  • CPU: Xeon X5675 @ 3.07 GHz (6 cores/12 threads)
  • CPU Cooler: Cooler Master Hyper 212 Plus
  • RAM: 6 x Samsung DDR3-1600 ECC 8GB (48GB total)
  • GPU: Sapphire Radeon X550 SILENT (GPU/MEM: 400MHz/250MHz DDR 128Bit)
  • Sound: Creative Sound Blaster Audigy 2 (SB0240)
  • 1st Storage - SSD: Crucial M500 128 GB (Bootloader and Win98 system drive)
  • 2nd Storage - NVMe: Ugreen CM465 NVMe-PCIe adapter + Intel 600p 256GB M.2 (Linux system drive)
  • 3rd Storage - HDD: Toshiba HDWL 120 2TB (Storage drive)
  • Optical drive: LG DVD-ROM 16x SATA Samsung SH-S182D DVD-RW + ATA -> SATA adapter
  • WLAN: TP-Link TL-WL725N USB Dongle
  • Power supply: be quiet! System Power 7 300W
  • Display: Dell 2007FPb + Dell AX510 soundbar Lenovo P24h-10
  • Case: Fractal Pop Silent Black TG
  • Miscellaneous: Logitech K400 keyboard, A4Tech FBK11 keyboard, Logitech G305 mouse, 3x Fractal 120mm Fan,2x dust filter for front fans
Background

There are two areas I am focused on:

  • Late DOS and ~1996-2003 gaming, basically my childhood 😀 - Windows 98SE
  • Web browsing, some embedded and web development, movie encoding, virtualization, "modern activities" - Arch Linux

I have no room for more than one build, thus I was trying to come up with all-in-one solution.
For over a year I have been lurking Vogons, hunting online auctions and experimenting with various hardware I've been collecting over 20 years 😀.

During this project I tried the following configurations:

  • Asrock 775i65 r2.0/E5700/2GB DDR1/FX5200 128Bit/CT4810
    excellent 98SE support, weak DOS-mode audio, 2GB of RAM is not enough for "modern activites" and the FX5200 is a bottleneck for web browsing
  • Foxconn P35A-S/E8600/8GB DDR2/X550/Audigy2
    excellent 98SE support and DOS-mode audio, actually it pretty much suited my needs but I was still tempted by X58 builds I've seen here
Highlights
  • Mainboard + CPU + RAM
    Someone was selling this set for ~99$, so it looked like a bargain. RAM alone is worth more than that. Temped by positive reports from agent_x007 and ruthan I decided to pull the trigger.
    I think the motherboard is one of the latest with BIOS (not UEFI) and the X58 chipset natively supports PCI. I guess this helped getting Audigy2 working in Win98 with SB16 emulation.
  • GPU
    Other overkill builds use cards like FX5900 and X800, but it seems there is a lot of struggle with getting silent and reliable cooling solution for them.
    They are also kind of rare and getting quite expensive. On the other hand, X550s are widely available (for ~10$, at least in my country) and Sapphire X550 SILENT is 100% passive with decent temperatures.
    From Win98 gaming perspective, the card works fine with Catalyst 6.2 drivers and constant 60 fps in Unreal Tournament is enough for me.
    For Linux, all I need is a decent OpenGL 2.1 support. This allows for smooth web browsing, something FX5200 was not able to provide.
  • Soundcard
    Hunted for ~10$. Had no issues with drivers using Joseph_Joestar’s guide. Doom with custom Sound Fonts sounds incredible 😀.
  • Display + Soundbar
    These Dells are widely available for pennies. 1600x1200 native resolution is good for nice, integer-scaling of 800x600 resolution I am using for games.
    The soundbar allows to get rid of external speakers, which saves space. Two headphone outputs remove the need for the case audio output, which Audigy2 (without modifications) does not provide. Volume control of the soundbar is a welcome feature, just set all outputs to 100% 😀.

    Changed Dell to Lenovo P24h-10 1440p display. It's shared with an other PC I am using for my job.
    I managed to get 1920x1440@50Hz resolution in Linux using a custom modeline, so there is no scaling. Possibly this is the highest setting one can get from a single-link DVI.
    For games under WIn98 the display scales every standard resolution (640x480, 800x600) quite nicely. Working on getting Win98 desktop in 1920x1440@50Hz.
  • Case
    I was looking for a new and minimalistic case with plenty of space and a 5.25" drive bay. You can't go wrong with this one.
    As you can see in the photos, it allows for decent cable management.
Operating Systems
  • BIOS Settings
    Loaded default settings and adjusted the following:
    Main -> SATA Configuration -> Compatible
    Main -> Configure SATA as -> IDE
    Ai Tweaker -> Intel (R) SpeedStep(TM) Tech -> Disabled
    Advanced -> Onboard Devices Configuration -> Set all entries as Disabled
    Advanced -> USB Configuration -> NEC USB 3.0 Controller -> Disabled
  • Dual boot
    I am using the SSD SATA drive as a boot disk:
    - 1st partition (~110 GB) is FAT32 formatted for Win98.
    - 2nd partition (~1 GB) is EXT4 formatted with Bootable flag. SYSLINUX is the bootloader.
  • Windows 98SE
    Installed using setup /pi to disable ACPI. With ACPI enabled, Device Manager contained a lot of System Devices with exclamation marks.
    After the first reboot during installation, I installed PTCHSATA and HIMEMX with /MAX=524288 parameter. 512MB RAM for Win98 is enough.
    Finally, I installed DirectX9.0b, Catalyst 6.2 drivers and Audigy2 drivers per Joseph_Joestar’s guide.
    That's all.
    I didn't bother with USB Drivers. I don't need USB thumb drive support, since I can sideload everything I need to the FAT32 partition using Linux.
    Important: NVMe SSD cannot be placed in the last PCIe slot. It makes Win98 unbootable - throws some EMM386 errors. Second PCIe slot is fine.
  • Arch Linux
    It just works 😀. All I needed was to enable vmd, nvme, nvme_core modules in /etc/mkinitcpio.conf.
Benchmarks
  • 3dMark99
    3dm99.jpg
    Filename
    3dm99.jpg
    File size
    30.56 KiB
    Views
    1837 views
    File license
    Fair use/fair dealing exception
  • 3dMark00
    3dm00.jpg
    Filename
    3dm00.jpg
    File size
    36.45 KiB
    Views
    1837 views
    File license
    Fair use/fair dealing exception
  • 3dMark01
    3dm01.jpg
    Filename
    3dm01.jpg
    File size
    39.13 KiB
    Views
    1837 views
    File license
    Fair use/fair dealing exception
  • Passmark Linux
    PassMark PerformanceTest Linux


    Intel Xeon CPU X5675 @ 3.07GHz (x86_64)
    6 cores @ 3073 MHz | 47.0 GiB RAM
    Number of Processes: 12 | Test Iterations: 1 | Test Duration: Medium
    --------------------------------------------------------------------------
    CPU Mark: 7069
    Integer Math 27699 Million Operations/s
    Floating Point Math 12282 Million Operations/s
    Prime Numbers 33.7 Million Primes/s
    Sorting 15943 Thousand Strings/s
    Encryption 3044 MB/s
    Compression 106413 KB/s
    CPU Single Threaded 1426 Million Operations/s
    Physics 511 Frames/s
    Extended Instructions (SSE) 3277 Million Matrices/s

    Memory Mark: 1851
    Database Operations 3008 Thousand Operations/s
    Memory Read Cached 11643 MB/s
    Memory Read Uncached 9523 MB/s
    Memory Write 7103 MB/s
    Available RAM 42720 Megabytes
    Memory Latency 45 Nanoseconds
    Memory Threaded 17680 MB/s
    --------------------------------------------------------------------------
  • hdparm NVMe read performance
    /dev/nvme0n1:
    Timing buffered disk reads: 3954 MB in 3.00 seconds = 1317.78 MB/sec

EDIT: Changed Dell 2007FPb to Lenovo P24h-10.
EDIT: Changed Logitech K400 keyboard to A4Tech FBK11.
EDIT: Changed LG DVD-ROM 16x SATA to Samsung SH-S182D DVD-RW

Last edited by mln on 2024-03-22, 16:02. Edited 4 times in total.

Reply 1 of 18, by mln

User metadata
Rank Newbie
Rank
Newbie
Exterior Photos
exterior1.jpg
Filename
exterior1.jpg
File size
1.26 MiB
Views
1835 views
File license
Fair use/fair dealing exception
exterior2.jpg
Filename
exterior2.jpg
File size
1.21 MiB
Views
1835 views
File license
Fair use/fair dealing exception
exterior3.jpg
Filename
exterior3.jpg
File size
1.22 MiB
Views
1835 views
File license
Fair use/fair dealing exception

Reply 2 of 18, by mln

User metadata
Rank Newbie
Rank
Newbie
Interior Photos
interior1.jpg
Filename
interior1.jpg
File size
1.93 MiB
Views
1834 views
File license
Fair use/fair dealing exception
interior2.jpg
Filename
interior2.jpg
File size
1.37 MiB
Views
1834 views
File license
Fair use/fair dealing exception
interior3.jpg
Filename
interior3.jpg
File size
1.39 MiB
Views
1834 views
File license
Fair use/fair dealing exception

Reply 3 of 18, by mln

User metadata
Rank Newbie
Rank
Newbie
Unresolved issues
  • Unknown Devices in Device Manager
    DeviceManager.jpg
    Filename
    DeviceManager.jpg
    File size
    41 KiB
    Views
    1832 views
    File license
    Fair use/fair dealing exception
    PCI Programmable Interrupt Controller entries are what bothers me. I don't know if they are needed though, since all I need works fine.
Resolved issues
  • Memory bandwidth
    I am getting ~10GB/s Memory Read Throughput under both 98SE (AIDA64) and Linux (Passmark) while it should be more like ~20GB/s.
    Looks like for some reason memory works in single-channel mode instead of triple-channel. It passes memtest86+ though.


    Tried AIDA64 under Win10PE Live USB and it returns values like ~20GB/s for Memory Read Throughput, so it's not a problem with hardware. It's rather some Win98 + AIDA64 quirk which does not really affects anything, so I don't consider it an issue anymore.
  • 3DMark results
    They are disappointing compared to my previous build (E8600@3.33GHz + X550 - the same card I am using right now):
    E8600@3.33GHz + X550 + 8GB VSync off vs. x5675@3.07GHz + X550 + 48GB VSync off:
    - 3DMark99: 22882 / CPU: 88380 vs. 14079 / CPU: 73062
    - 3DMark00: 18149 vs. 12579
    - 3DMark01: 11797 vs. 11480
    3dMarks identify E8600 as "Pentium III", while X5675 is just an Intel CPU. Maybe that's what confuses these benchmarks.


    Adjusting MTRRs fixed the issue. More details in comment.

Edit 09/11/23: Added resolution for the Memory bandwidth issue.
Edit 03/22/24: Added resolution for the 3DMark results issue.
Edit 03/22/24: Formatting.

Last edited by mln on 2024-03-22, 16:03. Edited 3 times in total.

Reply 4 of 18, by Bruno128

User metadata
Rank Member
Rank
Member

Hi, thanks for sharing. I like it in general especially the layout and I have a comment and a question.
In OP you mention

using setup /pi to disable ACPI

but it really is:

setup /p i

And the question is how do you find “modern” activities such as web browsing and IDE/whatever tools you use in Linux in 4:3 aspect? 1200 height is not a huge number by today standards.

Now playing: Red Faction on 2003 Acrylic build


SBEMU compatibility reports

Reply 5 of 18, by Joseph_Joestar

User metadata
Rank l33t
Rank
l33t
mln wrote on 2023-11-08, 16:14:

Unknown Devices in Device Manager

Try the unofficial ICH9/10 drivers from here. I'm not sure if they support X58, but they worked great for my P35 chipset.

I am getting ~10GB/s Memory Read Throughput under both 98SE (AIDA64) and Linux (Passmark) while it should be more like ~20GB/s.
Looks like for some reason memory works in single-channel mode instead of triple-channel. It passes memtest86+ thought.

I've noticed a performance penalty under Win98 if more than 2 GB RAM was installed on my P35 chipset. Try lowering the RAM amount to that and see if it helps.

PC#1: Pentium MMX 166 / Soyo SY-5BT / S3 Trio64V+ / Voodoo1 / YMF719 / AWE64 Gold / SC-155
PC#2: AthlonXP 2100+ / ECS K7VTA3 / Voodoo3 / Audigy2 / Vortex2
PC#3: Athlon64 3400+ / Asus K8V-MX / 5900XT / Audigy2
PC#4: i5-3570K / MSI Z77A-G43 / GTX 970 / X-Fi

Reply 6 of 18, by mln

User metadata
Rank Newbie
Rank
Newbie

Thanks for answers, glad you liked it.

Bruno128 wrote on 2023-11-08, 16:28:
Hi, thanks for sharing. I like it in general especially the layout and I have a comment and a question. In OP you mention […]
Show full quote

Hi, thanks for sharing. I like it in general especially the layout and I have a comment and a question.
In OP you mention

using setup /pi to disable ACPI

but it really is:

setup /p i

At first I tried with setup only and got exclamination marks for some ACPI devices. With the /pi switch there are no ACPI devices in the Device Manager at all, so maybe it works too.

Bruno128 wrote on 2023-11-08, 16:28:

And the question is how do you find “modern” activities such as web browsing and IDE/whatever tools you use in Linux in 4:3 aspect? 1200 height is not a huge number by today standards.

Web browsing in 4:3 works fine for me, didn't have any issues so far.
Regarding IDE and other tools, I am using Linux with i3 tiling window manager. It has virtual screens and allows to organize them in many ways. It's an efficient and convenient tool after getting used to it. Anyway, these are just hobby activities.

Reply 7 of 18, by mln

User metadata
Rank Newbie
Rank
Newbie
Joseph_Joestar wrote on 2023-11-08, 16:49:
mln wrote on 2023-11-08, 16:14:

Unknown Devices in Device Manager

Try the unofficial ICH9/10 drivers from here. I'm not sure if they support X58, but they worked great for my P35 chipset.

I used them with my previous P35 build and they worked too. I tried them again with this build but Device Manager didn't want to use them.
Anyway, those "drivers" are just an .inf file, so I guess their only purpose is to hide Unknown Devices from Device Manager. I will take a look at them later and try to add X58/ICH10.

Joseph_Joestar wrote on 2023-11-08, 16:49:

I am getting ~10GB/s Memory Read Throughput under both 98SE (AIDA64) and Linux (Passmark) while it should be more like ~20GB/s.
Looks like for some reason memory works in single-channel mode instead of triple-channel. It passes memtest86+ thought.

I've noticed a performance penalty under Win98 if more than 2 GB RAM was installed on my P35 chipset. Try lowering the RAM amount to that and see if it helps.

It seems to also affect Linux benchmarks, so I guess it's more like a compatibility issue between Motherboard and RAM modules. Officially, 4GB are the biggest sticks supported by this board and I have 6 x 8GB.
I don't have any DDR3 modules smaller than 8GB.

Reply 8 of 18, by mln

User metadata
Rank Newbie
Rank
Newbie

After disabling HT in BIOS, 3DMarks look better, but still behind E8600 + X550:

  • 3dMark99 (vs. 14079, CPU: 73062 with HT enabled)
    3dm99-noht.jpg
    Filename
    3dm99-noht.jpg
    File size
    30.74 KiB
    Views
    1625 views
    File license
    Fair use/fair dealing exception
  • 3dMark00 (vs. 12579 with HT enabled)
    3dm00-noht.jpg
    Filename
    3dm00-noht.jpg
    File size
    36.71 KiB
    Views
    1625 views
    File license
    Fair use/fair dealing exception
  • 3dMark01 (vs. 11480 with HT enabled)
    3dm01-noht.jpg
    Filename
    3dm01-noht.jpg
    File size
    39.12 KiB
    Views
    1625 views
    File license
    Fair use/fair dealing exception

Reply 9 of 18, by agent_x007

User metadata
Rank Oldbie
Rank
Oldbie

1) Disable all but one core in BIOS (along with HT)
2) AIDA64 bandwidth benchmarks scales with core count.
3) Recently ran 48GB of RAM on Core i7 975 on Rampage III Extreme, here's valid : https://valid.x86.fr/vdev1v
Performance is quite good.
4) Never bother with "unknown device" things on X58 under Win98. I would try doing ACPI install again though (just to check performance from it).
5) CPU Configuration I used (don't look at CPU multiplier, I'm on OC'ed 980X) :

CPU Configuration.png
Filename
CPU Configuration.png
File size
1.41 MiB
Views
1559 views
File license
Fair use/fair dealing exception

Reply 10 of 18, by mln

User metadata
Rank Newbie
Rank
Newbie
agent_x007 wrote on 2023-11-09, 20:14:
1) Disable all but one core in BIOS (along with HT) 2) AIDA64 bandwidth benchmarks scales with core count. 3) Recently ran 48GB […]
Show full quote

1) Disable all but one core in BIOS (along with HT)
2) AIDA64 bandwidth benchmarks scales with core count.
3) Recently ran 48GB of RAM on Core i7 975 on Rampage III Extreme, here's valid : https://valid.x86.fr/vdev1v
Performance is quite good.
4) Never bother with "unknown device" things on X58 under Win98. I would try doing ACPI install again though (just to check performance from it).
5) CPU Configuration I used (don't look at CPU multiplier, I'm on OC'ed 980X) :
CPU Configuration.png

Thank you for the tips. So far disabling HT gave the biggest boost.

I've just tried Tom2D benchmark:

tom2d.jpg
Filename
tom2d.jpg
File size
32.6 KiB
Views
1499 views
File license
Fair use/fair dealing exception

All tests are more or less okay, but the last one (Stretching) is awfully low, thus probably it makes overall score low as well.

Reply 11 of 18, by acl

User metadata
Rank Oldbie
Rank
Oldbie

Hi

I considered building this type of system some time ago but i was thinking about virtualization + PCI passthrough.

Have you tested / considered this solution?

"Hello, my friend. Stay awhile and listen..."
My collection (not up to date)

Reply 12 of 18, by mln

User metadata
Rank Newbie
Rank
Newbie
acl wrote on 2023-11-13, 07:18:

Hi

I considered building this type of system some time ago but i was thinking about virtualization + PCI passthrough.

Have you tested / considered this solution?

Hi, I haven't tested VT-d yet. I have considered this, but since Win98 more-or-less works on the current config, I didn't bother with it.
I guess it's way easier to get Win98 working natively on this build. For VT-d, I would need a secondary graphics card, need to setup qemu and so on.

Reply 13 of 18, by mln

User metadata
Rank Newbie
Rank
Newbie

Did anyone play with custom resolutions in Win98?

I changed my monitor to a 1440p display with digital inputs only. In Linux I am able to get 1920x1440@50Hz using a custom modeline - this is the highest resolution I could get from the single-link DVI present on Radeon X550.
Under Win98 I tried "WinModelines" but no luck so far.

Reply 14 of 18, by megatron-uk

User metadata
Rank Oldbie
Rank
Oldbie
mln wrote on 2023-11-08, 17:41:
Thanks for answers, glad you liked it. […]
Show full quote

Thanks for answers, glad you liked it.

Bruno128 wrote on 2023-11-08, 16:28:
Hi, thanks for sharing. I like it in general especially the layout and I have a comment and a question. In OP you mention […]
Show full quote

Hi, thanks for sharing. I like it in general especially the layout and I have a comment and a question.
In OP you mention

using setup /pi to disable ACPI

but it really is:

setup /p i

At first I tried with setup only and got exclamination marks for some ACPI devices. With the /pi switch there are no ACPI devices in the Device Manager at all, so maybe it works too.

Bruno128 wrote on 2023-11-08, 16:28:

And the question is how do you find “modern” activities such as web browsing and IDE/whatever tools you use in Linux in 4:3 aspect? 1200 height is not a huge number by today standards.

Web browsing in 4:3 works fine for me, didn't have any issues so far.
Regarding IDE and other tools, I am using Linux with i3 tiling window manager. It has virtual screens and allows to organize them in many ways. It's an efficient and convenient tool after getting used to it. Anyway, these are just hobby activities.

My main driver machine has a 1920x1200 screen (an old Dell U2410) and I honestly have never had a problem with it. It's plenty of screen space, and like the OP said, the standard multi-desktop and tiling features of most modern Linux desktops environments can make up for a lot; browser/email/Teams is usually on 1, IDE and terminals on 2, VM output on 3, and so on.

Not sure I could cope with a 4:3 ratio any more though! ...

Birthday present to myself this year was a 2560x1440 27" which *just* fits in the shelf space on my desk where the present 24" lives. Well, it will if Amazon ever decide to honour their black Friday prices and send it out.

My collection database and technical wiki:
https://www.target-earth.net

Reply 15 of 18, by mln

User metadata
Rank Newbie
Rank
Newbie

Finally I got optimal GPU performance under Windows 98 with more than 2GB of RAM installed.
Tl;dr MTRRs need to be adjusted for more than one range.

During my research I found that GPU performance issues with more than 2GB of system RAM are not limited to Windows 98, they affect other OSes as well. For example:
https://bugzilla.kernel.org/show_bug.cgi?id=13042
https://bugs.launchpad.net/ubuntu/+source/lin … .24/+bug/224404

It looks like some BIOS issue rather than OS, since it's BIOS job to correctly set MTRRs.

I blindly tried to fix MTRRs using MTRRLFBE with default arguments, but the issue was still here, so I kept digging.

Next, I tried to understand how MTRRs work. I found that some memory areas need to be marked as WC (Write-Combine) and they should not be overshadowed by other MTRRs, since less caching has more priority.

To see how MTRRs look in my case I used SetMtrr:

setmtrr-nomtrrlfbe-48g.jpg
Filename
setmtrr-nomtrrlfbe-48g.jpg
File size
87.72 KiB
Views
470 views
File license
CC-BY-4.0

There are two memory areas marked as WC:

  • 0x8000000-0xBFFFFFF (64 MB area, 3rd MTRR)
  • 0xF0000000-0xF7FFFFFF (128 MB area, 10th MTRR)

Both areas are overshadowed by 1st MTRR, which is WB. This makes 3rd and 10th MTRRs not effective.

I tried to use MTRRLFBE again, this time forcing specific memory areas as WC. I created MTRRLFBE.BAT file like following and added it to Autostart:

C:\WINDOWS\MTRRLFBE.EXE VGA WC
C:\WINDOWS\MTRRLFBE.EXE USER:0x8000000:65536 WC
C:\WINDOWS\MTRRLFBE.EXE USER:0xF0000000:131072 WC

It did the trick! I briefly checked some benchmarks and observed better results.

This is how MTRRs look like before and after the fix:

beforeafter-setmtrr.png
Filename
beforeafter-setmtrr.png
File size
198.23 KiB
Views
470 views
File license
CC-BY-4.0

1st MTRR was resized to cover first 64MB and became redundant, since 6th MTRR covers the same area.
MTRRs 6th-9th cover first 1GB and WC MTRRs are not overshadowed anymore. I limit Win98 RAM to 512MB, so I hope this will not cause any issues.

Below are some benchmark results, before and after:

beforeafter-3dm.png
Filename
beforeafter-3dm.png
File size
673.75 KiB
Views
470 views
File license
CC-BY-4.0
beforeafter-ff.png
Filename
beforeafter-ff.png
File size
579.85 KiB
Views
470 views
File license
CC-BY-4.0

3DMark99 score is almost 2x better. Bandwidth tests in Future Reality also got a huge boost.
I am very satisfied with the results 😀.