2012年1月29日 星期日

KDE 4.8


在 openSUSE 12.1 升級 KDE 4.8 就下面幾個步驟
# zypper ar http://download.opensuse.org/repositories/KDE:/Release:/48/openSUSE_12.1/ KR48
# zypper ref
# zypper dup --from KR48

你需要回答一些問題:(每個人的情況可能不同)
問題: k3b-codecs-2.0.2-13.8.x86_64 需要 k3b = 2.0.2-13.8,但無法提供此需求
解決方案 1:反安裝 k3b-codecs-2.0.2-13.8.x86_64
解決方案 2:保留過期的 k3b-2.0.2-13.8.x86_64
解決方案 3:保留過期的 k3b-2.0.2-13.8.x86_64
解決方案 4:藉由忽略某些它的相依性破壞 k3b-codecs

使用'數字'選擇上列的解決方法,或 skip(跳過)、retry(重試)或 cancel(取消) [1/2/3/4/s/r/c] (c): 1

k3b-codecs 這個套件是由 packman 來的
請先移除避免麻煩(您以後還是可以再裝回來的)
問題: qt4-qtscript-0.1.0-14.1.2.x86_64 需要 libqt4 = 4.7.4,但無法提供此需求
無法安裝的提供者: libqt4-4.7.4-19.2.2.x86_64[openSUSE-12.1-12.1-1.4]
libqt4-4.7.4-19.2.2.i586[repo-oss]
libqt4-4.7.4-19.2.2.x86_64[repo-oss]
解決方案 1:下列行動將被執行:
保留過期的 libqt4-4.7.4-19.4.1.x86_64
保留過期的 kdegames4-carddecks-default-4.7.2-3.1.2.noarch
保留過期的 libkdeedu4-data-4.7.2-2.1.2.noarch
解決方案 2:反安裝 qt4-qtscript-0.1.0-14.1.2.x86_64
解決方案 3:保留過期的 libqt4-4.7.4-19.4.1.x86_64
解決方案 4:藉由忽略某些它的相依性破壞 qt4-qtscript

使用'數字'選擇上列的解決方法,或 skip(跳過)、retry(重試)或 cancel(取消) [1/2/3/4/s/r/c] (c): 2

qt4-qtscript 需要 libqt4-4.7.4 表示是和舊版 kde 綁在一起的
也先移除
問題: kdm-4.8.0-723.3.x86_64 需要 kdm-branding = 4.8.0,但無法提供此需求
無法安裝的提供者: kdm-branding-upstream-4.8.0-723.3.i586[KR48]
kdm-branding-upstream-4.8.0-723.3.x86_64[KR48]
kdm-branding-basedonopensuse-12.1-6.1.2.i586[repo-oss]
kdm-branding-basedonopensuse-12.1-6.1.2.x86_64[repo-oss]
解決方案 1:反安裝 kdm-4.7.2-6.4.1.x86_64
解決方案 2:反安裝 kdm-branding-openSUSE-12.1-15.3.9.noarch
解決方案 3:保留過期的 kdm-4.7.2-6.4.1.x86_64
解決方案 4:保留過期的 kdm-4.7.2-6.4.1.x86_64
解決方案 5:保留過期的 kdm-4.7.2-6.4.1.x86_64
解決方案 6:藉由忽略某些它的相依性破壞 kdm

使用'數字'選擇上列的解決方法,或 skip(跳過)、retry(重試)或 cancel(取消) [1/2/3/4/5/6/s/r/c] (c): 2

kdm 當然是要的
所以選擇 2,刪除 kdm-branding-openSUSE

接下來就可以順利安裝升級

安裝完畢重開機因為原本的 kdm theme "SUSE" 已經被移除了
可能造成 KDM 無法啟動
所以可以先編輯 /etc/sysconfig/displaymanager
修改
DISPLAYMANAGER_KDM_THEME=""

使用預設 KDM 主題,或
DISPLAYMANAGER_KDM_THEME="openSuSe"

請依照您系統中有安裝的 kdm 佈景主題來修改
您已經順利升級 KDE 4.8 了

2012年1月26日 星期四

Hime 輸入法 for openSUSE

Hime 首頁:https://github.com/caleb-/hime/
Hime 是由 gcin 輸入法分支出來開發的,
http://tetralet.luna.com.tw/index.php?op=ViewArticle&articleId=234&blogId=1
兩方面仍維持合作的關係,
不過可能開發的重心會不一樣,
也就是說,隨著時間流逝,兩者的差別將越來越大
如果您想要嘗試一下 hime
可以由 home:swyear 套件庫安裝
以 openSUSE 12.1 為例:
# zypper ar obs://home:swyear/openSUSE_12.1 swyear
(若已經加過 home:swyear 套件庫,上面步驟不必再做)
# zypper in hime

重新登入後會自動改用 hime
(這裡的優先順序並不代表任何的偏好,
只是希望新安裝一個輸入法後能順利的切換)

若要改回用其他輸入法可以
1. 移除 hime,回到您的原本設定
2. 要同時保有 hime
在 ~/.profile 加上
export INPUT_METHOD=gcin

