我刚刚升级到内核为 3.10.6 的 ubuntu 13.04。之后,我将 fglrx 更新到 13.8 beta,然后添加了 ppa:kubuntu-ppa/backports,并升级了系统。重启后,我的效果设置更改为 xrander,因此我尝试应用新的 opengl 2.1、2.0 和 3.1,但它们都不起作用。它说“无法使用这些选项激活效果,请检查 X 配置或更改有关合成类型的选项”。
这是我的xorg配置文件: http://pastebin.com/raw.php?i=D6MPUEZv
和我的Xorg.0.log: http://pastebin.com/raw.php?i=nXF80qmH
这是输出glxinfo:
name of display: :0
Setting of real/effective user Id to 0/0 failed
libGL error: open uki failed (Operation not permitted)
libGL error: reverting to (slow) indirect rendering
display: :0 screen: 0
direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)
server glx vendor string: ATI
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_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
client glx vendor string: ATI
client glx version string: 1.4
client glx extensions:
GLX_ARB_create_context, GLX_ARB_create_context_profile,
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_swap_control, GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_MESA_allocate_memory, GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control,
GLX_MESA_swap_frame_usage, GLX_NV_swap_group, GLX_OML_swap_method,
GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_swap_barrier, GLX_SGIX_swap_group, GLX_SGIX_visual_select_group,
GLX_EXT_texture_from_pixmap, GLX_EXT_framebuffer_sRGB,
GLX_ARB_fbconfig_float, GLX_AMD_gpu_association, GLX_EXT_buffer_age
GLX version: 1.4
GLX extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating, 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_EXT_texture_from_pixmap
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: AMD Radeon HD 6800 Series
OpenGL version string: 2.1 (4.3.12438 Compatibility Profile Context 13.20.5)
OpenGL shading language version string: (null)
OpenGL extensions:
GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_fragment_program,
GL_ARB_fragment_program_shadow, GL_ARB_imaging, GL_ARB_multisample,
GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_point_parameters,
GL_ARB_point_sprite, GL_ARB_shadow, GL_ARB_shadow_ambient,
GL_ARB_texture_border_clamp, GL_ARB_texture_compression,
GL_ARB_texture_cube_map, GL_ARB_texture_env_add,
GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar,
GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat,
GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle,
GL_ARB_transpose_matrix, GL_ARB_vertex_buffer_object,
GL_ARB_vertex_program, GL_ARB_window_pos, GL_ARB_shader_objects,
GL_ARB_vertex_shader, GL_ARB_fragment_shader, GL_ARB_framebuffer_object,
GL_ARB_geometry_shader4, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color,
GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate,
GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_copy_texture,
GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_object,
GL_EXT_multi_draw_arrays, GL_EXT_packed_pixels, GL_EXT_point_parameters,
GL_EXT_rescale_normal, GL_EXT_secondary_color,
GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_EXT_stencil_wrap,
GL_EXT_subtexture, GL_EXT_texture3D, GL_EXT_texture_compression_s3tc,
GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add,
GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_EXT_texture_lod,
GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp,
GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_vertex_array,
GL_EXT_histogram, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample,
GL_EXT_geometry_shader4, GL_EXT_gpu_shader4, GL_ATI_draw_buffers,
GL_ATI_texture_env_combine3, GL_ATI_texture_mirror_once,
GL_ATIX_texture_env_combine3, GL_IBM_texture_mirrored_repeat,
GL_INGR_blend_func_separate, GL_SGIS_generate_mipmap,
GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp,
GL_SGIS_texture_lod, GL_SGIX_shadow_ambient, GL_SUN_multi_draw_arrays,
GL_ARB_texture_float
这是输出信息:
Setting of real/effective user Id to 0/0 failed
libGL error: open uki failed (Operation not permitted)
libGL error: reverting to (slow) indirect rendering
display: :0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: AMD Radeon HD 6800 Series
OpenGL version string: 2.1 (4.3.12438 Compatibility Profile Context 13.20.5)
我该如何解决?谢谢
答案1
您的驱动程序已损坏 - 13.8 中有很多错误,例如缺少对 procfs / proc / ati / 的访问权限... 是它的补丁,但这些驱动程序非常“不合适”,例如内存泄漏等。:PI 现在推荐 13.3 beta3 - 由我们的 NeteXt'73 - 我构建了 Catalyst 13.3 beta3 v4,理想情况下可以在 3.10.x 内核和我的 v25.x 下运行
http://ubuntu.pl/forum/viewtopic.php?f=216&t=163378
至于 KDE 4.11,已经研究过这种情况 - 它看起来像是 KWin 中的一个错误。
答案2
我在 3.10 内核、fglrx 13-8 beta 和 kde 4.11 上遇到了同样的问题。以下是有效的方法:
使用提取选项运行驱动程序安装程序:
./amd-catalyst-13.8-beta1-linux-x86.x86_64.run --extract [dirname]`
然后cd [dirname]
打开文件“common/lib/modules/fglrx/build_mod/firegl_public.c”。找到第 821 或 822 行。更改:
root = KCL_create_proc_dir(NULL, "ati", S_IFDIR);
...到:
root = KCL_create_proc_dir(NULL, "ati", S_IFDIR|S_IRUGO|S_IXUGO);
然后运行此命令并重新启动:
sudo ./ati-installer --arguments --install
...或者重建 deb 包,安装它们然后重新启动:
sudo ./ati-installer --arguments --buildpkg Ubuntu/raring
答案3
遇到了同样的问题(fglrx 13.4 / kubuntu 13.04 / kde 4.11 / kernel 3.8.0-29)。
重新安装 fglrx-updates 包(来自 ubuntu 存储库)后
sudo aticonfig --initial --force
并重新启动 OpenGL 对我来说再次起作用。
答案4
在 AMD A10 6800 APU 上使用 ATI Richland [Radeon HD 8670D] 在 3 个屏幕上确认 KDE(buntu) 13.04 下的 3.9 内核 + catalyst 13.8 beta 驱动程序相同,一个 X,无 xinerama。
我设法让 OpenGL 在穹顶巫毒舞之后运行,不知道最后有什么帮助。运行得相当快,也很好,但上面提到的分形和破碎等离子体存在问题。
然后我切换到了 XRender,到目前为止似乎还不错。虽然有些效果不起作用,但大多数效果都起作用了。唯一的缺点是 GTK 应用程序运行速度有点慢(这些应用程序在 OpenGL 下运行得很快)。
另一个问题是 KWin 和 plasma-desktop 占用 CPU,但通过删除“系统监视器”小部件解决了这个问题。
感谢您更新您的帖子,当我需要 OpenGL 时,我也会尝试回滚到 3.8/13.4。