mir.pe (일반/어두운 화면)
최근 수정 시각 : 2024-11-06 22:00:58

Game Optimizing Service


파일:Galaxy Store 아이콘 투명.svg 삼성전자의 앱
파일:samsunggos.webp
게임 옵티마이징 서비스
Game Optimizing Service
  개발 및 유통
삼성전자
  플랫폼
  Android
  다운로드
  파일:Galaxy Store 아이콘.svg Galaxy Store

[clearfix]
1. 개요2. 작동 방식
2.1. 삼성 공식 설명2.2. 상세 작동 방식
3. 평가4. GOS 비활성화 방법
4.1. One UI 5 이상 버전4.2. One UI 4.1 이상 버전 (클럭 제한 해제 가능)4.3. One UI 4.0 버전 (CPU 클럭 제한 해제 가능)4.4. One UI 4.0 미만 버전 (클럭 제한 해제 가능)

[clearfix]

1. 개요

게임 최적화를 위한 시스템 애플리케이션(Game Optimizing Service, 이하 GOS)으로, 갤럭시 S7 시리즈 이후 출시된[1] 삼성 갤럭시 시리즈 스마트폰 및 태블릿 컴퓨터에 기본적으로 탑재된다.

게임으로 분류되는 애플리케이션의 해상도와 스로틀링 특성을 제어하는 시스템 애플리케이션으로, 애플리케이션의 해상도를 비롯한 초당 프레임 수[2], 화면 밝기, 텍스쳐 품질, CPU 및 GPU 성능 등을 조절하여 기기 발열 해소 및 배터리의 효율적 사용 의도를 갖고 있다. 그러나 모든 옵션들을 최대로 설정한다고 해서 보이는 그대로 설정되는 것도 아니며, 최대 옵션으로 해도 풀옵이 아니도록 제약이 걸려 있어 낮은 성능과 옵션들을 보여준다.

2. 작동 방식

2.1. 삼성 공식 설명

갤럭시 디바이스를 사용하는 게이머에게 가장 필요한 애플리케이션입니다.

본 애플리케이션은 현재 삼성에서 제공하는 게임 관련 앱인 게임런처, 게임툴즈, 게임튜너, 게임박스런처 등을 위한 중요한 기능을 제공하며, 이를 통해서 게임 플레이 중 최적화 기능 뿐만 아니라 발열 억제 등 다양한 시스템 성능 향상을 통해 사용자에게 최적의 게임 플레이를 경험하도록 도와줍니다.
GOS 기능별 특징
* 게임 시 발열 최적화
* 게임 시 발열이 발생하면, 시스템 성능을 조절해서 발열을 낮추도록 최적화합니다.
* 게임 중 기기 최적화
* 게임에 버벅임 현상 등이 발생하는 경우, 해상도 변경 등을 통해서 게임 플레이 시 성능 최적화를 진행합니다. 이를 통해서 타기기 대비 적은 메모리/적은 소모 전류/안정적인 성능 확보가 가능합니다.
* 게임 중 CPU/GPU 최적화
* 작동하고 있는 CPU/GPU max clock을 조절하여 최적화된 성능을 제공합니다.
* 게임 중 앱 관리
* 설치된 게임의 지표(해상도/FPS/CPU,GPU clock/발열) 등등을 이용하여 해당 게임 앱을 위한 최적화된 값을 찾아냅니다.
게임 옵티마이징 서비스를 이용하여 나은 게임 환경을 경험하세요.

2.2. 상세 작동 방식

이것을 이해하려면, AP가 어떻게 작동하는지 알아야 한다.

핸드폰에서 발휘할 수 있는 성능이 100이라면, 컴퓨터처럼 쿨러가 있는 게 아닌 이상 항상 100을 유지할 수 없다. 이유는 간단하다, AP가 작동하면 필연적으로 발열이 발생하고, 지속적인 가동으로 발열이 과도하게 높아질 경우 부품에 손상이 생기거나 더 나아가 사용자 역시 화상을 입는 등의 안전 문제가 발생할 수 있으므로 이를 방지하기 위해 AP의 온도가 일정 온도 이상 올라가면 발열을 억제하기 위해 작동되는 성능을 강제로 제한하는 스로틀링(Throttling)이 작동하기 때문이다.