全域設定在 /etc/sysconfig/language
設定
INPUT_METHOD=gcin

或其他您想要的輸入法

2012年1月17日 星期二

啟動觸控板點擊

雖然您可以在 KDE 控制中心中來啟動觸控板的點擊(Tapping)
參考:
http://swyear.blogspot.com/2011/11/opensuse-121-2.html
但這只在進入 KDE 後才有用
在 KDM 的登入畫面就不能用
您可以在 /etc/X11/xorg.conf.d/50-synaptics.conf
加入
        Option "TapButton1" "1"

這樣在 KDM 中也可以使用 Tapping 了

2012年1月10日 星期二

radiotray - 網路收音機

在 openSUSE 12.1 中可以很容易安裝 radiotray
如果安裝完後不能運作,
檢查您的多媒體環境
開啟終端機
$ su
密碼:
# zypper in radiotray radiotray-lang

就可以安裝網路收音機軟體

這裡有我從 ubuntu-tw 的相關討論串蒐集來的網路電台書籤
http://dl.dropbox.com/u/6331820/radiotray-bookmarks.xml
請在連結上按右鍵--另存新檔
將他改名為 bookmark.xml 放在 ~/.local/share/radiotray/ 中
取代原來的檔案
就會有台灣及港澳日本地區的電台

感謝 ubuntu-tw 上的熱心網友

2012年1月8日 星期日

SAMSUNG ML-1865w 無線網路設定

買了一台新的雷射印表機:SAMSUNG ML-1865w
http://www.samsung.com/tw/consumer/computers-peripherals/printers-multifunction/monochrome-laser-printers/ML-1865W/TED/index.idx?pagetype=prd_detail
for Linux 的驅動程式並沒有附在光碟中
請到 samsung 網站下載:
http://www.samsung.com/ie/consumer/print-solutions/print-solutions/mono-printers/ML-1865W/XEU-support
您要下載 Unified Driver (一定要)
至於 Smart Panel 和 Printer Setting Utility 倒是不一定需要
如果您也下載了這些工具,請放在同一個目錄一起解壓縮
執行 autorun 時會一起為您安裝

$ tar -xf UnifiedLinuxDriver_0.98.tar.gz
$ cd cdroot/
$ su
密碼:
# ./autorun

接下來開始安裝

同意授權聲明

如果您直接使用 usb 連線列印,需要將您的使用者加入 lp 群組
請勾選您會用到列印的使用者

問您是否需要 LPT 埠的支援(通常不需要)

開始安裝了

接著的精靈會引導您設定您的印表機
請注意您的系統是否安裝了 CUPS

偵測印表機
(因為我不打算用 usb 列印,所以這裡沒偵測到,
若您先插上了 usb ,此時應該會在 Local Printer 中會出現 ML-1865w 的選擇)

選擇列印埠,用預設的就可以

選擇印表機,當然是 Samsung ML-1865W Series

印表機名稱、描述、位置等,自行輸入

恭喜完成,如果您是用 usb 連接印表機,此時可以按 Test Printer 測試列印
(但是我還沒完成)

最後問您要不要註冊


※如果您的無線網路路由器支援 WPS
可能就不必以下的步驟了
※如果您想在 windows 或 Mac 下設定,就放入光碟
用 usb 連接線進行設定

要使用 Linux 修改印表機的無線網路設定,需要用印表機提供的 SyncThru Web Service
所以您要找一台有無線網路卡的電腦連上印表機

請確認印表機的無線網路訊號是亮的,
因為省電功能,ml-1865w 會自動睡覺,
如果睡著了,按一下 Power 他就會醒來

接著按 WPS 按鈕 15 秒,放手後印表機會印出他的基本設定
您會需要下面的資訊(請依照您的印表機資料為準)
IP Address:     192.0.0.192
SubNet Mask: 255.255.255.0
Default Gateway: 192.0.0.192
SSID: portthru
Current Channel: 10


接下來進行連線:
從 NetworkManager 連線到 portthru 網路

如果沒辦法連線,請修改 portthru 連線的內容
依照列印出來的資料,將您的網路設成同一個網域

確認一下印表機無線網路運作中,再次連線

連線後開啟瀏覽器,輸入該印表機的網址 192.0.0.192
就可以連線到印表機了
建議不要使用 firefox (好像有點小問題),您可以試試其他瀏覽器
中文介面只有簡體中文

按右上角的 「登录」,預設的管理者 ID 是 admin ,密碼是 sec00000
您登入後可以自行修改

登入管理介面

由 「设置」-- 「网络设置」來進行網路設定
首先是 TCP/IPv4
通常設定固定的 IP 方便使用,請依照您的網路來設定,
完成後請記得按右上角的 「应用」

接著設定 「无线」 部份
用 「高级设置:」 -- 「自定义」

請依照您所使用的網路修改 SSID、加密方式、加密的密碼
然後不要忘了按右上角的 「应用」 來套用新的設定

印表機此時應該已經連上您家中的網路而成為你家無線區域網路的一份子了
若您需要再重新設定印表機的網路,請用新的位址

