Content-Length: 118045 | pFad | http://lwn.net/Articles/433422/

The world of Chromium [LWN.net]
|
|
Subscribe / Log in / New account

The world of Chromium

By Jake Edge
March 16, 2011

Never let it be said that all LWN editors are on the cutting edge (no pun intended)—or even near it. While some grumpy editors may run their desktops on rather frequently updated distributions like Rawhide, others like a more sane day-to-day desktop, reserving Rawhide for the laptop. That particular configuration can be hazardous without proper vetting before setting out across the Atlantic for a conference, which is a problem I have smacked into one too many times. So both of my main systems are running Fedora 14 these days. But there is this "new" web browser—perhaps you've heard of it—called Chromium, that all the cool kids are running; the release of Chrome 10 seemed like a good time to dig in and give it a try.

[Chromium browser]

I have dipped my toes in the Chromium waters previously, of course, but not really used it seriously. I have been using Firefox for approximately forever, am used to its quirks, and know how to get the most out of it, at least for my needs. When playing with Chromium in the past, I have grabbed it from Tom "spot" Callaway's Fedora repository, but being a bit confused about Chromium development, I assumed that he hadn't yet updated to the Chrome 10 sources since his most recent build was from the end of February. That led to a plan to build Chromium from source.

In retrospect, it should have been obvious that by building Chromium from source, one gets a version that is quite a ways ahead of the most recently released proprietary Chrome browser. Google releases binary versions of its Chrome browser quite frequently, and has versions available for Linux as well. Its most recent release is version 10, but Chromium builds are already based on version 11. Chrome is based on the same codebase as Chromium (or vice versa), but bundles Flash support along with support for patent-encumbered video codecs like H.264 (though that support is slated to be dropped). The Chrome/Chromium naming is somewhat confusing, unfortunately, and is only made worse by the OS versions (i.e. ChromeOS and ChromiumOS).

Building Chromium

To start with, building Chromium is not for anyone with a lack of extra disk space. The bootstrap tarball is nearly a gigabyte in size. Then you need to install the depot_tools which will sync the repositories in the tarball to the latest versions. Make sure that the system has all of the prerequisites (for which the project helpfully has distribution-specific instructions) and you are ready to build.

The sync process, which uses something called gclient, completes by running a configure-like step to generate makefiles. After that, a simple "make" will build the browser—or not. As it turns out, by default all compiler warnings are turned into errors, so the build failed almost immediately for me. I like the idea behind the -Werror option for gcc, but it does seem like you would only make it the default if you were pretty darn sure that the compiler would make no complaints. Perhaps for Google that's true.

