Heijastin

Framebuffer & Webcam on Kernel 3.10.25

我ながら物覚えが悪い!

Kernel 3.10.25 Build の際に、完璧なまでに忘れていた uvesafb による Framebuffer と Webcam の設定まとめ。uvesafb については、同じ内容を Nvidia Driver and fbsplash でまとめ済みであった…

Framebuffer Console の設定

Gentoo Wiki の uvesafb を参照すると Initial RAM への v86d 組み込みが要点だった。僕は、これをやり忘れてしまうことが多々ある。v86d とは Emulated 環境において x86 BIOS Code を実行するための Daemon だそうだ。

Graphics support

まずは Framebuffer を設定する。僕は未だ BIOS を利用しているので UEFI 関連は無用。パーツを買い換えたいのは、やまやまだが、懐の余裕がまったくないのである。

<*> Support for frame buffer devices  --->
	[*]Enable firmware EDID
	[ ]Framebuffer foreign endianness support  --->
	-*-Enable Video Mode Handling Helpers
	[ ]Enable Tile Blitting Support
	*** Frame buffer hardware drivers ***
	< >Cirrus Logic support
	< >Permedia2 support
	< >CyberPro 2000/2010/5000 support
	< >Arc Monochrome LCD board support
	[ ]Asiliant (Chips) 69000 display support
	[ ]IMS Twin Turbo display support
	< >VGA 16-color graphics support
	<*>Userspace VESA VGA graphics support
	[*]VESA VGA graphics support

Console display driver support  --->
	-*- VGA text console
	[*]Enable Scrollback Buffer in System RAM
	(64)Scrollback Buffer Size (in KB)
	<*> Framebuffer Console support
	[*]Map the console to the primary display device
	[ ]Framebuffer Console Rotation
	[*]Support for the Framebuffer Console Decorations
	[ ] Select compiled-in fonts

General setup

次いで General Setup の項目まで遡り Initial RAM を設定する。Path に /usr/share/v86d/initramfs と記載。

General setup  --->
	[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
	(/usr/share/v86d/initramfs) Initramfs source file(s)

klibc を Re-compile して作業完了。これで /etc/default/grub の設定に沿った Resolution で画面が表示されるようになる。

emerge --oneshot klibc

Webcam 用の設定

僕が使用しているのは Elecom UCAM-DLE300TBK という Webcam だ。汎用 Driver で使える。廉価ながらFHD対応が売りとなっているが、実際の所、FHDでは動作こそすれ、画面が異様に暗くなる。本来の想定 Platform である Windows では更に状態が悪く、酷い映像遅延によって実用不可能だ。結局の所 640×480 上限となってしまうのは、実売価格を鑑みれば致し方なし。ともかく Linux の方が相性が良い。

<*> Multimedia support  --->
	*** Multimedia core support ***
	[*]   Cameras/video grabbers support
	[ ]   Analog TV support
	[ ]   Digital TV support
	[ ]   AM/FM radio receivers/transmitters support
	[ ]   Remote Controller support
	[ ]   Media Controller API
	[ ]   Enable advanced debug functionality on V4L2 drivers
	[ ]   Enable old-style fixed minor ranges on drivers/video devices
	< >   V4L2 int device (DEPRECATED)
		*** Media drivers ***
	[*]   Media USB Adapters  --->

		--- Media USB Adapters
			*** Webcam devices ***
		<M>   USB Video Class (UVC)
		[*]     UVC input events device support
		<M>   GSPCA based webcams  --->
		< >   USB Philips Cameras
		< >   CPiA2 Video For Linux
		< >   USB ZR364XX Camera support
		< >   USB Syntek DC1125 Camera support
		< >   USB Sensoray 2255 video capture device
		< >   USB SN9C1xx PC Camera Controller support (DEPRECATED)
			*** Webcam, TV (analog/digital) USB devices ***
		< >   Empia EM28xx USB video capture support

	[ ]   Media PCI Adapters  --->
	[*]   V4L platform devices  --->
	[ ]   Memory-to-memory multimedia devices  --->
	[ ]   Media test drivers  --->
		*** Supported MMC/SDIO adapters ***
	< >   Cypress firmware helper routines
		*** Media ancillary drivers (tuners, sensors, i2c, frontends) ***
	[*]   Autoselect ancillary drivers (tuners, sensors, i2c, frontends)
		Sensors used on soc_camera driver  --->

Webcam の動作確認:Kamerka

僕は KDE 環境なので Kamerka を利用している。Gnome 環境では Cheese に相当するが Kamerka は遥かに軽量。

Tags