現在只要連上你家區域網路的 Linux 電腦,安裝印表機驅動程式後,
都可以用 CUPS 來進行印表機設定:

開啟瀏覽器,在網址列輸入 localhost:631 進入 CUPS 設定

按「新增印表機」(Add Printer)
此時會提示輸入管理員密碼(使用者 root )
這裡的密碼是您的電腦上的 root 密碼
選擇 ipp 協定

「連線」(Connection) 輸入 http://您的印表機位址/ipp/

輸入您想用的印表機名稱、描述及位置

選擇製造商(Make): SAMSUNG

選擇機型(Model): Samsung ML-1865W Series (en)

依照個人需求將紙張大小(PageSize)改成 A4

設定完成

您可以由 Maintenance 選擇 Print Test Page 列印測試頁

如果沒問題,由 Administration 選擇 Set As Server Default 設成預設的印表機

這樣就大功告成了

2012年1月6日 星期五

Kamoso - KDE 的 Webcam 應用程式

http://kde-apps.org/content/show.php?content=111750
就是用您的 webcam 照相、錄影的工具
可以用 software.opensuse.org 搜尋 kamoso 然後用單鍵安裝
KDE 使用者以後不必用 cheese 了

2012年1月2日 星期一

Acer aspire 4752G 安裝 openSUSE 12.1

老婆新買了筆電:
acer ASPIRE 4752G
CPU: Intel Core i5-2450M 2.5GHz
顯示卡:NVIDIA GeForce 610M with NVIDIA OPTIMUS TECHNOLOGY

openSUSE 12.1 GNOME Live CD 測試:
開機畫面正常,但選擇 Live GNOME 進入後,在 splash 畫面錯亂,
最後螢幕變黑,無法開機
強迫關機,重新開機時按 F2 進入 BIOS 設定畫面
將 Graphic Mode 由 Switchable 改成 Integrated,儲存,離開
再次測試 Live GNOME,這次就可以進入 GNOME 3,
而且是標準模式,有桌面特效
表示可以使用 openSUSE 系統
結束測試

接著要使用 openSUSE 12.1 64-bit DVD 來安裝
光碟放進去卻不會出現 GRUB 的開機畫面(就是選擇安裝的畫面)
而是黑色終端機螢幕,左上角顯示
ELILO boot:....
Loading kernel linux...

跑一陣子之後會直接進入安裝畫面
照著步驟做下去,到選擇安裝位置時,最後決定取消
因為這種方法會要求您將所有的分割區刪除
但我想留著 windows 做多重開機
本以為是需要先將磁碟空間空出,
但用 GParted 重新化分割區後再重做
仍無法僅用空白分割區安裝
系統說:
Your system states that is requires all EFI boot setup,
Since the selected disk does not contain a GPT disk lable
we creat a GPT lable on this disk.
You need to mark all partitions on this disk for removal.

差點就要放棄了,打算改用 Live CD 安裝
後來發現在 ELILO boot:... 出現時按 ESC
就會出現 GRUB 的安裝畫面
而且可以順利將作業系統安裝到所規劃好的磁區
雖然在安裝前摘要有紅字,說 GRUB 所安裝的位置可能無法正常開機
但我還是心一狠就依照預設位置裝了
結果裝完就...
正常開機了

把所有的更新裝一裝,該裝的套件裝一裝,該調的調一調
依照我以前的理解,再裝上 nvidia 的驅動程式應該就大功告成了
興高采烈的重開機,將 BIOS 中的 Graphic Mode 改回 Switchable
結果...
失敗...畫面整個亂掉,無法開啟 X

只好改回用 Integrated 的顯示卡
還要用 safe mode 才進得了 X
先移除 nvidia 驅動程式,重回原點開始找資料

幸好有 Geeko 的加持和 Google 的幫助
最後還是成功了

Geeko 與你同在!

對於 nvidia optimus 的顯示卡,您需要 Bumblebee,
(當然,如果您要放棄使用 nvidia 顯示卡,只用 intel 的顯示卡,在 BIOS 中調就都可以用了)
相關頁面:
https://github.com/Bumblebee-Project/Bumblebee
http://www.martin-juhl.dk/2011/08/ironhide-reporting-for-duty/
http://www.martin-juhl.dk/2011/08/reassemble-of-the-bee/
https://github.com/MrMEEE/bumblebee
雖然還是一個發展中的計劃
至少給了 nvidia 顯示卡的 Linux 使用者一絲的希望

software.opensuse.org 搜尋 bumblebee
(請在搜尋選項中核取「包含使用者的 home project」)
我們要使用新版的 bumblebee
# zypper ar home:Bumblebee-Project:Bumblebee-develop/openSUSE_12.1 bumblebee

您需要 bumblebee VirtualGL
若使用 64 位元系統,可能還需要 VirtualGL-32bit
# zypper in bumblebee VirtualGL


您可能需要手動將您的使用者加入 bumblebee 群組
您可以輕易用 YaST 來完成這件事

預設使用 nouveau 驅動程式
但我沒辦法成功使用 nouveau 驅動程式
(猜測是新的顯示卡還沒辦法被 nouveau 所支援)
所以我還是需要安裝 nvidia 的專利驅動程式