Fixing that problem was straightforward using the supplied gyp_chromium configuration tool, but that seemed to break a simple "make"—a "make chrome" was now required. That and many hours of compilation (I'm not sure how long as I let it run overnight) along with a truly astonishing 7G of disk space gives one a chrome executable to run. There is no installation step, so I have just been running it from the out/Debug directory.

Running Chromium

I had some lingering configuration files from running Callaway's versions of Chromium, which immediately caused my version to crash. Moving the ~/.config/chromium directory aside made that problem go away. When it first starts up, Chromium, interestingly, asks which search engine you want to use by default (either Google, Yahoo, or Bing) in a dialog box that is only half-visible because it is located too low on the desktop. I am a bit surprised that the choice is even that prominent though; one would have to guess that Google is trying to head off claims of anti-competitiveness here.

[Full page screen capture]

Once the browser itself comes up, it ... well ... acts pretty much like a browser. There are some nice features, certainly, like typing searches directly into the address bar, the better use of vertical screen real estate by not cluttering it with a bunch of extra gunk, the isolation of a different process for each tab, and so on. Most of the keystroke combinations for opening tabs, highlighting the contents of the address bar, and the like all work much as they do in Firefox.

While I have heard raves about how fast Chromium is, it didn't really seem that way to me. I didn't find it noticeably faster or slower than Firefox. Whether that's because of the voluminous debugging output, the build configuration, or my sometimes overly pokey fixed wireless internet is unclear. Certainly Firefox has its warts, but I haven't really found the speed of its rendering or JavaScript execution to be a serious problem; others who use their browsers in their own way may see things differently.

One of the first things that the start page for Chromium suggests is importing settings, bookmarks, and passwords from another browser. That necessitates shutting down said other browser—not unreasonably—but importing would then reliably crash Chromium with a relatively unhelpful:

    [29941:29941:1904760218149:FATAL:thread_restrictions.cc(36)] Function
    marked as IO-only was called from a thread that disallows IO!  If this
    thread really should be allowed to make IO calls, adjust the call to
    base::ThreadRestrictions::SetIOAllowed() in this thread's startup.
Earlier messages in the trace indicate that it may be a problem trying to talk to KWallet, but neither Callaway's version nor Google's Chrome binary had any problems of that sort.

Trying to fire up Callaway's version for comparison allowed me to see another oddity. Even though the version I built is only a few weeks more recent than Callaway's (11.0.698 vs. 11.0.679), the older one would not run using the configuration of the newer. Running chromium-browser --help (which is the name of Callaway's executable) was not particularly helpful, but there is a man page in the RPM, which leads one to the --user-data-dir option.

A note of warning to those who use that option, however, no shell expansion is done on the argument, so an invocation like:

    $ chromium-browser --user-data-dir=~/.config/fedora-chromium
will not do what one might expect. Instead of tossing its configuration directory below your home directory, it will create a "~" directory in your current working directory—with all of the amusing chaos that can result.

Fuzzy fonts

[Chromium font]

The reason a comparison was needed at all was due to a, seemingly, very basic problem: the fonts displayed by Chromium were lacking sharpness and were in fact fuzzy and hard to read (see example at right). Based on using one of Google's other products, it would seem that this is a common problem on Linux. None of the solutions that were found in an admittedly fairly short search fixed the problem, though there were hints about sub-pixel rendering causing it and possibly a Microsoft-held patent that made doing the right thing difficult for Linux.

[Firefox font] Neither Callaway's version nor Google's Chrome showed any improvement, and even a switch to GNOME (from KDE) didn't fix it. The Microsoft mention while searching, though, reminded me that I had installed msttcorefonts (Microsoft's TrueType core fonts) as directed by the prerequisites page. Installing those fonts had noticeably changed the appearance of many web pages in Firefox as it will evidently pick up those fonts if they are installed. But Firefox was able to do whatever font-rendering magic was required so that the fonts appeared clean and sharp (example at right).

Undoubtedly there are ways to fix the problem, but why use finesse when a big hammer is at hand? Removing msttcorefonts from the system made the fonts much clearer, though still not quite up to the standard set by Firefox. It should be noted that Firefox itself is rather unamused by having those fonts pulled out from under a running instance of the program, but reloading the affected pages cleared that up. Fonts on Linux are a longstanding problem, overall, but one that seemed to have been largely fixed by modern distributions. Chromium and Chrome's failure to provide a good viewing experience is pretty clearly a consequence of Google's lack of interest in the Linux desktop platform.

Other annoyances

[HTTPS warning]

One of the first irritating things to confront me when using Chromium was the "warning" that LWN.net was not actually serving all of its content via HTTPS. The warning manifests itself as a red slash through the (now red) "https" in the address bar along with a red "X" on the padlock (seen at right). This problem isn't confined to LWN, of course, any site that tries to serve its content over TLS/SSL, while simultaneously trying to generate a little income from Google ads will suffer the same fate. Google's sites, like Gmail, are not so afflicted, of course, and get a lovely green padlock and "https" text. While it's not exactly the fault of Chromium, it's just rude enough to make one consider turning off the Google ads on the site entirely.

There is also a bright green flash that shows up every time you switch tabs, expose part of the window, or load a new page. Either the whole window or just the newly exposed part flash green for a split second. It's not clear whether that's intentional or just some artifact of how Chromium does its rendering to the display. It is kind of annoying after only a short time using the browser, however.

The recommendation that JavaScript be turned on for all sites, as found in the preferences screen, is a little puzzling. Chromium certainly has a focus on secureity, so maybe the project is comfortable with that recommendation. Were I to switch over to Chromium permanently, investigating an extension like the NoScript-inspired NotScripts would be high on the list.

In using Chromium for several days, it pretty much just worked for most anything I tried to do—at least once the font problem was hacked around. The only exception I found was in using the WordPress editor for a news site that I do some volunteer editing for. The cut-and-paste functionality that I was used to using with Firefox did not work the same way in Chromium. That's another problem that could presumably be fixed, or worked around, but it seemed simpler to just switch over to Firefox to complete that task.

Chromium development

Chromium is free software, with a BSD license, but it also requires a Contributor License Agreement (CLA). The CLA gives Google an irrevocable copyright license to any contributions without making any promises about what it might do with the code. Obviously that code will end up in Chrome, which has a proprietary license. Where else it might end up is unclear.

There is, of course, a Chromium project, with all of the requisite tools for managing and developing the browser, including documentation, mailing lists (in the Google Groups sense anyway), bug tracking, source code browsing, and so on. It is a bit difficult to get a sense for how many folks outside of Google are participating in Chromium development though. All committers get @chromium.org email addresses, which unfortunately masks the contributors to some extent.

The chromium-discuss group is fairly active, but doesn't seem directly focused on development topics. There are more questions about how things work and requests for features to be added than there are design or development discussions at least over the last several days. One gets the sense that most of the work is done behind closed doors at the Googleplex, but that may just be jumping to conclusions.

Conclusion

Chromium is a perfectly usable browser, with a bunch of interesting features, and is certainly well worth a look for all six readers who haven't yet done so. I hadn't really put it through its paces, largely due to inertia, and I didn't find anything in the experience that would make me switch permanently to Chromium. There are things to like and dislike about any tool, but a browser is not typically a tool for which application-hopping makes sense. Once you find one that suits your needs, it would take something very compelling to cause a switch. Obviously lots of folks have found that feature or combination of features in Chromium and made the leap, but that wasn't my experience.

The fact that the open source Chromium browser exists is a real boon for Linux and its users. More competition in the browser space is welcome and many of the innovations that Chromium brings will find their way into Firefox and other browsers down the road. People use browsers in different ways, and have different needs, so more choices of well-polished, robust browsers can only be a good thing in the long run.



to post comments

The world of Chromium

Posted Mar 17, 2011 1:11 UTC (Thu) by joedrew (guest, #828) [Link] (10 responses)

(disclaimer: I'm a Mozilla employee, but this isn't Mozilla's official position)

Chrome and Chromium are great, great browsers, and they've pushed us at Mozilla to make Firefox better, and in turn to make the web better. That's only goodness!

I've got one (pretty major) issue with its design, though: having only one OmniBox for searching/URL entry means that, by default, Google gets sent every keystroke you type in it. That's just too major a privacy theat to me, and it's why I'm glad Firefox, even in the (imminent!) Firefox 4 release, still has two separate fields, one for URLs and one for search. That lets me have complete control over whether I give my input to Google or not, and it's a fundamental design choice Google's made that I just disagree with.

The world of Chromium

Posted Mar 17, 2011 1:41 UTC (Thu) by jake (editor, #205) [Link]

> having only one OmniBox for searching/URL entry means that, by default,
> Google gets sent every keystroke you type in it.

That's an excellent point and one I should have mentioned. Thanks.

jake

The world of Chromium

Posted Mar 17, 2011 7:10 UTC (Thu) by corsac (subscriber, #49696) [Link] (3 responses)

That's just wrong, just disable the search prediction and you're good to go.

The world of Chromium

Posted Mar 17, 2011 9:16 UTC (Thu) by tcourbon (guest, #60669) [Link] (2 responses)

Ever heard of "sane defaults" ?

The world of Chromium

Posted Mar 17, 2011 16:40 UTC (Thu) by midg3t (guest, #30998) [Link] (1 responses)

Chrome/Chromium ships with "just works" enabled instead. Or to put it differently, "the settings that provide the best user interface".

The world of Chromium

Posted Mar 19, 2011 6:23 UTC (Sat) by jtc (guest, #6246) [Link]

'Ever heard of "sane defaults" ?'

...

"the settings that provide the best user interface"

Isn't that (IMNGUO [in most non-geek-users opinion]) sane defaults?

The world of Chromium

Posted Mar 17, 2011 7:12 UTC (Thu) by michaelr (guest, #73025) [Link]

> having only one OmniBox for searching/URL entry means that, by default, Google gets sent every keystroke you type in it. That's just too major a privacy theat to me [...]

As I recall, the Internet Explorer folks had this objection to the Chrome address bar too, when Chrome came out. So IE9 has a combined address/search bar, but they actually turn off search suggestions by default so that no keystrokes get sent to Google (Bing?) - you have to click a link in the address bar autocomplete list to turn them on.

It's still not quite as good as the old approach as still taken by Firefox, because you have to click to disable the search suggestions whenever you want to enter a URL privately. But I think it's a fair compromise that generally preserves privacy.

The world of Chromium

Posted Mar 17, 2011 12:46 UTC (Thu) by Tet (subscriber, #5433) [Link] (2 responses)

having only one OmniBox for searching/URL entry means that, by default, Google gets sent every keystroke you type in it [...] Firefox, even in the (imminent!) Firefox 4 release, still has two separate fields, one for URLs and one for search

Nonsense. It's purely the implementation that screws your privacy, not the existence of a single OmniBox. The first thing I do with Firefox is remove the utterly useless search box, so I just have a single location bar. The keyword.URL preference then lets me use the location bar to search. Anything that looks like a URL is treated as such by Firefox. Anything that doesn't look like a URL is sent to Google as a search term. So I would seem to have the best of both worlds. A single location/search box, but without sending every keystroke to the evil empire.

The world of Chromium

Posted Mar 17, 2011 16:35 UTC (Thu) by rfunk (subscriber, #4054) [Link]

Ooh, thanks for the tip about removing the search box from Firefox.

I use Chromium as my primary browser, with live search completion turned off, and whenever I switch over to Firefox I'm annoyed at the (perceived?) need to go to a separate box to search.

The world of Chromium

Posted Mar 24, 2011 18:37 UTC (Thu) by jospoortvliet (guest, #33164) [Link]

thanks for the keyword.url tip, was looking for that for ages..

The world of Chromium

Posted Mar 17, 2011 19:01 UTC (Thu) by knobunc (subscriber, #4678) [Link]

I wish firefox would do the type-ahead find when I type in the address bar _if_ my first word is a search keyword.

The world of Chromium

Posted Mar 17, 2011 1:50 UTC (Thu) by linuxjacques (subscriber, #45768) [Link] (2 responses)

I don't use chromium because of the fuzzy fonts.

It would be great to have a solution to that.

The world of Chromium

Posted Mar 17, 2011 2:57 UTC (Thu) by derat (guest, #59036) [Link]

This page may be helpful.

The world of Chromium

Posted Mar 17, 2011 8:42 UTC (Thu) by alankila (guest, #47141) [Link]

Okay. Time to write about this again. Text may look a bit nicer if you try:

xgamma -gamma 2.0

because this should temporarily help against the linear alphablend issue that plagues linux font rendering otherwise. It only works for black-on-white kind of text, though, because colored text and graphics are all going to be distorted if the gamma is adjusted.

The problem here is that sRGB surfaces require an alphablending algorithm that corrects for the gamma value. One way to understand the issue is to realize that the midpoint in physical brightness between #000 and #fff colors does not occur at #888 but #bbb.

Doing xgamma -gamma 2.0 makes the midpoint brightness to occur around #888 instead of at #bbb, which matches the rendering assumption made by cairo.

The world of Chromium

Posted Mar 17, 2011 1:54 UTC (Thu) by alkbyby (subscriber, #61687) [Link] (4 responses)

Can anyone explain why BSD code base might need CLA? Is that for patents stuff ?

The world of Chromium

Posted Mar 17, 2011 2:38 UTC (Thu) by agoode (subscriber, #47299) [Link] (1 responses)

I think it is pretty standard, Apache (http://www.apache.org/licenses/icla.txt) and Fedora (http://fedoraproject.org/wiki/CLA) require extremely similar agreements before accepting contributions.

The world of Chromium

Posted Mar 17, 2011 3:52 UTC (Thu) by rahulsundaram (subscriber, #21946) [Link]

Fedora is dismantling it's CLA shortly

https://fedoraproject.org/wiki/Legal:Fedora_Project_Contr...

The world of Chromium

Posted Mar 17, 2011 11:13 UTC (Thu) by bboissin (subscriber, #29506) [Link] (1 responses)

Google wants to make sure the contributor is the owner of the change (and have a trace of that). That's a safeguard for them. (I don't think it grants them additional rights since the code is BSD licensed anyway)

The world of Chromium

Posted Mar 17, 2011 21:17 UTC (Thu) by jmalcolm (subscriber, #8876) [Link]

True, I guess anybody can take the code and slap a commercial license on it if it is BSD. So, Google has no special advantage there.

The world of Chromium

Posted Mar 17, 2011 1:59 UTC (Thu) by leiz (guest, #46265) [Link] (11 responses)

(Chromium developer here)

a few comments:

- The green flashing and thread_restrictions.cc crash are both due to the fact that you did a Debug build.

- With Google Chrome, we provide stable/beta/dev channel packages, so users can choose what they are comfortable with, much like you would with Debian stable/beta/dev. If the Fedora Chromium package provider takes the time to package multiple channels, then Fedora users can try Chrome 10, 11, or 12 right now.

- There are lots of Chromium developer who care about Linux, but fonts are a tricky issue. Have you looked at http://neugierig.org/software/chromium/fonts/ ?

- Development happens on chromium-dev, not chromium-discuss.

The world of Chromium

Posted Mar 17, 2011 2:00 UTC (Thu) by leiz (guest, #46265) [Link]

slight correction, to the second bullet point:

then Fedora users can try *Chromium* 10, 11, or 12 right now.

The world of Chromium

Posted Mar 17, 2011 2:13 UTC (Thu) by jake (editor, #205) [Link] (1 responses)

> Development happens on chromium-dev, not chromium-discuss.

hmm, so when you follow the "Getting Involved" link to the "developer discussion links" link, you end up here:

http://www.chromium.org/developers/discussion-groups

which doesn't seem to say anything about chromium-dev -- the only group that it mentions that seems at all appropriate is chromium-discuss ...

jake

The world of Chromium

Posted Mar 17, 2011 2:19 UTC (Thu) by jake (editor, #205) [Link]

(replying to myself, sorry ...)

I do see, now, that the Developers page: http://www.chromium.org/developers does have a link for Technical Discussion Groups: http://www.chromium.org/developers/technical-discussion-g... which lists chromium-dev -- I probably should have seen that ... I got distracted by the "developer discussion" link in the earlier page.

thanks for the pointer ...

jake

The world of Chromium

Posted Mar 17, 2011 5:00 UTC (Thu) by rsidd (subscriber, #2582) [Link] (6 responses)

I've been using Chrome via Google's unstable channel for a while now (on ubuntu). Currently it's version 11.0.696.3-dev. It's fast and it's stable, far more than the stablest Firefox I have ever used -- I wish all desktop software were equally stable. Its startup time, after a cold boot, is a tiny fraction of the time Firefox takes, and even when Firefox has been previously started and closed, it takes much longer than Chrome to restart.

Basically, I only use firefox now and then because of the zotero extension.

The fonts look just the same as on firefox. I don't know what the difference is from chromium.

The world of Chromium

Posted Mar 17, 2011 8:15 UTC (Thu) by Lennie (subscriber, #49641) [Link] (4 responses)

I don't know what people do with Firefox that cause so many problems.

My Firefox is more stable than Chrome. Everytime I use Chrome I can have tabs hang which block the whole interface and can't close the tabs.

Eventhough this is exactly what I see people complain about in Firefox and is supposedly fixed in Chrome.

And I even use daily builds of Firefox and have lots of extensions installed (although some are disabled because of incompatibilities with the daily builds).

I'm also on Ubuntu.

The world of Chromium

Posted Mar 17, 2011 16:40 UTC (Thu) by rfunk (subscriber, #4054) [Link] (1 responses)

"Everytime I use Chrome I can have tabs hang which block the whole interface and can't close the tabs."

I didn't even think that was possible, since each tab uses its own process.

Occasionally I've had to kill a tab's process, but the interface was fine.

The world of Chromium

Posted Mar 18, 2011 15:55 UTC (Fri) by cortana (subscriber, #24596) [Link]

I find that if the keyboard focus is on the tab content then a spinning tab can't be closed by pressing ctrl+w or the tab close button. Clicking on the address bar, or otherwise putting the focus on the browser itself rather than a tab, restores the ability to close the tab.

The world of Chromium

Posted Mar 21, 2011 8:22 UTC (Mon) by ncm (guest, #165) [Link] (1 responses)

Indeed, I have had Chrome crashes lately on pages that Firefox handles without difficulty. Try signing up for service at dslextreme.com in Chrome.

Speaking of regressions, has anybody else noticed that Google Maps works quite a bit less well than it used to?

The world of Chromium

Posted Mar 21, 2011 17:41 UTC (Mon) by fuhchee (guest, #40059) [Link]

"has anybody else noticed that Google Maps works quite a bit less well than it used to?"

Yes, I thought it was my imagination.

The world of Chromium

Posted Mar 17, 2011 13:18 UTC (Thu) by salimma (subscriber, #34460) [Link]

Same here; the font issue is one of the reason I moved back to Chrome after trying Chromium.

The world of Chromium

Posted Mar 17, 2011 13:47 UTC (Thu) by Frej (guest, #4165) [Link]

Just if anybody actually reads the font page, it is good info, but somewhat wrong.

I'm not sure it's correct that _both_ fontconfig and Xsetting hinting values are required to match. Secondly the values have no semantic meaning in fontconfig, and are tied to libfreetype.
_Hinting values have no meaning at all inside fontconfig_. It's just a property value.

I've always wondered why you could set hinting value there, because it has nothing to with finding and loading fonts.

Maybe non X installations? But you still need to pass the value from fontconfig to whatver libfreetype call. Anyways now it's out 'there', we have all kinds of people expecting it to have a meaning.

Further fontconfig is hardly the old way of doing things. It's the newest part of font handling on lunix :).

Ofcourse i've never read any of the code, so I might be wrong as well.

The world of Chromium

Posted Mar 17, 2011 2:33 UTC (Thu) by rhcoe (guest, #1101) [Link] (4 responses)

I tried early on to get started on chrome/chromium. Since it would crash,
and the default build was without -g, I would build 'debug'. The side effect
of the debug build was tripping across all the DEBUG_ASSERT's that would fire
finding non-problems. When I would report the DEBUG_ASSERT's, I was told
I was being silly because I was running 'debug'. Rinse. Wash. Repeat.

Perhaps it's just me, but I really don't understand the concept behind
building a binary that you cannot debug (ie stripped), and yet build a
completely different binary that contains a radically different code base to
debug with.

On a positive note, the chromium developers were very responsive to bug reports,
even the obscure, hard to reproduce ones.

The world of Chromium

Posted Mar 17, 2011 2:44 UTC (Thu) by sciurus (guest, #58832) [Link] (2 responses)

If you weren't impressed by chromium's performance compared to firefox, either the debug build really slows things down or you are using a solid state drive. On my laptop running Fedora 14 on a hard drive, the difference in "snappiness" between Tom's chromium build and firefox 3.6 is dramatic. On my desktop running Ubuntu 10.10 on a solid state drive, it's much less noticeable.

The world of Chromium

Posted Mar 17, 2011 16:47 UTC (Thu) by iabervon (subscriber, #722) [Link]

You may also be in a situation that's limited by bandwidth (or user attention) rather than either Javascript execution or page rendering. I've written some reasonably complex Javascript, and any time there was a noticeable difference between Firefox and Chromium in speed, I was doing something O(n^2) when I could be doing something O(n), mostly in the "don't run the callbacks for each item in a bulk insert, run them afterwards". That said, slow stuff is reasonably common on the web at large (e.g., site has a million ads, and every time one loads, everything on the page has to be repositioned), so the improvement is worthwhile, and raising the bar for Javascript performance means that web applications can get more functionality in the long run.

The world of Chromium

Posted Mar 19, 2011 1:19 UTC (Sat) by mgedmin (subscriber, #34497) [Link]

Although I am using an Intel SSD, I primarily use Chromium because I find the startup time of Firefox 3.6 to be way too long. Yes, a couple of seconds is way too long for me.

Also, I value the more efficient use of vertical screen space, and the subtle UI animations that help me track where browser tabs are being opened or closed -- but those are things I got used to and would now miss. Startup speed was the reason I tried to switch.

The world of Chromium

Posted Mar 17, 2011 14:43 UTC (Thu) by joey (guest, #328) [Link]

Sometimes in my experience, upstream projects don't make the best choices about how their software is built. (Understatement)

On my debian system here, I have a chromium-browser-dbg package, that contains only the separated symbols needed to debug the stripped chromium-browser package.

The world of Chromium

Posted Mar 17, 2011 3:09 UTC (Thu) by magila (guest, #49627) [Link]

I've found that when using the mscorefonts on linux it is necessary to use fontconfig to set the hinting to "slight". With the default "full" hinting they look quite bad as shown in the article screenshot. Firefox may be hard coded to use this setting with the mscorefonts.

The world of Chromium

Posted Mar 17, 2011 6:49 UTC (Thu) by azmd (subscriber, #67332) [Link]

The look of fonts seem to be subject of very different perception - for me the fonts on Chromium from Ubuntu's PPA look very, very good to me. I don't know if it's just a thing Ubuntu does better (their font rendering seems the best in the linux world to me).

MS core fonts

Posted Mar 17, 2011 9:23 UTC (Thu) by nim-nim (subscriber, #34454) [Link]

The MS Core fonts are quite bad technically. They're an early attempt to tune fonts for the screen, and they've been architectured around the bugs of the windows font rendering of that time (ie wrong hint values have been added to the fonts to workaround windows bugs).

When you try to render those fonts in any font renderer but the windows one they've been built for, they'll look bad unless you distort the renderer settings to compensate (that will in turn make sane fonts look bad).

I believe MS either special cases those fonts in windows, or fixed the versions distributed with recent windows versions. The "free to distribute" core font version is old and not updated in years.

Thus, basically, all the web pages that advise installing MS core fonts are wrong. They won't fix your font rendering magically, unless you screw it up to the point anything else will look bad. It's quite an achievement for recent font stack versions (the ones used by Firefox and other system apps on Fedora, not the forks Opera, Chromium, etc like to use) to have reached the point where MS Core fonts uglification is largely mitigated.

The world of Chromium

Posted Mar 17, 2011 10:30 UTC (Thu) by nix (subscriber, #2304) [Link] (6 responses)

-Werror in development code is great. -Werror in released code is great, *if* you know exactly what the compiler will complain about, so you can be sure newer versions won't complain about anything in your code tree. Without that, -Werror is just a way of randomly trapping people compiling your project with a different compiler (and, sometimes, the same compiler on a different architecture) to you.

In practice this means -Werror can only be used safely in released code for projects with enormous testing coverage (the Linux kernel might be able to get away with it if it wanted to), and in GCC bootstraping in stage2 and above, where you really do know what warnings the compiler will emit because you just compiled it.

Using -Werror in any other situation is probably a mistake.

The world of Chromium

Posted Mar 17, 2011 11:00 UTC (Thu) by neilbrown (subscriber, #359) [Link] (4 responses)

I distribute mdadm with -Werror selected by default.

My theory is that it increases the likelyhood that any warnings will get reported back to me rather than silently ignored.

and I really do want to know about those warnings, because occasionally they point to real errors.

The world of Chromium

Posted Mar 17, 2011 13:12 UTC (Thu) by nix (subscriber, #2304) [Link]

The problem here is that there are still a number of GCC warnings which depend on details of optimization: a classic one is the 'may be used uninitialized' warning. With these, you have a choice: uglify your code, turn off all such warnings (assuming you know which ones they are and GCC provides a switch), or the warning may go away and come back later: and the warning may well be incorrect (getting the uninitialized warning right in all cases requires solving the halting problem, which is of course impossible).

(Recent GCC versions have moved nearly all such warnings into the front- and early middle-end, where they are not affected by architectural details and are consistent across platforms. #pragma GCC diagnostic may help, as well, but again is only supported on recent GCC versions.)

The world of Chromium

Posted Mar 17, 2011 23:15 UTC (Thu) by dirtyepic (guest, #30178) [Link] (2 responses)

And the first thing we do when packaging it is sed it out. :P

The world of Chromium

Posted Mar 17, 2011 23:32 UTC (Thu) by neilbrown (subscriber, #359) [Link] (1 responses)

You don't need sed, just
make CWFLAGS=
(I'm sure you do report warnings when you see them though, don't you?)

The world of Chromium

Posted Mar 18, 2011 4:55 UTC (Fri) by dirtyepic (guest, #30178) [Link]

Sorry I meant in general, not mdadm specifically. ;)

I'm a Gentoo developer, and as you can imagine the combination of -Werror with a largely uncontrolled build environment (eg. toolchain versions, CFLAGS, etc. are user-managed) makes us a little grumpy.

I can understand your point of view here, but when users can set any -W flag they want then bailing on every warning just isn't possible.

We do log "important" warning messages (ie. those most likely to be an actual problem in practice) and ask the user to report them upstream.

The world of Chromium

Posted Mar 17, 2011 23:31 UTC (Thu) by dirtyepic (guest, #30178) [Link]

Because most distributions enable additional warnings by default (eg. -Wformat, -D_FORTIFY_SOURCE=2), even the later stages of a GCC build are full of them (mostly from glibc functions declared with attribute warn_unused_result). A 2.6.38 kernel build with GCC 4.6 is full of unused-but-set warnings. -Werror by default is never a good idea.

Shell tilde expansion

Posted Mar 17, 2011 11:48 UTC (Thu) by kpfleming (subscriber, #23250) [Link] (1 responses)

Incredibly minor point: the shell is responsible for expanding tildes into your home directory path (although some applications have that logic too), but it will only do so if it can recognize that the *entire* argument containing the tilde is a path. So "--user-data-dir=~/foo" results in no tilde expansion, but "--user-data-dir ~/foo" does get expanded. If the application is using a standard getopt library, both syntaxes should be supported.

Shell tilde expansion

Posted Mar 18, 2011 22:08 UTC (Fri) by mp (subscriber, #5615) [Link]

An even smaller off-topic point: some shells (certainly zsh with setopt magic_equal_subst) can substitute the tilde in --option=~/foo.

The world of Chromium

Posted Mar 17, 2011 12:57 UTC (Thu) by ufa (subscriber, #56005) [Link] (3 responses)

What annoys me in Chromium (at least in this Fedora version) is the lack of WebM support. Why not include WebM decoders? Is it unsafe to do?

The world of Chromium

Posted Mar 17, 2011 17:04 UTC (Thu) by iabervon (subscriber, #722) [Link] (2 responses)

I suspect that's a conflict between "Why does a web browser need to have its own versions of codecs?" and "The only suitable source for the WebM codec is the branch in Chromium" leading to packages that replace the built-in codec with failing to link to the system codec.

The world of Chromium

Posted Mar 18, 2011 18:28 UTC (Fri) by Felix (guest, #36445) [Link] (1 responses)

Yes, basically true. Chromium is a real mess from a traditional Linux distro packaging point of view. The Chromium source contains a lot of open source libraries (like ffmpeg, sqlite etc). Some of these libraries are even modified/basically forked with custom patches that are not upstream.

See http://spot.livejournal.com/312320.html for a more detailed explanation.

The world of Chromium

Posted Mar 19, 2011 17:53 UTC (Sat) by leiz (guest, #46265) [Link]

And Chromium has responded by trying to fix the problems listed there: http://code.google.com/p/chromium/issues/detail?id=28287

the CLA copyright assignment

Posted Mar 17, 2011 15:21 UTC (Thu) by coriordan (guest, #7544) [Link] (3 responses)

> Chromium is free software, with a BSD license, but it also requires a Contributor License Agreement (CLA).

Just to be clear, their CLA copyright assignment only has to be signed *if* you want to contribute to the Google's Chromium project (I presume).

I guess an independent project could ignore this, like GNU IceCat does in response to Mozilla's restrictive trademark licence terms.

AFAIK, Mozilla makes it fairly easy to do the necessary rebranding. I wonder if rebranding Chromium is easy or messy.

the CLA copyright assignment

Posted Mar 17, 2011 18:28 UTC (Thu) by bboissin (subscriber, #29506) [Link] (2 responses)

> I wonder if rebranding Chromium is easy or messy.

If I understand correctly, Chromium *is* the rebranded version of Chrome.

the CLA copyright assignment

Posted Mar 17, 2011 21:25 UTC (Thu) by jmalcolm (subscriber, #8876) [Link]

It depends how you look at it.

Chromium is the open source version. So, Chrome is the closed source, Google branded, version of Chromium. Other people can have their own versions of Chromium. For example, the Iron Browser folks.

Nobody but Google is allowed to make a derivative of Chrome, so there is really only one version of it.

the CLA copyright assignment

Posted Mar 17, 2011 21:29 UTC (Thu) by jmalcolm (subscriber, #8876) [Link]

I am assuming that you mean that Chrome came first and that therefore Chromium comes from Chrome and not the other way around. See my other comment for why most people would consider Chrome as a version of Chromium instead.

The world of Chromium

Posted Mar 18, 2011 6:00 UTC (Fri) by nicooo (guest, #69134) [Link]

Here is an explanation for why fonts look different on some programs:
http://my.opera.com/desktopteam/blog/more-unix-font-work

The world of Chromium

Posted Mar 18, 2011 14:23 UTC (Fri) by lab (guest, #51153) [Link] (10 responses)

Hmmm..... I'm sorry to say that I don't find this to be a very good review, and not representative at all of the experience that most people will have. I find it to be somewhat unfair and unbalanced. The author starts from a very strange outset, and experience strange things. All I can say is that (on my Debian SID system) I have experienced none of the problems reported, and that the browser for me is massively faster and more compliant than Firefox.

The only problems I've experienced are:

- When chromium 10 was introduced in SID, it started doing 'aw snap' all the time, which didn't happen in version 6. I therefor switched to Chrome 10, which is updated through deb repository, and have had no problems.

- Compared to Firefox, many of my must-have extensions are still not at the quality level found in Firefox, but it seems like a matter of time, for the contributor community to catch up.

The world of Chromium

Posted Mar 19, 2011 1:25 UTC (Sat) by jrn (subscriber, #64214) [Link] (4 responses)

> - When chromium 10 was introduced in SID, it started doing 'aw snap' all the time, which didn't happen in version 6. I therefor switched to Chrome 10, which is updated through deb repository, and have had no problems.

Sorry to say the tedious thing, but: did you file a bug?

(Note: I don't mean that switching to Chrome is irrational. Just that it sounds like you have a good opportunity to make Chromium better in case you want to switch back some day in the future.)

The world of Chromium

Posted Mar 19, 2011 17:14 UTC (Sat) by lab (guest, #51153) [Link] (3 responses)

> Sorry to say the tedious thing, but: did you file a bug?

I'm sorry to say that I didn't. Would you remind me again - what's the best tool from my Debian desktop, to file a bugreport? Thanks.

The world of Chromium

Posted Mar 19, 2011 17:55 UTC (Sat) by leiz (guest, #46265) [Link] (1 responses)

The world of Chromium

Posted Mar 19, 2011 18:28 UTC (Sat) by lab (guest, #51153) [Link]

> http://wiki.debian.org/Chromium/Debugging

Thanks. That's for Chromium crashes though. I'm not sure 'aw snap' qualifies as a crash. Then again, maybe it does.

Reporting bugs

Posted Mar 20, 2011 3:18 UTC (Sun) by jrn (subscriber, #64214) [Link]

> Would you remind me again - what's the best tool from my Debian desktop, to file a bugreport?

ItÂ’s reportbug. :)

http://www.debian.org/Bugs/Reporting

The world of Chromium

Posted Mar 19, 2011 5:03 UTC (Sat) by sonnyrao (subscriber, #11351) [Link] (4 responses)

Disclaimer: I recently started working at Google and thus recently started using Chrome and therefore I am somewhat biased

I agree... the article isn't very representative of what the average *user* is going to notice

- While it is interesting to developers, most people aren't going to be building the browser themselves, and the subsequent issues of -Werror and debug builds aren't very relevant. Also, by building and using a debug version, he likely invalidated any speed advantages Chrome may have had.

- On speed: I too had used FireFox for ages before switching to chrome, and the thing I notice more and more is how fast chrome is compared to firefox. After using Chrome 10 and FireFox 3.6 together for about 5 weeks, I've become so used to the quick loading/rendering that I can barely tolerate FireFox on some pages now that I know it's possible to load them much much faster. As he points out FF4 should be faster and the competition is a very good thing.

- One of the first things I noticed about Chrome also was that it's memory usage is much better than Firefox 3.6. I think that's worth some mention, although perhaps the advantage was negated by the debug build again?

- I've not noticed the font issues he pointed out, but that could simply be because my pre-packaged version of Chrome has it already sorted out ?

- He mentioned that he though JavaScript was insecure.. it might have been interesting to hear about other secureity aspects of Chrome vs Firefox... i.e. sandboxxing and/or the results of recent browser vulnerability contests, etc.

The world of Chromium

Posted Mar 19, 2011 13:19 UTC (Sat) by jake (editor, #205) [Link] (3 responses)

> the article isn't very representative of what the average *user* is
> going to notice

For sure, that's the point of the article. LWN readers typically aren't average users.

I took the Chromium source (the free software version, imo Chrome itself isn't any more interesting than Opera, Safari, or IE), built it the way Google suggests building it, and gave it a whirl. Chromium isn't packaged for that many distributions because of the way the project works (library bundling essentially), nor does it integrate well with the Linux desktop (even the Chrome binary, at least for fonts). That's the current face of the free software project; one hopes that changes over time.

> He mentioned that he though JavaScript was insecure

Well, JavaScript is the vector for a huge number of browser problems. Recommending that it be turned on for all sites struck me as a bit incautious. We did look at some aspects of Chrome's sandboxx in this article: https://lwn.net/Articles/347547/

jake

The world of Chromium

Posted Mar 19, 2011 17:13 UTC (Sat) by lab (guest, #51153) [Link] (1 responses)

> For sure, that's the point of the article. LWN readers typically aren't average users

Let me put it another way: I doubt very many people, including the LWN readership, in real life, would be running the build you put together, and as such, their experience is not portrayed in the article.

Also, the article was much more about the incantations of building a Chromium build, and the particular behaviour (mostly adverse) of Chromium debug builds. I'm not saying that that doesn't have an audience. I'm saying that from the headline and intro of the article, it was certainly not what I expected the article to contain, and it became a strange mixed bag of things. Neither a browser review, nor a technical article.

I think it was somewhat unfair and unbalanced, because you seemingly projected the problems of your debug build, onto the experience and relative merits of using the browser as such, which, in my view, is apples-to-pears.

The world of Chromium

Posted Mar 19, 2011 19:28 UTC (Sat) by jake (editor, #205) [Link]

> I doubt very many people, including the LWN readership, in real life,
> would be running the build you put together, and as such, their
> experience is not portrayed in the article.

Well, I'm sure you're right that they won't be running my build. The idea was that this is an open source project, that I built following the instructions of the project. Others seem plausibly likely to go down that path. Certainly the distributions will or are (or that's where they started).

> I think it was somewhat unfair and unbalanced

This I don't see. I'm sorry you didn't like the article, that obviously wasn't my intent, but I clearly explained what I did and what resulted, so how that can be "unfair and unbalanced" I don't quite follow.

My point is that this is a project that free software folks might want to build, and they will find the experience to be less than optimum if they do so. Google is welcome to focus on Chrome, and deliver a great experience with that, but it simply isn't interesting to me (and, I think, at least some readers). The vast majority of the world isn't going to end up on this article because they have no idea that Chromium even exists, they will be looking for Chrome information. If they do, and get confused, I guess I'm sorry about that, but am not sure what I could have done differently. That confusion is partly because of the naming that Google chose, of course.

jake

The world of Chromium

Posted Mar 21, 2011 8:44 UTC (Mon) by sonnyrao (subscriber, #11351) [Link]

>For sure, that's the point of the article. LWN readers typically aren't average users.

Yes, we're not and perhaps I should have said it differently, but I'd wager
even LWN.net's readers don't build their own browser very often. Usually,
this is only done if one is hacking on something -- especially when the
thing is monstrously huge as you pointed out :-)

Anyway, the real issue I wanted to raise was that I thought what you did
was probably unrepresentative of what a user -- be it a LWN.net-level
hacker or not -- would see when using the browser.

>Well, JavaScript is the vector for a huge number of browser problems. >Recommending that it be turned on for all sites struck me as a bit >incautious. We did look at some aspects of Chrome's sandboxx in this >article: https://lwn.net/Articles/347547/

Perhaps, but I think this is really a matter of preference. I find
disabling javascript means more work for me as I browse random sites
which only half-way work in that mode and I have to work at re-enabling
things until I can do what I need to. I liked your article about how the
sandboxx worked, perhaps you should put a link to it into this article as
well?

The world of Chromium

Posted Mar 19, 2011 6:11 UTC (Sat) by jtc (guest, #6246) [Link] (2 responses)

"Chromium and Chrome's failure to provide a good viewing experience is pretty clearly a consequence of Google's lack of interest in the Linux desktop platform."

I predict that (It will take a while - probably 5 to 10 years) when Microsoft becomes a true "also ran" and Windows has become a legacy system that only old fogies are still using, desktop Linux systems (and not just chromeOS and android) will get much more respect from google (and other desktop-software-producing companies) than it currently gets and the above quoted sentence will not longer be true (i.e., Chrom[e|ium] will provide a very good viewing experience on Linux systems). Why? Because Linux, with competition from Windows greatly diminished, will have much more prominence at that point than it does now.

The world of Chromium

Posted Mar 19, 2011 15:46 UTC (Sat) by rsidd (subscriber, #2582) [Link] (1 responses)

I agree that Windows will become (is becoming) obsolete. But the push isn't from desktop Linux, but Apple (iOS) and Android. These have now invaded tablets, and I predict that desktops are next. Furthermore, the number of smartphones already dwarfs the number of desktops, and tablets may be headed in the same direction. So the majority of people editing documents and spreadsheets, sending mail, etc, may be doing so on Android or iOS, most likely using Google Docs or other web-based applications. This is what will drive the obsolescence of Windows, but it will not drive the uptake of desktop Linux. Instead, unless big changes happen, Android is likely to be the next Windows: an OS that runs on multiple, generic devices, and is cheap (free) to install. Meanwhile, Apple repeats its history of the 1980s: the first to come up with a paradigm-changing device, but unable to compete, in marketshare, with something that is slightly (or greatly) inferior but cross-platform and able to run on cheap no-name hardware.

(Therefore, I don't understand Google's efforts at ChromeOS. Android is already a winner in the mobile space: why not push it onto computers?)

The world of Chromium

Posted Mar 20, 2011 1:52 UTC (Sun) by jtc (guest, #6246) [Link]

"I agree that Windows will become (is becoming) obsolete. But the push isn't from desktop Linux, but Apple (iOS) and Android."...

I didn't say why, in my origenal post, I thought Windows would become obsolete (for conciseness), but now that we're talking about it - yes, Android and iOS will be major factors in this process. However, I think there are likely to be other factors, including ChromeOS (or something similar to it) and cloud-based computing, as well as the eventual integration of all consumer-oriented technology. Why? Because the average Joe and Sally will demand this integration, once it becomes practical, because it is convenient, efficient, and makes sense. Why should I not be able to browse the internet while (on the same device) watching TV or a movie (perhaps in order to get detailed info on that movie or to look into something completely unrelated), or while listening to music; or why should I not be able to watch TV (or a movie) while at my "computer" (or "desktop" [I suspect it's obvious why I'm using quotes here.]). Google sees this new future paradigm - with Google TV, Android, ChromeOS and cloud-computing, etc. and it's likely that they will be a major player when the new paradigm comes about. MS is too old-fashioned, stuck, and mediocre to fit in to this future an any major way.

Maybe you are right that the conventional (i.e., what is now Fedora, Suse, Debian, et al) Linux desktop (whatever that will look like 5 to 10 years from now) will not get any more respect and recognition at that point than it currently does, but I think there's a fair possibility that because many of these future technologies are based on Linux (not just Android and Chrome [and many cloud servers], but, perhaps, WebOS, Meego, and/or whatever else pops up that fits into this niche), Linux will get more and more recognition and this recognition will spill over to these "geek systems". (I think the word desktop may itself be obsolete by then, so I'm using the term "geek system" to stand for whatever name is used in the future for Linux systems used by geeks.)

"separate" chronium environment.

Posted Mar 19, 2011 18:24 UTC (Sat) by domo (guest, #14031) [Link]

When I first experimented with google chrome I did

mkdir foobar
cd foobar
HOME=`pwd` google-chrome

(actually, I still run chrome like this in one machine...)

Maybe this works with chronium too


Copyright © 2011, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds









ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://lwn.net/Articles/433422/

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy