다음 이전 차례

6. 그 밖에

6.1 MTRR 설정하기

        
                ** Matrox 비디오 카드를 갖고 있는 사람들은 볼 것 **
                
                matroxfb를 커널에 컴파일했다면, 아마도 MTRR들이 
                이미 설치되어있을 것이다. 그렇다면 이 장을 
                건너뛰어도 무방할 것으로 본다.

MTRR을 설정함으로써 경우에 따라 비디오 성능이 상당히 좋아질 수 있다. 따라서 설정 하기를 권고한다. 먼저, 다음과 같이 명령을 줘서 여러분의 커널이 MTRR 지원을 포함하고 있는지를 확인할 필요가 있다:

           
           # ls /proc/mtrr

만일 /proc/mtrr과 같은 것이 없다고 하면, 여러분의 커널을 MTRR 지원과 함께 다시 컴파일 할 필요가 있다(이는 커널 컴파일 menuconfig안의 "Processor type and features"에 있다).

일단 MTRR이 제대로 동작하고 있음을 확인했으면, 여러분의 비디오 카드의 기본 메모리 주소와 비디오 램의 크기가 얼마인가를 알고 있어야 한다. 이를 알아보는 가장 손쉬운 방법은 X-Window가 실행할 때 텍스트 화면으로 출력하는 정보를 보는 것이다. 이 텍스트 화면 출력 정보는 대부분 모니터 화면위로 스크롤되어 보이지 않게 되거나 다른 tty로 화면 전환이 일어나면서 사라져 버리기 때문에, 이 X-Window 출력정보를 파일(xoutput)로 리타이렉션해서 저장하면 된다. 다음과 같이 명령을 준다:

    
           # startx 2> xoutput

우리가 필요한 정보를 담고 있는 행은 xouput 파일의 중간 쯤에 있을 것이다. 다음과 같은 행을 찾아 본다:

     
           (--) SVGA: PCI: NVidia Riva TNT2 rev 17, Memory @ 0xee000000, 0xe2000000

일단 xouput 파일에서 해당 위치를 찾았으면 행의 끝 부분에 있는 메모리 주소를 종이에 적어둔다. 이 예에서는 0xe2000000 이다. 여러분의 하드웨어 사양에 따라 복수개의 메모리 주소가 있을 수도, 또는 없을 수도 있으니까, 좀 다르게 나타나더라도 걱정하지 않아도 된다. 메모리 주소를 적었으면 xoutput 파일은 지워도 된다.

다음으로 새 MTRR를 만들도록 한다. 이를 만들려면 여러분의 비디오 카드의 비디오 램의 크기를 16진수값으로 알고 있어야 한다. 다음을 참조한다:

        
           4MB  -- 0x400000
           8MB  -- 0x800000
           16MB -- 0x1000000
           32MB -- 0x2000000

다음과 같이 MTRR를 추가한다:

        
           # echo "base=0xe2000000 size=0x2000000 type=write-combining" >| /proc/mtrr

단, 위의 "0xe2000000"와 "0x2000000" 부분을 여러분의 비디오 카드의 기본 메모리 주소와 비디오 램의 크기의 값으로 바꿔서 적어준다.

이제 MTRR이 설정되었다, 다음과 같이 확인해 본다:

        
           # cat /proc/mtrr

그러면 다음과 비슷한 결과를 보게 될 것이다:

        
           reg00: base=0x00000000 (   0MB), size= 128MB: write-back, count=1
           reg01: base=0xe2000000 (3616MB), size=  32MB: write-combining, count=1

한번 더, 숫자값들이 아마도 이것과 다를지도 모른다. 걱정하지 않아도 된다.


다음 이전 차례