LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2073|回复: 17

GEM终于开启了,发帖庆祝一下

[复制链接]
发表于 2008-12-17 21:06:17 | 显示全部楼层 |阅读模式
自己编译了
kernel2.6.28-rc8
libdrm-git
mesa-git
xf86-video-intel-git
intel-dri-git
等包,貌似终于开启了GEM,原来比较卡的compiz-fusion终于很流畅了(compiz自带的性能测试又回到了100fps以上,glxgears速度还是不行,600fps左右)下边是glxinfo,大家帮忙看看GEM是不是真的开启了。
  1. name of display: :0.0
  2. display: :0  screen: 0
  3. direct rendering: Yes
  4. server glx vendor string: SGI
  5. server glx version string: 1.2
  6. server glx extensions:
  7.     GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap,
  8.     GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
  9.     GLX_OML_swap_method, GLX_SGI_swap_control, GLX_SGIS_multisample,
  10.     GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
  11. client glx vendor string: SGI
  12. client glx version string: 1.4
  13. client glx extensions:
  14.     GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
  15.     GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory,
  16.     GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control,
  17.     GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_OML_sync_control,
  18.     GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync,
  19.     GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
  20.     GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap
  21. GLX version: 1.2
  22. GLX extensions:
  23.     GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
  24.     GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
  25.     GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method,
  26.     GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample,
  27.     GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
  28. OpenGL vendor string: Tungsten Graphics, Inc
  29. OpenGL renderer string: Mesa DRI Intel(R) 965GM GEM 20080716 x86/MMX/SSE2
  30. OpenGL version string: 2.1 Mesa 7.3-devel
  31. OpenGL shading language version string: 1.10
  32. OpenGL extensions:
  33.     GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_fragment_program,
  34.     GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader,
  35.     GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query,
  36.     GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite,
  37.     GL_ARB_shader_objects, GL_ARB_shading_language_100, GL_ARB_shadow,
  38.     GL_ARB_texture_border_clamp, GL_ARB_texture_compression,
  39.     GL_ARB_texture_cube_map, GL_ARB_texture_env_add,
  40.     GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar,
  41.     GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat,
  42.     GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle,
  43.     GL_ARB_transpose_matrix, GL_ARB_vertex_buffer_object,
  44.     GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_window_pos,
  45.     GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color,
  46.     GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate,
  47.     GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract,
  48.     GL_EXT_clip_volume_hint, GL_EXT_cull_vertex, GL_EXT_compiled_vertex_array,
  49.     GL_EXT_copy_texture, GL_EXT_draw_range_elements,
  50.     GL_EXT_framebuffer_object, GL_EXT_fog_coord, GL_EXT_multi_draw_arrays,
  51.     GL_EXT_packed_depth_stencil, GL_EXT_packed_pixels,
  52.     GL_EXT_pixel_buffer_object, GL_EXT_point_parameters,
  53.     GL_EXT_polygon_offset, GL_EXT_rescale_normal, GL_EXT_secondary_color,
  54.     GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_EXT_stencil_wrap,
  55.     GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D,
  56.     GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add,
  57.     GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,
  58.     GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias,
  59.     GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_texture_sRGB,
  60.     GL_EXT_vertex_array, GL_3DFX_texture_compression_FXT1,
  61.     GL_APPLE_client_storage, GL_APPLE_packed_pixels,
  62.     GL_ATI_blend_equation_separate, GL_ATI_separate_stencil,
  63.     GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat,
  64.     GL_INGR_blend_func_separate, GL_MESA_pack_invert, GL_MESA_ycbcr_texture,
  65.     GL_MESA_window_pos, GL_NV_blend_square, GL_NV_light_max_exponent,
  66.     GL_NV_point_sprite, GL_NV_texture_rectangle, GL_NV_texgen_reflection,
  67.     GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_OES_read_format,
  68.     GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp,
  69.     GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SGIX_depth_texture,
  70.     GL_SUN_multi_draw_arrays
  71. 3 GLX Visuals
  72.    visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
  73. id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat
  74. ----------------------------------------------------------------------
  75. 0x21 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
  76. 0x22 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
  77. 0x56 32 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
  78. 36 GLXFBConfigs:
  79.    visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
  80. id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat
  81. ----------------------------------------------------------------------
  82. 0x57  0 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
  83. 0x58  0 tc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
  84. 0x59  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
  85. 0x5a  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
  86. 0x5b  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
  87. 0x5c  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
  88. 0x5d  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
  89. 0x5e  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
  90. 0x5f  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
  91. 0x60  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
  92. 0x61  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
  93. 0x62  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
  94. 0x63  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
  95. 0x64  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
  96. 0x65  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
  97. 0x66  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
  98. 0x67  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
  99. 0x68  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
  100. 0x69  0 dc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
  101. 0x6a  0 dc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
  102. 0x6b  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
  103. 0x6c  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
  104. 0x6d  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
  105. 0x6e  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
  106. 0x6f  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
  107. 0x70  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
  108. 0x71  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
  109. 0x72  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
  110. 0x73  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
  111. 0x74  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
  112. 0x75  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
  113. 0x76  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
  114. 0x77  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
  115. 0x78  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
  116. 0x79  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
  117. 0x7a  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
