밸브 4분 소요

밸브가 오래된 AMD GPU를 고칠 이유: 하드웨어 수명은 코드에도 달렸습니다

핵심 요약

  • 그래픽카드가 멀쩡해도 드라이버 호환성 문제로 쓸 수 있는 곳이 줄어들 수 있습니다.
  • 밸브 같은 게임 플랫폼 기업에는 기존 PC에서 게임이 계속 돌아가도록 지원할 사업적 이유가 있습니다.
  • 오픈소스 덕분에 하드웨어 지원을 이어갈 수 있지만, 개발과 검증에는 여전히 비용이 듭니다.
  • 구형 GPU 지원은 화면 출력, 그래픽 기능, 실제 게임 실행을 구분해서 봐야 합니다.

새 그래픽카드 소식을 볼 때마다 꼭 교체해야 하는지 고민하게 됩니다. 그래도 즐기는 게임이 잘 돌아간다면 10년 된 카드도 여전히 쓸 만합니다. 밸브 같은 게임 플랫폼 기업이 오래된 AMD GPU 지원에 투자할 이유도 여기에 있습니다.

그래픽카드는 멀쩡한데 게임이 안 되는 이유

하드웨어의 수명은 어떤 기준으로 보느냐에 따라 달라집니다. 부품이 물리적으로 작동하는 기간과 원하는 소프트웨어를 실행할 수 있는 기간은 별개이기 때문입니다.

그래픽카드가 화면을 잘 출력해도 특정 게임은 실행되지 않을 수 있습니다. 게임에 필요한 그래픽 기능이 없을 수도 있고, 드라이버 오류가 원인일 수도 있습니다. 소프트웨어끼리 호환되지 않아 문제가 생기기도 합니다.

여기서 드라이버는 운영체제가 그래픽카드에 일을 시키도록 돕는 소프트웨어입니다. 같은 카드라도 드라이버 상태에 따라 쓸 수 있는 기능이 달라지고, 얼마나 안정적으로 작동하는지도 달라집니다.

물론 소프트웨어를 고친다고 오래된 GPU의 메모리가 늘어나지는 않습니다. 최신 칩에만 있는 하드웨어 기능을 모두 추가할 수도 없습니다. 다만 카드가 원래 할 수 있는 일을 오류 때문에 못 하고 있었다면, 코드를 고쳐 그 기능을 다시 쓸 수는 있습니다.

그래서 성능 부족과 호환성 문제는 따로 봐야 합니다.

밸브에는 ‘계속 게임하는 사람’이 중요합니다

밸브의 SteamOS는 리눅스 기반입니다. 밸브가 개발에 참여하는 Proton은 윈도우용 게임이 리눅스에서 실행되도록 돕는 호환성 도구입니다.

하지만 Proton만 잘 만든다고 모든 게임이 잘 돌아가지는 않습니다. 게임이 요청한 그래픽 작업을 실제 GPU가 처리하려면 드라이버도 함께 제대로 작동해야 합니다. 사용자에게는 결국 “게임이 된다” 또는 “안 된다”는 결과가 중요합니다.

오래된 GPU의 호환성을 개선하는 일은 이런 점에서 사업에도 도움이 될 수 있습니다. 기존 PC로 게임을 계속 즐길 수 있다면 사용자는 그 플랫폼에 머물 이유가 생깁니다. 하드웨어를 교체해야 한다는 부담이 줄면 게임을 시작하거나 다시 실행하기도 쉬워집니다.

다만 이것은 밸브의 개별 투자 결정을 확인한 설명은 아닙니다. 게임 유통 플랫폼의 유인을 바탕으로 한 해석입니다. 새 그래픽카드를 직접 판매하지 않는 기업이라면, 사용자가 가진 장비를 더 오래 쓰도록 돕는 일이 자사 서비스에도 도움이 될 수 있습니다.

오래된 부품을 지원하는 데는 추억이나 선의 외에 이런 사업상의 이유도 있을 수 있습니다.