발열이 발생하면 사용자도 불편하겠지만 내부 저항이 증가하면서 동일한 성능을 위해 더 많은 전력량을 요구하게 되고, 이는 더 많은 발열이 발생하는 악순환이 시작됨을 의미한다. 또한 AP와 배터리 디스플레이가 버틸 수 있는 온도에는 한계가 있다. 고열로 부품이 고장나면 바꿔서 고칠 수 있지만, 게임을 할 때 핸드폰이 80도, 90도까지 올라가면 게임을 어떻게 하겠는가?

한편, 게임은 작동하기 위해 AP에 많은 연산을 요구한다. 따라서 높은 전력소모로 인해 생긴 발열로 성능이 제한되는 상황이 발생한다. 이를 스로틀링이라고 한다.

일반적인 스로틀링이 특정 온도에 도달했을 때만 일시적으로 작동하는 반면, GOS는 단말기의 성능을 아예 처음부터 제한한다. 이로 인해 스로틀링이 발생하는 시점을 늦추고, 예상 외의 상황으로 높은 처리 능력이 요구될 때 받쳐줄 수 있도록 한다.

조금 더 이해하기 쉽게 사람에 비유하면 다음과 같다.
  1. 사람은 전력 질주를 장시간 할 수 없다. 금방 지치기 때문이다.
  2. 또한 달리기를 하다보면 내리막이 나오기도 하고 오르막이 나오기도 한다.
  3. 일정한 속도를 유지하며 달리기를 할 때, 내리막에서도 전력 질주를 해버리면 오르막에서 지쳐서 달릴 수 없게 된다.
  4. 따라서, 달리는 속도를 조금 낮춰 오랜 시간 안정적으로 달릴 수 있도록 하는 것이 GOS의 역할이다.

그럼 이렇게 물어볼 수 있다. '스로틀링이랑 GOS랑 하는 역할이 같지 않느냐?' 하지만, 스로틀링이 발생할 정도면 단말기가 이미 지나치게 뜨러운 상황이라는 것을 의미하며, GOS가 없을 경우 초반에는 잘 돌아가다가 후반에 랙이 심해지기에 안정적으로 게임을 하기 위한 설정이 매우 어려워진다.[3] 또한 스로틀링은 AP의 총 성능을 제한하며, GOS는 게임에 맞춰 플레이에 영향이 적은 부분부터 제한한다. 그렇기에 실 플레이 중의 유지력이 기본 스로틀링보다 더 오래가는 효과를 기대할 수 있다.

다만 발열이 생길 거라는 전재 조건 하에 만들어진 로직인 만큼 뒷면에 쿨러를 장착해도 성능 제한이 해제되지 않기 때문에, 고점은 낮아지게 된다. 9분부터 따라서 아무리 시원한 환경, 쿨러 부착 등 발열에 대비를 해도 GOS가 제한하는 성능보다 더 높은 성능이 필요할 경우, GOS를 무력화하지 않는 이상 제성능을 절대 발휘하지 못한다.

그리고 GOS도 완벽한 것은 아니라, 갤럭시 S24 Ultra에서 원신을 통한 테스트를 진행하였을 때, GOS를 끄는 것이 발열과 성능 모든 면에서 더 나은 결과를 얻는 사례가 확인되었다. 물론 이는 원신이 시스템 자원을 잘 활용하는 몇 안 되는 게임이라는 것을 고려해야 하며, GOS를 켰을 때 더 나아지는 경우도 분명히 있기 때문에 이거 하나 때문에 GOS를 끄는 게 맞다라는 결론을 도출해서는 안 된다.[4]



1. 단말기가 켜지고 인터넷에 연결되면, GOS는 삼성측에 단말기의 정보[5]를 보내어 GOS 서버가 정상 작동 중인지를 확인한다.
2. GOS는 앱 내부에 있는 정보를 기반으로 단말기에 설치된 앱을 [게임/비게임/불명] 3개로 분류한다.
3. 분류된 앱에 따라 다음과 같이 작동한다.
분류 GOS 사태 전 GOS 사태 후
준비 서버에 GOS 설정값[6]을 요청 후 단말기에 저장한다.
게임 게임 시작과 동시에 강한 성능 제한을 적용한다. 게임 시작과 동시에 약한 성능 제한을 적용한다.
발열이 감지될 경우 조금씩 제한을 더 강하게 적용한다. 발열이 감지될 경우 조금씩 제한을 더 강하게 적용한다.
실험실 설정에서 제한을 완화할 수 있다.
비게임 위와 동일하게 작동한다.[이유] 불명
불명 서버에 앱의 이름을 보낸다.(= 무슨 앱인지 조사를 요청한다.)

