X11/Xorgの古いビデオカードのOpenGL APIサポートが切られる模様

Legacy Mesa Drivers Receive Their Death Sentence
http://www.phoronix.com/scan.php?page=news_item&px=OTgzMg
[Mesa-dev] DEATH to old drivers!
http://lists.freedesktop.org/archives/mesa-dev/2011-August/010959.html
削除されたコード群
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e4344161bde2e24fcfba65d30d58f087bd8bf94d

Mesa 3DのDRI1対応のドライバが削除されるようです。mach64など、以前からLinuxドライバの脆弱性などで以前からDRIが使用できなかった事もあったが、今回はかなりのハードが影響を受けるようで。

i810	Intel i810、i815Eなど
mach64	ATI RAGE PRO、RAGE XLなど
r128	ATI RAGE 128 PROなど
mga	Matrox G400、G550など
savage	S3 Savage3D、Savage4、ProSavageなど
sis	SiS540、630、730など
tdfx	Voodoo3、4、5、Bansheeなど

メンテの人によれば、12年以上経ったハードウェアはもうメンテしてられないらしい。

3Dのパフォーマンスは低下するが、2Dについては今後も引き続きVESAドライバー等で使用できるし、 Intel 830M以降のビデオチップであれば、引き続きDRI2対応のintelドライバが使用できる。

今後懸念されるのが、478 Pentium4、Celeronで使われている8xx系列のOpenGLサポートが今後全て打ち切られるのではないか?という事だろう。Phoronixフォーラムには、まだ使ってるんだけど…。自分の865Gは大丈夫か?といった心配の声が上がっている。

Ubuntu 11.04 Unity 3Dが使える環境はシェーダーが使えるOpenGL 1.4(世代的にDirectX 9)以上が必要とされる。もちろん、cmov等のi686命令が使用できなくては、セットアップ前で弾かれる。x86命令が使えれば遅くてもとりあえず動く、という時代はもう古いらしい。Windows XPが登場してはや10年になり、2014年に延長サポートが切れるわけだが、その前にLinux, *BSDのハードウェアサポートがどうなるのか、気になるところだ。

今後、愛着を持って長くハードウェアを使いたい場合は、なるべく新しいアーキテクチャに対応したハードウェアを買っておけば間違いないだろう。IntelであればAVX、AMDであればDirectX 11対応のAPUを買う等の対策など。IntelのOpenGLの対応は遅いので、GPUについてはnVidiaかAMD(低価格品を除く)を使いたいところ。スマートフォンであればARM v7かつデュアルコアなどがキーとなる。ARM v6では目玉のFlash 10が動かない事になっている。あと、メジャーなものでなければすぐサポートが打ち切られてしまうのは忘れないようにしておく。

まあ、ガジェットを愛着を持って使うこと自体間違っていると言えるのかもしれない。「綺麗でまだ動くのに壊れる前に捨てるとか、そんな事してバチ当たらないのか?」という疑問が出てくるわけだが、それは今回とはまた別の問題で、見て見ぬふり、ということにしておこう。

  

JavaScriptでランダムな#RRGGBBカラーを表示・出力させる

以前作ったWebベンチマークソフトはさすがに設計が古すぎたので修正中。 これはランダムな色を#RRGGBB形式で生成したいときに用いるJSライブラリである。幸い、ワンライナーで生成する方法があるようなので、ここに記しておく。

function random_rrggbb()
{
	return '#'+Math.random().toString(16).slice(-6);
}

最近のモダンブラウザであれば問題なく表示できる。 ただ、古いブラウザには、小数点以下を16進数で変換した場合0になる困った仕様のものがあったので、 確実に動作させたい場合は、小数点以上から生成するように修正する必要がある。

<script>

function random_rrggbb()
{
	return '#'+('00000'+(Math.random()*(1<<24)|0).toString(16)).slice(-6);
}

</script>

<form><input type="button" onClick="alert(random_rrggbb())" value="ランダム#RRGGBBを求める"></form>

コードを保存して実行するか、以下のボタンを押すと求めることができます。IE6以降、Netscape 4.8、Webkit(KHTML,Chromium)ベースブラウザ、Operaベースブラウザ、Netfront v4ベースブラウザで確認。

JavaScriptでUNIX Timeを求める
http://blog.livedoor.jp/mksaver70/archives/51473252.html