NVIDIA sync seems to use ipv6

Hi,

I’m using Nvidia Sync to connect to my DGX Spark. But when I try to connect by clicking the “Connect” button, I get the following error:

Error: port 11000 not open: listen tcp [::1]:11000: bind: cannot assign requested address

I think Nvidia Sync is using IPv6 instead of IPv4.

For your information, I can connect to my DGX Spark via SSH from my laptop. I can also connect to the service on port 11000 of the DGX Spark by running the following SSH tunnel command:
ssh -N -L 11000:localhost:11000 spark-xxxx.local
then in my browser: http://localhost:11000

Best regards.

If you added the device using it’s hostname try adding it instead by it’s IPv4 address. I can confirm that Sync is working in Windows 11 over IPv6. In fact, Windows prefers IPv6 over IPv4, at least on my workstation. Try forcing Windows to use IPv4 by default.

PS C:> get-nettcpConnection -LocalAddress 127.0.0.1

LocalAddress                        LocalPort RemoteAddress                       RemotePort State       AppliedSetting OwningProcess




127.0.0.1                           55163     127.0.0.1                           55162      Established Internet       15436
127.0.0.1                           55162     127.0.0.1                           55163      Established Internet       15436
127.0.0.1                           55161     127.0.0.1                           55160      Established Internet       16264
127.0.0.1                           55160     127.0.0.1                           55161      Established Internet       16264
127.0.0.1                           11002     0.0.0.0                             0          Listen                     2884
127.0.0.1                           11000     0.0.0.0                             0          Listen                     2884

PS C:> get-nettcpConnection -LocalAddress ::1

LocalAddress                        LocalPort RemoteAddress                       RemotePort State       AppliedSetting OwningProcess




::1                                 42050     ::                                  0          Listen                     18324
::1                                 11002     ::                                  0          Listen                     2884
::1                                 11000     ::                                  0          Listen                     2884

PS C:> get-process -Id 2884

NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName




 19    19.28      17.20       0.08    2884   1 nvsync-amd64


Also, check Sync logs at C:\Users\$USER\AppData\Local\NVIDIA Corporation\Sync\logs

Screenshot, notice the URL:

Hi,

Thank you for your reply.

I’m not using Windows. I’m using Ubuntu 22.04 and I’ve disabled IPv6.

I guess the problem is with IPv6. Is there a way to force Nvidia Sync to use IPv4?

On my DGX Spark I can see the port 11000:

Connexions Internet actives (seulement serveurs)
Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat      
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.54:53           0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:11000         0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN     
tcp6       0      0 :::8080                 :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     

And the log when I click on the “Connect” button of Nvidia sync.

23:23:11.501 (main:libs:api)           › Connection failed: {
  rawError: 'Connection Error: Is something running on port 11000? \n' +
    'Error: port 11000 not open: listen tcp [::1]:11000: bind: cannot assign requested address'
}
23:23:11.520 (main:libs:api)           › Error connecting device {
  __syncIpcError: true,
  output: 'Connection Error: Is something running on port 11000? \n' +
    'Error: port 11000 not open: listen tcp [::1]:11000: bind: cannot assign requested address',
  logPath: '/home/ldangela/.config/NVIDIA/Sync/session/nvsync.log',
  header: 'Connection Error',
  detail: 'Is something running on port 11000? \n' +
    'Error: port 11000 not open: listen tcp [::1]:11000: bind: cannot assign requested address',
  message: 'Connection Error: Is something running on port 11000? \n' +
    'Error: port 11000 not open: listen tcp [::1]:11000: bind: cannot assign requested address',
  name: 'SyncIpcError'
}
23:23:11.632 (main:libs:api)           › Error in API endpoint connectDevice {
  __syncIpcError: true,
  output: 'Connection Error: Is something running on port 11000? \n' +
    'Error: port 11000 not open: listen tcp [::1]:11000: bind: cannot assign requested address',
  logPath: '/home/ldangela/.config/NVIDIA/Sync/session/nvsync.log',
  header: 'Connection Error',
  detail: 'Is something running on port 11000? \n' +
    'Error: port 11000 not open: listen tcp [::1]:11000: bind: cannot assign requested address',
  message: 'Connection Error: Is something running on port 11000? \n' +
    'Error: port 11000 not open: listen tcp [::1]:11000: bind: cannot assign requested address',
  name: 'SyncIpcError'
}
23:23:11.638 (main:window)             › connectDevice error: { success: false, code: 1, stderr: 'Failed to connect to device' }

Thx

After starting Sync these are the localhost port bindings on a Ubuntu desktop:

elsaco@huston:~$ ss -ltnp
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 4096 127.0.0.1:631 0.0.0.0:*
LISTEN 0 4096 127.0.0.54:53 0.0.0.0:*
LISTEN 0 4096 127.0.0.1:11000 0.0.0.0:* users:((“nvsync-amd64”,pid=11474,fd=25))
LISTEN 0 4096 127.0.0.1:11002 0.0.0.0:* users:((“nvsync-amd64”,pid=11474,fd=22))
LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
LISTEN 0 4096 [::1]:631 [::]:*
LISTEN 0 4096 [::1]:11002 [::]:* users:((“nvsync-amd64”,pid=11474,fd=21))
LISTEN 0 4096 [::1]:11000 [::]:* users:((“nvsync-amd64”,pid=11474,fd=24))

If lines above are being wrapped, maximize the browser window.

And if a browse tab is being opened with http://localhost:11000 the dashboard is shown. Stop your Sync app the verify if any other app is still using port 11000 & 11002