根據參考資料
安裝了 nvidia 專利驅動程式 (nvidia-gfxG02-kmp-desktop nvidia-computeG02 x11-video-nvidiaG02) 之後
將 nvidia 所提供的部份驅動程式移到新的目錄
以避免和 Mesa 以及 xorg-x11-server 所提供的檔案衝突
注意:
所以當您發現 nvidia 顯示卡驅動程式有更新時
以下步驟必須重新再跑一次
我是使用 64 位元作業系統,就直接以電腦上的檔案位置來舉例
若您是使用 32 位元系統,請注意 lib64 要改成 lib,後面就不再說明了
# mkdir -p /usr/lib64/nvidia/xorg/modules/updates/extensions
# mv /usr/X11R6/lib64/libGL* /usr/lib64/nvidia/
# mv /usr/lib64/xorg/modules/updates/extensions/libglx* /usr/lib64/nvidia/xorg/modules/updates/extensions/
# mkdir -p /usr/lib/nvidia
# mv /usr/X11R6/lib/libGL* /usr/lib/nvidia


最後編輯 /etc/bumblebee/bumblebee.conf 修改
DRIVER=nvidia

您可能還需要修改 /etc/sysconfig/kernel
NO_KMS_IN_INITRD="no"

重新開機,看看是否大功告成

精彩放送:在嘗試失敗的過程中拍到的有趣照片

可能是 intel 顯示卡使用了 nvidia 驅動程式所提供的 libglx.so 來運行桌面特效所造成的結果
(按 Alt-Shift+F12 來終止這種特效)
我本來想說可以用就用看看(還蠻炫的)
可惜都不能用

