TECH 으로 돌아가기
TECH HACKER NEWS 오늘 6분 읽기 24 READS

공식 미지원 메인보드에서 Resizable BAR 켜기: ReBarUEFI의 원리와 실무적 함의

공식 미지원 메인보드에서 Resizable BAR 켜기: ReBarUEFI의 원리와 실무적 함의
SOURCE IMAGE · HACKER NEWS

그래픽카드의 프레임버퍼 전체를 CPU가 한 번에 접근하도록 열어 주는 Resizable BAR(리사이저블 BAR)는 최신 플랫폼에서는 흔한 기능이지만, 조금만 세대가 오래된 메인보드에서는 펌웨어가 공식적으로 지원하지 않는 경우가 많다. 오픈소스 프로젝트 ReBarUEFI는 바로 이 지점을 겨냥한다. UEFI 펌웨어에 DXE 드라이버 하나를 삽입해, 제조사가 옵션을 제공하지 않는 시스템에서도 Resizable BAR를 사용할 수 있게 만드는 도구다. 단순한 성능 향상 용도를 넘어, 인텔 Arc GPU처럼 이 기능이 정상 동작의 전제 조건인 하드웨어에서는 사실상 필수 요소로 언급된다.\n\n## 어떻게 동작하나\n\n핵심은 펌웨어의 부팅 과정에 개입하는 방식이다. ReBarDxe 모듈은 펌웨어의 DXE 볼륨에 FFS 모듈 형태로 추가되어 매 부팅마다 실행된다. 이 모듈은 PciHostBridgeResourceAllocationProtocol의 PreprocessController 함수를 자체 함수로 대체한다. 교체된 함수는 원래 함수를 먼저 실행한 뒤 장치의 Resizable BAR 지원 여부를 확인하고, ReBarState라는 NVRAM 변수에 저장된 값에 맞춰 BAR 크기를 설정한다. 이후 PciBus 모듈이 PCI 열거(enumeration) 단계에서 이 새 함수를 호출하면 변경된 BAR 크기를 감지하고 그에 맞게 자원을 할당하게 된다. 사용자는 배포판에 포함된 ReBarState 유틸리티(리눅스에서는 CMake로 빌드)로 원하는 BAR 크기를 지정하며, 대부분은 32(무제한)로 문제없이 동작하지만 실패할 경우 더 작은 값을 써야 할 수도 있다.\n\n적용을 위해서는 4G 디코딩(Above 4G Decoding)을 켜고 CSM을 꺼야 한다. 여기에 더해 상당수 UEFI 펌웨어가 64비트 BAR를 제대로 처리하지 못하는 문제가 있어, 프로젝트는 UEFIPatch로 적용할 수 있는 별도 패치들을 함께 제공한다. 다만 프로젝트 문서에 예시로 등장하는 X99 계열 보드처럼 이 패치가 필요 없는 경우도 있으므로, 자신의 환경에 맞는 절차를 위키 안내에 따라 판단해야 한다. 패치 적용 시 pad 파일이 변경되지 않았는지 확인하고, 변경되었다면 별도의 우회책을 써야 한다는 주의점도 함께 제시된다.\n\n## 얼마나 오래된 시스템까지 되나\n\n호환 범위는 생각보다 넓다. 과거에는 PCIe Gen2 시스템에서는 동작하지 않을 것이라 여겨졌지만, 한 사용자가 i5 2500k에서 성공했다는 보고가 있었다. 개발자 본인은 i5 3470과 Sapphire Nitro+ RX 580 8GB 조합에서 2GB BAR 크기로 최대 12%의 프레임 향상을 확인했다고 밝혔다. 즉 아이비브리지, 샌디브리지급의 상당히 오래된 플랫폼도 사정권에 들어온다는 뜻이다. 이런 결과는 아직 쓸 만한 구형 시스템에 최신 GPU를 얹어 쓰는 실사용자에게 실질적인 의미가 있다.\n\n운영체제별 상황은 다르다. 리눅스에서는 4G 디코딩을 켠 상태라면 최신 커널이 GPU BAR를 자동으로 재조정·할당한다. BIOS에 4G 디코딩 옵션이 없거나(숨겨진 항목까지 확인 필요) DSDT에 결함이 있다면, DSDT 수정과 커널 명령줄의 pci=realloc 옵션으로 우회할 수 있다. 반면 윈도우에서는 BIOS 수정 없이 이 기능을 얻는 알려진 방법이 현재로선 없다. 보안 부팅(Secure Boot)과 관련해서는, 대부분의 펌웨어가 서명되지 않은 패치 모듈을 그대로 받아들이기 때문에 특정 게임 실행에도 문제가 없다고 설명된다.\n\n## 실무자가 알아야 할 한계\n\n이 방식의 본질은 펌웨어 개조다. 개발자는 Ghidra를 이용해 UEFI 모듈의 인위적 제한을 우회하는 패치를 만들었고, NVRAM 화이트리스트 패치나 X79의 Above 4G 패치처럼 세부 플랫폼별 대응이 커뮤니티 기여로 축적돼 왔다. 그만큼 정상적인 제조사 지원 경로 밖에 있는 작업이며, 되돌리려면 CMOS를 초기화해야 하고 경우에 따라서는 CMOS 배터리를 물리적으로 분리해야 Resizable BAR가 비활성화되기도 한다. 문제 발생 시 참고할 'Common Issues' 문서가 별도로 마련돼 있다는 점 자체가, 적용 과정에서 예기치 못한 부작용이 드물지 않음을 시사한다.\n\n정리하면 ReBarUEFI는 EDK2를 기반으로 하는 OEM 펌웨어의 공통 구조와 QEMU/OVMF 기반 테스트 환경을 활용해 만들어진, 상당히 정교한 커뮤니티 프로젝트다. 검증된 메인보드 목록을 함께 관리하며 사용자 보고를 반영하는 방식으로 호환성을 넓혀가고 있다. 다만 펌웨어를 직접 수정하는 특성상 벽돌 위험과 원상 복구의 번거로움을 감수해야 하므로, 구형 시스템의 성능을 끌어올리거나 Arc GPU를 제대로 쓰기 위한 목적이 분명하고 절차를 충분히 이해한 사용자에게 권할 만한 선택지다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://github.com/xCuri0/ReBarUEFI
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기
처리 중...