Minimum platform requirements for UXP?

Discussions about the development and maturation of the platform code (UXP).
Warning: may contain highly-technical topics.

Moderators: trava90, athenian200

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35402
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Minimum platform requirements for UXP?

Unread post by Moonchild » 2018-05-28, 04:12

Although I think this is a little late to date now, it seems that there is still some debate (especially about SSE2) about what UXP as a platform should target.

The envisioned minimum target platform/hardware requirements for anything building on UXP are:
  • Reasonable processor capabilities for 2018 (i686+, SSE2+)
  • Reasonable memory capabilities for 2018 (512MB+)
  • Windows kernel 6+
  • Reasonable Linux environment requirements (GTK2/GTK3, updated X11)
I don't see a reason at all for UXP to target anything older than a Pentium-4 or AMD Athlon64/Turion64 or to focus on really old single-core processors. We've agreed not to target Windows kernel 5, so why are CPU capabilities that are even older than that a point of debate? Please give me a good, real-world reason why these envisioned minima are unacceptable, and we can look at adjusting them. I had planned on re-working some of the old code in Goanna to improve it for these minima but I'll put that on hold until we as a community have decided.
Last edited by Moonchild on 2018-05-28, 04:17, edited 1 time in total.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

Nightbird
Lunatic
Lunatic
Posts: 279
Joined: 2016-07-18, 21:12

Re: Minimum platform requirements for UXP?

Unread post by Nightbird » 2018-05-28, 22:17

So, do you plan to enforce the use of SSE2 ?

Does it mean that Walter Dnes will not be able to create his "Linux SSE build (32 bits) " ?
Diversity is key.

Those who forget the past are doomed to repeat it.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35402
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Minimum platform requirements for UXP?

Unread post by Moonchild » 2018-05-28, 22:50

Nightbird wrote:So, do you plan to enforce the use of SSE2 ?
Does it mean that Walter Dnes will not be able to create his "Linux SSE build (32 bits) " ?
Indeed it does.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

Nightbird
Lunatic
Lunatic
Posts: 279
Joined: 2016-07-18, 21:12

Re: Minimum platform requirements for UXP?

Unread post by Nightbird » 2018-05-28, 23:13

If you plan to improve UXP, keeping a backward compatibility would it be a problem ?
Diversity is key.

Those who forget the past are doomed to repeat it.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35402
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Minimum platform requirements for UXP?

Unread post by Moonchild » 2018-05-29, 00:40

You know the answer to that question if you'd actually read my first post in this thread ;)
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

Nightbird
Lunatic
Lunatic
Posts: 279
Joined: 2016-07-18, 21:12

Re: Minimum platform requirements for UXP?

Unread post by Nightbird » 2018-05-29, 21:56

I read but i'm not a developer so nothing is obvious... that is why i ask ;)

and

I would like to see / read more "opponents" in order to get more ideas or soon the possible controversy will die out because of the lack of participants.
Last edited by Nightbird on 2018-05-29, 22:12, edited 1 time in total.
Diversity is key.

Those who forget the past are doomed to repeat it.

testator777

Re: Minimum platform requirements for UXP?

Unread post by testator777 » 2018-06-11, 20:24

I run palemoon on a machine with less then 512MB after a great many plugins and addons are loaded. I think it is entirely reasonable to minimize the RAM usage of UXP to something less then 150MB for the program itself entirely as palemoon currently is for me.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35402
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Minimum platform requirements for UXP?

Unread post by Moonchild » 2018-06-14, 08:50

testator777 wrote:I run palemoon on a machine with less then 512MB after a great many plugins and addons are loaded. I think it is entirely reasonable to minimize the RAM usage of UXP to something less then 150MB for the program itself entirely as palemoon currently is for me.
No, it isn't reasonable. Please understand that UXP has a ton more features in its core than Pale Moon to provide as-complete-as-possible standards support. In addition it will need memory for compilation of JS, it will need memory for caching and texture buffering, and it will need memory for storing decoded images, for example. Asking to fit all that in less than the stated minimum requirements is not reasonable and although you can maybe squeeze it into a little less RAM, it will just run like shit and not as-intended.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

