LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   How to properly edit mtrr (Memory Type Range Registers) for 4GB RAM memory (https://www.linuxquestions.org/questions/slackware-14/how-to-properly-edit-mtrr-memory-type-range-registers-for-4gb-ram-memory-903691/)

Z0K4 09-18-2011 11:55 AM

How to properly edit mtrr (Memory Type Range Registers) for 4GB RAM memory
 
Hi slackers!
I'm using Slackware64 13.37 with Xfce DE. Slack is installed on a laptop with 4GB of RAM with Intel's GMA4500 graphics chip! When I run dmesg
Code:

# dmesg | grep drm
[    8.277547] [drm] Initialized drm 1.1.0 20060810
[    8.815840] [drm] MTRR allocation failed.  Graphics performance may suffer.
[    9.143522] fb0: inteldrmfb frame buffer device
[    9.143524] drm: registered panic notifier
[    9.444801] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0

What concerned me is "MTRR allocation failed."
So i ran cat /proc/mtrr:
Code:

# cat /proc/mtrr
reg00: base=0x000000000 (    0MB), size= 2048MB, count=1: write-back
reg01: base=0x080000000 ( 2048MB), size= 1024MB, count=1: write-back
reg02: base=0x0c0000000 ( 3072MB), size=  512MB, count=1: write-back
reg03: base=0x0dde00000 ( 3550MB), size=    2MB, count=1: uncachable
reg04: base=0x0bc000000 ( 3008MB), size=  64MB, count=1: uncachable
reg05: base=0x0bbc00000 ( 3004MB), size=    4MB, count=1: uncachable
reg06: base=0x0bbb00000 ( 3003MB), size=    1MB, count=1: uncachable
reg07: base=0x100000000 ( 4096MB), size= 4096MB, count=2: write-back

Now, somewhere I've read that there should be write-combining type! Can anyone suggest a script for making this better! Is 8 of regXX-s really necessary? What each of those mean?

This might help:
Code:

# dmesg | grep agp
[    6.867945] Linux agpgart interface v0.103
[    7.145263] agpgart-intel 0000:00:00.0: Intel GM45 Chipset
[    7.145440] agpgart-intel 0000:00:00.0: detected gtt size: 524288K total, 262144K mappable
[    7.145839] agpgart-intel 0000:00:00.0: detected 65536K stolen memory, trimming to 32768K
[    7.152456] agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xc0000000

Code:

# glxinfo
name of display: :0.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_MESA_copy_sub_buffer,
    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 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_MESA_copy_sub_buffer,
    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 Mobile Intel® GM45 Express Chipset 
OpenGL version string: 2.1 Mesa 7.9.2
OpenGL shading language version string: 1.20
OpenGL extensions:
    GL_ARB_copy_buffer, GL_ARB_depth_clamp, GL_ARB_depth_texture,
    GL_ARB_draw_buffers, GL_ARB_draw_elements_base_vertex,
    GL_ARB_fragment_coord_conventions, GL_ARB_fragment_program,
    GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader,
    GL_ARB_framebuffer_object, GL_ARB_half_float_pixel,
    GL_ARB_half_float_vertex, GL_ARB_map_buffer_range, GL_ARB_multisample,
    GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_pixel_buffer_object,
    GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_provoking_vertex,
    GL_ARB_seamless_cube_map, GL_ARB_shader_objects,
    GL_ARB_shading_language_100, GL_ARB_shadow, GL_ARB_sync,
    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_texture_swizzle, GL_ARB_transpose_matrix, GL_ARB_vertex_array_bgra,
    GL_ARB_vertex_array_object, GL_ARB_vertex_buffer_object,
    GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_window_pos,
    GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color,
    GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate,
    GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract,
    GL_EXT_cull_vertex, GL_EXT_compiled_vertex_array, GL_EXT_copy_texture,
    GL_EXT_draw_buffers2, GL_EXT_draw_range_elements, GL_EXT_framebuffer_blit,
    GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_object,
    GL_EXT_fog_coord, GL_EXT_gpu_program_parameters, GL_EXT_multi_draw_arrays,
    GL_EXT_packed_depth_stencil, GL_EXT_packed_pixels,
    GL_EXT_pixel_buffer_object, GL_EXT_point_parameters,
    GL_EXT_polygon_offset, GL_EXT_provoking_vertex, GL_EXT_rescale_normal,
    GL_EXT_secondary_color, GL_EXT_separate_specular_color,
    GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap,
    GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D,
    GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp,
    GL_EXT_texture_env_add, GL_EXT_texture_env_combine,
    GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic,
    GL_EXT_texture_lod_bias, GL_EXT_texture_object, GL_EXT_texture_rectangle,
    GL_EXT_texture_sRGB, GL_EXT_texture_swizzle, GL_EXT_vertex_array,
    GL_EXT_vertex_array_bgra, GL_3DFX_texture_compression_FXT1,
    GL_APPLE_client_storage, GL_APPLE_packed_pixels,
    GL_APPLE_vertex_array_object, GL_APPLE_object_purgeable,
    GL_ATI_blend_equation_separate, GL_ATI_envmap_bumpmap,
    GL_ATI_texture_env_combine3, GL_ATI_separate_stencil,
    GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip,
    GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate,
    GL_MESA_pack_invert, GL_MESA_texture_signed_rgba, GL_MESA_ycbcr_texture,
    GL_MESA_window_pos, GL_NV_blend_square, GL_NV_depth_clamp,
    GL_NV_light_max_exponent, GL_NV_packed_depth_stencil,
    GL_NV_texgen_reflection, GL_NV_texture_env_combine4,
    GL_NV_texture_rectangle, GL_NV_vertex_program, GL_NV_vertex_program1_1,
    GL_OES_read_format, GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp,
    GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays,
    GL_OES_EGL_image

32 GLX Visuals
    visual  x  bf lv rg d st  colorbuffer  sr ax dp st accumbuffer  ms  cav
  id dep cl sp  sz l  ci b ro  r  g  b  a F gb bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------------
0x021 24 tc  0  32  0 r  y .  8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x022 24 dc  0  32  0 r  y .  8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x08d 24 tc  0  24  0 r  . .  8  8  8  0 .  .  0  0  0  0  0  0  0  0 0 None
0x08e 24 tc  0  24  0 r  y .  8  8  8  0 .  .  0  0  0  0  0  0  0  0 0 None
0x08f 24 tc  0  24  0 r  y .  8  8  8  0 .  .  0  0  0  0  0  0  0  0 0 None
0x090 24 tc  0  24  0 r  . .  8  8  8  0 .  .  0 24  8  0  0  0  0  0 0 None
0x091 24 tc  0  24  0 r  y .  8  8  8  0 .  .  0 24  8  0  0  0  0  0 0 None
0x092 24 tc  0  24  0 r  y .  8  8  8  0 .  .  0 24  8  0  0  0  0  0 0 None
0x093 24 tc  0  32  0 r  . .  8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x094 24 tc  0  32  0 r  y .  8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x095 24 tc  0  32  0 r  y .  8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x096 24 tc  0  32  0 r  . .  8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x097 24 tc  0  24  0 r  y .  8  8  8  0 .  .  0 24  8  0  0  0  0  0 0 None
0x098 24 tc  0  24  0 r  y .  8  8  8  0 .  .  0 24  8 16 16 16  0  0 0 Slow
0x099 24 tc  0  32  0 r  y .  8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x09a 24 tc  0  32  0 r  y .  8  8  8  8 .  .  0 24  8 16 16 16 16  0 0 Slow
0x09b 24 dc  0  24  0 r  . .  8  8  8  0 .  .  0  0  0  0  0  0  0  0 0 None
0x09c 24 dc  0  24  0 r  y .  8  8  8  0 .  .  0  0  0  0  0  0  0  0 0 None
0x09d 24 dc  0  24  0 r  y .  8  8  8  0 .  .  0  0  0  0  0  0  0  0 0 None
0x09e 24 dc  0  24  0 r  . .  8  8  8  0 .  .  0 24  8  0  0  0  0  0 0 None
0x09f 24 dc  0  24  0 r  y .  8  8  8  0 .  .  0 24  8  0  0  0  0  0 0 None
0x0a0 24 dc  0  24  0 r  y .  8  8  8  0 .  .  0 24  8  0  0  0  0  0 0 None
0x0a1 24 dc  0  32  0 r  . .  8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x0a2 24 dc  0  32  0 r  y .  8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x0a3 24 dc  0  32  0 r  y .  8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x0a4 24 dc  0  32  0 r  . .  8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x0a5 24 dc  0  32  0 r  y .  8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x0a6 24 dc  0  24  0 r  y .  8  8  8  0 .  .  0 24  8  0  0  0  0  0 0 None
0x0a7 24 dc  0  24  0 r  y .  8  8  8  0 .  .  0 24  8 16 16 16  0  0 0 Slow
0x0a8 24 dc  0  32  0 r  y .  8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x0a9 24 dc  0  32  0 r  y .  8  8  8  8 .  .  0 24  8 16 16 16 16  0 0 Slow
0x05c 32 tc  0  32  0 r  y .  8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None

48 GLXFBConfigs:
    visual  x  bf lv rg d st  colorbuffer  sr ax dp st accumbuffer  ms  cav
  id dep cl sp  sz l  ci b ro  r  g  b  a F gb bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------------
0x05d  0 tc  0  16  0 r  . .  5  6  5  0 .  .  0  0  0  0  0  0  0  0 0 None
0x05e  0 tc  0  16  0 r  y .  5  6  5  0 .  .  0  0  0  0  0  0  0  0 0 None
0x05f  0 tc  0  16  0 r  y .  5  6  5  0 .  .  0  0  0  0  0  0  0  0 0 None
0x060  0 tc  0  16  0 r  . .  5  6  5  0 .  .  0 16  0  0  0  0  0  0 0 None
0x061  0 tc  0  16  0 r  y .  5  6  5  0 .  .  0 16  0  0  0  0  0  0 0 None
0x062  0 tc  0  16  0 r  y .  5  6  5  0 .  .  0 16  0  0  0  0  0  0 0 None
0x063 24 tc  0  24  0 r  . .  8  8  8  0 .  .  0  0  0  0  0  0  0  0 0 None
0x064 24 tc  0  24  0 r  y .  8  8  8  0 .  .  0  0  0  0  0  0  0  0 0 None
0x065 24 tc  0  24  0 r  y .  8  8  8  0 .  .  0  0  0  0  0  0  0  0 0 None
0x066 24 tc  0  24  0 r  . .  8  8  8  0 .  .  0 24  8  0  0  0  0  0 0 None
0x067 24 tc  0  24  0 r  y .  8  8  8  0 .  .  0 24  8  0  0  0  0  0 0 None
0x068 24 tc  0  24  0 r  y .  8  8  8  0 .  .  0 24  8  0  0  0  0  0 0 None
0x069 24 tc  0  32  0 r  . .  8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x06a 24 tc  0  32  0 r  y .  8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x06b 24 tc  0  32  0 r  y .  8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x06c 24 tc  0  32  0 r  . .  8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x06d 24 tc  0  32  0 r  y .  8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x06e 32 tc  0  32  0 r  y .  8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x06f  0 tc  0  16  0 r  y .  5  6  5  0 .  .  0 16  0  0  0  0  0  0 0 None
0x070  0 tc  0  16  0 r  y .  5  6  5  0 .  .  0 16  0 16 16 16  0  0 0 Slow
0x071 24 tc  0  24  0 r  y .  8  8  8  0 .  .  0 24  8  0  0  0  0  0 0 None
0x072 24 tc  0  24  0 r  y .  8  8  8  0 .  .  0 24  8 16 16 16  0  0 0 Slow
0x073 24 tc  0  32  0 r  y .  8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x074 24 tc  0  32  0 r  y .  8  8  8  8 .  .  0 24  8 16 16 16 16  0 0 Slow
0x075  0 dc  0  16  0 r  . .  5  6  5  0 .  .  0  0  0  0  0  0  0  0 0 None
0x076  0 dc  0  16  0 r  y .  5  6  5  0 .  .  0  0  0  0  0  0  0  0 0 None
0x077  0 dc  0  16  0 r  y .  5  6  5  0 .  .  0  0  0  0  0  0  0  0 0 None
0x078  0 dc  0  16  0 r  . .  5  6  5  0 .  .  0 16  0  0  0  0  0  0 0 None
0x079  0 dc  0  16  0 r  y .  5  6  5  0 .  .  0 16  0  0  0  0  0  0 0 None
0x07a  0 dc  0  16  0 r  y .  5  6  5  0 .  .  0 16  0  0  0  0  0  0 0 None
0x07b 24 dc  0  24  0 r  . .  8  8  8  0 .  .  0  0  0  0  0  0  0  0 0 None
0x07c 24 dc  0  24  0 r  y .  8  8  8  0 .  .  0  0  0  0  0  0  0  0 0 None
0x07d 24 dc  0  24  0 r  y .  8  8  8  0 .  .  0  0  0  0  0  0  0  0 0 None
0x07e 24 dc  0  24  0 r  . .  8  8  8  0 .  .  0 24  8  0  0  0  0  0 0 None
0x07f 24 dc  0  24  0 r  y .  8  8  8  0 .  .  0 24  8  0  0  0  0  0 0 None
0x080 24 dc  0  24  0 r  y .  8  8  8  0 .  .  0 24  8  0  0  0  0  0 0 None
0x081 24 dc  0  32  0 r  . .  8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x082 24 dc  0  32  0 r  y .  8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x083 24 dc  0  32  0 r  y .  8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x084 24 dc  0  32  0 r  . .  8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x085 24 dc  0  32  0 r  y .  8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x086 24 dc  0  32  0 r  y .  8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x087  0 dc  0  16  0 r  y .  5  6  5  0 .  .  0 16  0  0  0  0  0  0 0 None
0x088  0 dc  0  16  0 r  y .  5  6  5  0 .  .  0 16  0 16 16 16  0  0 0 Slow
0x089 24 dc  0  24  0 r  y .  8  8  8  0 .  .  0 24  8  0  0  0  0  0 0 None
0x08a 24 dc  0  24  0 r  y .  8  8  8  0 .  .  0 24  8 16 16 16  0  0 0 Slow
0x08b 24 dc  0  32  0 r  y .  8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x08c 24 dc  0  32  0 r  y .  8  8  8  8 .  .  0 24  8 16 16 16 16  0 0 Slow

Thank you in advance! ;)

