Jump to content

Recommended Posts


Posted (edited)

http://forum.ru-board.com/topic.cgi?forum=5&topic=51380&start=540#2

MyPal 68.13.2 for videocards OpenGL 3.2+

gfx.webrender.force-angle - false

gfx.webrender.blob-images - false

gfx.webrender.enabled - true

The browser searches for the OpenGL driver and checks what features it supports. If the feature set is complete, the browser will allow you to enable Webrender via OpenGL. For OpenGL 2 videocards, on Windows XP, the LLVM software driver is incomplete enough to enable Webrender.

spacer.png

spacer.png

 

 

Edited by grey_rat
Posted

Did not expect that rust is so treacherous.

I tried to build cbindgen from scratch, it downloaded something, now I fail with rust too.

I know it keeps a kind of a sdk, likely it updated it and overwritten with new. This is very bad.

I need restore old sdk

I looking  a way for not allow touching the sdk at all

Posted

can somebody explain why the "rust" questions always apears

i remember this one
i was looking at the code and saw the imports at some place
then k4sum1 wrote: this is rust

but that wasnt even the problem
the problem was that .obj file trick
by doing that .obj trick a change to that function is blocked (cant be linked together)
as i tryed to describe - thats the trick 
if it aint doing that .obj trick the functions can be linked against ours (thats why i made the c++ side file with the 150 functions)
whatever rust is doing is limited to win32 api functions and engines 
that part was never a rust problem 

i do not understand why he said "that is rust" - it looks like we have a missunderstanding
but here is why i keept saying - you need to talk - its not smalltalk (like you asking me to know youtubedl code - why?)
we need the to put the right questions together
the more i had to solve like "lerning rust first" - that opens more questions means more things to do 
this is not a must if you can talk 

it would be possible to change the compiler to not use that .obj file (either ms´s or llvm´s, maybe the others)
the approaches to do so are different - that was suppose to be the next step on the list

but to all that think about that "new compiler problem"
the story i have to tell is a little different
the new c++ styles cant do anything that the pre c++ cant do
they are often only different write styles ...
that being said you have to know the next thing 
the next thing is that it not always is a style question 
what microsoft and others did here is that these compilers
(for example the use of STD functions)
they changed up the code 
one example is the MUTEX - you can use a mutex (atom) method in like windows 98 (there are solutions like that
like a threading-modell) - then they are the SRW locks (these are vista-ish but work on xp)

but more importantly here is what they did
the MUTEX (and others like file, registy and other control code)
where changed to use vista, win10 or win11 functions

this is uncommon - that method rather describes a script (like java and other high languages)
high languages have a problem they are slower then the others - thats a must say shortly

so here is the normal thing
instead of SDT functions 
these functions normally are written out 
like not do "SDT file control" 
you write a controlment aka createfile writefile 

this code is now changed into that SDT/c-runtime ect. 
yes it is in there (with a win10 implementation ect.)

thats why they used that .obj file trick 
this is to block the backchange - so it always use up these win10/11 ect. codes 

thus they bring up these problems

again its not like there are not already fully functional MUTEX/ect. functions - they exits 

hope this was helpful 

Posted

Okey now I build cbindgen with rust 52.

 

13 hours ago, user57 said:

can somebody explain why the "rust" questions always apears

Some firefoxes code are in rust and important code

 

Posted

that one ?

https://releases.rs/docs/1.52.0/

it names LLVM v12 i made v17.0.1.0

https://msfn.org/board/topic/183588-project-saphire-dragon-port-llvm-and-clang/

i need a bit more information about greyrat´s answer

in the forum he links is like old LLVM versions from 2015 (the oldest version on LLVM github is LLVM 7.1.0 and is from 2019)

and writes something about a LLVM driver - i do not understand that part - it might be a missunderstanding

LLVM is a compiler that generates a code, its not a software driver 

if a function is called and returned not possible or something it might be an different problem 

 

 

LLVM is newer then VS 2019 (v16.11) (LLVM v17 is from Sep 19, 2023) and allows more modern c++ styles then vs2019 

Posted

Gallium 0.4 on llvmpipe (LLVM 3.4, 128 bits) , 3.0 Mesa 10.2.8 - the last one that could use Firefox in Windows XP

how to install:

https://download.qt.io/development_releases/prebuilt/llvmpipe/windows/ file opengl32sw-32.7z (25-Sep-2014 14:30)

rename opengl32sw.dll in opengl32.dll

move file opengl32.dll in browser folder, example C:\Program Files\Mozilla Firefox the browser will automatically see this file and use it as an OpenGL driver file

example, For Webrender, Firefox immediately tries to use opengl32.dll

In order for the browser to use opengl32.dll for WebGL, you need to toggle these options

webgl.disable-angle — true
webgl.force-enabled — true
gfx.prefer-mesa-llvmpipe — true

 

 

Posted (edited)

that opengl method being talked about is a dll wrapper
in theory it can be the compiler (LLVM)
the more likely problem comes that the compiled dll (in this case the opengl32.dll wrapper) malfunctions
asking for the compiler it would be worth a try if that problem has been fixed (you have v17 now)
but as i said i dont think that to be the problem

the last parameter might have something related to LLVM but not its code compiler
that LLVMpipe seems a specific code to me, that might malfunctions - but if that would be the problem you would have a newer version to try
if its LLVMpipe its not the compiler - it has nothing to do with the "compile progress of firefox"
only a certain option - to begin with something we would have to start at some point - not just fully functional and version v148
the actual state is to notice here - the code not even compiles up, what means this specific function would come later on 