您可以用 glxinfo 來看看是否運作成功
如果沒有錯誤訊息表示 Intel 顯示卡 OK
$ glxinfo
name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGI_swap_control,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_INTEL_swap_event
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_framebuffer_sRGB,
GLX_MESA_copy_sub_buffer, GLX_MESA_multithread_makecurrent,
GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control,
GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap,
GLX_INTEL_swap_event
GLX extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
GLX_MESA_multithread_makecurrent, GLX_MESA_swap_control,
GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGI_make_current_read,
GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample,
GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group,
GLX_EXT_texture_from_pixmap, GLX_INTEL_swap_event
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile
OpenGL version string: 2.1 Mesa 7.11
OpenGL extensions:
GL_ARB_multisample, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color,
GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract,
GL_EXT_copy_texture, GL_EXT_polygon_offset, GL_EXT_subtexture,
GL_EXT_texture_object, GL_EXT_vertex_array, GL_EXT_compiled_vertex_array,
GL_EXT_texture, GL_EXT_texture3D, GL_IBM_rasterpos_clip,
GL_ARB_point_parameters, GL_EXT_draw_range_elements, GL_EXT_packed_pixels,
GL_EXT_point_parameters, GL_EXT_rescale_normal,
GL_EXT_separate_specular_color, GL_EXT_texture_edge_clamp,
GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp,
GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_ARB_framebuffer_sRGB,
GL_ARB_multitexture, GL_EXT_framebuffer_sRGB,
GL_IBM_multimode_draw_arrays, GL_IBM_texture_mirrored_repeat,
GL_3DFX_texture_compression_FXT1, GL_ARB_texture_cube_map,
GL_ARB_texture_env_add, GL_ARB_transpose_matrix,
GL_EXT_blend_func_separate, GL_EXT_fog_coord, GL_EXT_multi_draw_arrays,
GL_EXT_secondary_color, GL_EXT_texture_env_add,
GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias,
GL_INGR_blend_func_separate, GL_NV_blend_square, GL_NV_light_max_exponent,
GL_NV_texgen_reflection, GL_NV_texture_env_combine4,
GL_SUN_multi_draw_arrays, GL_ARB_texture_border_clamp,
GL_ARB_texture_compression, GL_EXT_framebuffer_object,
GL_EXT_texture_env_dot3, GL_MESA_window_pos, GL_NV_packed_depth_stencil,
GL_NV_texture_rectangle, GL_NV_vertex_program, GL_ARB_depth_texture,
GL_ARB_occlusion_query, GL_ARB_shadow, GL_ARB_texture_env_combine,
GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3,
GL_ARB_texture_mirrored_repeat, GL_ARB_window_pos, GL_ATI_envmap_bumpmap,
GL_EXT_stencil_two_side, GL_EXT_texture_cube_map, GL_NV_depth_clamp,
GL_NV_vertex_program1_1, GL_APPLE_client_storage, GL_APPLE_packed_pixels,
GL_APPLE_vertex_array_object, GL_ARB_draw_buffers,
GL_ARB_fragment_program, GL_ARB_fragment_shader, GL_ARB_shader_objects,
GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ATI_draw_buffers,
GL_ATI_texture_env_combine3, GL_EXT_shadow_funcs, GL_EXT_stencil_wrap,
GL_MESA_pack_invert, GL_MESA_ycbcr_texture, GL_ARB_depth_clamp,
GL_ARB_fragment_program_shadow, GL_ARB_half_float_pixel,
GL_ARB_point_sprite, GL_ARB_shading_language_100, GL_ARB_sync,
GL_ARB_texture_non_power_of_two, GL_ARB_vertex_buffer_object,
GL_ATI_blend_equation_separate, GL_EXT_blend_equation_separate,
GL_OES_read_format, GL_ARB_color_buffer_float, GL_ARB_pixel_buffer_object,
GL_ARB_texture_compression_rgtc, GL_ARB_texture_rectangle,
GL_EXT_pixel_buffer_object, GL_EXT_texture_compression_rgtc,
GL_EXT_texture_rectangle, GL_EXT_texture_sRGB, GL_ARB_framebuffer_object,
GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample,
GL_EXT_packed_depth_stencil, GL_APPLE_object_purgeable,
GL_ARB_vertex_array_object, GL_ATI_separate_stencil, GL_EXT_draw_buffers2,
GL_EXT_gpu_program_parameters, GL_EXT_texture_env_combine,
GL_EXT_texture_sRGB_decode, GL_EXT_timer_query, GL_OES_EGL_image,
GL_ARB_copy_buffer, GL_ARB_half_float_vertex, GL_ARB_map_buffer_range,
GL_ARB_texture_rg, GL_ARB_texture_swizzle, GL_ARB_vertex_array_bgra,
GL_EXT_separate_shader_objects, GL_EXT_texture_swizzle,
GL_EXT_vertex_array_bgra, GL_NV_conditional_render,
GL_ARB_ES2_compatibility, GL_ARB_draw_elements_base_vertex,
GL_ARB_explicit_attrib_location, GL_ARB_fragment_coord_conventions,
GL_ARB_provoking_vertex, GL_ARB_sampler_objects, GL_ARB_seamless_cube_map,
GL_ARB_shader_texture_lod, GL_EXT_provoking_vertex, GL_EXT_texture_snorm,
GL_MESA_texture_signed_rgba, GL_ARB_robustness
glu version: 1.3
glu extensions:
GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x21 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x22 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x8e 24 tc 0 24 0 r . . 8 8 8 0 0 0 0 0 0 0 0 0 0 None
0x8f 24 tc 0 24 0 r y . 8 8 8 0 0 0 0 0 0 0 0 0 0 None
0x90 24 tc 0 24 0 r y . 8 8 8 0 0 0 0 0 0 0 0 0 0 None
0x91 24 tc 0 24 0 r . . 8 8 8 0 0 24 8 0 0 0 0 0 0 None
0x92 24 tc 0 24 0 r y . 8 8 8 0 0 24 8 0 0 0 0 0 0 None
0x93 24 tc 0 24 0 r y . 8 8 8 0 0 24 8 0 0 0 0 0 0 None
0x94 24 tc 0 32 0 r . . 8 8 8 8 0 0 0 0 0 0 0 0 0 None
0x95 24 tc 0 32 0 r y . 8 8 8 8 0 0 0 0 0 0 0 0 0 None
0x96 24 tc 0 32 0 r y . 8 8 8 8 0 0 0 0 0 0 0 0 0 None
0x97 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x98 24 tc 0 24 0 r y . 8 8 8 0 0 24 8 0 0 0 0 0 0 None
0x99 24 tc 0 24 0 r y . 8 8 8 0 0 24 8 16 16 16 0 0 0 Slow
0x9a 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x9b 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x9c 24 dc 0 24 0 r . . 8 8 8 0 0 0 0 0 0 0 0 0 0 None
0x9d 24 dc 0 24 0 r y . 8 8 8 0 0 0 0 0 0 0 0 0 0 None
0x9e 24 dc 0 24 0 r y . 8 8 8 0 0 0 0 0 0 0 0 0 0 None
0x9f 24 dc 0 24 0 r . . 8 8 8 0 0 24 8 0 0 0 0 0 0 None
0xa0 24 dc 0 24 0 r y . 8 8 8 0 0 24 8 0 0 0 0 0 0 None
0xa1 24 dc 0 24 0 r y . 8 8 8 0 0 24 8 0 0 0 0 0 0 None
0xa2 24 dc 0 32 0 r . . 8 8 8 8 0 0 0 0 0 0 0 0 0 None
0xa3 24 dc 0 32 0 r y . 8 8 8 8 0 0 0 0 0 0 0 0 0 None
0xa4 24 dc 0 32 0 r y . 8 8 8 8 0 0 0 0 0 0 0 0 0 None
0xa5 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0xa6 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0xa7 24 dc 0 24 0 r y . 8 8 8 0 0 24 8 0 0 0 0 0 0 None
0xa8 24 dc 0 24 0 r y . 8 8 8 0 0 24 8 16 16 16 0 0 0 Slow
0xa9 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0xaa 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x5d 32 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None

