LINUX.ORG.RU

Сообщения Notevill

 

Hogwarts Legacy в proton

Хочу поиграть в спираченный Hogwarts Legacy с торрентов на линукс. В proton оно должно работать. https://www.protondb.com/app/990080/

Запускаю протон через umu-ran. Установщик все установил в бутылку, но вот сама игра не запускается.

Запускаю такой командой.

WINEPREFIX=./hogwarts_legacy STORE=egs GAMEID=umu-990080 PROTONPATH=GE-Latest umu-run ./hogwarts_legacy/drive_c/Hogwarts\ Legacy/HogwartsLegacy.exe

Получаю такой вывод

INFO: umu-launcher version 1.2.6 (3.13.3 (main, Apr  9 2025, 07:44:25) [GCC 14.2.1 20250207])
INFO: steamrt3 is up to date
INFO: GE-Latest is up to date
ProtonFixes[11737] INFO: Running protonfixes on "GE-Proton10-3", build at 2025-05-20 06:14:47+00:00.
ProtonFixes[11737] INFO: Running checks
ProtonFixes[11737] INFO: All checks successful
ProtonFixes[11737] INFO: Non-steam game Hogwarts Legacy (umu-990080)
ProtonFixes[11737] INFO: EGS store specified, using EGS database
ProtonFixes[11737] INFO: Using global defaults for Hogwarts Legacy (umu-990080)
ProtonFixes[11737] INFO: Checking if winetricks "vcrun2022" is installed
ProtonFixes[11737] INFO: Adding key: HKCR\com.epicgames.launcher
fsync: up and running.
reg: The operation completed successfully
ProtonFixes[11737] INFO: Non-steam game Hogwarts Legacy (umu-990080)
ProtonFixes[11737] INFO: EGS store specified, using EGS database
ProtonFixes[11737] INFO: No global protonfix found for Hogwarts Legacy (umu-990080)
Proton: /mnt/d/games/hogwarts_legacy/drive_c/Hogwarts Legacy/HogwartsLegacy.exe
Proton: Executable a unix path, launching with /unix option.
fsync: up and running.
Command exited with status: 0

Ни какого окошка с ошибкой, ни какого сообщения. Никакой диагностики вообще. Может кто-то знает как работать с proton вне steam и что я делаю не так?

Кстати если задавать путь виндовый внутри бутылки, то в конце будеь код возврата 255

У меня вот такая система

OS: Manjaro Linux x86_64
Kernel: 6.14.6-2-MANJARO
DE: GNOME 48.1
CPU: AMD Ryzen 7 5700G with Radeon Graphics (16)
GPU: AMD ATI Radeon RX 7600/7600 XT/7600M XT/
Memory: 31982MiB 

 , ,

Notevill
()

Запуск «Remote desktop» приложения до логина пользователя

Значит предыстория. Пилим мы в нашей конторе, для своих внутренних конторских нужд замену тимвивер. Появилась задача запускать Замену из сервиса, так что чтобы достаточно было только включить комп и уже можно было бы подключаться. Компы на centos 7 или centos stream 8 (на этих хотим именно gnome c wayland), на обоих стоит gdm разных версий.

На centos 7 у меня прокатило просто DISPLAY=:0 /usr/local/bin/Замена.

На centos stream 8 так уже не канает. Wayland у нас хоть и поддерживается, но частично: в основном через Xwayland и немножко извращений через Dbus.

Так вот при старте системы мне вообще не понятно как оно там устроено. X сервер больше не запускается. XWayland, то есть, то его нету, хз от чего оно зависит. Если XWayland есть, то у него настроен display :1024, запустить Замену получается, но пока не удается научить Замену определять, что тут нужно юзать функции для wayland для скринкастинга. Однако после логина, все перезапускается и Замена падает так как X сервера на :1024 больше нету.

Вопрос, есть какие-то идеи куда тут можно копать? Может, то что я хочу вообще не возможно или не возможно именно с gdm или не возможно с любым dm и c wayland сессией?