audriusk 09-19-2011 01:09 PM

Sorry if the following won't be very informative, I have researched this more than a year ago and don't remember much details.

My laptop has Intel 965GM chipset with GMA X3100 graphics. To fix MTRR registers I add "enable_mtrr_cleanup mtrr_spare_reg_nr=1" to append line in /etc/lilo.conf file.

Here's the output of /proc/mtrr after applying the fix:
Code:

reg00: base=0x000000000 (    0MB), size= 2048MB, count=1: write-back
reg01: base=0x080000000 ( 2048MB), size= 1024MB, count=1: write-back
reg02: base=0x0bf700000 ( 3063MB), size=    1MB, count=1: uncachable
reg03: base=0x0bf800000 ( 3064MB), size=    8MB, count=1: uncachable
reg04: base=0x100000000 ( 4096MB), size= 1024MB, count=1: write-back
reg05: base=0x0e0000000 ( 3584MB), size=  256MB, count=1: write-combining

Your Intel graphics is newer so I don't know if the same append line will work for you. Try to search in LQ or the web for more examples.

Z0K4 11-06-2011 08:06 AM

Quote:

Originally Posted by audriusk (Post 4476288)
Sorry if the following won't be very informative, I have researched this more than a year ago and don't remember much details.

My laptop has Intel 965GM chipset with GMA X3100 graphics. To fix MTRR registers I add "enable_mtrr_cleanup mtrr_spare_reg_nr=1" to append line in /etc/lilo.conf file.