接著用 optirun glxinfo 看 nvidia 顯示卡是否成功啟動
$ optirun glxinfo
name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: VirtualGL
server glx version string: 1.4
server glx extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info,
GLX_EXT_visual_rating, GLX_SGI_make_current_read, GLX_SGIX_fbconfig,
GLX_SGIX_pbuffer, GLX_SUN_get_transparent_index, GLX_ARB_create_context
client glx vendor string: VirtualGL
client glx version string: 1.4
client glx extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info,
GLX_EXT_visual_rating, GLX_SGI_make_current_read, GLX_SGIX_fbconfig,
GLX_SGIX_pbuffer, GLX_SUN_get_transparent_index, GLX_ARB_create_context
GLX extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info,
GLX_EXT_visual_rating, GLX_SGI_make_current_read, GLX_SGIX_fbconfig,
GLX_SGIX_pbuffer, GLX_SUN_get_transparent_index, GLX_ARB_create_context
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce 610M/PCI/SSE2
OpenGL version string: 4.2.0 NVIDIA 290.10
OpenGL extensions:
GL_ARB_base_instance, GL_ARB_blend_func_extended,
GL_ARB_color_buffer_float, GL_ARB_compatibility,
GL_ARB_compressed_texture_pixel_storage, GL_ARB_conservative_depth,
GL_ARB_copy_buffer, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp,
GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend,
GL_ARB_draw_indirect, GL_ARB_draw_elements_base_vertex,
GL_ARB_draw_instanced, GL_ARB_ES2_compatibility,
GL_ARB_explicit_attrib_location, GL_ARB_fragment_coord_conventions,
GL_ARB_fragment_program, GL_ARB_fragment_program_shadow,
GL_ARB_fragment_shader, GL_ARB_framebuffer_object,
GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4,
GL_ARB_get_program_binary, GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64,
GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging,
GL_ARB_instanced_arrays, GL_ARB_internalformat_query,
GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_multisample,
GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_occlusion_query2,
GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite,
GL_ARB_provoking_vertex, GL_ARB_robustness, GL_ARB_sample_shading,
GL_ARB_sampler_objects, GL_ARB_seamless_cube_map,
GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counters,
GL_ARB_shader_bit_encoding, GL_ARB_shader_image_load_store,
GL_ARB_shader_objects, GL_ARB_shader_precision, GL_ARB_shader_subroutine,
GL_ARB_shading_language_100, GL_ARB_shading_language_420pack,
GL_ARB_shading_language_include, GL_ARB_shading_language_packing,
GL_ARB_shadow, GL_ARB_sync, GL_ARB_tessellation_shader,
GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object,
GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_compression,
GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc,
GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array,
GL_ARB_texture_env_add, GL_ARB_texture_env_combine,
GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3,
GL_ARB_texture_float, GL_ARB_texture_gather,
GL_ARB_texture_mirrored_repeat, GL_ARB_texture_multisample,
GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_lod,
GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui,
GL_ARB_texture_storage, GL_ARB_texture_swizzle, GL_ARB_timer_query,
GL_ARB_transform_feedback2, GL_ARB_transform_feedback3,
GL_ARB_transform_feedback_instanced, GL_ARB_transpose_matrix,
GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra,
GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_64bit,
GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader,
GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_viewport_array,
GL_ARB_window_pos, GL_ATI_draw_buffers, GL_ATI_texture_float,
GL_ATI_texture_mirror_once, GL_S3_s3tc, GL_EXT_texture_env_add,
GL_EXT_abgr, GL_EXT_bgra, GL_EXT_bindable_uniform, GL_EXT_blend_color,
GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate,
GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array,
GL_EXT_Cg_shader, GL_EXT_depth_bounds_test, GL_EXT_direct_state_access,
GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements,
GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample,
GL_EXTX_framebuffer_mixed_formats, GL_EXT_framebuffer_object,
GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4,
GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4,
GL_EXT_multi_draw_arrays, GL_EXT_packed_depth_stencil,
GL_EXT_packed_float, GL_EXT_packed_pixels, GL_EXT_pixel_buffer_object,
GL_EXT_point_parameters, GL_EXT_provoking_vertex, GL_EXT_rescale_normal,
GL_EXT_secondary_color, GL_EXT_separate_shader_objects,
GL_EXT_separate_specular_color, GL_EXT_shader_image_load_store,
GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap,
GL_EXT_texture3D, GL_EXT_texture_array, GL_EXT_texture_buffer_object,
GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_latc,
GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc,
GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp,
GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,
GL_EXT_texture_filter_anisotropic, GL_EXT_texture_format_BGRA8888,
GL_EXT_texture_integer, GL_EXT_texture_lod, GL_EXT_texture_lod_bias,
GL_EXT_texture_mirror_clamp, GL_EXT_texture_object,
GL_EXT_texture_shared_exponent, GL_EXT_texture_sRGB,
GL_EXT_texture_sRGB_decode, GL_EXT_texture_storage,
GL_EXT_texture_swizzle, GL_EXT_texture_type_2_10_10_10_REV,
GL_EXT_timer_query, GL_EXT_transform_feedback2, GL_EXT_vertex_array,
GL_EXT_vertex_array_bgra, GL_EXT_vertex_attrib_64bit,
GL_EXT_x11_sync_object, GL_EXT_import_sync_object, GL_IBM_rasterpos_clip,
GL_IBM_texture_mirrored_repeat, GL_KTX_buffer_region, GL_NV_alpha_test,
GL_NV_blend_minmax, GL_NV_blend_square, GL_NV_complex_primitives,
GL_NV_conditional_render, GL_NV_copy_depth_to_color, GL_NV_copy_image,
GL_NV_depth_buffer_float, GL_NV_depth_clamp, GL_NV_explicit_multisample,
GL_NV_fbo_color_attachments, GL_NV_fence, GL_NV_float_buffer,
GL_NV_fog_distance, GL_NV_fragdepth, GL_NV_fragment_program,
GL_NV_fragment_program_option, GL_NV_fragment_program2,
GL_NV_framebuffer_multisample_coverage, GL_NV_geometry_shader4,
GL_NV_gpu_program4, GL_NV_gpu_program4_1, GL_NV_gpu_program5,
GL_NV_gpu_program_fp64, GL_NV_gpu_shader5, GL_NV_half_float,
GL_NV_light_max_exponent, GL_NV_multisample_coverage,
GL_NV_multisample_filter_hint, GL_NV_occlusion_query,
GL_NV_packed_depth_stencil, GL_NV_parameter_buffer_object,
GL_NV_parameter_buffer_object2, GL_NV_path_rendering,
GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_primitive_restart,
GL_NV_register_combiners, GL_NV_register_combiners2,
GL_NV_shader_atomic_counters, GL_NV_shader_buffer_load,
GL_NV_texgen_reflection, GL_NV_texture_barrier,
GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4,
GL_NV_texture_expand_normal, GL_NV_texture_lod_clamp,
GL_NV_texture_multisample, GL_NV_texture_rectangle, GL_NV_texture_shader,
GL_NV_texture_shader2, GL_NV_texture_shader3, GL_NV_transform_feedback,
GL_NV_transform_feedback2, GL_NV_vdpau_interop, GL_NV_vertex_array_range,
GL_NV_vertex_array_range2, GL_NV_vertex_attrib_integer_64bit,
GL_NV_vertex_buffer_unified_memory, GL_NV_vertex_program,
GL_NV_vertex_program1_1, GL_NV_vertex_program2,
GL_NV_vertex_program2_option, GL_NV_vertex_program3,
GL_NVX_conditional_render, GL_NVX_gpu_memory_info, GL_OES_depth24,
GL_OES_depth32, GL_OES_depth_texture, GL_OES_element_index_uint,
GL_OES_fbo_render_mipmap, GL_OES_get_program_binary, GL_OES_mapbuffer,
GL_OES_packed_depth_stencil, GL_OES_rgb8_rgba8,
GL_OES_standard_derivatives, GL_OES_texture_3D, GL_OES_texture_float,
GL_OES_texture_float_linear, GL_OES_texture_half_float,
GL_OES_texture_half_float_linear, GL_OES_texture_npot,
GL_OES_vertex_array_object, GL_OES_vertex_half_float,
GL_SGIS_generate_mipmap, GL_SGIS_texture_lod, GL_SGIX_depth_texture,
GL_SGIX_shadow, GL_SUN_slice_accum
glu version: 1.3
glu extensions:
GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x21 24 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0x22 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0x8e 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0x8f 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0x90 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0x91 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0x92 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0x93 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0x94 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0x95 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0x96 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0x97 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0x98 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0x99 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0x9a 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0x9b 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0x9c 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0x9d 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0x9e 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0x9f 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0xa0 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0xa1 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0xa2 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0xa3 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0xa4 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0xa5 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0xa6 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0xa7 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0xa8 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0xa9 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0xaa 24 dc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None
0x5d 32 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None

