
Servo nightly builds on Windows now available - stshine
https://blog.servo.org/2017/04/13/windows/
======
pcwalton
A lot of the Servo work lately has been pushing specific components, in
particular the style system and WebRender, toward production quality. (These
are the parts that are being integrated into Gecko on an experimental basis.)
This is all necessary work for Servo--for instance, we have to have an
industrial-grade style system that passes all tests, no matter what. But it
doesn't result in immediately-visible improvements as much as some of the
stuff we were doing earlier (like the push toward Acid2), as the layout, DOM,
and thread manager (constellation) still need lots of work and are usually the
source of the brokenness you see from day to day.

So there's plenty of forward progress going on, it's just a bit more behind
the scenes. As always, filing issues is super appreciated :)

~~~
youdontknowtho
I think what you guys are doing is really great. It's super exciting.

------
newsat13
I loved reading
[https://github.com/servo/servo/issues/12125](https://github.com/servo/servo/issues/12125).
It is a great example of open source persistence despite it not being a
priority. Things move forward at snail pace and stalls multiple times. Just
when all hope seems lost, they manage to ship it ! This is the case with most
opensource projects - things take their own sweet time but they eventually
somehow manage.

On a side note, I noted that
[https://github.com/larsbergstrom](https://github.com/larsbergstrom) owns
lars.com. Wow! I wonder how much that is worth given that every 5th german is
named lars ;) (though strom seems to indicate he is norwegian)

~~~
fjh
> every 5th german is named lars

That is completely untrue. Lars isn't exactly a rare name in Germany, but I'd
be surprised if it was even one of the 20 most common first names. It's
definitely nowhere near 1/5th of the population.

~~~
johnfn
GP was making a joke. :)

~~~
fjh
You're right, of course. I blame low blood sugar.

------
AdamSC1
I'm really hopeful for this. The world needs a new browser engine, there is
dwindling competition in this space and time and time again I find myself
dissatisfied with browser offerings.

I've tried every obscure browser out there, and many of them are great at
specific things but nearly all of them lack a few key features or present an
experience that frequently crashes.

I think the Servo project is the biggest chance that Mozilla has to make an
impact in its "Internet for the people mantra."

As a non-dev I will do my part by guinea pigging nightly builds and submitting
issues!

~~~
hacker_9
> The world needs a new browser engine

> As a non-dev

I expect you are just responding to the inherent lack of performance that the
javascript + html + css bundle shamelessly provides, which Servo will do
nothing to sort out. Webassembly on the other hand is the first step to
bringing superior performance to all browsers.

~~~
kibwen
Improving HTML + CSS performance is absolutely one of the goals of Servo.
Here's a video from pcwalton demonstrating reflow (HTML), repainting, and CSS
animations on the GPU in Servo: [https://air.mozilla.org/bay-area-rust-meetup-
february-2016/#...](https://air.mozilla.org/bay-area-rust-meetup-
february-2016/#@25m50s) (much of this code is being uplifted to Firefox as
WebRender). It's true that Servo won't have any effect on Javascript
performance, but WASM won't have any effect on HTML or CSS performance.

~~~
hacker_9
I understand that, but the idea that HTML + CSS can only be sped up by some
hugely parallel structure requiring a whole new programming language and
browser engine is really quite shocking. I think once webassembly is
established and in use, we will start to see steps in the direction of
replacing HTML + CSS altogether, with something that has performance in mind.

~~~
UtherII
A new programming language is not required, it's just a bonus to help
developers handling safety and concurrency.

~~~
pekk
It seems like a valid point that many of the details of HTML and CSS, while
you can use all kinds of fancy techniques to make them a little faster, impose
limits on performance.

~~~
kibwen
It's true that the DOM is a bottleneck on many apps (I don't think anybody is
disputing that), but "a little faster" undersells what Servo is trying to
achieve: order-of-magnitude speedups on GPU-parallelizable tasks, and at least
factor-of-two speedups on CPU-parallelizable tasks, all while providing
stronger guarantees WRT user security than any contemporary browser.