Fedor2
Banned user
Banned user
Posts: 704
Joined: 2016-04-11, 01:26

Re: Minimum platform requirements for UXP?

Unread post by Fedor2 » 2018-06-14, 18:12

SSE2 and 512 are good point i would say. Most hardware with i do business even better and has >=1gb ram, but single core usually, palemoon overcome others for sure there, choiceless i would say too. Can you please tell what part of the code do you consider to improve and what actually improve it will be.

testator777

Re: Minimum platform requirements for UXP?

Unread post by testator777 » 2018-06-15, 18:12

Moonchild wrote:In addition it will need memory for compilation of JS, it will need memory for caching and texture buffering, and it will need memory for storing decoded images, for example.
Of which palemoon already does and does with less then 150MB for me if I single tab browse with no plugins or addons loaded. I think it is great that you are going to require SSE2 instructions as that just makes the program run better by optimizing SSE calls.

But what is changing so dramatically in UXP that increases the memory usage to over triple, that is 512MB, of palemoon as it is for me? The memory for the compilation of JS it is still using, or could be using, jemalloc by mozilla or your implementation of such. For the memory of storing decoded images it is still using ffmpeg/libjpeg/libpng to handle that so nothing or little will change there. Did something dramatic change in the way memory is used for caching and texture buffering from palemoon's platform to UXP? I would have thought that it is mostly handled by a hardware accelerated GPU. I don't fully understand what is changing so dramatically as to up the memory requirements to such.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35402
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Minimum platform requirements for UXP?

Unread post by Moonchild » 2018-06-15, 23:49

If you want to know what all has changed... compare the source trees.
I understand the question being logical, but there is no direct answer because "what has changed" is literally many thousands of things. In JavaScript alone going from about 60% coverage of ECMAScript6 to 98%, plus added ES2016/ES2017 features is not "free". Similar changes and evolving standards are there in other parts of the browser, e.g. DOM, CSS, and hardware support.

Let me put it another way: Say, you have a game, let's call it Fantastico. If the game makers release a sequel with better AI, better graphics, broader sound support and smoother multiplayer networking, called Fantastico II, would you expect that sequel to use the same limited resources as Fantastico? No. We are looking at a similar level of change here; under the hood, Pale Moon 28 is a completely different beast than Pale Moon 27.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

Walter Dnes
Astronaut
Astronaut
Posts: 650
Joined: 2015-07-30, 20:29
Location: Vaughan, ON, Canada

Re: Minimum platform requirements for UXP?

Unread post by Walter Dnes » 2018-06-17, 08:05

A couple of technical issues which I ran into while attempting PM28 SSE compiles (yes, I did try)...
  • The "stdcxx_compat" backwards compatability option no longer works on PM28, which means that newer libs are used.
  • PM28 simply does not build on CentOS 6.5, regardless of "stdcxx_compat" setting. Later versions of CentOS use newer libs.
I had to build PM27 SSE on CentOS 6.5 and with "stdcxx_compat" enabled, for it to run on Lucid Puppy. Any newer build environment, i.e. a later CentOS and/or without "stdcxx_compat", forces newer llibraries to be built against, that will not run on Lucid Puppy. A newer distro with the newer libraries will probably crawl painfully on a single-core Pentium3 (the usual SSE-only target cpu). So a PM28 SSE version would be pointless, even if it could be built.
There's a right way
There's a wrong way
And then there's my way

Walter Dnes
Astronaut
Astronaut
Posts: 650
Joined: 2015-07-30, 20:29
Location: Vaughan, ON, Canada

Re: Minimum platform requirements for UXP?

Unread post by Walter Dnes » 2018-06-17, 20:48

What about 32-bit builds? Any machine with 4 gigs or less of RAM benefits from the smaller binary sizes of 32-bit builds. In addition, most Pentium 4 cpus do not support 64-bit operation. According to https://gcc.gnu.org/onlinedocs/gcc-6.4.0/gcc/x86-Options.html#x86-Options the ‘pentium-m’, ‘pentium4’, ‘pentium4m’, and ‘prescott’ have SSE2, but there is no mention of "64-bit extensions" until the ‘nocona’ variant.
There's a right way
There's a wrong way
And then there's my way

Locked