目前 bumblebee 的發展似乎尚未能夠動態切換 intel 和 nvidia 顯示卡
http://www.omgubuntu.co.uk/2011/05/bumbleebee-brings-nvidia-optimus-gpu-switching-to-linux-users/
https://wiki.archlinux.org/index.php/Bumblebee
所以當您的應用程式要用到 nvidia 顯示卡時,
您要用命令行啟動
$ optirun 您的_應用程式

或者您直接修改固定要用的 應用程式.desktop 檔案來啟動

因為大部份的時候都用內建的 intel 顯示卡
所以在不用的時候要將 nvidia 顯示卡關閉以減少耗電
請參考:
https://github.com/Bumblebee-Project/Bumblebee/wiki/ACPI-Removed
http://hybrid-graphics-linux.tuxfamily.org/index.php?title=ACPI_calls

首先,我們需要安裝 acpi_call 模組
請到 software.opensuse.org 搜尋 acpi_call-kmp
依照您的核心類型選擇所需的套件
$ uname -r
3.1.0-1.2-desktop

所以我要選擇 acpi_call-kmp-desktop 套件
我使用了 home:Ximi1970:bumblebee-unstable 套件庫中的
# zypper ar obs://home:Ximi1970:bumblebee-unstable/openSUSE_12.1 acpi_call
# zypper in acpi_call-kmp-desktop

載入 acpi_call 模組
# modprobe acpi_call