You can connect directly to the dashboard by typing in the URL: http://localhost:11000 skip the Sync connect option.

Restart Sync and check again with ss -ltnp. Using p to show the process name makes it easy to see what port is being used by what app.

And just like in Windows, the Dashboard connects via IPv4 or IPv6 on Ubuntu 25.10

@laurentdangela inspect /home/$USER/.config/NVIDIA/Sync/logs/nvsync.log to see what’s going on. With IPv6 enabled Sync is using it to open a SSH tunnel:

{“level”:“info”,“pid”:11474,“port”:11002,“time”:“2025-10-26T16:27:34-07:00”,“message”:“Opening IPv6 tunnel ([::1])”} {“level”:“info”,“pid”:11474,“port”:11002,“time”:“2025-10-26T16:27:34-07:00”,“message”:“Opening IPv4 tunnel (127.0.0.1)”} {“level”:“info”,“pid”:11474,“port”:11002,“ipv6”:true,“time”:“2025-10-26T16:27:34-07:00”,“message”:“Port tunnel opened and ready”}

After adding ipv6.disable=1 , restarted without IPv6 support, and reset Sync connection it was working over IPv4 only:

{“level”:“error”,“pid”:5634,“error”:“listen tcp [::1]:11000: socket: address family not supported by protocol”,“time”:“2025-10-26T21:05:17-07:00”,“message”:“Cannot bind to local port”}
{“level”:“warn”,“pid”:5634,“port”:11000,“error”:“listen tcp [::1]:11000: socket: address family not supported by protocol”,“time”:“2025-10-26T21:05:17-07:00”,“message”:“IPv6 not available, proceeding with IPv4 only”}
{“level”:“info”,“pid”:5634,“port”:11000,“ipv6”:false,“time”:“2025-10-26T21:05:17-07:00”,“message”:“Port tunnel opened and ready”}

Notice the proceeding with IPv4 only log entry!

As you can see port 11000 or 11002 are not used on my laptop.

ldangela@laptop:~$ ss -ltnp
State                   Recv-Q                  Send-Q                                   Local Address:Port                                     Peer Address:Port                  Process                  
LISTEN                  0                       64                                             0.0.0.0:46477                                         0.0.0.0:*                                              
LISTEN                  0                       128                                          127.0.0.1:631                                           0.0.0.0:*                                              
LISTEN                  0                       50                                             0.0.0.0:445                                           0.0.0.0:*                                              
LISTEN                  0                       50                                             0.0.0.0:139                                           0.0.0.0:*                                              
LISTEN                  0                       4096                                           0.0.0.0:111                                           0.0.0.0:*                                              
LISTEN                  0                       64                                             0.0.0.0:2049                                          0.0.0.0:*                                              
LISTEN                  0                       4096                                           0.0.0.0:36665                                         0.0.0.0:*                                              
LISTEN                  0                       4096                                           0.0.0.0:39743                                         0.0.0.0:*                                              
LISTEN                  0                       4096                                           0.0.0.0:49473                                         0.0.0.0:*                                              
LISTEN                  0                       4096                                           0.0.0.0:51433                                         0.0.0.0:*                                              
LISTEN                  0                       64                                                [::]:44381                                            [::]:*                                              
LISTEN                  0                       50                                                [::]:445                                              [::]:*                                              
LISTEN                  0                       50                                                [::]:139                                              [::]:*                                              
LISTEN                  0                       4096                                              [::]:111                                              [::]:*                                              
LISTEN                  0                       64                                                [::]:2049                                             [::]:*                                              
LISTEN                  0                       4096                                              [::]:35413                                            [::]:*                                              
LISTEN                  0                       4096                                              [::]:57901                                            [::]:*                                              
LISTEN                  0                       4096                                              [::]:50033                                            [::]:*                                              
LISTEN                  0                       4096                                              [::]:52233                                            [::]:*                    

My log