------
buster
After seeing a youtube demo[[1] of how the aggressive parallelisation that is
done in Servo (safely possible by using Rust) speeds up this browser, i'm
really excited for Servo! Also, i think this will give us a great base for all
kinds of browser embedding what is not based on ancient webkit-gtk.

There is another nice presentation on Rust and Servo:
[https://www.youtube.com/watch?v=7q9vIMXSTzc](https://www.youtube.com/watch?v=7q9vIMXSTzc)

[1]:
[https://youtu.be/UGl9VVIOo3E?t=1019](https://youtu.be/UGl9VVIOo3E?t=1019)

~~~
krzat
I'm hoping for Servo-based alternative to Electron. If it could deliver some
performance/memory improvements it would be good advertisement for the
project, and also for Rust.

Not sure if that's realistic, Servo app ran on macOS takes about 200MB of RAM
usage.

~~~
rahkiin
And slack on my macOS takes 800 mb. And WhatsApp as well. And Discord.

------
chuckdries
I can't wait for people to start using this instead of chrome/electron to make
desktop web apps. As much as I understand the philosophical (and at this point
pragmatic) arguments against electron, there's something to be said about
making deadlines and using technology your developers know well.

~~~
Vinnl
Not just for Electron, but also for embedded webviews on Android. Especially
considering how Servo seems to be mostly lagging behind in supporting all the
tiny edge cases and workarounds necessary for older sites, but not necessarily
for modern web apps built specifically for it.

And then hopefully people will start to notice that some of those applications
are much faster on Android than they are on iOS, and Apple will allow other
webviews than WebKit on there.

~~~
my123
Apple has a huge avantage because of the single-threaded performance in their
SoCs, so they may afford to do nothing for a while.

------
cwyers
Very, very nonresponsive. Sometimes when I press a letter in a form, it won't
respond at all, but when I press it again, it will show up... and then when I
press the next letter, the previous letter shows up. Which I thought was
strange behavior.

EDIT: When I say "won't respond at all," I counted to 30 before the next
keypress eventually just to verify I was really seeing what I was seeing.

~~~
valevk
Did you build with --release flag?

~~~
cwyers
I didn't build it at all, I downloaded the Windows installer.

------
zellyn
Just so you Servo folks know, we appreciate the plan of shipping components
incrementally in Firefox, and realize the necessity, and how big a project
building a whole browser is…

…and yet…

…I think you know we're all waiting for Servo itself to be usable as our main
browser :-) Good luck!

~~~
phkahler
Servo doesn't even support SVG yet, and I can remember how long it took
Firefox to get SVG animation once plain SVG was in there. One can hope things
will go faster this time around ;-)

~~~
nickpsecurity
I was an early adopter of tech like XML and SVG. Even did a website in XForms.
There was a lot of talk about making browsers support all of it. In the time
since SVG was standardized, I think I've run into just one... maybe a few...
media that I was sure was SVG. Everything else was a different tech.

I'm not worried about whether Servo supports SVG.

------
digitalshankar
Tried Servo in Linux, even though the browser is slow in starting up, the page
was loading very fast and scrolling the page is butter smooth! This Servo with
Rust will redefine Browser and i wish this will restore the Crown back to
Mozilla Firefox!

~~~
nickpsecurity
The experience was pretty good for what they were doing. I found a critical
bug in UI that I submitted. I enjoyed watching how quickly they tackled the
bug even more than how quickly it was rendering the sites. They're doing great
work. I might fire it up again in near future and put it through it's paces.

------
chaz6
A *.zip file would be useful for users who do not have admin privileges, as
well as people who do not like giving elevated access to development software
and who do not have access to a development computer nor a virtual
environment.

~~~
speps
MSI supports direct extraction, I just tried with servo-latest.msi :

[http://stackoverflow.com/questions/3403733/silent-
administra...](http://stackoverflow.com/questions/3403733/silent-
administrative-install-specifying-an-installation-directory)

------
po1nter
Doesn't even launch. The window appears very briefly then closes immediately.
If any of the maintainers are here let me know how can I help you with this.
I'm on Windows 10 version 1703 (OS Build 15063.13) x64

~~~
IshKebab
Same here. There don't seem to be any command line options to help debug it
either. Even `servo --help` didn't print anything.

~~~
dingaling
Might be an OpenGL versioning issue, sounds like the symptoms I've seen when
trying to run on laptops with older Intel integrated graphics.

On Linux it's theoretically possible to force Servo into software-rendering
mode, though when I've tried that it has done nothing even after 20 minutes.

However it's not yet available on other platforms:

[https://github.com/servo/servo/issues/15259](https://github.com/servo/servo/issues/15259)

------
edko
Is there an accessible tutorial, for someone who is starting to learn Rust
too, for embedding Servo within a Rust program? I haven't been able to find
anything with a Google search.

------
1wd
Nice.

I wondered, for what kind of problems should I bother to file issues? The page
says:

> so please file issues about anything that doesn’t work as expected!

Wouldn't that be quite a lot of obvious stuff? I just opened one web page and
see over ten rendering errors.

Even the text edit control of the built-in search-bar doesn't work as expected
(text selection doesn't work, both with mouse and keyboard). There seems to be
no way to scroll.

Then it crashed.

~~~
lastontheboat
We don't mind stuff that seems obvious because it may not be to others.
Keyboard selection in the URL bar is supposed to work, for example.

------
Aissen
Meanwhile, the Linux nightly build has been broken on all major distros for a
while (see
[https://github.com/servo/servo/issues/12015](https://github.com/servo/servo/issues/12015)
), because the project won't bundle openssl. For a nightly. Which they already
do for Firefox (all release channels). And of course, there are bundling it
for this Windows nightly as well…

~~~
larsberg
The awesome avadacatavra is working on a plan right now to move us off of
OpenSSL:
[https://github.com/servo/servo/issues/7888#issuecomment-2934...](https://github.com/servo/servo/issues/7888#issuecomment-293405504)

TBH, it's been hard to prioritize work to fix OpenSSL issues when we all knew
it was going away from the dependency list. However, I don't think anybody
anticipated the scope of work required to get there :-)

Sorry for the inconvenience!

~~~
Aissen
I understand, but then why bundle it for MacOS & Windows, and not Linux ?
Couldn't they, too, wait for OpenSSL to go away ?

Note that I fully support using a clean rust-based TLS implementation. Given
how young servo is, it will have time to mature before Servo becomes widely-
deployed. I just think this is an orthogonal problem.

PS: thanks for taking the time to answer here and keep up the good work !

------
tambourine_man
We're all exited about Servo (and Rust) and I'm really looking forward to
using it.

But what makes software that's used everyday feel great are the small details.

I can't use Chrome (for consumption, though I use it for development) because
of the way it renders text and a few other UI annoyances.

A browser is a lot of things, but to me, it's first and foremost a reading
platform. So please, do whatever you can to use the OS's native text
rendering.

~~~
phkahler
>> So please, do whatever you can to use the OS's native text rendering.

That seems odd and would mean different quality on different platforms. Yes,
if native is better than built-in then I agree. But what if their GL based
text rendering is just fine, shouldn't they use it everywhere because it's
portable?

~~~
wongarsu
The user doesn't care whether the text rendering of one app is consistent with
the same app on a different platform, the user cares whether the rendering is
consistent with the other apps he uses on the same platform.

~~~
tormeh
I, for one, care mostly about absolute quality. If the rendering is better
than native then that's splendid.

------
ubershmekel
I just tried it out. It froze when looking at a reddit comments page, it froze
when I tried to use the URL bar. Pretty exciting nonetheless.

~~~
ilitirit
The URL bar does seem buggy and incomplete. I don't think it even supports
copy/paste yet. It also won't let me type "[https://..."](https://...")

~~~
floatboth
There's a fix already for text input on Windows, it just didn't land in the
current nightly

------
tn135
This project has moved real slowly but keep remembering how often Eich
referred to this as the most important aspect of Mozilla.

~~~
digitalshankar
Talking is easy, Coding is Hard. Servo is still the most important aspect of
Mozilla in terms of Security and Speed, I really think after the full
development it will definitely beat the Google Chrome.

~~~
mundanevoice
Haha. As if there is no development going on in V8. Rewriting anything doesn't
mean it will beat it's competitors.

~~~
Ygg2
First of, isn't V8 the JavaScript engine of Chrome?

That's a bit apples to oranges comparison, no? One thing Servo didn't touch is
JS Virtual machine, it's still SpiderMonkey. Rewriting that AND the layout
engine would be suicidal.

~~~
aquadrop
And I think they didn't touch it because that's the place where they can't use
advantage of parallel execution - javascript's model suppose that user's code
is single threaded.

------
ruleabidinguser
Does servo make any speed gains on machines that dont have dedicated gpus?

~~~
Sylos
Not having a dedicated GPU doesn't mean not having a GPU at all. You still
have a GPU, it's just built into the same chip as your CPU and at this point
in time, it takes up about half of the surface area. This silicon stays nearly
unused in other browser engines (only used for hardware-accelerating video
decoding and such). Servo will make use of that and makes use of it in the
same way that video games do (which is called "retained mode", as opposed to
"immediate mode"), so yes, it should still cause a significant performance
improvement. Basically, if you've ever wondered why you can run some games at
multiple hundreds of FPS, but your browser doesn't manage 60 FPS when
scrolling Wikipedia, this is the difference between retained mode and
immediate mode, and therefore should be corrected by Servo.

Also, current browser engines don't utilize multi-core processors, which Servo
does, so even if you don't have a GPU at all, it should even there provide
significant performance gains.

Mind the difference here between "browser engine" and "browser". Most browsers
by now do utilize multi-core processors, but they only do so to run multiple
tabs or the GUI in parallel. The actual browser engine still only stays on one
processor. And well, with HTML being structured like a tree, it's actually
incredibly well suited for parallelization, as you can process individual
subtrees in parallel.

(And if you're asking yourself why no modern browser engine does utilize
multi-core processors, that's because all of them were architectured in the
previous millennium when multi-core CPUs weren't really a thing on desktop
PCs. Also, the web was still mostly text, which is why no browser engine
properly uses the GPU. So, yes, it's high-time for a browser engine being
written from scratch.)

~~~
floatboth
> only used for hardware-accelerating video decoding and such

Not true. GPU layer compositing is implemented in all modern engines. That's
how the CSS 3d transforms work. That's why the translateZ(0) hack existed to
speed up animations (it created a new GPU layer. Now there's an official
property for this, will-change.)

WebRender (used in Servo) goes a step further — it's not just compositing,
it's actually rendering the colors, gradients, borders, shadows, rounded
corners and so on in OpenGL. Look at the shaders:
[https://github.com/servo/webrender/tree/master/webrender/res](https://github.com/servo/webrender/tree/master/webrender/res)

------
bitmapbrother
I just tried the Servo nightly tech demo on TheVerge.com. The first attempt
crashed it and the second attempt rendered the page incorrectly. Memory usage
was 1.27 GB.

------
wink
Awesome progress. Feels like a real alpha but I'm happy it's even displaying
stuff and you can navigate some websites already.

------
frik
Can you also offer a Zip package? (portable)

Why only this MSI package?

~~~
sgift
See speps answer here - msi allows direct zip extraction:

[https://news.ycombinator.com/item?id=14104825](https://news.ycombinator.com/item?id=14104825)

~~~
frik
Why should the user do that? The project should do it with an automatic build
script.

Every open source project worth mentioning releases also portable ZIP packages
of the software. Mozilla's Servo windows builds get released only as MSI -
why?

(BTW their win builds were available already for many months, just not linked
from the frontpage, see bug tracker for more info)

------
frik

      VCRUNTIME140.dll required 
    

Why are open source projects built with Visual Studio these days? Especially
as binaries built with VS2015 (release and up to service pack 2) are known to
phone home "by accident". There are the GNU, Mingw, Msys, LLVM options on
Windows - completely open source. Offer binary builds with at least one of
these compilers on Windows platform.

~~~
Thainbbdl
I found the answer on moz hacks [https://hacks.mozilla.org/2017/04/hacking-
contributing-to-se...](https://hacks.mozilla.org/2017/04/hacking-contributing-
to-servo-on-windows/#comment-21022)

~~~
frik
Thanks, that's answer.

@Mozilla: so please make the Mingw builds as download package as well. And
don't forget to release everything as ZIP packages as well. (not just MSI)

------
campuscodi
Tried installing it on 3 computers and 2 VMs ... failed on all

------
davidgerard
How well should it be expected to work under Wine?

~~~
Manishearth
I suspect it won't, but you can try (please file bugs if it doesn't)!

We have had Linux nightlies for ages now though.

~~~
davidgerard
Oh, that would count as a valid bug? I shall :-)

------
EugeneOZ
Add self-update feature please.

~~~
kibwen
Self-updates are great for browsers that people are using every day, but
please, please don't use Servo as your everyday browser just yet. :)

~~~
EugeneOZ
I'm not going to use it every day, it would be just much more handy - opened
it, clicked "update" or "yes" in "new release is here, do you want to update?"
window, and it's done. Now you need to visit download page and
download/install it every time.

