Recently in Hardware Category

There have been a couple things about Fedora 12 that haven’t been as nice as I would have liked. I finally solved one of them tonight.

My laptop, a Dell Latitude D830(N), has an NVidia Quadro NVS 140M video chipset in it. Fedora 12 worked out of the box with the open source nouveau driver which is an experimental reverse-engineered driver for NVidia chipsets. It works pretty well and I probably would have kept using it if I could get my laptop to hibernate properly. Instead, I could never get the laptop to come back to life after it went into hibernation.

Meanwhile, the RPMFusion folks (a popular third-party repository) usually have the kmod-nvidia package available to install which gives you everything you need to run the proprietary NVidia drivers (Fedora doesn’t include this because they adhere to an all-open, non-patent-encumbered package policy). However, the kmod-nvidia package wasn’t available for Fedora 12.

When it did show up on rpmfusion, there were some caveats. Fedora had done some work to make the nouveau driver work as seamlessly as possible and, as a result, made it a little more difficult to install the proprietary driver. The RPMFusion folks have some errata info on how to get the proprietary driver working. I’ll summarize the process here since it’s a little tricky to execute and understand.

Before you do anything the RPMFusion information says to do, you should obviously install the kmod-nvidia package. Then, run:

nvidia-system-config enable

(I usually do this with sudo.)

Then, reboot into runlevel 3 and proceed with the commands RPMFusion’s page recommends.

The first commands the RPMFusion info indicates should be run are these:

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
dracut /boot/initramfs-$(uname -r).img $(uname -r)

The initramfs-blahblah.img file is a replacement for the old initrd-blahblah.img file. So, we’re making a backup of the original initiam ramdisk image file for the running kernel and adding nouveau to its name so we know this is the initial ramdisk image that contains the nouveau driver (Fedora added the driver to the initial ramdisk so the graphical bootloader can take advantage of the NVidia chipset’s capabilities).

Then, running the dracut command creates a new initial ramdisk image for the running kernel. The dracut command replaces the mkinitrd that has been used traditionally. For more information about dracut check out the Fedora Project’s wiki page on dracut.

Finally, run the setsebool command RPMFusion’s page mentions:

setsebool -P allow_execstack on

If you’re like me, however, you probably have SELinux set to permissive because RPMFusion’s nonfree codec packages have already broken some SELinux stuff. Hopefully that will be fixed soon.

Then, reboot again into runlevel 5 and enjoy.

UPDATE: Read below!

Soon after getting kmod-nvidia installed, I noticed some weird issues in KDE. Whenever I would press ALT-F2 to run a command, the UI would freeze for about 10 seconds. I did some searching and found this was a reported bug. I’m guessing a forthcoming xorg-x11-server-* package update will include this, but in the meantime, I installed new xorg-x11-server-Xorg and xorg-x11-server-common packages from this 1.7.1-12 Koji build. Pressing ALT+F2 does not freeze the system anymore.

I think I have finally, really arrived.

I’ve been doing contract work for a company in Provo that is launching a new website called YoManSports.com, which is in beta right now. At first glance, the site may appear to be a “YouTube for sports,” but it so much more than that. The concept is centered around video sharing, but includes familiar social networking elements you’d find on sites like Facebook or MySpace. In addition, there are several applications within the site that are sports-related — things like competition bracketing, scorecards, and groups. Perhaps the coolest feature that rounds out the list is the broadcast feature. This lets a person go to a sporting event with a video camera, even something as simple as a USB webcam, and set up a live web broadcast that anyone with a web browser can watch. The person managing the broadcast can mix prerecorded video, pictures, and even live video from other users into the broadcast. There’s even a news ticker for embedding clickable URL links into the broadcast. It’s pretty cool stuff.

Now, I said at the beginning of this post that I have arrived because we’ve been asked by management to blog regularly about the site and what we’re doing with it as part of our marketing plan. So, yeah, it’s cool to be able to do this and not be wasting my time at work.

My job has been designing and building the server architecture that sits behind the scenes and makes it all work. I was brought in late 2008 when the site was pretty much in a prototype stage. All the code was running on a single server and it really wasn’t designed to scale beyond that one server. So, one of the first things I did was figured out what we’d need to do split things like streaming video, web services, and database services onto their own dedicated servers.

After that, I went through and figured out how we were going to accomodate loads higher than we could with individual servers. In a nutshell: load balancing. That has now been implemented.

Another thing I’ve had a big hand in is offloaded encoding and conversion. The developers had created routines to do all the video encoding in PHP on the frontend of the website. Of course, doing video encoding on the same server Apache is running on can be detrimental to the experience of other website users. I developed a distributed encoding system that handles all the video conversion and encoding on a separate set of servers. I did it with Perl, of course.

I’m pleased with the technology being used on the site. I’m not a fan of PHP, but it’s doing the job well for frontend development. We’re making use of a lot of open source technology in dealing with videos. For example, all our transcoding is being done with the formidable FFMPEG software along with libraries like x264 and FAAC.

We’re leveraging Flash pretty heavily pretty heavily to make the site work so it’s fortunate that Flash support has nearly ceased being a problem for cross-platform compatibility. YoManSports.com works almost seamlessly across Windows, Mac OS, and Linux.

Watch this space for more info to come.

When digital photo frames first became available, I bought one for my parents. It still sits in their living room and when you turn it on, it displays a slideshow of the same pictures I originally loaded onto the CompactFlash card that is plugged into the frame.

Now that wireless digital photo frames are becoming the “next big thing,” I’m interested in getting one for myself, but I’m not sure any of the models available satisfy my (modest) requirements.

It seems these wireless frames mostly work by having some kind of stupid e-mail address assigned to the frame. You send an e-mail message with a picture file attached and, within a few minutes, more or less, the picture shows up on your digital photo frame.

This seems lame to me. Here’s what I want:

  • The digital photo frame should be able to connect to a local file server via SMB/CIFS, HTTP or FTP and display all images hosted at a specific location. For example: ftp://myfileserver/pictures/.

  • The digital photo frame should run an HTTP server so I don’t have to use the on-board buttons or the soon-to-be-lost miniature infrared remote control to set it up. Every VoIP telephone, print server, and a gazillion other network devices seem to all have an HTTP configuration interface, so why not a wireless digital photo frame?

Am I asking too much?

About this Archive

This page is an archive of recent entries in the Hardware category.

Handhelds/smartphones is the previous category.

Linux is the next category.

Find recent content on the main index or look in the archives to find all content.