Webkit browsers on their way to Linux but not there yet

April 18, 2009 at 3:53 pm (Linux)

Firefox really shocked up the browser wars when it released version 3.0. The more I use it the more I realize what a great browser it is. When Firefox first released 3.0 it was full-steam ahead. Soon we heard about a new javascript engine and it seemed like 3.1 would be just on the horizon. Then something happened and the Firefox locomotive haltingly put it’s breaks on. 3.1 was delayed indefinitely and a horrible exploit bug was discovered. Firefox also stopped working the my hotmail account (probably more a problem with hotmail). While Firefox gets things back on track, I decided it was a good time to try the new web browser rendering engine Webkit.

Webkit in General

Webkit is a rendering engine based on KHTML (KHTML is KDE’s Konquerer’s rendering engine) that has been radically modified by Apple for their web browser Safari. Because Webkit has received a good amount of development it will probably replace KHTML in KDE soon.

Rekonq

Rekonq is an effort to replace KHTML with Webkit in Konquerer. One of the first things you’ll notice about Webkit is that it renders pages really fast. This could be because that it’s new but from my tests Webkit seems to be able to render anything that Firefox can. Not only that but Webkit renders web pages beautifully.

Still in it’s early stages, Rekonq doesn’t add many configurations yet: saved passwords, minimum font size, saved tabs… And with qt’s version of Webkit redirects dont’ work yet.

Arora

Arora has been in development longer than Rekonq and has a few more configurations. It includes privacy settings, tab session savings, proxy…

Arora’s a good browser that’s coming along nicely. If I were to gripe about anything of Arora is that it does a big no by forcing a default font so that web pages just don’t look the way they should.

Chromium

Googles’ new browser Chrome also uses Webkit but was originally designed for Windows. Thankfully though Google had the good graces to open-source the project and very early Linux builds are being made. I didn’t get a chance to try Chromium yet. As development has centered on developing Chrome 32 bit no version is available for my 64 bit machine. And it looks like I may not being trying Chromium soon either as developing a 64 bit version will require mounting some pretty big bumps. I did try cxchromium though (an altered version of Chrome design to run under wine) and I did get an idea what they are trying to do. I like the modular tabs that seperate different webpages and http boxes nicely. Also I like all-in-one http box that can be used for searchs, previously visited sites, and bookmarks.

Update: thinkMoult Has a good guide on Chromium and has found a way to run Chromium on 64 bit systems.

Midori

Midori I’m going to label as the current champ of Linux Webkit browsers. It’s able to save tabs, has a minimum font size setting, works with flash nicely, and has the ability to page zoom. Midori uses GTK and appears to be progressing nicely:

Midori may be the first real Firefox alternative in Linux. Hopefully they’ll fix the same error that Arora makes by forcing a default font.

Epiphany

Awhile back Epiphany made the committment to switch from Gecko (Firefox’s default rendering engine) to Webkit. Unfortunately development has been slow and didn’t make it into Gnome 2.26. Looking at the newest version though it looks about ready.

Epiphany updated it’s http box too to behave more like Firefox’s awesome bar does and it’s a nice touch. Again this browser forces a default font and configurability is limited. Epiphany though for the most part runs great on lower-end machines.

Leader of the Pack

I thought about switching to another web browser because i use KDE and would just prefer it that way. I can say that I was pretty close. From my tests Webkit could render anything Firefox did as good or better. And flash worked good with all of them for the most part. None of these browsers though recognized the java plugin. While I’m sure there’s a hack out there, I didn’t really want make a hack and try to remember how to erase it later. Mostly why I didn’t leave Firefox is that there are some great things about Firefox that are hard to leave behind. First, the awesome bar is well…awesome. Not only can I find previously viewed webpages easily, but also I can find webpages that I visited long ago plus the awesome bar does it quickly. I also find that I use web page zooming in Firefox quite a bit. Just because how some web pages choose their font sizes, reading a long article with small fonts can be a strain on the eye. Firefox not only zooms the entire page but it also remembers the settings so that next time I go back there I don’t have to do it again.

No I don’t think I’ll be migrating away from Firefox anytime soon but I don’t think a good Webkit browser is too far off on the horizon.</p

Permalink 4 Comments

Desktop… Phht

April 16, 2009 at 1:02 pm (Linux)

I don’t post screenshots usually because they just don’t get my attention. If i’m able to get things done then it doesn’t matter if i’m with AIG or on Gilligan’s Island. On my desktop, I don’t have fancy spinning-cubes, fire-drawing cursors, or wallpapers that leave a negative image floating on the back of my retina. What i do got is a desktop that would hopefully make Bender’s God happy :) :