复制代码
发表于 2008-12-17 21:41:09 | 显示全部楼层
好用不?你的什么WM?
回复 支持 反对

使用道具 举报

发表于 2008-12-17 22:21:21 | 显示全部楼层
应该不用编译内核的。只要新的内核drm和libdrm然后驱动就够了把。会替代libdrm,和内核带的drm模块不冲突,重启会看到替代了内核drm模块。不过不知道还需要什么模块。我ATI用的很好。每次更新可以看到drm-git更新了很多intel的东西。

  1. pkgname=drm-git
  2. pkgver=20081216
  3. pkgrel=1
  4. _KERNELVER=`uname -r`
  5. pkgdesc="Kernel DRM services and userspace interface"
  6. url="http://dri.freedesktop.org/"
  7. arch=('i686' 'x86_64')
  8. groups=('lh')
  9. license=('custom')
  10. depends=('glibc')
  11. makedepends=('git' 'xorg-server' 'libpthread-stubs')
  12. replaces=('libdrm')
  13. provides=("libdrm=2.3.1" 'libdrm')
  14. conflicts=('libdrm')
  15. options=('!libtool')
  16. source=()
  17. install=drm-git.install
  18. md5sums=()

  19. _gitroot="git://git.freedesktop.org/git/mesa/drm"
  20. _gitname="drm"

  21. build() {

  22.   msg "Connecting to git.freedesktop.org GIT server...."

  23.   if [ -d ${srcdir}/${_gitname} ] ; then
  24.         cd $_gitname && git pull origin
  25.         msg "The local files are updated."
  26.   else
  27.         git clone $_gitroot
  28.   fi
  29.   msg "GIT checkout done or server timeout. Preparing sources..."

  30.   rm -rf ${srcdir}/${_gitname}-build
  31.   cp -r ${srcdir}/${_gitname} ${srcdir}/${_gitname}-build

  32.   msg "Starting make..."

  33.   cd ${srcdir}/${_gitname}-build

  34.   ./autogen.sh --prefix=/usr --disable-maintainer-mode
  35.   make || return 1
  36.   make DESTDIR=${pkgdir} install || return 1
  37.   
  38.   cd ${srcdir}/${_gitname}-build/linux-core/
  39.   make || return 1
  40.   mkdir -p $startdir/pkg/lib/modules/$_KERNELVER/drivers/char/drm/
  41.   cp *.ko $startdir/pkg/lib/modules/$_KERNELVER/drivers/char/drm/ || return 1
  42.   
  43.   rm -rf ${srcdir}/${_gitname}-build
  44. }
复制代码

  1. post_install()
  2. {
  3.   KERNEL_VERSION=`uname -r`
  4.   /sbin/depmod -ae -v $KERNEL_VERSION > /dev/null 2>&1
  5. }

  6. # arg 1:  the new package version
  7. # arg 2:  the old package version
  8. post_upgrade()
  9. {
  10.   KERNEL_VERSION=`uname -r`
  11.   /sbin/depmod -ae -v $KERNEL_VERSION > /dev/null 2>&1
  12. }

  13. # arg 1:  the old package version
  14. pre_remove() {
  15. #  /sbin/rmmod radeon > /dev/null 2>&1
  16. #  /sbin/rmmod dri > /dev/null 2>&1
  17.   /bin/true
  18. }

  19. # arg 1:  the old package version
  20. post_remove()
  21. {
  22.   KERNEL_VERSION=`uname -r`
  23.   /sbin/depmod -ae -v $KERNEL_VERSION > /dev/null 2>&1
  24. }

  25. op=$1
  26. shift
  27. $op $*
复制代码
回复 支持 反对

使用道具 举报

发表于 2008-12-18 11:52:41 | 显示全部楼层
不好意思,请问一下,GEM是什么?
回复 支持 反对

使用道具 举报

发表于 2008-12-18 12:21:48 | 显示全部楼层
楼主就没尝试尝试 EXT4 ?

准备2.6.28转向ext4 ……
回复 支持 反对

使用道具 举报

发表于 2008-12-18 13:50:05 | 显示全部楼层
i810驱动还没搞定,看视频就是幻灯片了。不想再搞了。LINUX麻烦事挺多的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-18 19:10:06 | 显示全部楼层
Post by jarryson;1925491
应该不用编译内核的。只要新的内核drm和libdrm然后驱动就够了把。会替代libdrm,和内核带的drm模块不冲突,重启会看到替代了内核drm模块。不过不知道还需要什么模块。我ATI用的很好。每次更新可以看到drm-git更新了很多intel的东西。

  1. pkgname=drm-git
  2. pkgver=20081216
  3. pkgrel=1
  4. _KERNELVER=`uname -r`
  5. pkgdesc="Kernel DRM services and userspace interface"
  6. url="http://dri.freedesktop.org/"
  7. arch=('i686' 'x86_64')
  8. groups=('lh')
  9. license=('custom')
  10. depends=('glibc')
  11. makedepends=('git' 'xorg-server' 'libpthread-stubs')
  12. replaces=('libdrm')
  13. provides=("libdrm=2.3.1" 'libdrm')
  14. conflicts=('libdrm')
  15. options=('!libtool')
  16. source=()
  17. install=drm-git.install
  18. md5sums=()

  19. _gitroot="git://git.freedesktop.org/git/mesa/drm"
  20. _gitname="drm"

  21. build() {

  22.   msg "Connecting to git.freedesktop.org GIT server...."

  23.   if [ -d ${srcdir}/${_gitname} ] ; then
  24.         cd $_gitname && git pull origin
  25.         msg "The local files are updated."
  26.   else
  27.         git clone $_gitroot
  28.   fi
  29.   msg "GIT checkout done or server timeout. Preparing sources..."

  30.   rm -rf ${srcdir}/${_gitname}-build
  31.   cp -r ${srcdir}/${_gitname} ${srcdir}/${_gitname}-build

  32.   msg "Starting make..."

  33.   cd ${srcdir}/${_gitname}-build

  34.   ./autogen.sh --prefix=/usr --disable-maintainer-mode
  35.   make || return 1
  36.   make DESTDIR=${pkgdir} install || return 1
  37.   
  38.   cd ${srcdir}/${_gitname}-build/linux-core/
  39.   make || return 1
  40.   mkdir -p $startdir/pkg/lib/modules/$_KERNELVER/drivers/char/drm/
  41.   cp *.ko $startdir/pkg/lib/modules/$_KERNELVER/drivers/char/drm/ || return 1
  42.   
  43.   rm -rf ${srcdir}/${_gitname}-build
  44. }
复制代码

  1. post_install()
  2. {
  3.   KERNEL_VERSION=`uname -r`
  4.   /sbin/depmod -ae -v $KERNEL_VERSION > /dev/null 2>&1
  5. }

  6. # arg 1:  the new package version
  7. # arg 2:  the old package version
  8. post_upgrade()
  9. {
  10.   KERNEL_VERSION=`uname -r`
  11.   /sbin/depmod -ae -v $KERNEL_VERSION > /dev/null 2>&1
  12. }

  13. # arg 1:  the old package version
  14. pre_remove() {
  15. #  /sbin/rmmod radeon > /dev/null 2>&1
  16. #  /sbin/rmmod dri > /dev/null 2>&1
  17.   /bin/true
  18. }

  19. # arg 1:  the old package version
  20. post_remove()
  21. {
  22.   KERNEL_VERSION=`uname -r`
  23.   /sbin/depmod -ae -v $KERNEL_VERSION > /dev/null 2>&1
  24. }

  25. op=$1
  26. shift
  27. $op $*
复制代码


这个我就不懂了,GEM不是内核的新特性吗?就是在内核中管理显卡内存,只是更新DRM的话显卡内存管理还是没解决吧?
回复 支持 反对

使用道具 举报

发表于 2008-12-18 21:51:24 | 显示全部楼层
呵呵,我也是想当然了。显示不是需要drm模块嘛,就更新drm模块就好。。。
回复 支持 反对

使用道具 举报

发表于 2008-12-19 00:43:05 | 显示全部楼层
楼主,能把你的包给我用下么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-19 12:54:19 | 显示全部楼层
Post by 难免有错;1926098
楼主,能把你的包给我用下么?


我实际过程中可能走了一些弯路,这几天也忙糊涂了,周末有时间的话,我好好整理一下,把PKGBUILD都发上来。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表