Here's the output of /proc/mtrr after applying the fix:
Code:

reg00: base=0x000000000 (    0MB), size= 2048MB, count=1: write-back
reg01: base=0x080000000 ( 2048MB), size= 1024MB, count=1: write-back
reg02: base=0x0bf700000 ( 3063MB), size=    1MB, count=1: uncachable
reg03: base=0x0bf800000 ( 3064MB), size=    8MB, count=1: uncachable
reg04: base=0x100000000 ( 4096MB), size= 1024MB, count=1: write-back
reg05: base=0x0e0000000 ( 3584MB), size=  256MB, count=1: write-combining

Your Intel graphics is newer so I don't know if the same append line will work for you. Try to search in LQ or the web for more examples.

Thank you for your reply audriusk! This has been very informative but it didn't work for my graphics. I've searched the LQ and web for past month or two and couldn't find the solution to my problem. I did find the script that configures these regs but after the reboot, size and type go back to the old values... I taught adding that script to rc.local would solve the issue but it didn't. I mean, the values were changed but the performance was the same old - no 3D enabled! :/
I guess I'll have to choose ATi or Nvidia graphics next time I'm purchasing a computer/laptop! Sorry for this late reply, and again thank you for taking time to help me! Cheers ;)

kevmccor 11-06-2011 02:11 PM

If you have not updated your motherboard bios, it may be a good idea. I had mtrr problems that were solved after updating the bios with the motherboard maker's bios flash upgrade. Also, including " enable_mtrr_cleanup" in the lilo.conf append line was necessary, but mtrr_spare_reg_nr=1 was not needed.

Z0K4 11-07-2011 10:02 AM

Quote:

Originally Posted by kevmccor (Post 4517489)
If you have not updated your motherboard bios, it may be a good idea. I had mtrr problems that were solved after updating the bios with the motherboard maker's bios flash upgrade. Also, including " enable_mtrr_cleanup" in the lilo.conf append line was necessary, but mtrr_spare_reg_nr=1 was not needed.

Thank you for your suggestion. When I grab extra time I'll update my BIOS and I'll post was it successful or not! Wish me luck, I'll keep my fingers crossed and pray, and hopefully it will work! :D Cheers


All times are GMT -5. The time now is 02:37 PM.