Details:

Permalink Leave a Comment

Mplayer with DVDs

April 10, 2009 at 12:06 pm (Linux)

There are plenty of movie players for Linux but my all time favorite is MPlayer. Not only is MPlayer quick and responsive but it can play almost anything. I’ve used MPlayer before but I realized that my movies weren’t playing just as I wanted them too – no menu support, picture quality wasn’t as I expected. If you’d like to play DVD’s with player, here’s a guide that can show you how to get good functional DVD player.

Calibrating Display

Presentation is a large part of a good movie experience. Movie companies and movie theaters put a good deal of consideration over how a movie looks and sounds. THX for example became a standard in the movie industry defining such. Therefore, how your display looks also will represent the quality of the movie you play with MPlayer. There are a couple things you can do to create good picture quality on your monitor but first a quick bit on colorschemes.

Windows and Mac OS both have built in colorschemes (also known as ICC profiling). Colorschemes define such things for the display as color balance and gamma. Linux by default does not have any colorschemes defined. Often new users will report that their display when first installed looks “too bright”. There is no way to define a colorscheme in Linux but most of this “too bright” reporting is because of gamma and there is something you can do about that.

A good program to discover the proper gamma for Linux is to use a program called Monica. Use monica to calibrate your gamma. Calibrating Monica you’ll notice the whole display will change. Ignore this and just be sure your red, green, and blue gammas are set ok. When this is done, Monica will display an option to have Monica load at desktop startup. This can be done but it’s better to have the X server know the settings directly because if you play games (for instance) your gamma will be reset. The X server can be made aware of the gamma in the “/etc/X11/xorg” file. For example:

Section "Monitor"
    Identifier     "Monitor0"
    Gamma           0.86 0.85 0.87
EndSection

Gamma values are in RGB order. Restart the X server to have the gamma values permanently applied.

MPlayer Config

Note: Nowdays, I use the MPlayer configuration file to control MPlayer behavior, plus I use vdpau graphic acceleration (for nvidia cards) and dvdnav:// for dvd menu navigation. Using the config I’m able to set different options for different media I play and don’t need a seperate script to run my dvds. Here is my ‘~/.MPlayer/config’ for any that would like to use it. However, the information following could be useful if you want to learn about other configurations.
[default]

# driver and codecs
vo=vdpau:deint=2,gl:yuv=2:force-pbo,xv,
vc=ffh264vdpau,ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau,coreavc,dummy,
ao=oss,alsa
srate=48000
#mixer-channel="Master"

# options
framedrop=1             # keeps video and sound in sync
heartbeat-cmd="qdbus org.freedesktop.ScreenSaver  /ScreenSaver SimulateUserActivity" # disable screensaver
#fs=1                   # full-screen
#dr=1                   # direct rendering

# Picture settings
contrast=1
brightness=1
saturation=-7
hue=-5

[protocol.dvd]
profile-desc="profile for dvd:// streams"
alang=en
af=volnorm=1   # increase amplitude for movies because of wide dynamic range
#vf=yadif=3,hqdn3d=3:2.8:1:3 # for deinterlacint (tv shows)

[protocol.dvdnav]
profile-desc="profile for dvdnav:// streams"
profile=protocol.dvd
mouse-movements=yes
nocache=yes
fs=1

Selecting Video and Audio Output Devices

MPlayer defaults will work on just about any media. If you want to test MPlayer, try:

mplayer dvd://1

Track 1 almost always has something on it and you should get a good idea how MPlayers plays with the default settings. First thing you should do is decide what video output driver to use. Most people tend to use xv, this is the XVideo extension and has hardware accelerated playback. I however use the OpenGL driver because it give me slight better performance. For example:

mplayer -vo gl:yuv=2:force-pbo -dr -framedrop -fs dvd://1
mplayer -vo xv -dr -framedrop -fs -cache 8192 dvd://1

For OpenGL you’ll have to use a proper yuv setting, look into “man MPlayer” for all the options. Adding the ‘-dr’ option to make sure direct rendering gets used and add ‘-framedrop’ because if a CPU intensive task starts in the background audio and video will get out of sync. Using -fs will start MPlayer in full screen-mode.

For xv make sure to use the ‘-cache’ option as xv video doesn’t play well without it.

For audio, I just allow use MPlayers default. I’ve tried setting ‘-ao alsa’ but occasionally I get skips with that and find the default (usually aoss) works better.