AMDGPU 지원과 게임 실행은 같은 말이 아닙니다

리눅스에서는 여러 소프트웨어가 그래픽 지원을 나눠 맡습니다. 커널의 AMDGPU 드라이버는 GPU와 메모리 등을 관리합니다. Mesa 같은 소프트웨어는 게임이 사용하는 OpenGL·Vulkan 그래픽 API를 구현합니다.

API는 프로그램이 기능을 요청할 때 따르는 약속입니다. 게임이 “이 장면을 이렇게 그려 달라”고 요청하면, 그 요청이 여러 소프트웨어 층을 거쳐 실제 GPU가 처리할 작업으로 이어집니다.

그래서 구형 GPU를 “지원한다”는 말을 볼 때는 어디까지 지원하는지 따져봐야 합니다.

  • 운영체제가 그래픽카드를 인식하고 화면을 출력하는지
  • 게임에 필요한 그래픽 API와 기능을 사용할 수 있는지
  • 실제 게임이 안정적으로 실행되고 감당할 만한 속도를 내는지

이 세 가지는 서로 다른 조건입니다. 화면이 나온다고 최신 게임까지 실행할 수 있는 것은 아닙니다.

오래된 AMD GPU도 세대에 따라 사용하는 커널 드라이버와 지원 범위가 다릅니다. AMDGPU가 개선됐다고 해서 모든 구형 AMD 그래픽카드의 성능이 좋아졌다고 볼 수는 없습니다. 사용자에게 중요한 것은 내 카드와 내 게임에서 무엇이 달라지는가입니다.

소스는 열려 있어도 유지보수는 공짜가 아닙니다

오픈소스는 코드를 고칠 수 있는 길이 열려 있다는 장점이 있습니다. 원래 제조사뿐 아니라 다른 기업이나 개발자도 코드를 살펴보고 개선안을 제출할 수 있습니다.

하지만 “누구나 고칠 수 있다”고 해서 “누군가 계속 고친다”는 보장은 없습니다.

문제를 해결하려면 우선 오류를 재현해야 합니다. 특정 구형 카드에서만 생기는 오류라면 실제 장비가 필요할 수 있습니다. 코드를 고친 뒤에는 다른 카드나 프로그램에서 새로운 문제가 생기지 않는지도 확인해야 합니다.

이렇게 검증하려면 사람이 시간을 들여야 합니다. 수정한 코드를 받아들일지 검토할 사람도 필요합니다. 운영체제와 주변 소프트웨어가 바뀐 뒤에도 기존에 고친 코드가 여전히 제대로 작동하는지 살펴야 합니다.

기업이 개발자의 작업 시간과 테스트 장비를 지원하면 이런 비용을 일부 나눠 맡을 수 있습니다. 개선 사항을 공동 프로젝트에 반영하면 다른 사용자도 혜택을 받을 수 있습니다. 기업의 지원으로 코드를 고치고, 그 결과를 함께 쓰는 것이 오픈소스 유지보수에 기업이 참여할 때 기대할 수 있는 효과입니다.

다만 모든 하드웨어를 무기한 지원할 수는 없습니다. 이용자에게 얼마나 도움이 될지, 앞으로 유지보수에 비용이 얼마나 들지를 따져 지원 우선순위를 정해야 합니다.

오래된 GPU의 수명을 늘리는 데도 아직 쓸 만한 성능이 남아 있다는 전제가 필요합니다. 그 성능을 충분히 쓸 수 있는데도 소프트웨어 문제 때문에 카드를 교체해야 하는 상황을 줄이자는 것입니다. 다음 그래픽카드를 고를 때는 최고 성능과 함께, 그 성능을 오래 쓸 수 있도록 누가 코드를 관리하는지도 살펴볼 만합니다.

밸브 AMDGPU 리눅스 오픈소스

댓글

    댓글을 불러오는 중...