Graphics
Slackware 目前和 Radeon HD 6450:在 OpenGL 上
我已經升級到目前的 Slackware(從 14.1 開始),一切正常,除了 OpenGL。Fglrx 15.302 不能針對正在執行的核心 (4.4.5) 進行編譯,所以我決定堅持使用免費驅動程序。但是,儘管一切看起來都很好,但它根本不起作用:
lsmod | egrep 'amdgpu|radeon' amdgpu 574775 0 radeon 1440055 2 hwmon 3287 3 k10temp,amdgpu,radeon ttm 71787 2 amdgpu,radeon drm_kms_helper 108360 2 amdgpu,radeon drm 277256 6 ttm,drm_kms_helper,amdgpu,radeon i2c_algo_bit 5190 2 amdgpu,radeon i2c_core 41745 7 drm,i2c_dev,i2c_piix4,drm_kms_helper,i2c_algo_bit,amdgpu,radeon
Xorg.0.log 提到載入 GLX 擴展:
[ 1427.634] (II) LoadModule: "glx" [ 1427.635] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so [ 1427.647] (II) Module glx: vendor="X.Org Foundation" [ 1427.647] (==) AIGLX enabled [ 1427.647] (==) Assigned the driver to the xf86ConfigLayout <snip the list of cards> [ 75978.088] (II) GLX: Initialized DRI2 GL provider for screen 0 [ 76004.515] (II) AIGLX: enabled GLX_MESA_copy_sub_buffer [ 76004.515] (II) AIGLX: enabled GLX_ARB_create_context [ 76004.515] (II) AIGLX: enabled GLX_ARB_create_context_profile [ 76004.515] (II) AIGLX: enabled GLX_EXT_create_context_es{,2}_profile [ 76004.515] (II) AIGLX: enabled GLX_INTEL_swap_event [ 76004.515] (II) AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control [ 76004.515] (II) AIGLX: enabled GLX_EXT_framebuffer_sRGB [ 76004.515] (II) AIGLX: enabled GLX_ARB_fbconfig_float [ 76004.515] (II) AIGLX: enabled GLX_EXT_fbconfig_packed_float [ 76004.515] (II) AIGLX: GLX_EXT_texture_from_pixmap backed by buffer objects [ 76004.515] (II) AIGLX: enabled GLX_ARB_create_context_robustness [ 76004.516] (II) AIGLX: Loaded and initialized r600 [ 76004.516] (II) GLX: Initialized DRI2 GL provider for screen 0
但是,任何 GL 應用程序都會因此錯誤而崩潰:
glxgears X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 154 (GLX) Minor opcode of failed request: 3 (X_GLXCreateContext) Value in failed request: 0x0 Serial number of failed request: 21 Current serial number in output stream: 23 glxinfo name of display: :0 X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 154 (GLX) Minor opcode of failed request: 24 (X_GLXCreateNewContext) Value in failed request: 0x0 Serial number of failed request: 16 Current serial number in output stream: 21
任何的想法?我錯過了什麼?
實際上,問題來自 NVIDIA 安裝程序的一個古老遺跡:
/usr/lib/libXvMCNVIDIA.so.96.43.11
刪除所有孤立的 NVIDIA 文件解決了這個問題!