Filters

One of the things you’ll notice at this time is that their is a little noise to the picture quality. This is common because TV’s have built-in noise-reduction filters. You’ll also notice if you are playing a DVD recorded tv show that the picture appears “lined”(interlacing). TV’s produce pictures by displaying alternate lines. So a property called deinterlacing is used to produce a combined image. To add deinterlacing and a noise filter try this:

mplayer -vo gl:yuv=2:force-pbo -dr -framedrop -fs \
-vf yadif=3,hqdn3d dvd://1

Yadif is a good deinterlacer and hqdn3d will help to smooth the picture. I find that hqdn3d produces a bit too blurred image so I’ve reduced it to:

mplayer -vo gl:yuv=2:force-pbo -dr -framedrop -fs \
-vf yadif=3,hqdn3d=3:2.8:1:3 dvd://1

For movies that aren’t interlaced MPlayer won’t use the yadif filter.

Aspect-Ratio

MPlayer may choose to alter the aspect-ratio which will result in a distorted picture. I think there is some legacy code in MPlayer that tries to scale based on screen size. Add ‘-noaspect’ to prevent this from happening:

mplayer -vo gl:yuv=2:force-pbo -dr -framedrop -fs \
-vf yadif=3,hqdn3d=3:2.8:1:3 -noaspect dvd://1

Contrast, Brightness, and Saturation

Even for a properly monitor the picture isn’t going to look quite right because movies use a different colorspace that is designed for proper display on a television. While not perfect this too can be corrected to a good degree with brightness, contrast, and saturation values.

If you’re using the gl driver, you’ll be able to adjust contrast, brightness, hue, and saturation with 1 and 2, 3 and 4, 5 and 6, 7 and 8, respectively. To add the values to the command line:

mplayer -vo gl:yuv=2:force-pbo -dr -framedrop -fs \
-vf yadif=3,hqdn3d=3:2.8:1:3 -noaspect \
-contrast 14 -brightness 8 -saturation -9 dvd://1

If you’re using the xv driver, you can use the software equalizer to enable the ability to adjust these values:

mplayer -vo xv -dr -framedrop -fs -cache 8192 \
-vf yadif=3,hqdn3d=3:2.8:1:3,eq2 -noaspect -contrast 14 \
-brightness 8 -saturation -9 dvd://1
mplayer -vo xv -dr -framedrop -fs -cache 8192 \
-vf yadif=3,hqdn3d=3:2.8:1:3,eq2=1:1.14:0.08:0.91 -noaspect \
-contrast 14 -brightness 8 -saturation -9 dvd://1

DVD Menus

New versions of MPlayer (as of this writing MPlayer-28347-4) now include support for DVD menus. MPlayer will have to be compiled with “–enable-dvdnav” for DVD menus to work. From the command line, tell MPlayer to use DVD menus:

mplayer -vo gl:yuv=2;force-pbo -dr -framedrop -fs \
-vf yadif=3,hqdn3d=3:2.8:1:3 -noaspect \
-contrast 14 -brightness 8 -saturation -9 dvdnav://

You can also add support for being able to choose DVD menu items with the mouse:

mplayer -vo gl:yuv=2;force-pbo -dr -framedrop -fs \
-vf yadif=3,hqdn3d=3:2.8:1:3 -noaspect \
-contrast 14 -brightness 8 -saturation -9 \
-mouse-movements dvdnav://

If using MPlayer with DVD menu support make sure you do not to have caching on or MPlayer won’t work properly.

That’s it! You should now have a great DVD player for you Linux.

Extranei

Sometimes selections in DVD menus don’t get recognized. I found that pressing 5 will bring them up again.

MPlayer uses keyboard presses for input. A basic reference of commonly used keys:

  • F – Fullscreen toggle
  • Q – Quit
  • P – Pause
  • ← – Backward 10 seconds
  • → – Forward 10 seconds
  • ↑ – Forward 1 minute
  • ↓ – Backward 1 minute
  • Pgup – Forward 10 minutes
  • Pgdown – Backward 10 minutes
  • !/@ – Backward/Forward Chapters
  • Arrow Keys or Numpad Arrow Keys – DVD navigation

Because DVD navigation binds to the arrow keys, they cannot be used to skip while using DVD navigation.

Users of newer Nvidia cards might want to look at MPlayer support for VDPAU (Purevideo technology).

Lastly, thanks to electro for his hqdn3d values.

Permalink 3 Comments