위 표의 GOS 사태 후 항목에서 ‘게임 시작 후 발열 상황이 감지되면 제한을 적용한다.’에 해당하는 기기 별, 앱 별 마다의 발열 상황 기준과 해당 상황에서 성능 제한이 얼마나 걸리는지에 대한 내용은 알려지지 않았다.
[ 상세 작동 방식 펼치기 · 접기 ]
1. GOS가 활성화 되어있는 일반적인 상황에서, 시스템이 부팅되면 단말기는 아래 주소에 접속하여 서버가 정상적으로 작동 중인지 확인한다.
https://service.game-mode.net/gamemode/v3/packages/?type=install&device_name=<코드네임[cn]>&package_names=com.samsung.android.game.gos
2. 이후 아래 링크에 접속하여 device_group_name을 확인한다. Ex) dream2_lsi
https://gos-api.gos-gsp.io/v4/devices/<코드네임[cn]>
3. 이후 아래 링크에 접속하여 GOS가 무엇을 제어할지(ipm 관련, 전력별 주사율 60hz/30hz, 전력 관리에 따른 화면 해상도) 정보가 담긴 같은 디바이스 특화 정책을 불러온다.
https://gos-api.gos-gsp.io/v4/gos/devices/<코드네임[cn]>/policy?os_sdk_version=<sdk_version>&gms_version=gms_version&gos_version=<gos_version>
sdk_version: OS SDK 버전 (예시: 28)
gms_version: Google Play Service 버전 (예시: 90.015)
gos_version: GOS 버전 (예시: 350200007)
User-Agent: 디바이스 정보를 모아서 정리한 (key:value;key:value) 문자열
4. assets/databases/categoryInfo.db를 확인하여 현재 깔려있는 앱들이 게임(game)인지 아닌지(non-game) 확인한다.
pkgName: 패키지 이름
category: 분류값
fixed: DB의 분류를 믿고 따로 통신을 하지 않고 DB의 분류를 쓸 지에 대한 여부

5. 4번에서 pkgName을 통해 찾을 수 없거나 fixed값이 0일 시에는 서버에 요청하기 위해 패키지를 모아둔다.

6. 여러 개의 패키지들을 모아서 분류를 하기 위해 서버에 쿼리한다.
https://gos-api.gos-gsp.io/v4/packages?package_names=com.riotgames.league.teamfighttactics,com.samsung.android.themedesigner
package_names: 쿼리할 패키지 목록

이 요청으로 package_names에 대한 분류값을 응답받는다.
예시)
[{pkgname: namu.wiki, pkg_type: non-game}, {pkgname: namu.news, pkg_type: game}]

7. 위의 4~6 과정을 통해 얻은 분류값을 모아, game인 앱인 경우에는 정책을 다운로드 한다.[11] 앱이 새로 깔릴 때도 위 과정을 거쳐 분류를 한 후 다운로드 한다.
https://gos-api.gos-gsp.io/v4/gos/packages/policy?device_name=<codename>&package_names=<pkgname>&os_sdk_version=<sdk_version&gms_version=<gms_version>&gos_version=<gos_version>
pkgname: 정책을 적용할 앱의 패키지 이름
이 응답을 통해 아무 제어도 안할 경우 혹은 잘못된 요청인 경우에는 빈 응답, 정책을 따로 적용할 경우 정책 응답이 온다.

정책에는 강제 해상도 설정(720p, 1080p 등) 및 ipm 관련(CPU 및 GPU 클럭 정의), QOS, 소리 및 밝기 조절, mdnie(화면 색감), vrr(가변 주사율), boost(터치 부스팅) 같은 조절이 있다.

8. 그 앱을 실행했을 때, 7번의 정책을 적용시켜 성능을 제어한다.

이 요청 과정에 대한 GOS의 코드는 여기를 참고하자.

GOS의 데이터베이스 덤프는 여기를 참고하자.

3. 평가

3.1. 초기(S7 시리즈) ~ 삼성 갤럭시 GOS 성능 조작 사건

갤럭시 S7 시리즈 ~ 갤럭시 노트9[12]까지는 성능 제한 폭이 미미한 수준에 그치고 윗 문단(2.1 문단)의 이점으로 인해 게이밍에 도움이 되었다. 하지만 갤럭시 S10 시리즈부터 성능 제한 폭이 커지면서 오히려 게이밍에 발목을 잡게 되어 GOS 사태 전부터 이를 알고있는 사용자들끼리 알음알음 이를 막는 방법을 찾아 우회한지 오래였다.

게임 관련 설정을 담당하는 앱 중, 사용자에게 제어 및 접근 권한이 있는 앱으로 게임 튜너, 게임 플러그인이 있었고[13], 이들 덕분에 갤럭시 S7 시리즈까지는 GOS가 있는 것이 나았다.

최근에는 사용자가 설정할 수 있는 앱이 ' 게임 플러그인'과 'GOS' 2앱으로 구성되어 있다. 전자인 게임 플러그인은 GOS의 옵션을 제어하는 애플리케이션이지만, 일부만 설정 가능하고 자유도가 떨어진다. 그리고 GOS는 과거와 같이 일반 사용자는 제어가 원천적으로 불가한 커널에 있는 애플리케이션이다.

GOS 정책은 절대적이며, GOS 자체를 비활성화 하거나 삭제하기가 매우 어렵다. 전문적인 유저들의 GOS를 우회하는 노력은 계속됐으며, 뚫고 막히는 창과 방패의 관계가 이어졌는데, One UI 4.0 버전부터는 커널에 통합했기 때문에 GOS를 우회하기가 더욱 어려워졌다.

게임뿐 아니라 AP에 부담을 줄 만한 앱 - GOS의 리스트에 있는 모든 서비스와 애플리케이션의 성능을 저하시킨다는 소문이 돌았으며, 이에 대해선 의견이 분분 했으나, 삼성 갤럭시 GOS 성능 조작 사건( GOS 사태)으로 인해 사실로 판명됐다.

3.2. 삼성 갤럭시 GOS 성능 조작 사건

파일:상세 내용 아이콘.svg   자세한 내용은 삼성 갤럭시 GOS 성능 조작 사건 문서
번 문단을
부분을
참고하십시오.
일명 GOS 사태라고 불리는 사건으로 일반인들에게도 GOS의 존재 및 문제점을 각인시키고 더 나아가 삼성이라는 기업 자체의 이미지를 실추시킨 초대형 사건이다.

3.3. 삼성 갤럭시 GOS 성능 조작 사건

삼성 갤럭시 GOS 성능 조작 사건( GOS 사태) 이후로도 삼성은 소비자 주의력 탓을 하는 등 제대로 반성하지 않고 있으며 GOS 문제도 완전히 해결되지 않은 상태이다.

S24 시점에서도 삼성은 GOS ON/OFF 옵션을 제공하지 않고 있다. 게임 성능에 어떤 영향을 미치던 간에 간편한 조작을 막는 것은 문제다.

다만, S22 이후의 Z폴드4, S24시리즈 등의 기기들에서는 GOS가 게임 성능에 오히려 도움이 된다. GOS를 끈 상태에서는 전력제한 없이 AP가 소모할 수 있는 전력을 최대한 사용하면서 최고의 성능을 보여주지만, 이내 높은 온도로 인한 쓰로틀링이 강하게 걸리게 된다. GOS가 켜져있는 상태에서는 전력소비를 어느정도 제한하여 피크성능은 다소 떨어지는 편이나, 고사양 게임을 5분만 구동하더라도 GOS를 껐을때에 비하여 더 나은 모습을 보여준다.[14] 단적인 예로, 폴드4의 경우 GOS를 켰을때의 게임 성능이 껐을때 보다 좋다. S24 기본형 모델과 S24+의 경우에도 GOS 활성화 상태에서의 게임 경험이 더 좋다. S24 울트라의 경우에는 유의미한 차이가 나타나지 않는다. #

아래 문단에 GOS를 비활성화 하는 방법이 서술되어 있지만 갤럭시 자체가 GOS 없이 작동하는 것을 상정하고 만들어지지 않았으므로,[15] GOS를 비활성화한다고 반드시 성능이 향상되는 것은 아니다. 더욱이 갤럭시 탭 시리즈 같은 대화면 기기는 큰 체급이 그 자체로 발열 해소에 유리하여 GOS의 영향을 잘 받지 않는다.

==# 타임라인 #==

4. GOS 비활성화 방법

방식은 크게 두가지가 있다. 첫번째는 adb 같은 상위 권한의 명령어로 GOS 앱 자체를 사용 중지[21] 시키는 것이다. 그리고 두번째는 GOS가 서버에서 조정값을 받아온다는 점에 착안, GOS의 통신을 차단해버리는 것이다. 아무래도 후자는 지속해서 차단 앱이 백그라운드에서 돌아가야 하고 여차하면 풀릴 수도 있는 만큼, 한번만 하면 더 신경쓸게 없는 전자의 방식을 선호하는 사람이 더 많다.

4.1. One UI 5 이상 버전

아래 (One UI 4.1)과 같이 ADB로 간단하게 비활성화 할 수 있는 것은 변하지 않는다.

하지만 명령어가 살짝 다르다.
사전 준비
(PC 연결)
{{{#!wiki style=""
  • 설정 → 기기 정보 → 소프트웨어 정보 → 빌드 번호 연타로 개발자 모드를 활성화 한다.
  • 설정 → 개발자 옵션 (최하단)에서 USB 디버깅을 활성화 한다.
  • 컴퓨터에 ADB(안드로이드 디버그 브릿지)를 설치한다.
    1. 구글 개발자용 안드로이드 공식 사이트에서 'Windows용 SDK 플랫폼 도구'를 다운로드 한다.
    2. 다운 받은 압축 파일을 (원하는 곳에) 압축 해제한다.
    3. 해제한 폴더의 주소창[22]에서 cmd 라고 입력한다.
  • ADB를 실행하였으면, 핸드폰과 USB로 연결한다.
    • 이때 단말기에 디버깅 권한 허용을 확인하는 메시지가 뜨면 허용하되, 항상 허용을 체크하는 것은 권장하지 않는다.[23][24]
  • 컴퓨터에서 CMD를 관리자 권한으로 키고 adb devices를 입력한다.
    • 아래와 같이 두 줄이 모두 제대로 나오면 계속 진행한다.
      {{{#!wiki style=""
List of devices attached
[임의의 기기명] device }}}
  • 다른 메시지가 출력되거나, 기기명이 뜨지 않거나, unauthorized(권한 없음)이라는 메시지가 출력된 경우 다음과 같이 조치한다.
    1. USB 디버깅 활성화를 깜빡한 것은 아닌가 확인한다.
    2. ADB를 활성화 한 후 단말기를 연결한 경우, 단말기 연결은 유지하고 CMD를 다시 시작한다.
    3. 케이블을 분리하고, USB 디버깅을 비활성화 한 후, 단말기를 재부팅하고 USB 디버깅을 다시 활성화한 후, 케이블을 연결한다.
}}}
사전 준비
(폰으로만)
One UI 3 이상부터, Wi-Fi 연결 상태에서 사용 가능.
  • Shizuku, aShell을 설치한다.
  • 설정 → 기기 정보 → 소프트웨어 정보 → 빌드 번호 연타로 개발자 모드를 활성화 한다.
  • 설정 → 개발자 옵션 (최하단)에서 USB 디버깅과 무선 디버깅을 활성화 한다.
  • Shizuku 앱을 연다. 이 때 알림을 허용한다.
  • Shizuku 앱에서 '무선 디버깅으로 시작'에 있는 '페어링' 버튼을 누른다.
  • 개발자 옵션으로 돌아와 무선 디버깅의 왼쪽(토글이 아닌 부분)을 눌러 세부 메뉴로 진입한 다음 '페어링 코드로 기기 페어링'을 누른다.
  • 표시된 6자리 페어링 코드를 Shizuku 앱의 알림에 입력한다.
  • Shizuku 앱의 연결이 완료되면 aShell 앱을 열고, Shizuku 권한을 허용한다.
이제 명령어를 입력할 준비가 되었다. aShell 앱에 명령을 입력할 때는 adb shell을 생략한다.
비활성화
* 아래 문장들을 차례대로 입력한다.
  1. adb shell
  2. pm disable-user com.samsung.android.game.gos
    • Package com.samsung.android.game.gos new state: disabled-user 라고 나오면 성공
  3. 재부팅한다.
원래대로 복원
* 아래 문장들을 차례대로 입력한다.
  1. adb shell
  2. pm enable com.samsung.android.game.gos
  3. pm enable com.samsung.android.game.gametools
    • Package com.samsung.android.game.gos new state: enabled 라고 나오면 성공

4.2. One UI 4.1 이상 버전 (클럭 제한 해제 가능)

(루팅을 하지 않고) GOS를 삭제할 수는 없지만,[25] 단순히 GOS 비활성화는 가능하다.

GOS 해제 방법이 나왔다. 아래 One UI 4.0에서 해제 방식과 비슷하게 애드가드 앱을 통해 3개의 앱(GOS, 게임런쳐, 게임부스터)이 서버와 통신하는 걸 막음으로써 GOS를 무력화하는 방식이다. #Youtube #Blog

또한 추가 갤럭시 S22의 추가 소프트웨어 업데이트 후로 막혀 있던 기존 방법이 전부 다 가능하게 바뀌었고 다른 기기들도 One UI 4.1 부터 GOS를 뚫을 수 있는 방법이 모두 뚫렸다. adb로 앱 비활성화만 하는 것이 가장 무난한 방법으로 알려져있다.

[ ADB를 이용하여 GOS를 비활성화 하는 방법 ]
GOS를 비활성화 하기 이전, 개발자 옵션[A]에서 USB 디버깅을 켜준다.
  • CLI 기반의 일반적인 ADB 사용 방법
자세한 방법 안내
컴퓨터에서 USB 케이블로 기기와 연결한 뒤 ADB를 다운로드받아 압축을 풀고 명령 프롬프트를 실행하여 압축을 푼 폴더에 들어가고 아래와 같은 명령어를 실행하여 기기 연결 여부를 확인한다.
adb devices
이때 기기에서 USB 디버깅 허용 메시지가 나오는데 당연히 허용을 해주고 위 명령어를 다시 실행해야 한다. 이후 기기 목록이 나왔다면 아래와 같은 명령어를 실행한다.
adb shell pm disable --user 0 com.samsung.android.game.gos
이 명령어는 GOS를 비활성화하는 명령어이다.
adb shell pm disable --user 0 com.samsung.android.game.gametools
이 명령어는 게임 부스터를 비활성화하는 명령어이다.
#7. 마지막으로 강제 종료 및 데이터 삭제
설정 - 애플리케이션 - 검색(필터버튼 눌러 시스템앱 표시)

'game'으로 검색 : game optimizing service 강제중지 - 사용안함 확인 및 저장공간 터치 데이터 삭제

'게임'으로 검색 : 게임런처, 부스터앱 강제중지 - 사용안함 확인 및 저장공간 터치 데이터 삭제

최종적으로 다시 검색했을 때 사용안함으로 표시되어야 한다.
마지막으로 폰을 재부팅하면 끝이다.

만일 다시 재활성화하고 싶다면 위 과정을 반복한 후 비활성화 명령어 입력 과정에서 아래와 같은 명령어를 입력한다.
adb shell pm enable --user 0 com.samsung.android.game.gos
이 명령어는 다시 GOS를 재활성화하는 명령어이다.
adb shell pm enable --user 0 com.samsung.android.game.gametools
이 명령어는 다시 게임런처를 재활성화하는 명령어이다.

4.3. One UI 4.0 버전 (CPU 클럭 제한 해제 가능)

2가지 방법으로 GOS 스로틀링 무력화가 가능하다.

1. 무료 앱인 Alliance Shield App Manager 사용 방법 (설치 및 앱 내 가입 필요)
2. AdGuard를 이용하는 차단 (부분 유료 앱, 가입 불필요)
출처
두 가지 방법 모두 gos-api.gos-gsp.io 에서 쓰로틀링 앱에 대한 정보를 받아온다는 방식을 차단하여 쓰로틀링 대상 앱으로 구별하지 못하게 하는 방법으로 GOS 쓰로틀링을 우회하는 방식이다. 참고로 HaGeZi가 제작한 DNS 필터에서도 저 도메인이 추가되어있다.

4.4. One UI 4.0 미만 버전 (클럭 제한 해제 가능)

GOS는 시스템 앱이므로 일반적인 방법으로는 삭제할 수 없다. adb 명령어로 삭제하더라도 시스템 폴더 내에 system/priv-app/GameOptimizationService의 정보로 다시 재설치된다. 따라서 앱 비활성화 방식을 통해 GOS를 없앨 수밖에 없다. 만약 루팅 상태라면 해당 폴더를 삭제하는 것으로 재설치를 막을 수 있다.

[ Package Disabler Pro를 이용하여 GOS 비활성화 하는 방법 ]
GOS를 비활성화하기 전, 개발자 옵션[A]에서 USB 디버깅을 켜주고 삼성 계정과 구글 계정을 포함하여 설정에서 연결된 모든 계정에서 로그아웃하고 보안 폴더를 비활성화한 상태에서 권한 부여 과정을 진행해야 한다.

이후 Package Disabler Pro[29]를 구매하여 설치하고 컴퓨터에서 USB 케이블로 기기와 연결한 뒤 ADB를 다운로드받아 압축을 풀고 명령 프롬프트를 실행하여 압축을 푼 폴더에 들어가고 아래와 같은 명령어를 실행하여 기기 연결 여부를 확인한다.
adb devices
이때 기기에서 USB 디버깅 허용 메시지가 나오는데 당연히 허용을 해주고 위 명령어를 다시 실행해야 한다. 이후 기기 목록이 나왔다면 아래와 같은 명령어를 실행한다.
adb shell dpm set-device-owner com.pdp.deviceowner/.receivers.AdminReceiver
이 명령어는 Package Disabler Pro에 기기 관리자 권한을 부여하는 명령어이다.

이제 권한 부여가 됐으면 이제 기기에서 Package Disabler Pro 앱을 실행하고 앱 설치 목록에서 게임 부스터, 게임런처, 게임 플러그인, 게임 우선 모드, Game Optimizing Service 앱을 찾아서 비활성화시킨 후 재부팅하면 된다.

이 작업을 거친 후에는 보안 폴더 활성화와 삼성 클라우드와의 동기화가 불가능해진다. 앱에 기기 관리자 권한만 부여해주는 것 뿐이라서 녹스가 깨지지 않았으니 삼성 페이 등은 계속 사용할 수 있다. 그 외에도 잠금 화면과 상단바 메뉴에 '조직에서 관리하는 기기입니다.'라는 문구가 생긴다. 또한 위 ADB 명령어로 기기 관리자 등록을 마친 Package Disabler Pro는 이후 기기 관리자 해제 및 앱 삭제가 불가능하며, 공장 초기화를 통해서만 제거할 수 있으니 진행시 유의할 필요가 있다.


[ ADB를 이용하여 GOS 비활성화 하는 방법 ]
GOS를 비활성화 하기 이전, 개발자 옵션[A]에서 USB 디버깅을 켜준다.

컴퓨터에서 USB 케이블로 기기와 연결한 뒤 ADB를 다운로드받아 압축을 풀고 명령 프롬프트를 실행하여 압축을 푼 폴더에 들어가고 아래와 같은 명령어를 실행하여 기기 연결 여부를 확인한다.
adb devices
이때 기기에서 USB 디버깅 허용 메시지가 나오는데 당연히 허용을 해주고 위 명령어를 다시 실행해야 한다. 이후 기기 목록이 나왔다면 아래와 같은 명령어를 실행한다.
adb shell pm disable-user --user 0 com.samsung.android.game.gos
이 명령어는 사용자에 한해 GOS를 비활성화하는 명령어이다.


이와 같은 방법을 통해 GOS를 끄면 성능 제한이 없어지게 되지만 성능 제어가 없기 때문에 기기 발열이 저온 화상이 생길 정도로 높아질 수 있고, 배터리 소모가 빨라지게 된다. 또한 AP발열로 스로틀링이 발생하여 장시간 게임시 성능이 더 낮아질 수도 있다.

벤치마크 앱은 GOS의 영향을 받지 않는 점을 이용해 게임 앱 이름을 벤치마크 앱으로 변경하는 방법도 있으나, 이 경우 엄연히 게임을 인위적으로 개조한 것이기 때문에 온라인 게임인 경우 클라이언트 위변조로 해당 게임에서 정지를 받는 등의 불이익이 생길 수 있다. 또한 패키지 이름을 바꾸면 게임이 제대로 실행되지 않는 문제가 발생할 수도 있다. 이런 방식으로 앱을 개조하면 Google Play Store에서 앱을 업데이트할 수 없고 자동 업데이트도 이루어지지 않는다.


[1] 갤럭시 S5 등 안드로이드 6.0 마시멜로로 업데이트된 기기에는 안드로이드 6.0 마시멜로 업데이트로 추가됐다. [2] 예를 들어 120fps 미지원 애플리케이션의 최대치 60fps 고정. 물론 이쪽도 2010년대 후반 당시에 화이트 리스트로 해제라 애플리케이션이 지원하게 되더라도 정작 화이트 리스트에 아직 안올라가서 60프레임으로 제한 걸리는 일은 있었다. 갤럭시 S20/논란 및 문제점 항목 참조. 그리고 이는 문제가 오래전부터 제기됐다는 것을 알 수 있다. [3] 초반에 랙이 없어 그래픽 옵션을 올렸더니, 나중에 뜨거워지면서 옵션을 낮춰도 랙이 걸리는 상황이 되면 적절한 그래픽 옵션 설정에 큰 어려움을 겪을 것이다. [4] 실제로 아래 영상을 업로드한 유튜버는 커뮤니티를 통해 게임마다 차이가 있다는 점을 명시했다. [5] 기종, (게임말고) 게임 제어 관련 앱들의 버전 [6] AP(CPU, GPU) 최대 허용 사용량, 최대 FPS 및 해상도 제한, 터치 샘플링레이트 제한값, 발열 시 추가 제어 등 [이유] GOS 사태 전 삼성은, 이왕 하는 김에 버그나 최적화 이슈가 있어 불필요한 성능 및 발열을 발생시키는 일반 앱에도 성능 제한을 적용시켜 안정적인 작동을 유도하였다. [cn] 예를 들어 S23의 코드명은 Diamond이다. 그러므로 S23이라면 이 공간에 diamond가 들어간다. [cn] [cn] [11] 아마 non-game인 경우에도 정책을 다운로드 할 수도 있음. 일단 3월 4일 22시 이전에는 논게임 쪽은 쿠팡플레이 카카오톡에서 다운 클럭이 확인됐다고 전해진다. [12] 소프트웨어 업데이트를 감안하면, 갤럭시 S5, 갤럭시 S6 시리즈 등도 포함됨. [13] 과거 서비스됐던 게임 튜너는 해당 앱을 제어하는 애플리케이션에 불과하며, 때문에 게임 튜너를 제거하고 재부팅을 하게 되면 게임 튜너로 설정하기 이전의 기본 설정으로 되돌아간다. [14] 단순히 평균 프레임이 더 높은 것 뿐만 아니라, 스터터링 면에서도 우월한 모습을 보인다. [15] One UI 4 부터는 GOS가 아예 커널 단위에 통합되었다. 단순한 성능 제한용 스로틀링을 넘어서 One UI라는 OS의 일부가 되어버린 것. [16] 삭제된 기능 중에는, 게임으로 인식 안되는 애플리케이션을 강제로 적용하는 것도 포함되어 있었다. [17] 물론 이 시점에도 이미 발열 관련해서 장작이 많이 쌓여 있는 상태였다. 거기에 경쟁자인 Apple Silicon이 여전히 압도적인 성능 격차를 보여주어 소비자들을 상대로 큰 실망을 주기에 충분했다. [18] 자신의 기기로 벤치마크 툴을 돌려보기도 했다. #, # [19] 이재용 부회장으로 추정 [20] 카카오톡, 유튜브, 인스타그램, 넷플릭스 [21] 단순 삭제(delete)는 해봤자 어차피 다시 설치되기 때문에 사용 중지(disabled)를 시키는 것이다. 여담으로 신기한 점은 안드로이드에서 삭제보다 사용 중지에 필요한 권한이 더 높다. [22] C:\\Users\\(계정 명)\\Downloads 과 같은 파일 경로가 적혀있는 곳 [23] 추후 컴퓨터가 해킹되거나 바이러스에 감염될 경우, 핸드폰과 연결하는 순간 핸드폰도 인질이 될 수 있다. [24] 만약 항상 허용을 켜놓았을 경우, 모든 권한을 초기화 할 수 있는 USB 권한 승인 취소라는 메뉴가 있다. 그 메뉴는 USB 디버깅을 활성화/비활성화하는 버튼 밑에 있다. [25] 심지어 루팅된 상태더라도 펌웨어가 순정 기반이면 삭제가 불가능하다. [A] 휴대전화 정보 > 소프트웨어 정보에서 빌드 번호를 7회 이상 눌러주면 설정에서 개발자 옵션을 활성화 할 수 있다. [27] 돈을 내지 않아도 해당 방식을 사용할 수 있다. [A] [29] 비슷한 기능을 하는 무료 앱으로는 IceBox가 있다. [A]

파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는
문서의 r192
, 번 문단
에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r192 ( 이전 역사)
문서의 r ( 이전 역사)