Friday, May 24, 2013

Monoprice 27" IPS LED Monitor DisplayPort Issue

I recently bought some Monoprice 27" IPS LED monitors at work for use with 2013 Retina MacBook Pros. We also bought Monoprice mini-DisplayPort to DisplayPort cables.

It turns out there is a problem in MacOS 10.8.3 using this monitor with the DisplayPort connection - the monitor outputs YPbPr mode instead of RGB and the colors all look washed out and wrong. Looking in the System Information app you can see that the display is being detected as a TV (shows "Television: Yes"). Similar to this screenshot from a Dell monitor that has a similar issue:


I then tried connecting using the provided dual link DVI cable, but using Apple's "Mini DisplayPort to DVI Adaptor" - the colors look correct and "Television: Yes" is not there so this corrects the issue - but of course resolution is limited to 1920x1080 because the adapter is not dual-link. I expect an mDP-dual-link DVI adapter would work fine but those are expensive.

This problem of using YPbPr and detecting the display as a TV when using DisplayPort seems somewhat common and happens with other displays too, I found some threads discussing the issue with other monitors - Dell U2410f and Dell U2713HM.

The fix is to override the EDID returned by the monitor and patch byte 24 so the monitor only reports it supports RGB 4:4:4. This forum post has a patch-edid.rb script which generates an override file for the display that does that.

This is the process to fix the monitor:
  1. Close the MacBook lid so the monoprice display is the only attached display.
  2. Run "ruby patch-edid.rb" using the script downloaded from the post in the thread above to generate an EDID override directory for the display - this will override the EDID to force RGB instead of YPbPr.
  3. Move the created directory to /System/Library/Displays/Overrides e.g.
    sudo mv DisplayVendorID-6670 /System/Library/Displays/Overrides
  4. Reset ownership, e.g.
    sudo chown -R root:wheel /System/Library/Displays/Overrides/DisplayVendorID-6670
  5. Reboot or power cycle the display - check Display Preferences and ensure that the Display Profile is set to "Display with forced RGB mode (EDID override)"

Saturday, March 26, 2011

Standing Desk

I decided to try working standing up. I wasn't ready to invest in something like a geekdesk, and I wanted something that would be easily reversible if I ended up hating it.
So I wanted something that would build on top of my existing regular desk.
I found 3-tier wire shelving units at Lowes for $19.99 each. They are 30" high, 24" wide and 14" deep and each shelf is adjustable in about 1" increments. I bought two of these, and two 4' long 16" deep MDF bullnose shelving boards for $6 each. I adjusted the middle shelf of the shelving units at the height I want the keyboard/mouse at, and the top shelf about 6" above that to hold the monitor and laptop display. Then just laid the two shelving boards across - the keyboard shelf towards the front and the monitor shelf towards the back (the wire units are 24" wide and the MDF board is 16" so there is room to move the top board back and the bottom board forward - so my view of the keyboard isn't blocked by the top shelving board).
I put some foam rubber scraps beneath each board so it doesn't slide around on the slick wire.

Sunday, May 02, 2010

Free Calls with Google Voice

If you don't have a Gizmo5 account, you can still make and receive free calls using a SIP softphone.
  1. Register for a free SIP account with IPTel. This will give you a SIP URI like sip:myname@iptel.org
  2. Register for a free WA state PSTN phone number with IPKall. This will give you a PSTN phone number like (206) 555-1212.
  3. Configure your IPKall account with your IPTel sip information.
  4. Download a free SIP softphone, e.g. X-Lite and configure it with your IPTel sip information.
  5. Add your WA state PSTN number to your Google Voice account and verify it by answering the call Google Voice makes with your softphone.
Now any time your softphone is running you can use it to answer incoming Google Voice calls, and can place free calls using the Google Voice site.

Sunday, January 03, 2010

Stereoscopic 3D Rig with Steadicam

See my previous post on a different 3D rig design, and a discussion of how to postprocess the videos in QuickTime Pro. I decided to build a Steadicam to help reduce jerkiness when recording while walking. I used the design from steadycam.org. This steadicam works with any camera with a tripod mount. So to mount two stereoscopic cameras, I found an 8" doorjamb striker plate that had two holes 6.5cm apart and a third hole for mounting on the steadicam.
I covered this with a thin layer of foam rubber, then attached the two cameras with 1/4" X 20 bolts, and attached the plate to the steadicam using a washer and toggle bolt. The cameras need to be slightly rotated to stay coplanar - because the screw holes in the plate are staggered.
So the cameras mounted on the steadicam look like this:
Here is a sample video shot with this rig.

Thursday, December 31, 2009

Stereoscopic 3D Video Rig

I have access to two identical Flip Video camcorders. I built a cheap $3 mounting bracket system so I could use them to shoot stereoscopic 3D video. I used two 1/4" X 20 screws (these fit the tripod mount on the cameras) and a couple of nuts and washers.
Also a bracket, I used some plumbing bracket. It was too large so I had to squeeze it smaller. You want the distance between the camera lenses to be about 6.5cm once they are screwed onto the bracket.
So the result looks like this.
When you shoot video, try to start both cameras at the same time. After shooting, you can use QuickTime 7 Pro to edit the videos, you will need Perian on Mac to handle the Flip DiVX AVIs. Trim each video so they start at the same time (use a clap board or something so you have a visual event to synchronize on) - use Edit | Trim to Selection in QuickTime. Open a new empty QuickTime movie (File | New Player), Edit | Select All and Copy the trimmed video from the Left camera and choose Edit | Add to Movie in the new movie. Choose Window | Show Movie Properties in the new movie and rename the audio and video tracks to Left Sound Track and Left Video Track. Now Edit |Select All and Copy the trimmed video from the Right camera, move the playhead back to time zero in the new movie and choose Edit | Add to Movie.
You will now have two sound tracks and two video tracks in the new movie. Rename the new video track to Right Video Track and disable the new sound track.
Following YouTubes guidelines, we want the Left camera on the right and the Right camera on the left. Select the Left Video Track in the movie properties for the new movie, click the Visual Settings tab and uncheck Preserve Aspect Ratio and enter 640 for the first Offset value (this is the X offset). This shifts the Left video track to the right of the Right video track. You should see the videos side by side now, Left on the right and Right on the left.
You can Save as a reference movie to avoid losing your work. Then File | Export... and export as MP4 with H.264/AAC for upload to YouTube. On YouTube tag your video with yt3d:enable=true to enable the 3D player.
To view your video in 3D you need a mirror, or some 3D glasses, or use the freestanding cross-eyed technique. See YouTubes viewing guidelines for further instructions on how to view the 3D effect.
Here's my first attempt.
Update:
It turns out that even when the cameras are perfectly aligned vertically, there is some internal vertical alignment difference. You can see then when I put the cameras side by side on a table - the bezel of the monitor is at a different vertical position in the images:
In my case the difference is 42 pixels. This can be corrected for by offsetting the video track vertically in the QuickTime track properties. You can determine the amount of offset by flipping one of the tracks horizontally (mirror) so you can align a horizontal feature in the video. When you export to MP4 you can set the vertical size to compensate for the vertical offset (in this case 480-42=438) and set it to crop - QuickTime will crop from the center removing the top and bottom 42 pixel borders.
I shot a few more sample videos, adjusting the vertical alignment, with much better results. See part 1 and part 2.
Update 2:
See new post with updated rig and steadicam.