Thursday, May 9, 2013

Chromebook Pixel Effective resolution 1280x850

So I was in Best Buy, looking to pick up a Samsung Chromebook and the halo Chromebook Pixel was on display next to it.  The LCD panel has a 3:2 aspect ratio and native pixel resolution of 2560x1700. This outclasses the 13" Retina Macbook in terms of pixel density but still does not compare to the 15" Macbook Retina's range topping 2880x1800 resolution.

I was curious and glanced over and was a little disappointed when I checked the resolution.

It has a non-scaling effective resolution of 1280x850 !!!! This is comparable to a normal 13" Macbook Pro with slightly 50 more pixels in vertical space. Effective resolution is what the viewable display viewport will be. It basically sees the same viewport as a low end laptop but only with sharper text. You'll basically see the same number of email messages in GMAIL give or take 3-4 extra lines due to the extra 50 vertical pixels.

You can't scale the resolution in Chrome OS. Trust me. I did a lot of follow up research on this one.

Sure, you can zoom your browser, hitting CTRL ++ or CTRL-- to zoom in your web page. Thats it! Unfortunately, web page zooming doesn't always work because some web developers use fixed pixel layout. And with new responsive CSS design, things get all quirky when you zoom/resize.

Don't get me wrong, the screen is very impressive and Google did a good job at rendering fonts at 2:1.

Web page text will pop-out along with CSS styling like gradients. But that is it. Vector graphics can easily double in any direction. Rasterized graphics (bitmap) look pixelated. Since Chrome OS is only a browser, the browser's rendering engine is what is paramount. Bitmap graphics, unless they are served at a larger dimension, will look all pixellated. This problem exist for the Retina Macbook and iPads as well. However, many developers have added tweaks, frameworks, and libraries like retina.js that swap out low-res 72 dpi images for double 144 pixel HiDPI, hi-resolution alternatives. Apparently, the Chromebook Pixel hasn't been taking advantage of those. Many of the retina-fied sites I've visited on the Pixel didn't seem to look any better in terms of displaying bitmaps. That is mostly the fault of the web developers not keeping up. But still, I wonder how Google will address this. They seem to be moving away from Webkit and Safari extensions so I wonder how they treat Safari's @2x images coded on many websites now.

So basically, you have a small viewport (1280x850) with a fancy vector rendering engine; displaying beautiful text and that is pretty much it. Once you hit CTRL-ALT-T and go into the shell. You get the same low-rent browser console.

I've seen the Chromebook Pixel running native 2560x1700 using an alternative OS like Linux Mint. So, it is definitely not a hardware issue. Chrome OS needs to have sort of resolution scaling.

Note: Looks like Google engineers are looking into this. They may try to implement some sort of scaling feature. I hope this is the case.

Now compare the effective resolution you can see on a Retina Macbook Pro. You can see more than four times the real estate because you can run it natively if you want.

Below is a comparison. The Chrome browser pictured is 1280x800. 50 pixels short of what you see on a Chromebook Pixel. So line up four Chromebook Pixel with four different webpages. That is how much content you can fit in a 13" or 15" Macbook Pro Retina.

Like you see above, my Macbook Pro Retina running native 2880x1800. I can toggle from 1440x900, 1680x1050, 1920x1200, all the way up to 2880x1800.

Go into the terminal console (CTRL-ALT-T) on the Chromebook and now compare it to a fullscreen console on a Macbook Retina below. This is the man page view for nmap in a terminal.

I guess the only way to experience Chrome OS with a large desktop viewport with mammoth screen real estate is to run it on a Macintosh. How shameful! Like how people run hackintoshes, you can run a ChromeHackinbook.

You can download the raw Chromium OS image and patch it with an official Chrome OS build. Run wget; sudo bash 4suhf in developer mode on your hacked Chromebook or ChromeHackinbook. This will replace Hexxeh's Chromium OS with an official Google image of Chrome OS.

See below. Chromium OS /Chrome OS running 1920x1080 on my Mac. Get yourself a flushed microsd card and make a bootable Chrome OS boot sdcard. You'll basically get the same secured experience but on a 64GB card.

So did I end up buying the Samsung Chromebook next to it? Nope.

The screen was pretty horrible in terms of viewing angles. I didn't think nothing was worst than a Thinkpad X120E until now. The trackpad in the Samsung seem to wobble too much for me. The build quality is definitely under $300.

Still, if it was cheap enough, I would have taken the bait. However, Best Buy didn't want to sell any open box cheaper than their online store at $190. Even at $216, I figure the new quad-core one will be announced in a week or so for the same $250 current retail.


  1. If you want to experience the full resolution of the pixel's panel, size a web page to 50% and you'll see both graphics and text at the full panel's resolution. An easy way to see this for yourself is to use a dual-monitor setup. Put a browser window on the external monitor and size a website down to 50% (pick one that has both text and graphics). Then, drag the window over to the native display. Right as you let go of the window you'll see all the text and graphics change to high-res -- you're effectively seeing the web page at the native resolution of the panel at that point.

  2. Correction: You CAN scale the Chromebook Pixel. Kind-of-proof => -- I eventually just put Linux on it and never took an actual screen shot of the Pixel scaled to its native resolution.

    Anyway, here's how:
    Switch to dev mode and get a terminal with Ctrl+Alt+T, then type shell and sudo su to become root.
    /usr/share/vboot/bin/ --remove_rootfs_verification
    mount -o rw,remount /
    sed -i 's/$CHROME/$CHROME --force-device-scale-factor=1/g' /sbin/
    restart ui

  3. You don't need to be on a Mac to use the full effective resolution. You can change the dpi/scaling on-the-fly.

    You don't even have to go into the developer mode to use the standard/full scale factor. You can use Ctrl+Shift+Minus/Plus/Zero to change it real time. That includes having the full effective resolution.

  4. current versions of ChromeOS allow you to scale it all the way up to the full 2560*1700 resolution, but everything looks way too small on it. For ultimate sharpness, seems like an integer-divided value is your only option, so 1280*850 it is... :<