接著根據 http://hybrid-graphics-linux.tuxfamily.org/index.php?title=ACPI_calls#How_to_add_your_model.27s_information
測試您的顯示卡所支援的呼叫方式
1. 顯示您的機型
# dmidecode -s system-product-name && dmidecode -s system-version
Aspire 4752
V2.13

2. 顯示您的顯示卡資訊
# lspci -vnnn | perl -lne 'print if /^\d+\:.+(\[\S+\:\S+\])/' | grep VGA
00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0126] (rev 09) (prog-if 00 [VGA controller])
01:00.0 VGA compatible controller [0300]: nVidia Corporation Device [10de:0dea] (rev ff) (prog-if ff)

3. 下載測試 script 並進行測試
因為我們已經先安裝了並載入了 acpi_call 模組,所以不必自己編譯
直接測試即可
$ git clone https://github.com/mkottman/acpi_call.git
Cloning into acpi_call...
remote: Counting objects: 200, done.
remote: Compressing objects: 100% (132/132), done.
remote: Total 200 (delta 109), reused 148 (delta 66)
Receiving objects: 100% (200/200), 32.30 KiB, done.
Resolving deltas: 100% (109/109), done.
$ sh acpi_call/test_off.sh
Trying \_SB.PCI0.P0P1.VGA._OFF: failed
Trying \_SB.PCI0.P0P2.VGA._OFF: failed
Trying \_SB_.PCI0.OVGA.ATPX: failed
Trying \_SB_.PCI0.OVGA.XTPX: failed
Trying \_SB.PCI0.P0P3.PEGP._OFF: failed
Trying \_SB.PCI0.P0P2.PEGP._OFF: failed
Trying \_SB.PCI0.P0P1.PEGP._OFF: failed
Trying \_SB.PCI0.MXR0.MXM0._OFF: failed
Trying \_SB.PCI0.PEG1.GFX0._OFF: failed
Trying \_SB.PCI0.PEG0.GFX0.DOFF: failed
Trying \_SB.PCI0.PEG1.GFX0.DOFF: failed
Trying \_SB.PCI0.PEG0.PEGP._OFF: works!

這表示這個顯示卡可以用 \_SB.PCI0.PEG0.PEGP._OFF 來關閉

接下來要編輯
/etc/bumblebee/cardon
內容為
\_SB.PCI0.PEG0.PEGP._ON

/etc/bumblebee/cardoff
內容為就是剛才的測試結果
\_SB.PCI0.PEG0.PEGP._OFF


最後編輯 /etc/bumblebee/bumblebee.conf
修改
STOP_SERVICE_ON_EXIT=Y
ENABLE_POWER_MANAGEMENT=Y
FALLBACK_START=Y

存檔之後,重新開機,大功告成
您可以察看 /var/log/bumblebee.log
您會看見 nvidia 顯示卡在啟動時被停用的訊息
但是只要您用 optirun 去呼叫
就可以用較強的 nvidia 顯示卡功能
[     26.92] Bumblebee log started at Mon, 02 Jan 2012 22:13:43 +0800
[ 26.93] Creating fifo /var/run/bumblebee.fifo for communication...
[ 26.93] Making FIFO writable for members of group bumblebee
[ 26.95] Unloading driver 'nvidia' on start...
[ 27.01] rmmod /lib/modules/3.1.0-1.2-desktop/updates/nvidia.ko
[ 27.02] Disabling graphics card on start...
[ 27.46] insmod /lib/modules/3.1.0-1.2-desktop/updates/acpi_call.ko
[ 27.47] Waiting for orders

您也可以看一下 /var/log/Xorg.0.log
這是 intel 顯示卡載入驅動的紀錄
還有 /var/log/Xorg.8.log
這是 nvidia 顯示卡用 VirtualGL 在虛擬的 X 載入的紀錄

這台電腦的 Fn 快速鍵大多可以正常運作(多媒體鍵就沒測試了)
Fn+F3 循環切換無線網路與藍牙開關正常
Fn+F4 休眠正常
Fn+F5 看起來像是切換外接螢幕(沒得測)
Fn+F6 關閉螢幕正常
Fn+F7 觸控板開關正常
Fn+F8 音量開關正常
Fn+F12 Scr LK 沒測試
Fn+up-arrow 音量調大正常
Fn+down-arrow 音量調小正常

Fn+F11 數字鍵的部份因為 systemd 的影響而無法用
要加上 init=/sbin/init 核心參數才能正常運作
請小心儘量不要用 release note 中的方法...
參考 http://en.opensuse.org/openSUSE:Managing_Systemd

Fn+right-arrow 螢幕調亮
Fn+left-arrow 螢幕調暗
則需要加上 acpi_backlight=vendor acpi_osi=Linux 的核心參數才能調整


這台電腦的其他資訊:
lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 04fc:2801 Sunplus Technology Co., Ltd
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 062a:4101 Creative Labs
Bus 002 Device 003: ID 0489:e03c Foxconn / Hon Hai

其中 Foxconn/HonHai 的裝置是藍牙
目前似乎沒辦法使用
所以用快速鍵把藍牙關起來了

不管怎樣,貼個貼紙佔領起來再說吧!

Have a lot of fun !