ATi 簡單切換KMS


ATi 簡單系列第二彈來了

Linux 顯示模式過去是使用UMS,在2.6.31 之後陸續加入支援KMS

而這個改變對Linux 核心來說有著重大的意義(顯示方面過去沒有著墨太多)
但也影響到顯示卡廠商,不跟著改之後也會玩不下去吧!(畢竟轉換至KMS是趨勢)

那UMS 跟KMS有哪些不同呢?
簡單的說模式設定的地方不同 一個是在user space 另一個是在kernel
這兩種不同方式的設定會影響顯示出的畫面品質及效能
(譬如 UMS會造成畫面閃爍、速度緩慢的問題,KMS不會閃爍、速度也會比較快)
但比起這些還有更好的就是 KMS支援DRI2

要如何切換到KMS呢?

1.準備核心 Linux 2.6.33 (這個核心的drm-next 是從2.6.34拉過來的)
http://kernel.ubuntu.com/~kernel-ppa/mainline/drm-next/current/

2.使用xorg-edgers 更新 xf86-video-ati、libdrm、mesa
(xorg-edgers 這個來源太危險了 換用ubuntu-x-swat會比較穩定)

前面這兩點跟簡單系列第一彈 幾乎一樣,所以我就不多說了

3.準備韌體(R600、R700必須)(ubuntu 10.04不需要此步驟)
http://people.freedesktop.org/~agd5f/radeon_ucode/
把他們放到 /lib/firmware/$(uname -r)/radeon/
藍色的地方是核心版本

4.更新initramfs

sudo update-initramfs -u -k $(uname -r)

5.重開機後就完成,簡單吧

不過建議再加個節能 的功能進去雖然說這個功能還在測試階段

sudo bash -c "echo \"options radeon dynpm=1\" > /etc/modprobe.d/radeon.conf"

最後發現節能還是有問題,還是不建議加入dynpm=1

Linux kernel 2.6.34 (drm-next)已經修正此項問題,可以加入了

最好再另外把  /etc/X11xorg.conf  設定好,我的設定是

Section "Device"
        Identifier      "Radeon HD 4670"
        Driver          "radeon"
#        BusID           "PCI:5:0:0"
#請視自己的BusID設定
	Option		"BusType"	"PCIE"
        Option		"AccelMethod"	"EXA"
	Option		"EXAVSync"	"on"
	Option		"DMAForXv"	"on"
	Option		"RenderAccel"	"on"
        Option		"DRI"		"on"
	Option		"ColorTiling"	"on"
	Option		"AccelDFS"	"on"
	Option		"FBTexPercent"	"50"
#	Option		"ClockGating"	"on"
#it could cause freeze on system
	Option		"DynamicPM"	"on"
	Option		"EXAPixmaps"	"on"
EndSection

EXAVSync那個東西就是我期待已久的功能,垂直同步

如果覺的真的太簡單,想要知道詳細的東西 可以看參考來源:
http://blogs.kmfa.net/sque/2010/03/radeon-r600r700-with-kms3d-on-karmic-9-10/

http://wiki.archlinux.org/index.php/ATI

接下來就是一些使用心得,KMS由於驅動程式支援的關係 不一定效能會比UMS好(譬如 compiz)
像我的R700 3D支援不完整 就比UMS再更慢一些

不過大致上還是有比UMS快的感覺,尤其是在模擬器(snes9x、Gens-GS)上

3 則迴響 (+add yours?)

  1. Cecil
    三月 19, 2010 @ 22:13:52

    根據這裡的測試 http://www.phoronix.com/scan.php?page=article&item=ati_ubuntu_kmsums&num=1
    ATI的UMS在效能上應該大勝KMS

    回覆

    • orange
      三月 19, 2010 @ 23:46:31

      我想你應該注意一下他的測試環境
      ATI Radeon HD 4870 512MB graphics card that was residing within a AMD Opteron 2384 Quad-Core workstation with a Tyan S2927 motherboard, and an OCZ 64GB Agility EX SSD.

      重點之一的顯示卡,它用的是R700系列
      R700 在現在xf86-video-ati 只有2D是Full support,3D還是支援不完整的狀態
      雖然用的都是xf86-video-ati,不過開發程度應該會有蠻大的差異
      (KMS是最近2.6.31才導入的,UMS相對它已經用很久)

      短時間內KMS就要超越UMS不太可能
      但短時間之內(才三個多月)就可讓他們差距不算很大
      對我來說這已經證明了,KMS這個東西的厲害

      我會用KMS也是看到那篇文章才打算換用看看
      (剛好我的使用環境一樣也是R700)

      除了 compiz特效慢、有時候會莫名的卡卡的之外
      其他部份KMS給我的感受都比UMS好上許多,不管是畫面流暢性、vsync…
      而這是benchmark上看不到的東西
      舉例:snes9x 在UMS下即便FPS是60 都有frameskip的感覺,但這不會發生在KMS上

      我會用到顯示卡的地方就只有模擬器、影片播放、compiz
      除了KMS在compiz表現不好 其他方面已經遠勝過UMS

      回覆

  2. orange
    五月 20, 2010 @ 19:11:29

    如果 xorg-edgers 裡面的東西讓你的xserver作動不能
    請執行下列指令,還原到沒使用xorg-edgers時的狀態
    sudo apt-get install ppa-purge
    sudo ppa-purge xorg-edgers

    回覆

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s

%d 位部落客按了讚: