15 ms·
Servo Nightly Builds Available
- pcwalton 10y agoHappy to answer questions (when I wake up; getting this ready has been a lot of work, needless to say) :) It goes without saying, but as this is the very first nightly (not by any means a full-fledged release), expect severe bugs, crashes, and missing functionality. Many of your favorite sites will be broken. Don't expect to use this as your everyday browser. We'd love feedback on what issues folks hit the most, so we can prioritize—especially if you're a Web developer!
- slimsag 10y agoLooks like visiting a Youtube video linked to via reddit.com/r/videos crashed it. The whole UX is locked up, so I can't click the "Click to submit report" button either. screenshot [1] Either way, I'm already impressed by how zippy it is :D [1] http://virtivia.com:27080/1ekpk4zch3tjg.png http://virtivia.com:27080/1ekpk4zch3tjg.png
- Manishearth 10y agoI'm able to reproduce it, thanks for the report. I'll look into fixing it shortly. Note that youtube won't work on servo right now since video/flash doesn't work :)
- Manishearth 10y agoFixed: https://github.com/servo/servo/pull/12003 https://github.com/servo/servo/pull/12003 There's a more serious error in the url parsing that caused this, due to some wierd stuff google is doing with punycode. I haven't looked into that yet. But youtube no longer crashes -- so you can now enjoy window-shopping on youtube!
- Lukas_Skywalker 10y agoDaaaamn that was fast. Keep up the good work!
- _jezell_ 10y agoFix for parser https://github.com/servo/rust-url/pull/208 https://github.com/servo/rust-url/pull/208
- marcusarmstrong 10y agoFirst of all, congratulations on a huge milestone for the whole team. As I understand it, this is shipping with WebRender enabled, right? How far out is WebRender 2 from making it into the nightly?
- pcwalton 10y agoYes, this is using WebRender by default. The WebRender 2/WebRender Next branch can render most content just fine at this point, but we went with the mainline branch for the initial nightlies, as it's more mature and stable.
- PudgePacket 10y agoCould you give a quick explanation (or link to one!) on the difference as a casual observer? Is WebRender like WebKit ?
- pcwalton 10y agoHere's a talk I gave on it: https://air.mozilla.org/bay-area-rust-meetup-february-2016/ https://air.mozilla.org/bay-area-rust-meetup-february-2016/
- psiclops 10y agoGreat to see your progress so far. Looking forward to using it P.S. The app icon is the best part by far!
- pimeys 10y agoIt seems the linux build doesn't respect the system keyboard settings. I'm not able to write scandinavian characters äöå at all... Happy to see a nightly already, I must read the source at some point :)
- Manishearth 10y agohttps://github.com/servo/servo/pull/11950 https://github.com/servo/servo/pull/11950 , should get fixed in a few days
- pcwalton 10y agoThis is PR #11950: https://github.com/servo/servo/pull/11950 https://github.com/servo/servo/pull/11950
- iamcreasy 10y agoKudos on reaching milestone. Can't wait to try it out. When is the Windows build will be available? Days? Week(s)?
- larsberg 10y agoWe're hoping for days, but it needs a lot more testing. We're (unfortunately, due to some font-related issues) still building Windows with the mingw toolchain, which makes build & packaging more complicated.
- metajack 10y agoWe were hoping to make it yesterday, but ran into some issues. It's hopefully not more than a few days work. Servo works fine, and we have an installer, but when run from the installer there are some weird things we weren't able to track down in time.
- p0nce 10y agoI miss SVGs, <audio>, Youtube embeds, and the layouting is off. Sometimes mouse wheel doesn't work, was stuck once scrolled. Biggest problem is keyboard layout isn't right. I tested on OSX, nice work overall!
- Manishearth 10y agoThere is a fix in the pipelien for keyboard layout, and we are aware of the mouse wheel issue. Please file bugs for layout being off -- we know that this sometimes happens, but it's good to have testcases. As for embeds, that's not priority now, but we should eventually get them.
- vanderZwan 10y ago> A stand-alone copy of this page is available for use in other browsers to compare performance. Speaking of which, do you have any systematic benchmark testing set-up for comparing various performance aspects? If so, what are the numbers?
- Manishearth 10y agoWe have https://treeherder.allizom.org/perf.html#/graphs?timerange=2592000&series=%5Bservo,fa13b4451149bf7a5cc1361e22154f5165ec3734,1,8%5D&series=%5Bservo,1e657115c9bc80a8400875ebc0e0c97402899f67,1,8%5D&series=%5Bservo,0f0b217962ea5748c137d0c5927bd85c28ec2661,1,8%5D&series=%5Bservo,8bf74f1cf43a3628d242086847b2048444d1a55a,1,8%5D&series=%5Bservo,9241bc5d3b8170dcaa8efaa06c972fbae9334772,1,8%5D https://treeherder.allizom.org/perf.html#/graphs?timerange=2... It's not really ready for public consumption, just a dashboard for us to tell how we are doing.
- po1nter 10y agoDo you have an ETA for when the Windows version might be available for us to try?
- deleted 10y ago[deleted]
- stshine 10y agoThe Windows version is not availiable because mozjs the JavaScript engine, Or say, SpiderMonkey, fails to compile on windows currently, and servo developers can not know when it will be fixed. Once it can be build on windows, windows version may come out soon.
- metajack 10y agoThis is not true. Servo and Spidermonkey compile fine on windows using the mingw toolchain. For the MSVC toolchain we don't have that fully working, but obviously Spidermonkey is not the problem there since the official Firefox builds use MSVC. Mostly we have to fix the build glue. The Windows port didn't ship yesterday because of technical glitches post-install. Servo works fine, but after installation it had some strange behavior we couldn't track down in time. It should come in a few days.
- lisivka 10y agoWhy not to try Linux? It's free. It's made by developers and for developers. Try Fedora Linux.
- Aldo_MX 10y ago> It's made by system developers and for people comfortable with debugging low level issues like kernel panics caused by faulty drivers. Fixed that for you :P PS. It is considered bad etiquette to ignore the issues of a Windows user and simply "recommend Linux" in a tech community like this, especially when a Windows build has already been promised. You don't know the reasons why someone is using Windows (ex. because of a policy of their employer).
- pekk 10y ago> expect severe bugs, crashes, and missing functionality. I really don't mean this in a snarky way: wasn't this kind of thing supposed to be obviated by the switch to Rust? It often seems that every other post about Rust on HN says that if it compiles, it works.
- IanCal 10y agoNo language can fix missing functionality, that seems pretty clear. Your compiler doesn't know what you're trying to do, so you can't prevent all bugs. That leaves crashes, and ... well it may also depend on what you mean by a crash. The UI becomes unresponsive? Might have absolutely nothing to do with memory issues or even code written in rust. Maybe your rust code is fine but you're trying to open and write to the same file from two places which you don't realise because the users file system is case insensitive but you've only tested on a case sensitive one, etc. It's also multi-threaded and while languages can significantly help improve the safety of multi-threaded code, I don't think anything can stop you from creating a deadlock or putting your system into an inconsistent state. And finally, they may not even particularly expect those things, but putting out early nightly builds to a wider audience and expecting nothing to go wrong would be cavalier. A typical warning on many early releases is "don't blame me if this destroys all your files".
- Manishearth 10y agoBy crashes we mean panics. We still panic in various places in the code when something goes wrong.
- tinco 10y agoTo clarify, a panic in rust is the result of an unhandled exception. Usually this is due to laziness rather than a real bug. For example Servo might encounter an IMG tag, start to load the body. The result might be stored in an option because something could have gone wrong during loading (peer disconnected etc.) but the developer didn't feel like implementing robust image handling that day and instead called .expect to extract the image. This throws a panic and exits the application if the image is not there. This is just a hypothetical example, I bet image loading is one of the things Servo does fine. Just to give you an idea of when Rust might panic.
- epidemian 10y agoKudos on this milestone! A very general question: what's the high-level plan for Servo regarding Firefox? I see a lot of requests/issues dealing with stuff that doesn't seem related to a layout engine. Is the plan to have browser.html as a temporary incubator for Servo and eventually migrate it to replace FF's layout engine, or is it to "grow" an entire new browser around this new engine?
- Manishearth 10y agohttps://wiki.mozilla.org/Oxidation https://wiki.mozilla.org/Oxidation There are efforts to make various components work in Firefox. The largest effort is "Stylo", which replaces Firefox's selector matching with ours. I'm not sure what the future is on Firefox using Webrender or our layout; though I suspect it depends on how well stylo works. The plan seems to be to let Servo continue to evolve as a testbed for new ideas (like webrender), and share components with firefox whenever ready. An independent Servo product is not likely in the near future, since there's a lot of work to make it fully web compat. In the far future ... well, we can't tell :)
- Eridrus 10y agoI feel like mobile (Android, really) needs a fast, secure and extensible browser, I hope that Servo can help Firefox achieve those first two goals so that it could be my browser of choice
- Manishearth 10y agoServo is trying to be fast on mobile; there even has been some research work into the power efficiency of servo on mobile. Admittedly, android-specific efforts have slowed down in the past few months, but I believe it is still a goal :)
- Eridrus 10y agoGiven the fate of FirefoxOS and iOS' restrictions on browsers, is there any other mobile platform where Servo could actually be used?
- reddotX 10y agoany change of a snap or flatpak for linux?
- metajack 10y agoIt's not on the immediate agenda, but we'd cerrtainly accept a PR for this. We'll get to it ourselves eventually I'm sure.
- moosingin3space 10y agoI've started working on a flatpak.
- mkishi 10y agoAwesome work! I noticed that the Servo Nightly build is already about as big as Chrome or Firefox. As it's not yet a complete browser, I expected it to have a lighter executable. Do you know what lead to this? Is it a matter of build artifacts or optimization? Is Servo going to grow even larger while achieving feature-parity with other engines? It looks like Servo could be a great alternative for Chromium Content -- one of the things that keeps me from (ab)using Electron/NW/CEF is the massive initial overhead, and a WebRender-based UI with lower admittance price would change the whole scenario.
- outworlder 10y ago> I noticed that the Servo Nightly build is already about as big as Chrome or Firefox. Probably not apples to apples. I don't believe optimizing for executable size to be too high in their priority list.
- mjs 10y agoThe OS X binary isn't signed, and the download URL is HTTP. Is there a version available on a more secure distribution channel anywhere?
- marcusarmstrong 10y agoIf you git clone and compile from source [0], that should do the trick (In that it gets you an HTTPS download), I think. [0] https://github.com/browserhtml/browserhtml#building-and-running https://github.com/browserhtml/browserhtml#building-and-runn...
- Manishearth 10y agoWe're switching the download link over to HTTPS. Is there a reason the OSX binary needs to be signed? We don't do anything special. Edit: HTTPS up: https://servo-builds.s3.amazonaws.com/index.html https://servo-builds.s3.amazonaws.com/index.html (This comment written in Servo :P )
- voltagex_ 10y agoAFAIK recent OS X versions won't allow you to launch unsigned binaries by default. Windows 10 has a similar feature.
- paws 10y agoWhile Gatekeeper is on by default and the ability to adjust it has been restricted to command-line only in Sierra, it is still possible to disable it.
- voltagex_ 10y agoMozilla are lucky enough to be able to afford a code-signing certificate and I'm pretty sure their build process can be adjusted to sign binaries by default. It's unfortunate that a LetsEncrypt style project can't be done for code signing, due to malware/admin overhead.
- 10y ago
- anirudhan 10y agoCongratulations on the release. Running ./servo gives me this error. "./servo: error while loading shared libraries: libEGL.so.1: cannot open shared object file: No such file or directory" I guess it should be an easy fix. But if there are instructions to copy/paste that would really help. If someone has an answer, it would be great if you can please post it here. Edit 1: I think the problem is because I am trying to run it on ubuntu 14.04 server. Also I am using xming and putty x11 forwarding. I installed libegl using 'sudo apt-get install libegl1-mesa-dev'. Now I am getting a new error. Xlib: extension "XFree86-VidModeExtension" missing on display "localhost:12.0". thread 'main' panicked at 'Failed to create window.: NoAvailablePixelFormat', ../src/libcore/result.rs:785 note: Run with `RUST_BACKTRACE=1` for a backtrace. So I ran with RUST_BACKTRACE=1 and this is the stack trace. Xlib: extension "XFree86-VidModeExtension" missing on display "localhost:12.0". thread 'main' panicked at 'Failed to create window.: NoAvailablePixelFormat', ../src/libcore/result.rs:785 stack backtrace: 1: 0x55868358b56f - std::sys::backtrace::tracing::imp::write::h6528da8103c51ab9 2: 0x55868359319b - std::panicking::default_hook::_$u7b$$u7b$closure$u7d$$u7d$::hbe741a5cc3c49508 3: 0x558683592dff - std::panicking::default_hook::he0146e6a74621cb4 4: 0x558683471857 - util::panicking::initiate_panic_hook::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hc61828c8a9f6df01 5: 0x558683578dcc - std::panicking::rust_panic_with_hook::h983af77c1a2e581b 6: 0x5586835933e1 - std::panicking::begin_panic::he426e15a3766089a 7: 0x55868357a63a - std::panicking::begin_panic_fmt::hdddb415186c241e7 8: 0x55868359337e - rust_begin_unwind 9: 0x5586835c997f - core::panicking::panic_fmt::hf4e16cb7f0d41a25 10: 0x558681766ff0 - core::result::unwrap_failed::hd132ba2b7d75f379 11: 0x558681765df4 - glutin_app::window::Window::new::h750be0f1f60f008a 12: 0x558681764df0 - glutin_app::create_window::hae774cdda1762e66 13: 0x55868170df45 - servo::main::h6924e5658370f6b5 14: 0x558683592778 - std::panicking::try::call::h852b0d5f2eec25e4 15: 0x55868359d5db - __rust_try 16: 0x55868359d57e - __rust_maybe_catch_panic 17: 0x55868359221e - std::rt::lang_start::hfe4efe1fc39e4a30 18: 0x7fcc0d82eec4 - __libc_start_main 19: 0x55868170cf09 - <unknown> 20: 0x0 - <unknown> Edit 2: I am not sure if this discussion belongs here. Let me know if I should move this somewhere else.
- voltagex_ 10y agoWhat distro are you on? You'd have to look up what package provides libEGL.so.1 - it depends on your graphics driver and system architecture.
- themihai 10y agoNice UI, and it runs pretty fast! Is it possible to enable WebAssembly? (running the MacOS binary)
- pcwalton 10y agoNot at the moment. But watch this bug :) https://github.com/servo/servo/issues/9232 https://github.com/servo/servo/issues/9232
- dz0ny 10y agoCan we get rpi build, since you are advertising as browser for embedded use? :)
- Manishearth 10y ago"Embedding", not embedded. Embedding means that the engine can be used within other applications, the way WebKit is often used for webviews. I beleive Servo does work on a Pi, but probably not well.
- pcwalton 10y agoIn particular we haven't finished the GLES2 port of WebRender yet.
- shinglyu 10y agoSomeone may know the status better then I do. But a queick search shows here is a blocker: https://github.com/servo/servo/issues/11124 https://github.com/servo/servo/issues/11124
- johannh 10y agoCongrats! Please note that Servo is a work in progress that is still lacking some modern browser security features, so enjoy responsibly. See also https://github.com/servo/servo/labels/A-security https://github.com/servo/servo/labels/A-security
- cmrx64 10y agoComparing this to early Mozilla/Firefox's history, the point where nightlies become available is really huge. Congrats to the servo team!
- hitlin37 10y ago"Servo is a modern, high-performance browser engine being developed for application and embedded use." Is embedded devices one of the goals around Servo? Do Servo have any embedded specific design goals? I'm interested to know which parts in Servo targets to embedded use. I can see that page says Android builds are coming soon. i guess that explains it.
- cmrx64 10y agoEmbedded in the sense that you embed a browser in another application, I think? Maybe IVE (in-vehicle entertainment).
- mintplant 10y ago> Embedded in the sense that you embed a browser in another application Yes, this is it.
- hitlin37 10y agoah....the description is ambiguous then. Embed a browser in another application isn't very clear either. Is Servo like framework where devs can build apps on top (something on electron line). Or is it really about embedding browser inside your application. That one can do today with QT framework where you can embed a browser inside your application. But QT itself moved from Qt WebKit to Qt WebEngine. So, 'embed a browser' in your application sounds old to me.
- ZenoArrow 10y ago> "Embed a browser in another application isn't very clear either. Is Servo like framework where devs can build apps on top (something on electron line)." "Embed a browser in another application" is perfectly clear. Servo is designed so that it can be linked with other applications, and displayed within windows that the host application controls. WebKit is also embeddable in this way, but other browser engines are not as mature in this area. There was talk of Servo using the same API that WebKit uses for embedding, probably to help developers transition from WebKit to Servo: https://github.com/servo/servo/wiki/Version-0.1#embedding https://github.com/servo/servo/wiki/Version-0.1#embedding "The proposed plan is to use WebKit's API as a template or copy it completely."
- dz0ny 10y agoFreezes with github issues http://i.imgur.com/bcSOoxc.png http://i.imgur.com/bcSOoxc.png ERROR:js::rust: Error at https://assets-cdn.github.com/assets/frameworks-6fe6a7604ec4c2601272849e1b99a3a9aa12c79b3e25be0360f8d114768e7578.js:6:6359 https://assets-cdn.github.com/assets/frameworks-6fe6a7604ec4...: history is not defined
- Svip 10y agoWhen I run it, I first see a webpage loading then it suddenly disappears and the whole page becomes white. There is no UI, but when I hover over the white nothing, it appears as if the webpage is still underneath as the cursor behaves as it would if there were text and hyperlinks. I am on Ubuntu 14.04, by the way. Screenshot: http://i.imgur.com/ixQj4sI.png http://i.imgur.com/ixQj4sI.png
- daenney 10y agoIt seems Servo doesn't respect my keyboard layout. I use Colemak on macOS but when I go to type in google.com in the address bar I get t;;tuk.c;m.
- pcwalton 10y agoThis is pull request #11950. https://github.com/servo/servo/pull/11950 https://github.com/servo/servo/pull/11950
- daenney 10y agoAh, awesome. Thanks for finding it!
- Manishearth 10y agoThere's a fix in the pipeline https://github.com/servo/servo/pull/11950 https://github.com/servo/servo/pull/11950
- sdeframond 10y agoIs some HiDPI mode already available on Linux?
- metajack 10y agoI don't think we do autodetection yet aside from what Glutin already does (which is very basic). But you can put Servo into a HiDPI mode manually with the --device-pixel-ratio=2.0 argument, and you can supply whatever ratio you like. We do detect Retina on Mac and have system DPI awareness on Windows, so once we figure out what to do on Linux we can probably add it pretty easily.
- legulere 10y agoIt's already more nice than what I expected. Some really minor bugs that occurred while using it a bit (OS X 10.11): - Scrolling when already at the end of the page sometimes makes a relatively big instant step (noticed this for instance on the hackernews startpage) - The tabs aren't cropped in tab view: http://imgur.com/Q1Bxibo http://imgur.com/Q1Bxibo - Tabs don't keep at which point you have scrolled when switching tabs - After opening the address bar and clicking on the website again there's a short flicker.
- Manishearth 10y agoCould you file issues for all of these (preferably with secreenshots)? Thanks!
- legulere 10y agoReported all of them
- pimeys 10y agoIs there an article somewhere comparing how Servo and Chromium threaded compositing differ? I guess there is some work on Chromium side to render pages using multiple threads, but I couldn't find more information and how it compares to Servo's mechanism.
- reissbaker 10y agoThe compositing is very different: Servo does almost everything on the GPU in "retained mode" as opposed to "immediate mode," which is much faster and similar to how modern game engines work. There's a good talk here explaining it here: https://air.mozilla.org/bay-area-rust-meetup-february-2016/ https://air.mozilla.org/bay-area-rust-meetup-february-2016/
- metajack 10y agoWe're planning some more in depth blog posts on how Servo works, and this was already one of the topics I wanted to cover. The gist is that Servo runs most subsystems on separate threads (including sandboxed and cross origin iframes for example), and so each tab or page is not fighting over the same JS engine's time. On top of that, painting/compositing is combined in WebRender and is parallel as well.
- pcwalton 10y agoChromium doesn't have multithreaded layout, and restyle/layout/painting runs on the DOM ("main") thread. Retrofitting multithreaded, off-main-thread restyle/layout/painting onto an existing engine is an enormous undertaking, almost on the level of rewriting from scratch. This is much of the reason why Servo's rendering is from scratch, in fact.
- a012 10y agoIt doesn't display web page properly: https://i.imgur.com/VwBJqf7.png https://i.imgur.com/VwBJqf7.png
- Manishearth 10y agoCould you explain what's wrong in that image?
- a012 10y agoTexts were streched in Servo (right) compared to Firefox (left)
- Manishearth 10y agoAh, I see. I suspect that's just servo picking a different font on your machine. It works for me. We have some issues with choosing fonts IIRC.
- BHSPitMonkey 10y agoI think the text in the HN nav bar is meant to be vertically aligned, like the logo icon is.
- 56245623456 10y agoI started it and it worked, nice to see this progress! Two things though: 1. when I opened the tab sitebar clicking on a tab closed it. 2. I cannot reproduce this, but servo hung when i closed the window, it stayed open, but did not rerender on resize. Using gentoo with Xorg, running dwm as window manager.
- igozalishvili 10y ago1. That is intentional UX decision. 2. That is known bug, that hopefully will be fixed soon. https://github.com/servo/servo/issues/11937 https://github.com/servo/servo/issues/11937
- chenglou 10y agoIs the scrolling behavior on OS X custom implemented, just like on Firefox? Imo it hits the uncanny valley unfortunately, especially for edge bounce back. Otherwise, excited to try this out more.
- metajack 10y agoI think the browser.html team will be very interested in this feedback. I sat with them as they poured over Cocoa disassembly and source trying to replicate the behavior as best they could. We definitely have some things to improve. Because we are using our own rendering system to draw on the GPU, we can't use Apple's implementation of this stuff which requires buying into Core Graphics/Core Animation completely I believe. Note that I don't think Firefox has overscroll at all, except maybe on mobile.
- panic 10y agoIt's worth looking at WebKit's implementation: https://github.com/WebKit/webkit/blob/master/Source/WebCore/platform/cocoa/ScrollController.mm https://github.com/WebKit/webkit/blob/master/Source/WebCore/...
- pcwalton 10y agoThere are a couple of bugs around it, where the bounce back stutters a bit. Also, in general, we have the same physics as Mac OS X, but the constants are known to be a bit off. We'll need to tweak those.
- chenglou 10y agoOS X also has acceleration when you scroll enough. These are extremely useful on long lists.
- Benjamin_Dobell 10y agoLooking forward to using Servo one day, keep up the good work. First thing I noticed almost immediately after launching is that everything breaks when dragging the window across monitors (that have different densities) - OS X. I dragged from my Macbook's display to an external monitor with a lower DPI and everything went huge and most of the UI got cut off. Dragging back to the Macbook display does not resolve the issue and instead introduces some weird redraw flickering with garbage data. EDIT: Reported - https://github.com/servo/servo/issues/12009 https://github.com/servo/servo/issues/12009
- pcwalton 10y agoYeah, device-pixel-ratio is something that is set at app startup and isn't reloaded. We'll need to fix that. Thanks for the bug report!
- choosername 10y agoyou misunderstand if you think servo is scheduled for production and put peer pressure on the devs, but sure, firefox is great already, can only get better. Speaking of which, how are the memory requirements of servo, in relative terms, yet?
- Benjamin_Dobell 10y agoI don't know what you think you inferred, but please reread my comment carefully. I meant exactly what I wrote and nothing beyond that.
- reissbaker 10y agoIt's definitely slower to actually load pages — I'm guessing that there are still a lot of network optimizations that more mature codebases have accrued that Servo hasn't yet — but holy cow are pages buttery smooth once they do load (and even while they're loading, which is unusual). Comparing Chrome and Servo in terms of UI jank felt pretty shocking, in Servo's favor. Kudos, it looks like Rust and WebRender have paid off. Looking forward to seeing this evolve.
- Manishearth 10y agoYeah; we've mostly ignored the network stack. So there's some extra copying in the IPC, and no speculative parsing, which can slow things down, among other factors. Can be fixed, but priorities :)
- WasimBhai 10y agoI will absolutely love to contribute toward the network stack. Can you provide me any pointers?
- riskable 10y agoUsing pointers in rust is discouraged!
- kibwen 10y agoDo you have a reference for that claim? :)
- Manishearth 10y agoboxes kibwen
- Manishearth 10y agoWe have http://starters.servo.org/ http://starters.servo.org/, though there may not be network stack bugs right now. I have some more involved projects planned for the network stack that aren't yet ready to be picked up though. I suggest working on some bugs above, getting familiar, and then asking in IRC for something in the network stack.
- pilif 10y agoIt's amazing to see actual effort taking place to build a new browser engine from scratch. I would say that since the late 90ies, there hasn't been a single new engine being made. Everything we have now is a development based on KHTML, Gecko, Presto or Trident. By now, HTML and the standards surrounding it have become so big that starting from a blank slate nowadays is next to impossible. The existing engines have it much easier as they are allowed to grow with the spec, but a new engine has to do everything from scratch. This makes it even more impressive to see how far Servo is already (yes. I know - there's probably some overlap with some existing Mozilla code, but still). Huge congrats to everyone involved. We need unafraid visionaries like you people to actually move the web forward.
- RubyPinch 10y agoThere are some smaller groups that are working on their own engines (slowly but surely) https://gngr.info/ https://gngr.info/ comes to mind
- userbinator 10y agoThere's also Dillo and Netsurf.
- yellowapple 10y agoNot to mention the various terminal browsers, like lynx and links.
- nickpsecurity 10y agoIf interested in Java browsers, then you might like to check out one that had quite a bit of development. https://sourceforge.net/projects/xamj/ https://sourceforge.net/projects/xamj/ The main site is down due to dain issues. Googling will also give you a blog and Github. Their Cobra engine was Java IIRC. All that code might make a nice head start even if this project is dead or goes that way.
- _pmf_ 10y agoEdge is a new engine, too.
- melicerte 10y agoNow browsing HN with servo
- senthilnayagam 10y agolooks good, faced 2 issues,including one crash, have submitted tickets, already somebody responded to github issues that was quick.
- blablabla123 10y agoHow do you actually open the developer console? ;)
- metajack 10y agoIf you start servo with the devtools port on, you can use the Firefox tools to get a remote console. This may or may not be working well at the moment. The JS console.log stuff will get output to stdout or stderr when you run as well. There are discussions underway about how to bring in other tools, and how to get stuff like this into Servo or browser.html itself.
- blablabla123 10y agoThanks! I guess I can use this to get my project working on Servo... ;)
- deleted 10y ago[deleted]
- a_imho 10y agonot working at all ./runservo (as per instructions) thread 'main' panicked at 'Failed to create window.: OsError("GL context creation failed")', ../src/libcore/result.rs:785 note: Run with `RUST_BACKTRACE=1` for a backtrace. ./servo welcome to servo, than it changes to a white window Debian 8
- kaiha 10y agoMost likely this is due to your system only supporting OpenGL version < 3.0. I had the same problem. Replacing '-w' by '-c' in the 'runservo' script might fix your startup problem.
- ThePinion 10y agoThis worked for me on Ubuntu 15.10 x64
- metajack 10y agoWe've gotten several reports of this, and this is exactly why we wanted to get some wider testing. Hopefully we'll figure this out and get a patch in soon. In the meantime, the suggested workaround will get you going I think at the expense of some rendering performance.
- kaiha 10y agoDoes this mean that Webrender should also work with OpenGL < 3.0? That would be nice.
- salzig 10y agoI really hope the UI keeps being that simple. I like it a lot.
- eatonphil 10y agoJust opened up the MacOS build. It is pretty impressive! But the autocomplete is just awful. Typing in "http://localhost:3000" http://localhost:3000" at normal speed produced "http:///localhost:300000" http:///localhost:300000". Especially while it's in such a primitive developer-oriented state it would be much more useful to disable that silly autocomplete. Edit: Additionally, it doesn't yet support native keybindings like Command left-right or Alt left-right.
- publicfig 10y agoI doubt that there's going to be much effort into improving the HTML based browser that they're using as a shell to the engine outside of making sure you can go to a specific URL. Things like hotkeys and autocomplete are nice, but not really necessary for developing on Servo. I could be wrong on that though
- eatonphil 10y agoWell that's exactly the point (concerning autocomplete anyway). It would be nice to have if it worked... but right now it just gets in the way. And it's not even that relevant to the underlying engine, right?
- metajack 10y agoThe browser.html team works on the frontend, so they are very much interested in improving this. You're right that Servo devs themselves often use an even more stripped down test harness that you supply URLs to on the commandline, but that may change now that browser.html has gotten quite nice :)
- metajack 10y agoWe found some weird edge cases with autocomplete last night, but couldn't reproduce them well. If you have some time and can reproduce it, we'd love a bug report so we can try and figure it out.
- eatonphil 10y ago
- lisivka 10y agoDoes not work on Fedora 23 due to mismatched libraries: servo requires openssl 1.0.0, while Fedora 23 has 1.0.2h.
- watty 10y agoI like how a few comments up you're saying how harmful Windows is and implying how easy it is to run Linux and Servo and here you are complaining about mismatched libraries.
- lisivka 10y agoIt because Servo authors chose to not distribute libraries with Servo, and their chosen version is not same as mine. It's known as "DLL hell", because it frequently happens on Windows with DLL libraries.
- lisivka 10y agoIt's looks like you are misunderstood me. Linux is great for development. It's free. It's made by developers and for developers. It has lot of development tools integrated into OS. You can tweak, modify, and debug just anything, including kernel. It well documented and has full sources. If you want to help Servo developers, Linux is great choice. If you want to USE Servo, then you need to wait until developers will release version for your platform, because it is not ready for end users. It is sad that I need to explain that on Hacker News site.
- brson 10y agoCongratulations, servo team. This is an exciting milestone. Getting all these eyes on servo is going to accelerate development even more.
- deleted 10y ago[deleted]
- lewisl9029 10y agoCongrats on the release! Servo itself has been getting most of the attention in this thread, and rightfully so, but I just wanted to mention that I really love the progress the team has been making on the browser.html side as well! It's great to finally see a browser UI built from the ground up on top of standard web technologies and with first-class support for vertical tabs to boot!
- ksec 10y agoWhile there are still lot of work to be done on servo. I wonder if other browser engine be able to benefits from the research mozilla has done. Like Webkit / Blink. Or will this require some major rewrite?
- Manishearth 10y agoDepends on the architecture. But if the monolithic Firefox is trying to use servo components, I bet WebKit and Blink can too.
- taf2 10y agoI really the tab interface. Is there a chrome extension that does that to chrome?
- pslam 10y agoI know it's not the point, but having this publicly available in such a usable form - even with this bare minimum UI - is a huge milestone. A big barrier to adoption I hear from many potential users is, "Are there any big users of Rust yet? No? Why would we?" This answers that. Half jokingly, all you need now is an emscripten target, so it can be run inside a browser, and anyone can try it out without needing to install an app :)
- moosingin3space 10y ago> all you need now is an emscripten target The thing I love about the programming community is that even though that's clearly meant as a joke, someone'll make it happen, just to see if they can do it :)
- steveklabnik 10y agoYou can also point them at https://www.rust-lang.org/friends.html https://www.rust-lang.org/friends.html !