{"level":"info","pid":148246,"i":0,"hostname":"spark-xxxx.local","time":"2025-10-27T10:24:08+01:00","message":"socket file exists, checking daemon status"}
{"level":"info","pid":148253,"hostname":"spark-xxxx.local","time":"2025-10-27T10:24:09+01:00","message":"Dialing remote machine"}
{"level":"info","pid":148253,"port":11002,"time":"2025-10-27T10:24:10+01:00","message":"Opening port tunnel"}
{"level":"info","pid":148253,"port":11002,"time":"2025-10-27T10:24:10+01:00","message":"Opening IPv6 tunnel ([::1])"}
{"level":"info","pid":148253,"port":11002,"time":"2025-10-27T10:24:10+01:00","message":"Opening IPv4 tunnel (127.0.0.1)"}
{"level":"error","pid":148253,"error":"listen tcp [::1]:11002: bind: cannot assign requested address","time":"2025-10-27T10:24:10+01:00","message":"Cannot bind to local port"}
{"level":"error","pid":148253,"port":11002,"error":"listen tcp [::1]:11002: bind: cannot assign requested address","time":"2025-10-27T10:24:10+01:00","message":"IPv6 tunnel failed to open"}
{"level":"info","pid":148246,"i":1,"hostname":"spark-xxxx.local","time":"2025-10-27T10:24:10+01:00","message":"daemon is running"}
{"level":"info","pid":148263,"i":0,"hostname":"spark-xxxx.local","time":"2025-10-27T10:24:10+01:00","message":"socket file exists, checking daemon status"}
{"level":"info","pid":148263,"i":0,"hostname":"spark-xxxx.local","time":"2025-10-27T10:24:10+01:00","message":"daemon is running"}
{"level":"info","pid":148253,"port":11000,"time":"2025-10-27T10:24:10+01:00","message":"Opening port tunnel"}
{"level":"info","pid":148253,"port":11000,"time":"2025-10-27T10:24:10+01:00","message":"Opening IPv6 tunnel ([::1])"}
{"level":"info","pid":148253,"port":11000,"time":"2025-10-27T10:24:10+01:00","message":"Opening IPv4 tunnel (127.0.0.1)"}
{"level":"error","pid":148253,"error":"listen tcp [::1]:11000: bind: cannot assign requested address","time":"2025-10-27T10:24:10+01:00","message":"Cannot bind to local port"}
{"level":"error","pid":148253,"port":11000,"error":"listen tcp [::1]:11000: bind: cannot assign requested address","time":"2025-10-27T10:24:10+01:00","message":"IPv6 tunnel failed to open"}
{"level":"info","pid":148253,"port":11000,"time":"2025-10-27T10:24:10+01:00","message":"Opening port tunnel"}
{"level":"info","pid":148253,"port":11000,"time":"2025-10-27T10:24:10+01:00","message":"Opening IPv6 tunnel ([::1])"}
{"level":"info","pid":148253,"port":11000,"time":"2025-10-27T10:24:10+01:00","message":"Opening IPv4 tunnel (127.0.0.1)"}
{"level":"error","pid":148253,"error":"listen tcp [::1]:11000: bind: cannot assign requested address","time":"2025-10-27T10:24:10+01:00","message":"Cannot bind to local port"}
{"level":"error","pid":148253,"port":11000,"error":"listen tcp [::1]:11000: bind: cannot assign requested address","time":"2025-10-27T10:24:10+01:00","message":"IPv6 tunnel failed to open"}
{"level":"info","pid":148253,"port":11000,"time":"2025-10-27T10:24:10+01:00","message":"Opening port tunnel"}
{"level":"info","pid":148253,"port":11000,"time":"2025-10-27T10:24:10+01:00","message":"Opening IPv6 tunnel ([::1])"}
{"level":"info","pid":148253,"port":11000,"time":"2025-10-27T10:24:10+01:00","message":"Opening IPv4 tunnel (127.0.0.1)"}
{"level":"error","pid":148253,"error":"listen tcp [::1]:11000: bind: cannot assign requested address","time":"2025-10-27T10:24:10+01:00","message":"Cannot bind to local port"}
{"level":"error","pid":148253,"port":11000,"error":"listen tcp [::1]:11000: bind: cannot assign requested address","time":"2025-10-27T10:24:10+01:00","message":"IPv6 tunnel failed to open"}

I open a new terminal and execute these commands:

ldangela@laptop:~$ sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Then I run the command “nvidia-sync” but same error.

ldangela@laptop:~$ nvidia-sync 
strict mode: use allowUnionTypes to allow union type keyword at "#/properties/tools/items/properties/settings/items/properties/value" (strictTypes)
Checking for beta autoupdate feature for deb/rpm distributions
Found package-type: deb
10:32:16.758 (main)                    › App path: /opt/NVIDIA Sync/resources/app.asar
10:32:16.759 (main)                    › Application starting up
10:32:16.759 (main)                    › {
  appVersion: '0.41.22',
  platform: 'linux',
  arch: 'x64',
  osType: 'Linux',
  release: '6.8.0-85-generic',
  hostname: 'laptop',
  networkInterfaces: { lo: [ [Object] ], wlp43s0: [ [Object] ] },
  userInfo: {
    uid: 1001,
    gid: 1001,
    username: 'ldangela',
    homedir: '/home/ldangela',
    shell: '/bin/bash'
  },
  osVersion: '#85~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Sep 19 16:18:59 UTC 2',
  appPath: '/opt/NVIDIA Sync/resources/app.asar'
}
10:32:16.761 (main)                    › Got single instance lock, initializing app
10:32:16.761 (main:libs:first-run-api) › Initializing first-run API handlers
10:32:16.761 (main:libs:first-run-api) › First-run API handlers initialized
10:32:16.833 (main)                    › App is ready, setting up...
10:32:16.834 (main:libs:first-run)     › Checking first run status: { hasRunBefore: true }
10:32:16.834 (main:libs:first-run)     › Checking version first run: {
  storedVersion: '1.0.0',
  currentVersion: '1.0.0',
  isNewVersion: false
}
10:32:16.835 (main)                    › First run info: {
  isFirstRun: false,
  isFirstRunOfVersion: false,
  isOnboardingCompleted: true,
  firstRunDate: '2025-10-26T13:15:21.543Z',
  currentVersion: '1.0.0'
}
10:32:16.835 (main)                    › Locale: en-us
10:32:16.836 (main)                    › Initializing tray
10:32:16.836 (tray)                    › Initializing tray
10:32:16.836 (tray)                    › Unity desktop detected, applying Unity7 workaround { originalDesktop: 'Unity' }
10:32:16.841 (tray)                    › Setting up Linux-specific click handlers (click, middle-click, double-click)
10:32:16.841 (tray)                    › Display change listener set up successfully
10:32:16.841 (tray)                    › Tray initialized successfully
10:32:16.841 (main)                    › Setting up second instance handler for non-macOS platform
10:32:16.841 (main)                    › Initializing window events
10:32:16.842 (auto-updater)            › Checking for update
10:32:16.842 (auto-updater)            › checking-for-update
10:32:16.842 (main)                    › Creating main window
10:32:16.850 (create-window)           › Creating window: main
10:32:16.850 (create-window)           › Window control IPC handlers initialized
10:32:16.850 (create-window)           › Window dimensions for main: { width: 327, minHeight: 110, minWidth: 327, height: 110 }
10:32:16.850 (create-window)           › Creating BrowserWindow for main with params: {
  width: 327,
  minHeight: 110,
  minWidth: 327,
  height: 110,
  show: false,
  autoHideMenuBar: true,
  frame: false,
  roundedCorners: true
}
10:32:16.850 (create-window)           › Creating BrowserWindow for main with params: {
  width: 327,
  minHeight: 110,
  minWidth: 327,
  height: 110,
  show: false,
  autoHideMenuBar: true,
  frame: false,
  roundedCorners: true
}
10:32:16.865 (main)                    › Browser window created, setting up shortcuts
10:32:16.871 (create-window)           › Registered window main in activeWindows
10:32:16.871 (create-window)           › Reset zoom level to 0 for window main
10:32:16.872 (create-window)           › Environment check: { isDev: false, hasRendererUrl: false }
10:32:16.872 (create-window)           › Loading file in production mode: /opt/NVIDIA Sync/resources/app.asar/out/renderer/windows/main/main.html
10:32:16.887 (main:libs:first-run)     › Marked application as run: { version: '1.0.0', date: '2025-10-27T09:32:16.874Z' }
10:32:17.001 (create-window)           › Window main finished loading
10:32:17.002 (tray)                    › Setting main window position, provided height: 0
10:32:17.002 (tray)                    › Using height: 110 stored height: 110
10:32:17.002 (tray)                    › Current tray bounds: { x: 0, y: 0, width: 0, height: 0 }
10:32:17.002 (tray)                    › Current cursor point: { x: 1531, y: 318 }
10:32:17.002 (tray)                    › Calculated right-side position for Linux: { x: 1513, y: 10, width: 327, height: 110 }
10:32:17.003 (tray)                    › updateWindowPosition called with height: 110
10:32:17.003 (create-window)           › Blur hiding disabled for main window
10:32:17.003 (tray)                    › Current window state: {
  windowBounds: { x: 831, y: 498, width: 327, height: 110 },
  contentBounds: { x: 831, y: 498, width: 327, height: 110 },
  requestedSize: { width: 327, height: 110 },
  requestedPosition: { x: 1513, y: 10 }
}
10:32:17.003 (tray)                    › Window size unchanged: 327 110 requested: 327 110
10:32:17.003 (create-window)           › Blur hiding enabled for main window
10:32:17.003 (tray)                    › Window correctly positioned
10:32:17.003 (create-window)           › Showing main window
10:32:17.004 (create-window)           › Window main show event
10:32:17.009 (create-window)           › Main window focus event, updating position
10:32:17.009 (tray)                    › Setting main window position, provided height: 0
10:32:17.010 (tray)                    › Using height: 110 stored height: 110
10:32:17.010 (tray)                    › Window already positioned and visible, skipping recalculation
10:32:17.028 (main:init-window-events) › resize-window 116
10:32:17.028 (tray)                    › Setting main window position, provided height: 116
10:32:17.028 (tray)                    › Using height: 116 stored height: 110
10:32:17.029 (tray)                    › Current tray bounds: { x: 0, y: 0, width: 0, height: 0 }
10:32:17.029 (tray)                    › Current cursor point: { x: 1531, y: 318 }
10:32:17.029 (tray)                    › Calculated right-side position for Linux: { x: 1513, y: 10, width: 327, height: 116 }
10:32:17.029 (tray)                    › updateWindowPosition called with height: 116
10:32:17.029 (create-window)           › Blur hiding disabled for main window
10:32:17.030 (tray)                    › Current window state: {
  windowBounds: { x: 1513, y: 27, width: 327, height: 110 },
  contentBounds: { x: 1513, y: 27, width: 327, height: 110 },
  requestedSize: { width: 327, height: 116 },
  requestedPosition: { x: 1513, y: 10 }
}
10:32:17.030 (tray)                    › Setting window size to: 327 116 from current: 327 110
10:32:17.030 (tray)                    › After setting size: {
  windowBounds: { x: 1513, y: 27, width: 327, height: 116 },
  contentBounds: { x: 1513, y: 27, width: 327, height: 116 },
  sizeDifference: { width: 0, height: 0 }
}
10:32:17.031 (create-window)           › Blur hiding enabled for main window
10:32:17.032 (tray)                    › Window not correctly positioned, will retry on next show
10:32:17.033 (create-window)           › Window main ready-to-show event
10:32:17.033 (tray)                    › Setting main window position, provided height: 0
10:32:17.033 (tray)                    › Using height: 110 stored height: 110
10:32:17.033 (tray)                    › Current tray bounds: { x: 0, y: 0, width: 0, height: 0 }
10:32:17.033 (tray)                    › Current cursor point: { x: 1531, y: 318 }
10:32:17.033 (tray)                    › Calculated right-side position for Linux: { x: 1513, y: 10, width: 327, height: 110 }
10:32:17.034 (tray)                    › updateWindowPosition called with height: 110
10:32:17.034 (create-window)           › Blur hiding disabled for main window
10:32:17.034 (tray)                    › Current window state: {
  windowBounds: { x: 1513, y: 27, width: 327, height: 116 },
  contentBounds: { x: 1513, y: 27, width: 327, height: 116 },
  requestedSize: { width: 327, height: 110 },
  requestedPosition: { x: 1513, y: 10 }
}
10:32:17.034 (tray)                    › Setting window size to: 327 110 from current: 327 116
10:32:17.035 (tray)                    › After setting size: {
  windowBounds: { x: 1513, y: 27, width: 327, height: 110 },
  contentBounds: { x: 1513, y: 27, width: 327, height: 110 },
  sizeDifference: { width: 0, height: 0 }
}
10:32:17.035 (create-window)           › Blur hiding enabled for main window
10:32:17.035 (tray)                    › Window not correctly positioned, will retry on next show
10:32:17.035 (create-window)           › Showing main window
10:32:17.036 (create-window)           › Window main show event
10:32:17.038 (main:init-window-events) › resize-window 116
10:32:17.038 (tray)                    › Setting main window position, provided height: 116
10:32:17.039 (tray)                    › Using height: 116 stored height: 110
10:32:17.039 (tray)                    › Current tray bounds: { x: 0, y: 0, width: 0, height: 0 }
10:32:17.039 (tray)                    › Current cursor point: { x: 1531, y: 318 }
10:32:17.039 (tray)                    › Calculated right-side position for Linux: { x: 1513, y: 10, width: 327, height: 116 }
10:32:17.039 (tray)                    › updateWindowPosition called with height: 116
10:32:17.039 (create-window)           › Blur hiding disabled for main window
10:32:17.039 (tray)                    › Current window state: {
  windowBounds: { x: 1513, y: 27, width: 327, height: 110 },
  contentBounds: { x: 1513, y: 27, width: 327, height: 110 },
  requestedSize: { width: 327, height: 116 },
  requestedPosition: { x: 1513, y: 10 }
}
10:32:17.039 (tray)                    › Setting window size to: 327 116 from current: 327 110
10:32:17.040 (tray)                    › After setting size: {
  windowBounds: { x: 1513, y: 27, width: 327, height: 116 },
  contentBounds: { x: 1513, y: 27, width: 327, height: 116 },
  sizeDifference: { width: 0, height: 0 }
}
10:32:17.040 (create-window)           › Blur hiding enabled for main window
10:32:17.041 (tray)                    › Window correctly positioned
10:32:17.119 (auto-updater)            › Update for version 0.41.22 is not available (latest version: 0.41.22, downgrade is allowed).
10:32:17.119 (auto-updater)            › update-not-available {
  files: [
    {
      blockMapSize: 207526,
      sha512: 'cjPlM95B6U06LAWjeg0aXrfPaUty3CRQ5pvfcYLlhDPUBSIxQse0UPLG85Z6c7bzGQnoboO6esRrYcYNs1GRFg==',
      size: 203213458,
      url: '0.41.22/NVIDIA-Sync.AppImage'
    },
    {
      sha512: 'w0UrBwms1eQaieiBTblMokY5Ph81WdzauBcsXaYBOqjf2Dl7jH7/m/cOIbVryyqZM4ko/3oN+1ngMX7+OrxJww==',
      size: 148733588,
      url: '0.41.22/nvidia-sync-amd64.deb'
    }
  ],
  path: '0.41.22/NVIDIA-Sync.AppImage',
  releaseDate: '2025-10-08T00:46:16.888Z',
  releaseNotes: '<!DOCTYPE html>\n' +
    '<html>\n' +
    '    <head>\n' +
    '        <title>\n' +
    '            NVIDIA Sync Release Notes\n' +
    '        </title>\n' +
    '        <style>\n' +
    '            :root {\n' +
    '                --borderWidths-lg: 4px;\n' +
    '                --borderWidths-md: 2px;\n' +
    '                --borderWidths-sm: 1px;\n' +
    "                --fonts-body: 'Nvidia Sans';\n" +
    "                --fonts-code: 'JetBrains Mono';\n" +
    '                --fontWeights-bold: 600;\n' +
    '                --fontWeights-italic: Italic;\n' +
    '                --fontWeights-monoRegular: Regular;\n' +
    '                --fontWeights-regular: 400;\n' +
    '                --fontWeights-semibold: 500;\n' +
    '                --fontSizes-xs: 10px;\n' +
    '                --fontSizes-sm: 12px;\n' +
    '                --fontSizes-ms: 14px;\n' +
    '                --fontSizes-md: 16px;\n' +
    '                --fontSizes-ml: 20px;\n' +
    '                --fontSizes-lg: 24px;\n' +
    '                --fontSizes-xl: 32px;\n' +
    '                --fontSizes-xxl: 48px;\n' +
    '                --lineHeights-body: 150%;\n' +
    '                --lineHeights-heading: 125%;\n' +
    '                --lineHeights-text: 100%;\n' +
    '                --letterSpacings-md: 0%;\n' +
    '                --letterSpacings-sm: -0.25;\n' +
    '                --letterSpacings-lg: 0.75;\n' +
    '                --sizes-xxl: 64rem;\n' +
    '                --sizes-xl: 48rem;\n' +
    '                --sizes-lg: 32rem;\n' +
    '                --sizes-ml: 24rem;\n' +
    '                --sizes-md: 16rem;\n' +
    '                --sizes-ms: 12rem;\n' +
    '                --sizes-sm: 8rem;\n' +
    '                --sizes-xs: 4rem;\n' +
    '                --sizes-xxs: 2rem;\n' +
    '                --space-xxl: 64px;\n' +
    '                --space-xl: 48px;\n' +
    '                --space-lg: 32px;\n' +
    '                --space-ml: 24px;\n' +
    '                --space-md: 16px;\n' +
    '                --space-ms: 12px;\n' +
    '                --space-sm: 8px;\n' +
    '                --space-xs: 4px;\n' +
    '                --space-xxs: 2px;\n' +
    '                --radii-lg: 8px;\n' +
    '                --radii-md: 4px;\n' +
    '                --radii-sm: 2px;\n' +
    '                --colors-brand10: #1d2e00;\n' +
    '                --colors-brand50: #76b900;\n' +
    '                --colors-brand90: #e3f1cc;\n' +
    '                --colors-neutral00: #000;\n' +
    '                --colors-neutral10: #181818;\n' +
    '                --colors-neutral30: #474747;\n' +
    '                --colors-neutral50: #8c8c8c;\n' +
    '                --colors-neutral90: #f3f3f3;\n' +
    '                --colors-neutral100: #fff;\n' +
    '                --colors-caution: #f4bf25;\n' +
    '                --colors-error: #f53d4d;\n' +
    '                --colors-info: #1d70ed;\n' +
    '                --colors-success: #36ab2b;\n' +
    '                --colors-warning: #ef803a;\n' +
    '                --shadows-lowest: 0px 1px 3px 0 #00000066;\n' +
    '                --shadows-low: 0px 2px 4px 0 #00000047;\n' +
    '                --shadows-mid: 0px 4px 5px 0 #0000003d;\n' +
    '                --shadows-high: 0px 8px 10px 0 #0000004d;\n' +
    '            }\n' +
    '            /*** Reset*/\n' +
    '            * {\n' +
    '                margin: 0;\n' +
    '                padding: 0;\n' +
    '                box-sizing: border-box;\n' +
    '            }\n' +
    '            body {\n' +
    '                background-color: var(--colors-neutral100);\n' +
    '                color: var(--colors-neutral00);\n' +
    '                font-size: var(--fontSizes-sm);\n' +
    '                font-family: var(--fonts-body);\n' +
    '                line-height: var(--lineHeights-body);\n' +
    '                /* NOTE: this document is not responsive, so the extra padding and margin,* coupled with min-width ensure the tooltip remains visible*/\n' +
    '                margin: 3rem auto 0;\n' +
    '                max-width: 50rem;\n' +
    '                padding: 0 4rem;\n' +
    '                min-width: 1024px;\n' +
    '            }\n' +
    '            h1,h2,h3,h4,h5,h6,p,ul,ol {\n' +
    '                margin-bottom: var(--space-md);\n' +
    '            }\n' +
    '            h1,h2,h3,h4,h5,h6 {\n' +
    '                font-weight: var(--fontWeights-semibold);\n' +
    '                line-height: var(--lineHeights-heading);\n' +
    '                padding-bottom: var(--space-sm);\n' +
    '            }\n' +
    '            h1 {\n' +
    '                font-size: var(--fontSizes-xxl);\n' +
    '            }\n' +
    '            h2 {\n' +
    '                font-size: var(--fontSizes-xl);\n' +
    '            }\n' +
    '            h3 {\n' +
    '                font-size: var(--fontSizes-lg);\n' +
    '            }\n' +
    '            h4 {\n' +
    '                font-size: var(--fontSizes-ml);\n' +
    '            }\n' +
    '            h5 {\n' +
    '                font-size: var(--fontSizes-md);\n' +
    '            }\n' +
    '            h6 {\n' +
    '                font-size: var(--fontSizes-ms);\n' +
    '            }\n' +
    '            p {\n' +
    '                font-size: var(--fontSizes-md);\n' +
    '            }\n' +
    '            b,strong {\n' +
    '                font-weight: var(--fontWeights-bold);\n' +
    '            }\n' +
    '            small {\n' +
    '                font-size: var(--fontSizes-sm);\n' +
    '            }\n' +
    '            a {\n' +
    '                color: var(--colors-neutral00);\n' +
    '            }\n' +
    '            hr {\n' +
    '                background-color: CurrentColor;\n' +
    '                border: 0 none;\n' +
    '                height: 1px;\n' +
    '            }\n' +
    '            ul,ol {\n' +
    '                padding-left: var(--space-ml);\n' +
    '            }\n' +
    '        </style>\n' +
    '        <link rel="preload" href="https://brand-assets.cne.ngc.nvidia.com/assets/fonts/nvidia-sans/1.0.0/NVIDIASans_Rg.woff2" as="font" type="font/woff2" crossorigin="">\n' +
    '        <link rel="preload" href="https://brand-assets.cne.ngc.nvidia.com/assets/fonts/nvidia-sans/1.0.0/NVIDIASans_Md.woff2" as="font" type="font/woff2" crossorigin="">\n' +
    '        <link rel="preload" href="https://brand-assets.cne.ngc.nvidia.com/assets/fonts/nvidia-sans/1.0.0/NVIDIASans_Bd.woff2" as="font" type="font/woff2" crossorigin="">\n' +
    '        <link\n' +
    '          href="https://fonts.googleapis.com/css2?family=JetBrains+Mono&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap"\n' +
    '          rel="stylesheet"\n' +
    '        />\n' +
    '    </head>\n' +
    '<body>\n' +
    '<h2>NVIDIA Sync - 0.41.22</h2>\n' +
    '<br>\n' +
    '\n' +
    '<b>Features</b>\n' +
    '<ul>\n' +
    '<li> <b>feat</b>: First release of NVIDIA Sync and update validation</li>\n' +
    '</ul><br>\n' +
    '\n' +
    '</body>\n' +
    '</html>',
  sha512: 'cjPlM95B6U06LAWjeg0aXrfPaUty3CRQ5pvfcYLlhDPUBSIxQse0UPLG85Z6c7bzGQnoboO6esRrYcYNs1GRFg==',
  version: '0.41.22'
}
10:32:19.257 (main:window)             › connectDevice: {
  id: 'c170f0b8-3357-479f-9c08-cf923f488950',
  name: 'spark',
  deleting: false,
  status: 'disconnected',
  hostname: 'spark-xxxx.local',
  username: 'xxxxxxx',
  homeDirectory: '',
  ports: [],
  error: null,
  path: '',
  customScripts: []
}
10:32:19.261 (create-window)           › Creating window: main
10:32:19.261 (create-window)           › Window main already exists, showing and focusing
10:32:19.273 (cli)                     › executeCLICommand disconnect [ 'spark-xxxx.local' ]
10:32:19.273 (cli)                     › cliPath: "/opt/NVIDIA Sync/resources/bin/nvsync-amd64", disconnect args: spark-xxxx.local, [command, ...stringArgs]: disconnect,spark-xxxx.local
10:32:19.274 (async-spawn)             › spawnProcess: "/opt/NVIDIA Sync/resources/bin/nvsync-amd64" args: disconnect,spark-xxxx.local 
10:32:19.283 (main:init-window-events) › resize-window 140
10:32:19.283 (tray)                    › Setting main window position, provided height: 140
10:32:19.283 (tray)                    › Using height: 140 stored height: 116
10:32:19.283 (tray)                    › Current tray bounds: { x: 0, y: 0, width: 0, height: 0 }
10:32:19.284 (tray)                    › Current cursor point: { x: 1661, y: 113 }
10:32:19.284 (tray)                    › Calculated right-side position for Linux: { x: 1513, y: 10, width: 327, height: 140 }
10:32:19.284 (tray)                    › updateWindowPosition called with height: 140
10:32:19.284 (create-window)           › Blur hiding disabled for main window
10:32:19.284 (tray)                    › Current window state: {
  windowBounds: { x: 1513, y: 27, width: 327, height: 116 },
  contentBounds: { x: 1513, y: 27, width: 327, height: 116 },
  requestedSize: { width: 327, height: 140 },
  requestedPosition: { x: 1513, y: 10 }
}
10:32:19.285 (tray)                    › Setting window size to: 327 140 from current: 327 116
10:32:19.285 (tray)                    › After setting size: {
  windowBounds: { x: 1513, y: 27, width: 327, height: 140 },
  contentBounds: { x: 1513, y: 27, width: 327, height: 140 },
  sizeDifference: { width: 0, height: 0 }
}
10:32:19.286 (create-window)           › Blur hiding enabled for main window
10:32:19.286 (tray)                    › Window not correctly positioned, will retry on next show
10:32:19.287 (async-spawn)             › "/opt/NVIDIA Sync/resources/bin/nvsync-amd64" [ 'disconnect', 'spark-xxxx.local' ] Process exited with code 0
10:32:19.287 (async-spawn)             › asyncSpawn: "/opt/NVIDIA Sync/resources/bin/nvsync-amd64" args: disconnect,spark-xxxx.local success
10:32:19.287 (cli)                     › disconnect args: spark-xxxx.local, result: 
10:32:19.287 (api-utils)               › Starting connection process for device: spark-xxxx.local
10:32:19.294 (api-utils)               › Step 1: Connecting to spark-xxxx.local
10:32:19.294 (cli)                     › executeCLICommand connect [ 'spark-xxxx.local', '--detach' ]
10:32:19.295 (cli)                     › cliPath: "/opt/NVIDIA Sync/resources/bin/nvsync-amd64", connect args: spark-xxxx.local,--detach, [command, ...stringArgs]: connect,spark-xxxx.local,--detach
10:32:19.295 (async-spawn)             › spawnProcess: "/opt/NVIDIA Sync/resources/bin/nvsync-amd64" args: connect,spark-xxxx.local,--detach 
10:32:21.310 (async-spawn)             › "/opt/NVIDIA Sync/resources/bin/nvsync-amd64" [ 'connect', 'spark-xxxx.local', '--detach' ] Process exited with code 0
10:32:21.311 (async-spawn)             › asyncSpawn: "/opt/NVIDIA Sync/resources/bin/nvsync-amd64" args: connect,spark-xxxx.local,--detach success
10:32:21.311 (cli)                     › connect args: spark-xxxx.local,--detach, result: 
10:32:21.311 (api-utils)               › Connect response: { success: true, stdout: '', stderr: '', code: 0 }
10:32:21.311 (api-utils)               › Step 2: Opening port 11000 (Dashboard) for spark-xxxx.local
10:32:21.312 (cli)                     › executeCLICommand open [ 'spark-xxxx.local', 11000 ]
10:32:21.312 (cli)                     › cliPath: "/opt/NVIDIA Sync/resources/bin/nvsync-amd64", open args: spark-xxxx.local,11000, [command, ...stringArgs]: open,spark-xxxx.local,11000
10:32:21.312 (async-spawn)             › spawnProcess: "/opt/NVIDIA Sync/resources/bin/nvsync-amd64" args: open,spark-xxxx.local,11000 
10:32:26.498 (async-spawn)             › "/opt/NVIDIA Sync/resources/bin/nvsync-amd64" [ 'open', 'spark-xxxx.local', '11000' ] Process exited with code 1
10:32:26.499 (async-spawn)             › asyncSpawn: "/opt/NVIDIA Sync/resources/bin/nvsync-amd64" args: open,spark-xxxx.local,11000 error
10:32:26.500 (cli)                     › open args: spark-xxxx.local,11000, result: {
 "heading": "Unexpected Error",
 "details": "port 11000 not open: listen tcp [::1]:11000: bind: cannot assign requested address"
}

10:32:26.500 (api-utils)               › Port 11000 (Dashboard) response: {
  success: false,
  error: { message: 'Process exited with code 1', code: 1 },
  code: 1,
  stderr: '',
  stdout: '{\n' +
    ' "heading": "Unexpected Error",\n' +
    ' "details": "port 11000 not open: listen tcp [::1]:11000: bind: cannot assign requested address"\n' +
    '}\n'
}
10:32:26.501 (api-utils)               › Port 11000 (Dashboard) open failed: {
  success: false,
  error: { message: 'Process exited with code 1', code: 1 },
  code: 1,
  stderr: '',
  stdout: '{\n' +
    ' "heading": "Unexpected Error",\n' +
    ' "details": "port 11000 not open: listen tcp [::1]:11000: bind: cannot assign requested address"\n' +
    '}\n'
}
10:32:26.501 (cli)                     › executeCLICommand disconnect [ 'spark-xxxx.local' ]
10:32:26.501 (cli)                     › cliPath: "/opt/NVIDIA Sync/resources/bin/nvsync-amd64", disconnect args: spark-xxxx.local, [command, ...stringArgs]: disconnect,spark-xxxx.local
10:32:26.501 (async-spawn)             › spawnProcess: "/opt/NVIDIA Sync/resources/bin/nvsync-amd64" args: disconnect,spark-xxxx.local 
10:32:26.518 (async-spawn)             › "/opt/NVIDIA Sync/resources/bin/nvsync-amd64" [ 'disconnect', 'spark-xxxx.local' ] Process exited with code 0
10:32:26.519 (async-spawn)             › asyncSpawn: "/opt/NVIDIA Sync/resources/bin/nvsync-amd64" args: disconnect,spark-xxxx.local success
10:32:26.519 (cli)                     › disconnect args: spark-xxxx.local, result: 
10:32:26.520 (main:libs:api)           › Connection failed: {
  rawError: 'Connection Error: Is something running on port 11000? \n' +
    'Error: port 11000 not open: listen tcp [::1]:11000: bind: cannot assign requested address'
}
10:32:26.538 (main:libs:api)           › Error connecting device {
  __syncIpcError: true,
  output: 'Connection Error: Is something running on port 11000? \n' +
    'Error: port 11000 not open: listen tcp [::1]:11000: bind: cannot assign requested address',
  logPath: '/home/ldangela/.config/NVIDIA/Sync/session/nvsync.log',
  header: 'Connection Error',
  detail: 'Is something running on port 11000? \n' +
    'Error: port 11000 not open: listen tcp [::1]:11000: bind: cannot assign requested address',
  message: 'Connection Error: Is something running on port 11000? \n' +
    'Error: port 11000 not open: listen tcp [::1]:11000: bind: cannot assign requested address',
  name: 'SyncIpcError'
}
10:32:26.643 (main:libs:api)           › Error in API endpoint connectDevice {
  __syncIpcError: true,
  output: 'Connection Error: Is something running on port 11000? \n' +
    'Error: port 11000 not open: listen tcp [::1]:11000: bind: cannot assign requested address',
  logPath: '/home/ldangela/.config/NVIDIA/Sync/session/nvsync.log',
  header: 'Connection Error',
  detail: 'Is something running on port 11000? \n' +
    'Error: port 11000 not open: listen tcp [::1]:11000: bind: cannot assign requested address',
  message: 'Connection Error: Is something running on port 11000? \n' +
    'Error: port 11000 not open: listen tcp [::1]:11000: bind: cannot assign requested address',
  name: 'SyncIpcError'
}
10:32:26.649 (main:window)             › connectDevice error: { success: false, code: 1, stderr: 'Failed to connect to device' }
10:32:26.670 (main:init-window-events) › resize-window 295
10:32:26.671 (tray)                    › Setting main window position, provided height: 295
10:32:26.671 (tray)                    › Using height: 295 stored height: 116
10:32:26.671 (tray)                    › Current tray bounds: { x: 0, y: 0, width: 0, height: 0 }
10:32:26.671 (tray)                    › Current cursor point: { x: 1661, y: 113 }
10:32:26.671 (tray)                    › Calculated right-side position for Linux: { x: 1513, y: 10, width: 327, height: 295 }
10:32:26.672 (tray)                    › updateWindowPosition called with height: 295
10:32:26.672 (create-window)           › Blur hiding disabled for main window
10:32:26.672 (tray)                    › Current window state: {
  windowBounds: { x: 1513, y: 27, width: 327, height: 140 },
  contentBounds: { x: 1513, y: 27, width: 327, height: 140 },
  requestedSize: { width: 327, height: 295 },
  requestedPosition: { x: 1513, y: 10 }
}
10:32:26.672 (tray)                    › Setting window size to: 327 295 from current: 327 140
10:32:26.673 (tray)                    › After setting size: {
  windowBounds: { x: 1513, y: 27, width: 327, height: 295 },
  contentBounds: { x: 1513, y: 27, width: 327, height: 295 },
  sizeDifference: { width: 0, height: 0 }
}
10:32:26.674 (create-window)           › Blur hiding enabled for main window
10:32:26.674 (tray)                    › Window not correctly positioned, will retry on next show
10:32:28.981 (create-window)           › Hiding main window on Linux after blur and no refocus
^C10:33:19.132 (main)                    › App is quitting
10:33:19.134 (create-window)           › Window main is closing
10:33:19.136 (create-window)           › Window main closed

For your information, I solved my problem by doing the opposite. I enabled IPv6 before running nvidia-sync from the command line.