what also raise a important question, if that LLVMpipe is a certain code then it actually might use newer settings (what xp dont have)(and then malfunction, also it might just break and not apear even partly functional - in this case you have to fix out the problems related to this step by step))
how exactly that webgl function on XP normally function (if it work do it use the normal opengl32.dll with the specific setting? or have that normal opengl32.dll ever had that specific extension setting being functional?, the picture actually shows d3d9.dll (direct3d 9) to be set not opengl32.dll)

opengl32.dll is not a driver the real driver apears later on (also d3d11.dll is not a driver either) 
the real code like cuda driver (nvidia) control apears far later on

so now we have to sort the things 
to me it seems someone tryed to compile that openglwrapper up and placed it to mypal and then said LLVM cant be used for the compile
at current standpoint that seems to be wrong questioning - to me the LLVM compiler seems to be useable - that specific function would be a different question

for the firefox compile a big problem was that the previos described .obj trick - what the LLVM compiler would be useful

feodor2, ok we could fix the version question it is asking for 1.52 - it would be worth a shot with LLVM v17 instead of LLVM v3.4 (greyrats) or LLVM v12 (1.52 requiements)
 

now its your turn again guys, to bring your kind of stuff questions and problems to the next part of discussion

---

also i might add this seems to be a similar fault idea i was seeing in a other discussion

in that case it was : d3d11 -> kernel-mode cuda

then it was : LAV_filter -> d3d11 (and user-mode based cuda) -> kernel mode cuda

the problem is that LAV_filter is a windows 10/11 solution , that actually use ring3 cuda and d3d11 (that xp dont have) - also the cuda driver in XP kernel-mode is not like the ones from 10/11 - they are far older versions

so the idea probaly was "i use LAV_filter" -> works - but no the LAV_filter is not independed its a pre-engine that use up win10-ish code internal - that dont work for xp - having that in win10 would 

 

so i have to tell the other story in short

the next idea was "using ffmpeg" -> works

now comes a different part of story - ffmpeg was independed in the past, self-contained

but in newer versions ffmpeg use cuda, d3d11 and other win10 codes 

so the truth is ffmpeg is no longer self-contained

you guys see the similiar problem ?

in that LLVMpipe its the same fault a 3 time - its like "we use that engine - works" - in win10 maybe

 

so what i did i explained that these thing all use win10/11 depending codes - they are engines, api´s, interfaces, dll´s, whatever we call them (we dont need a more precise description for these)

so what fixed that is a own controlment of the codec (x265 for example or libde265) - those are fully independent

the other solution they wanted dont work mainly because they dont have CUDA in kernel-mode (cuda kernel-mode is what controls the grafic card) - its not opengl.dll or d3d11.dll (this are pre engines) - later on they go through a first kernel mode thing called win32k.sys and later on the provided video card driver (useally a .sys file) often its a nvidia driver 

(one word about the user-mode cuda - nvidia made some user-mode functions that can be called - what later on controls the kernel-mode cuda (but the user-mode cuda.dll is a pre-engine - and very old in version on XP) ) - this cuda.dll is user-mode based - but somewhat have the same name - but its not the same cuda as the kernel-mode cuda

so to do this someone would have to write a own cuda controlment that controls the grafic card - what sounds nearly impossible - unless you would have insight in the nvidia company´s driver code

 

i tell this story beause it shows the same fault, and with this information we might reach a better level where the problems really are

 

here it was like "opengl+llvm" = works (the others was like "+cuda" = works or "+ffmpeg" = works or  "+LAV_filter = works)

Edited by user57
1 type error, telling the other fault
Posted

I think it's important to just run the r3dfox on XP at the beginning. If it runs on XP at least on a GF8600 video card, it will already be a victory.

Posted
On 3/8/2026 at 10:05 AM, feodor2 said:

Building cbindin details assume you already have rust 52

1. git clone https://github.com/eqrion/cbindgen

2. go to cbindgen

3. git checkout v0.20.0

4. cargo build

What about llvm though. From my understanding, you took the llvm version that build rust 1.35? Should I also build rust 1.35 and take the llvm generated by its build process?

Posted (edited)
4 hours ago, K4sum1 said:

What about llvm though. From my understanding, you took the llvm version that build rust 1.35?

No, I think there clearly indicated that it is llvm 9, but there where the one file missed though so I took it from rusts, not a require I think may take the file elsewhere it does nothing significant. Rust 35 I used in my very first builds, today it is unnecessary

I tried llvm 10 and it puts code for modern windowses, is it possible make llvm not put modern code - yes of course. Meanwhile llvm 9 is still perfectly valid on 105 and I think so about 115,  no point to switch it.

Actually I use 9.0.1 version now.

Edited by feodor2
Posted (edited)
10 hours ago, feodor2 said:

No, I think there clearly indicated that it is llvm 9, but there where the one file missed though so I took it from rusts, not a require I think may take the file elsewhere it does nothing significant. Rust 35 I used in my very first builds, today it is unnecessary

I tried llvm 10 and it puts code for modern windowses, is it possible make llvm not put modern code - yes of course. Meanwhile llvm 9 is still perfectly valid on 105 and I think so about 115,  no point to switch it.

Actually I use 9.0.1 version now.

Where did you get this copy of llvm? Maybe it would be easier for you to upload it somewhere and give it to me.

Edited by K4sum1
Posted

"I tried llvm 10 and it puts code for modern windowses"
did you consider that .obj trick ?

https://msfn.org/board/topic/182888-how-vs-makes-working-code-still-incompatible/
(this also includes for example a newer style of the SDT)

for elder versions to be set the compiler ignores some .obj files (you can set like xp instead of the UCRT
it is theoretical also said that this is the c++17 + style - but that style not only include certain c writeforms 
- that styles use internal codes that are often only written for win10/ect - the UCRT up to like VS2019 16.7 worked in most of the cases in XP)
however then it cant use many functions and fails to compile

it is made so that the code dont compile and dont work if you dont do that 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...