Знаю что VNC сервер умеет поднимать свой X сервер, но хочется чтобы после подключения юзер видел экран логина для входа в систему. Знаю что x11vnc делает именно так как у меня получилось на centos 7, есть ли что-то что будет работать аналогично с wayland (чтобы подсмотреть реализацию)?

 , ,

Notevill
()

ipv6 neighbor descovery

Помогите разобраться как работает neighbor descovery в ipv6.

Есть две линукс машины (По факту это docker контейнер на линукс хосте) обозначим их docker и host.

На host есть такие интерфейсы:

# bridge подключаемый в контейнер
ip a show br-5f71de5b12d2
14: br-5f71de5b12d2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:9d:76:1d:2d brd ff:ff:ff:ff:ff:ff
    inet 10.10.0.1/24 brd 10.10.0.255 scope global br-5f71de5b12d2
       valid_lft forever preferred_lft forever
    inet6 fc01::1/112 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::42:9dff:fe76:1d2d/64 scope link 
       valid_lft forever preferred_lft forever
    inet6 fe80::1/64 scope link 
       valid_lft forever preferred_lft forever

# это таргет до которого нужно допинговаться
ip a show dummy_host0
13: dummy_host0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether 5a:d6:65:1f:23:65 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.1/24 scope global dummy_host0
       valid_lft forever preferred_lft forever
    inet 10.5.0.1/24 scope global dummy_host0
       valid_lft forever preferred_lft forever
    inet6 fc00::5:1/112 scope global 
       valid_lft forever preferred_lft forever
    inet6 fc00::1/112 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::58d6:65ff:fe1f:2365/64 scope link 
       valid_lft forever preferred_lft forever

На docker такой интерфейс:

# Это бридж с хоста
ip a show eth0
16: eth0@if17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:0a:0a:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 10.10.0.2/24 brd 10.10.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fc01::2/112 scope global nodad 
       valid_lft forever preferred_lft forever
    inet6 fe80::42:aff:fe0a:2/64 scope link 
       valid_lft forever preferred_lft forever

На docker есть такие маршруты ipv6

ip -6 r
fc00::/112 via fc01::1 dev eth0 proto xorp metric 1  pref medium
fc00::5:0/112 dev eth0 proto xorp metric 1  pref medium
fc01::/112 dev eth0 proto kernel metric 256  pref medium
fe80::/64 dev eth0 proto kernel metric 256  pref medium
default via fc01::1 dev eth0 metric 1024  pref medium

Тут маршрут в подсеть fc00::5:0/112 задана сразу через интерфейс, а не via gateway.

Задача пропинговать с docker fc00::5:1.

ping -c 1 fc00::5:1
PING fc00::5:1(fc00::5:1) 56 data bytes
From fc01::2 icmp_seq=1 Destination unreachable: Address unreachable

--- fc00::5:1 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

При этом ping на fc00::1 работает, разница в том как заданы маршруты.

На хосте br-5f71de5b12d2 (это bridge для докера) через wireshark видно пакеты Neighbor Solicitation от docker (src=fc01::2) на адрес ff02::1:ff05:1, а ответа нет.

На хосте dummy_host0 ничего не приходит.

На docker ip neigh показывает:

ip neigh
10.10.0.1 dev eth0 lladdr 02:42:9d:76:1d:2d STALE
10.5.0.1 dev eth0 lladdr 02:42:9d:76:1d:2d STALE
fc00::5:1 dev eth0  FAILED
fc01::1 dev eth0 lladdr 02:42:9d:76:1d:2d router STALE
fe80::1 dev eth0 lladdr 02:42:9d:76:1d:2d router STALE

То есть отдельный neighboring с fc00::1 ему не нужен, а вот с fc00::5:1 нужен и он не работает.

 , ,

Notevill
()

Nvidia Prime не работает.

ОС linux Manjaro с ядром 5.6, на ноутбуке со встроенной intel и дискретной nvidia графикой.

lspci | grep -E -e "VGA" -e "3D"
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)

Установил проприентарные дравйера nvidia 440xx. Хотел запускать программы с prime-run. Не рабоет.

просто так:

glxinfo | grep vendor
server glx vendor string: SGI
client glx vendor string: Mesa Project and SGI
OpenGL vendor string: Intel

с prime-run:

prime-run glxinfo | grep vendor
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  152 (GLX)
  Minor opcode of failed request:  24 (X_GLXCreateNewContext)
  Value in failed request:  0x0
  Serial number of failed request:  39
  Current serial number in output stream:  40

Вроде как есть проблема, что у меня чего-то не догружается, потому что xrandr выдает только одного провайдера:

xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x47 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 5 associated providers: 0 name:modesetting

Пробовал делать по этой инструкции.

EDIT: добавил log Xorg

 , ,

Notevill
()

Копирование файла из консоли в GUI.

Есть у меня скрипт который делает скриншоты и второй для захвата видео с экрана (скринкаст), в обоих случаях хочу чтобы получаемый файл сохранялся в буфер обмена, чтобы его потом вставить в браузере или в телеграме.

Код для скриншота:

file="/tmp/screenshot/screenshot.png"

maim -g $(slop) $file

xclip -i $file -selection clipboard -target $(file -b --mime-type $file)

Код для скринкаста:

file="/tmp/screencast/screencast.mp4"

ffmpeg -f x11grab $(slop -f "-video_size %wx%h -framerate 25 -i :0.0+%x,%y") $file

xclip -i $file -selection clipboard -target $(file -b --mime-type $file)

Собственно проблемма такая. Файл для скриншота в телеграм вставляется нормально, а вот файл для скринкаста не вставляется. При этом в обоих случаях в dolphin файл вставляется, но не как при обычном копировании, а требует перед этим придумать имя файла куда и записывает содержимое буфера.

Думается что-то нужно правильно просписать что-то в опции -target, но что я не знаю.

К слову если копировать файлы из dolphin, то они вставляются без проблем везде. При этом xclip -o -selection clipboard выдает не сам файл, а ссылку на него. А вот если я сам засуну туда ссылку, то в dolphin она так же просит имя файла, но в файл вставляет ссылку как обычный текст.

 , , , ,

Notevill
()

IPsec, strongswan, клиент дублирует пакеты в обход туннеля.

Схема такая. Есть виртуалка есть хост, между ними виртуальный адаптер, адреса соответственно 192.168.57.2 -виртуалка, 192.168.57.1-хост.

Пытаюсь осовоить IPsec, ковыряюсь со strongswan.

Проблема такая посылаю пинг с хоста на виртуалку, виртуалка отвечает через туннель и повторно отвечает в открытую, посылаю пинг с виртуалки на хост, виртуалка шлет один запрос в открытую один через туннель.

Вот так это выглядит в wireshark

с виртуалки на хост

с хоста на виртуалку

ping с виртуалки на хост:

 ping -I enp0s9 192.168.57.1 -c 2
PING 192.168.57.1 (192.168.57.1) from 192.168.57.2 enp0s9: 56(84) bytes of data.
64 bytes from 192.168.57.1: icmp_seq=1 ttl=64 time=0.241 ms
64 bytes from 192.168.57.1: icmp_seq=2 ttl=64 time=0.294 ms

--- 192.168.57.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1013ms
rtt min/avg/max/mdev = 0.241/0.267/0.294/0.031 

ping c хоста на виртуалку:

 ping 192.168.57.2 -c 2
PING 192.168.57.2 (192.168.57.2) 56(84) bytes of data.
64 bytes from 192.168.57.2: icmp_seq=1 ttl=64 time=0.451 ms
64 bytes from 192.168.57.2: icmp_seq=2 ttl=64 time=0.359 ms

--- 192.168.57.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1019ms
rtt min/avg/max/mdev = 0.359/0.405/0.451/0.046 ms

Конфигурация swanctl на хосте:

cat swanctl.conf 
#ike_v1_psk_connection_cld simple test configuration for ipsec client/server
# main configuration section
connections {
	ike-v1-psk-connection {
		version = 1
		remote_addrs = 192.168.57.2,0.0.0.0/0
		local-1 {
			auth = psk
			id = "server"
		}
		remote-1 {
			auth = psk
		}

		children {
			ike-server {
				local_ts = 192.168.57.0/24
				remote_ts = 192.168.57.0/24
				mode = tunnel
				# defalt start_action is none, that's more \
				# suitable for server
			}
		}
	}
}

# secrets section
secrets {
	ike_pks_mari {
		id-0 = "server"
		id-2 = "mari-el"
		secret = "super_pass"
	}
	ike_psk_server {
		id = "server1"
		secret = "secrete ingredient"
	}
}

Конфигурация swanctl на виртуалке:

 cat swanctl.conf 
# client ipsec configuration 
# main configuration section

connections {
	ike-v1-client-conf {
		version = 1
		remote_addrs = 192.168.57.1		# remote address for server
		
		local-1 {
			auth = psk
			id = "mari-el"
		}
		remote-1 {
			auth = psk
		}
		
		children {
			ike-1{
				remote_ts = 192.168.57.0/24	// all trafic for server side
				mode = tunnel
				start_action = start
			}
		}
	}

}

#secrets section
secrets {
	ike-1 {
		id-1 = "mari-el"
		secret = "super_pass"
	}
}

В обоих случаях используется strongswan 5.8.1 собранный из исходников по инструкции с гитхаба.

 ,

Notevill
()

Не работает syndaemon

Проблема такая. Для отключения тачпада во время печатания, используется syndaemon. Запускается в конфиге i3

exec --no-startup-id syndaemon -d -i 2 -K

При перезагрузке все работает нормально. Но при закрытии/ открытии крышки ноутбука, работать перестает. Если написать в терминале

syndaemon -i 2 -K -v

то при нажатии кнопок пишет Disable/Enable, но тачпад не отключается.

В чем может быть проблема? Что можно посмотреть?

 ,

Notevill
()

Не работает Usb type c

Ноутбук Aser aspire VN7-592G. Уже давно поставил Manjaro Но вот сейчас мне в руки попали Usb type c наушники, решил их затестить, а порт у меня оказывается не работает.

Если посмотреть lspci, то там только USB 3.0

lspci | grep USB
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)

Выходит, что у меня драйвера нет под type c, или же за все usb должен один драйвер отвечать.

Перемещено shell-script из admin

 ,

Notevill
()

Отказано в доступе на выполнение файлов с правами 777 от рута

Недавно поставил Mnajaro linux. На отдельном хдд у меня были некоторые программы. Теперь они отказываются выполнятся даже с правами 777, даже из под рута.

kitaev@bugdruhman-pc bin]$ ls -la
итого 29812
drwxrwxrwx  2 kitaev kitaev     4096 фев 16 22:18 .
drwxrwxrwx 11 kitaev kitaev     4096 фев 16 22:18 ..
-rwxrwxrwx  1 kitaev kitaev 11304359 фев 16 22:13 go
-rwxrwxrwx  1 kitaev kitaev 15732709 фев 16 22:18 godoc
-rwxrwxrwx  1 kitaev kitaev  3477807 фев 16 22:13 gofmt

При попытке выполнить выдается ошибка: отказано в доступе

[kitaev@bugdruhman-pc bin]$ go
bash: /var/datafiles/documents/Programming/GO/golangroot/bin/go: Отказано в доступе
[kitaev@bugdruhman-pc bin]$ sudo go
[sudo] пароль для kitaev: 
sudo: unable to execute /var/datafiles/documents/Programming/GO/golangroot/bin/go: Отказано в доступе

 , ,

Notevill
()

RSS подписка на новые темы