Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

Sound (Users)

posted by Zyzzle, 31.07.2021, 00:38

> So I did try mtrrlfbe and vesatest on my 7th gen i7 and I can confirm that
> it hangs. Interesting is that vesatest hangs during switch to graphics VESA
> mode even if forced not use LFB but VBIOS paging (it just detected VESA
> BIOS strings and FB size and mode count). E.g. PQmagic can run in VESA mode
> there but extremely slow. Doom in VGA mode runs fine. I also tested MPxplay
> but no sound from IHD, even playback didn't started (the track cursor keeps
> at the beginning).
> The only thing that worked was mtrrlfbe /info that dumped current
> MTRRs settings:
>
> MTRR-WC enabler for VESA LFB 1.6 (C) 2005-2021 by Martin Rehak; rayer^...
> Compiled by GCC 4.8.5 at 07:07:31, Jan 15 2021
> Host machine CPU vendor: GenuineIntel, ID: 906E9h
>
> VESA 3.0 Intel(R) SKL/KBL Mobile/Desktop Graphics Chipset Accelerated
> VGA BIOS [32704 kB]
> N/A
> N/A
> N/A
> LFB address: 80000000h
> MTRR #0: base = 080000000h ( 2048MB), mask = F80000000h ( 2048MB), UC,
> used
> MTRR #1: base = 07E000000h ( 2016MB), mask = FFE000000h (   32MB), UC,
> used
> MTRR #2: base = 07D000000h ( 2000MB), mask = FFF000000h (   16MB), UC,
> used
> MTRR #3: base = 000000000h (    0MB), mask = 000000000h (    0MB), UC,
> unused
> MTRR #4: base = 000000000h (    0MB), mask = 000000000h (    0MB), UC,
> unused
> MTRR #5: base = 000000000h (    0MB), mask = 000000000h (    0MB), UC,
> unused
> MTRR #6: base = 000000000h (    0MB), mask = 000000000h (    0MB), UC,
> unused
> MTRR #7: base = 000000000h (    0MB), mask = 000000000h (    0MB), UC,
> unused
> MTRR #8: base = 000000000h (    0MB), mask = 000000000h (    0MB), UC,
> unused
> MTRR #9: base = 000000000h (    0MB), mask = 000000000h (    0MB), UC,
> unused
>

>
> So it can be seen that LFB area is UC so that's slow. I don't know why they
> are set when all is UC - any meaning...

The lastest system that I have which works with your MTRRLFBE is an i7-5600 laptop with Intel HD5500 onboard graphics:

MTRR-WC enabler for VESA LFB 1.6 (C) 2005-2021 by RayeR
Compiled by GCC 4.8.5 at 07:07:31, Jan 15 2021
Host machine CPU vendor: GenuineIntel, ID: 306D4h

VESA 3.0 Intel(R) HSW Mobile/Desktop Graphics Chipset Accelerated VGA BIOS [32704 kB]
N/A
N/A
N/A
LFB address: E0000000h
MTRR #0: base = 000000000h ( 0MB), mask = F80000000h ( 2048MB), WB, used
MTRR #1: base = 400000000h (16384MB), mask = FF0000000h ( 256MB), WB, used
MTRR #2: base = 410000000h (16640MB), mask = FF8000000h ( 128MB), WB, used
MTRR #3: base = 418000000h (16768MB), mask = FFC000000h ( 64MB), WB, used
MTRR #4: base = 41C000000h (16832MB), mask = FFE000000h ( 32MB), WB, used
MTRR #5: base = 41E000000h (16864MB), mask = FFF800000h ( 8MB), WB, used
MTRR #6: base = 0E0000000h ( 3584MB), mask = FFF000000h ( 16MB), WC, used
MTRR #7: base = 0DE000000h ( 3552MB), mask = FFE000000h ( 32MB), UC, used
MTRR #8: base = 0DD000000h ( 3536MB), mask = FFF000000h ( 16MB), UC, used
MTRR #9: base = 080000000h ( 2048MB), mask = FC0000000h ( 1024MB), WB, used
Setting MTRR #6 to desired area...
MTRR area E0000000h - E0FFFFFFh was set to mode: WC

With 6, 7, or 8 gen i5/i7 and onboard Skylake graphics, there is very strange behavior. Even *reading* the MTRRs results in a hard system freeze and maximum fans / CPU usage 100% loop. This hard freeze even happens when I run MTRRLFBE in debug /d mode, for example MTRRLFBE lfb UC /d. That's right, even setting MTRRs to UNcached results in hard freeze at DOS prompt within 1 second. I wasn't even able to write a debug file to the hard drive to show you, but the screen is very similar to the one you posted for your 7th gen, except LFB shows C0000000h. The even stranger thing is that I *can* rub MTRRLFBE vga wc to cache VGA graphics on all of these 6th-8th gen systems, with resulting very fast speedup in VGA graphics. Also disabling the LFB with Ken Silverman's NOLFB speeds up greatly VGA read speeds.

A partial solution seems to be running games such as quake and Hexen with variable "nopageflip" set to 1. This uses bank switching mode for VESA modes which results in vast speed up. For example in 1280x1024 from 8 fps to over 72 fps on my i5-8250 with lfb in permaently unchangeable uncached mode.

Duke 3D doesn't work at all in VESA modes for me on anything above 5th gen, and even on 5th Gen i7-5600 with nolfb or other mode 4107 disable utility there is horrible page flipping / corruption of VESA modes, with or without MTRR write-combining enabled.

 

Complete thread:

Back to the forum
Board view  Mix view
22049 Postings in 2034 Threads, 396 registered users, 130 users online (1 registered, 129 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum