NVIDIA ๋…์  ๋“œ๋ผ์ด๋ฒ„ ๋ฆด๋ฆฌ์Šค 470.42.01

NVIDIA๋Š” ์•„์ง ๋ฒ ํƒ€ ํ…Œ์ŠคํŠธ ์ค‘์ธ ๋…์  ๋“œ๋ผ์ด๋ฒ„ NVIDIA 470.42.01์˜ ์ƒˆ๋กœ์šด ๋ฒ„์ „์„ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋“œ๋ผ์ด๋ฒ„๋Š” Linux(ARM, x86_64), FreeBSD(x86_64) ๋ฐ Solaris(x86_64)์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ํ˜์‹ :

  • Xwayland DDX ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Wayland ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋˜๋Š” X11 ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•œ OpenGL ๋ฐ Vulkan ํ•˜๋“œ์›จ์–ด ๊ฐ€์†์— ๋Œ€ํ•œ ์ดˆ๊ธฐ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ์— ๋”ฐ๋ฅด๋ฉด NVIDIA 470 ๋“œ๋ผ์ด๋ฒ„ ๋ธŒ๋žœ์น˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ XWayland๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰๋œ X ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ OpenGL ๋ฐ Vulkan์˜ ์„ฑ๋Šฅ์€ ์ผ๋ฐ˜ X ์„œ๋ฒ„์—์„œ ์‹คํ–‰๋˜๋Š” ๊ฒƒ๊ณผ ๊ฑฐ์˜ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
  • Linux์—์„œ Windows ๊ฒŒ์ž„์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด Valve๊ฐ€ ๊ฐœ๋ฐœํ•œ Wine ๋ฐ Proton ํŒจํ‚ค์ง€์—์„œ NVIDIA NGX ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ Wine ๋ฐ Proton์„ ํฌํ•จํ•˜์—ฌ DLSS ๊ธฐ์ˆ ์„ ์ง€์›ํ•˜๋Š” ๊ฒŒ์ž„์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด NVIDIA ๋น„๋””์˜ค ์นด๋“œ์˜ Tensor ์ฝ”์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๊ณ„ ํ•™์Šต ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์‹ค์ ์ธ ์ด๋ฏธ์ง€ ํฌ๊ธฐ ์กฐ์ •์„ ํ†ตํ•ด ํ’ˆ์งˆ ์ €ํ•˜ ์—†์ด ํ•ด์ƒ๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    Wine์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์ž‘๋œ Windows ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ NGX ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด nvngx.dll ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. NGX ์ง€์›์€ Wine ๋ฐ Proton์˜ ์•ˆ์ • ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ์•„์ง ๊ตฌํ˜„๋˜์ง€ ์•Š์•˜์ง€๋งŒ ์ด ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์ด๋ฏธ Proton Experimental ๋ถ„๊ธฐ์— ํฌํ•จ๋˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ์ƒˆ๋กœ์šด GPU์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค: GeForce RTX 3070 Ti, GeForce RTX 3080 Ti, A100-PG506-207, A100-PG506-217, CMP 50HX.
  • ๋™์‹œ OpenGL ์ปจํ…์ŠคํŠธ ์ˆ˜์— ๋Œ€ํ•œ ์ œํ•œ์ด ์ œ๊ฑฐ๋˜์—ˆ์œผ๋ฉฐ ์ด์ œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ์— ์˜ํ•ด์„œ๋งŒ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค.
  • ์†Œ์Šค ๋ฐ ๋Œ€์ƒ GPU๊ฐ€ NVIDIA ๋“œ๋ผ์ด๋ฒ„์— ์˜ํ•ด ์ฒ˜๋ฆฌ๋˜๋Š” ๊ตฌ์„ฑ๊ณผ ์†Œ์Šค GPU๊ฐ€ AMDGPU ๋“œ๋ผ์ด๋ฒ„์— ์˜ํ•ด ์ฒ˜๋ฆฌ๋˜๋Š” ๊ตฌ์„ฑ์—์„œ ๋ Œ๋”๋ง ์ž‘์—…์„ ๋‹ค๋ฅธ GPU(PRIME ๋””์Šคํ”Œ๋ ˆ์ด ์˜คํ”„๋กœ๋“œ)๋กœ ์˜คํ”„๋กœ๋“œํ•˜๊ธฐ ์œ„ํ•œ PRIME ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด Vulkan ํ™•์žฅ์— ๋Œ€ํ•œ ์ง€์› ์ถ”๊ฐ€: VK_EXT_global_priority(VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT, SteamVR์—์„œ ๋น„๋™๊ธฐ ์žฌํˆฌ์˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ), VK_EXT_global_priority_query, VK_EXT_provoking_vertex, VK_EXT_extended_dynamic_state2, VK_EXT_color_write_enable, VK_EXT _vertex_input_dynamic_state , VK_EXT_ycbcr_2plane_444_formats, VK_NV_inherited_viewport_scissor.
  • VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT ์ด์™ธ์˜ Vulkan ์ „์—ญ ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ด์ œ ๋ฃจํŠธ ์•ก์„ธ์Šค ๋˜๋Š” CAP_SYS_NICE ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ์— ๋ณต์‚ฌํ•˜์ง€ ์•Š๊ณ  Mellanox InfiniBand HCA(ํ˜ธ์ŠคํŠธ ์ฑ„๋„ ์–ด๋Œ‘ํ„ฐ)์™€ ๊ฐ™์€ ํƒ€์‚ฌ ์žฅ์น˜์—์„œ RDMA๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ NVIDIA GPU ๋ฉ”๋ชจ๋ฆฌ์— ์ง์ ‘ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์ƒˆ๋กœ์šด ์ปค๋„ ๋ชจ๋“ˆ nvidia-peermem.ko๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ธฐ๋ณธ์ ์œผ๋กœ SLI ์ดˆ๊ธฐํ™”๋Š” ๋น„๋””์˜ค ๋ฉ”๋ชจ๋ฆฌ ์–‘์ด ๋‹ค๋ฅธ GPU๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.
  • nvidia-settings ๋ฐ NV-Control์€ ์†Œํ”„ํŠธ์›จ์–ด ๋ƒ‰๊ฐ๊ธฐ ์ œ์–ด๋ฅผ ์ง€์›ํ•˜๋Š” ๋ณด๋“œ์— ๋Œ€ํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ƒ‰๊ฐ๊ธฐ ๊ด€๋ฆฌ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • GPU ์ดˆ๊ธฐํ™” ๋ฐ ์ œ์–ด๋ฅผ GPU ์‹œ์Šคํ…œ ํ”„๋กœ์„ธ์„œ(GSP) ์นฉ ์ธก๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” gsp.bin ํŽŒ์›จ์–ด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€