LINUX.ORG.RU

Как отключить кэширование для (компакт) диска в Linux?

 , ,


0

2

Привет. Люблю играть в эмуляцию PS1 c физического компакт-диска. Чтоб прям шуршало при считывании, можно слышать активность лазерной головке.

Но в Линуксе есть механизм кэширования, что в принципе увеличивает скорость чтения(записи), но мешает возможности «насладиться» работой лазерной головки.

Из опробованного:

sudo hdparm -a 0 /dev/sr0

Добавление ‘sync’ в строчку монтирования, выглядит как

nosuid,nodev,nofail,noauto,x-gvfs-show,sync

Даже пробывал запускать kingstation с утилитой ‘nocache’.

В итоге даже при закрытии-открытии эмулятора прочитанные участки по-прежнему остаются в кэше. Это можно услышать, либо увидеть по индикации активности привода.

Перемещено hobbit из general

Ответ на: комментарий от DanilaZabiakaa

Так в этом случае используется дисковод не для PS1. Я помню играл каждый день на компе, когда у меня игра диск требовала по несколько часов. Дисковод умер через год.Или вы думали кеширование просто так придумали?

vbcnthfkmnth123 ★★★★★
()
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 1)
Ответ на: комментарий от vbcnthfkmnth123

Есть разные факторы. Для ps1 достаточно 2х скорости (против 52х дефолта), ставлю на 4 для запаса.

Ну и по большей части странно, что хочешь дубейшего чтения напрямую, но добиться не можешь

DanilaZabiakaa ★
() автор топика
Ответ на: комментарий от DanilaZabiakaa

Ну и по большей части странно, что хочешь дубейшего чтения напрямую, но добиться не можешь

Так все «нормальные» люди хотят ускорить медленный процесс чтения и увеличить ресурс оптики-механики.
А «ненормальные» пускай себе специальные ОС создают - для любителей услышать шурхание!
Возьми MS-DOS и слушай шуршание при чтении с флоппи-дискет.

sigurd ★★★★★
()
Последнее исправление: sigurd (всего исправлений: 1)
Ответ на: комментарий от sigurd

Ну чел, люди еще виниловые пластинки покупают и проигрыватели или там музыкальные инструменты осваивают.

Хотя быстрее прослушать музон онлайн, но все же.

Тут хочу отключить кэширование, вроде подстпвляю соответствующие команды, но ничего не меняется

DanilaZabiakaa ★
() автор топика
Последнее исправление: DanilaZabiakaa (всего исправлений: 1)
Ответ на: комментарий от DanilaZabiakaa

дубейшего чтения напрямую

Смутно вспоминаю что лет ннадцать назад читал форум аудиофилов, которые желали снимать максимально точные образы аудиодисков, бит в бит, вместе со всеми битами коррекции и т.п. И у них тоже была проблема с приводами, они не от всех приводов могли добиться того самого «дубейшего чтения напрямую» без всякого умничания. Они там пришли к выводу что для этого годятся только старые приводы с дыркой под наушники на морде, которые ещё умели играть компакт диски автономно, без компа. Но и это не было панацеей, потому что у некоторых приводов «уметь играть автономно компакт диск в дырочку на морде или отдельный кабель на жопе (помнишь такой, втыкался в звуковую карту)» не означало «уметь отдать это через ATAPI в виде цифр».

Ещё смутно помню что мой последний привод можно было залочить на 4х минимум, не ниже. 1х, 2х у него отсутствовали как факт. Это значит что если эмулятору достаточно 1х\2х и ты хочешь именно их — без буфера никак, он будет на скорости 4х его заполнять и потом ждать пока ты его вычитаешь...

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 3)
Ответ на: комментарий от Jameson

Ещё смутно помню что мой последний привод можно было залочить на 4х минимум, не ниже. 1х, 2х у него отсутствовали как факт. Это значит что если эмулятору достаточно 1х\2х и ты хочешь именно их — без буфера никак, он будет на скорости 4х его заполнять и потом ждать пока ты его вычитаешь…

Окей, но линукс это же типа система для крутых хацкеров-технарей. А тут тривиальная задача в виде отключения буфера - и особо ничего не видишь в интернетах, а что видишь, не работает.

Это примерно как, суёшь свою флэшку чтоб смотреть файлы, но на самом деле то в целях ускорения все файлы были предварительно выгружены на облачные сервера и ты их смотришь не через флэшку, а супер нейро ИИ ускорителя по каналам 5G, который ещё любезно улучшит графон в картинках, повысит качество записи, и даже налету улучшит содержание материала, а с флэшки идёт считывание хэшей.

Чтоб совсем не поехать, можно поддерживать стабильные технологии, типа винила/компакт-дисков. Играешь такой с компакт-диска на частоте 33 МГц в 2024/2050/2084 году - отличная тема, чё нет))

DanilaZabiakaa ★
() автор топика

Если Вам нужно «шуршание» в целях создания аутентичной атмосферки, то можно написать скрипт/программу, чтобы через случайные промежутки времени читала случайный блок с диска. С этим подходом есть проблемка - на современных машинах объём ОЗУ таков, что диск от PS1 (704 MiB) через некоторое время весь окажется в кеше, и шуршать перестанет.

Второй способ записать/найти в инете шум работы CD-привода PS1, и запускать в плеере параллельно игре. При этом нет опасности прекращения шума вследствие кеширования. Можно даже регулировать громкость, и отлично слышно в наушниках даже с активным шумоподавлением.

QsUPt7S ★★★
()

В прошлой теме вам написали про drop_caches, но здесь вы про это молчите.

типа система для крутых хацкеров-технарей

Вот именно, которые без проблем пропатчат ядро, если им надо. Так что вперёд, ковыряйте исходники ядра, решайте свою «тривиальную» задачу.

mky ★★★★★
()
Ответ на: комментарий от mky

В прошлой теме вам написали про drop_caches, но здесь вы про это молчите.

Это одноразовая операция, хотелось бы решение для одного диска. Хотя бы для образования.

Кстати, загрузился в Windows, там поведение такое же, при повторном воспроизведении интро индикации активности нет.

Может сам привод имеет определенный размер буфера, или Windows тоже кэширует.

DanilaZabiakaa ★
() автор топика

🤡 🤡 🤡

anonymous
()
Ответ на: комментарий от DanilaZabiakaa

А тут тривиальная задача в виде отключения буфера

Если аппаратно нет возможности, то это нетривиальная задача.

Это примерно как

Нет, даже близко не «примерно как»

Dimez ★★★★★
()
Ответ на: комментарий от DanilaZabiakaa

Ну как разовое решение, вешаете в фоне в цикле скрипт, который делает drop_caches раз в 10 секунд. Ну да, получаете костыль — отсутстве кеша для всех дисков, но вам же это на время игры.

Windows тоже кэширует

Конечно, кеширует, ЕМНИП, ещё в win95, где-то во вкладке производительность, выстаялялся размер кеша для компак-дисков, а потом винда умнее стала...

Нет готового решения, а просто так никто не будет править исходники ядра. Кому надо, пусть тот и ковыряется, полная свобода :)

А если кеш в приводе, то это вобще отдельная задачка, как его отключить и вобще, возможно ли это.

mky ★★★★★
()

Эх, помню через несколько часов игры в фараона диск перегревался и переставал читаться, из-за чего приходилось делать паузу и извлекать его на некоторое время. Повтора такого икспириенса я не хочу, да и по звуку дисководов не скучаю (ну по флоппи немножко, может).

sehellion ★★★★★
()
Ответ на: комментарий от mky

А если кеш в приводе, то это вобще отдельная задачка, как его отключить и вобще, возможно ли это.

В принципе, применение drop_caches в линухе заставляет работать привод между переходами в локациях. Немного углубившись, нашёл флаг при открытии файла O_DIRECT, который «пытается минуть page cache». Нашёл древний pagecache-management, который не собирается.

DanilaZabiakaa ★
() автор топика

Чтоб прям шуршало при считывании, можно слышать активность лазерной головке.

eject -x 2 /dev/cdrom

Не в кэшировании дело, а в скорости привода. PS1 умела только в x2 скорость.

devl547 ★★★★★
()
Последнее исправление: devl547 (всего исправлений: 1)
Ответ на: комментарий от devl547

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

DanilaZabiakaa ★
() автор топика
Ответ на: комментарий от DanilaZabiakaa

Не просто все же, а правда лучше звук с тех же CD. И винил берут потому что у нас слух аналоговый. Но главное тут что имея образ диска он так и читается на винде чтобы именно аудио диск с качеством в 99% и избыточностью 25% для восстановления звука с включением жесткого диска и поиском-работой ровно как сиди/двд можно и не придется париться именно с сидюками эмулируя привод и на линуксе так можно. Кеширование может и отсутствовать но как ты будешь музон при землетрясении? Кеш просто дает считать сразу, а рассчитанные на аудио сидюки умеют работать крайне тихо. Тебе следует подумать нафейхоа тебе шум.

anonymous
()
Ответ на: комментарий от Jameson

Это загоны про бит в бит. На деле 25% избыточности и при неточном содержании выдадут правильный звук на виртуальном приводе. А потому те чуваки просто как обычно облажались не вникнув в тему так как можно перекодировать во flac например. Если заеданий нет и хрипов значит копия отличная. 16 бит 44.1кгц это не то чтобы аналоговая пластинка. Ну а выдрав оригинальное звучание можно его же записать в кодеке без потерь с еще большей избыточностью. Это как история про художников у которых планшет это ваком, а остальное мусор. Но потом вдруг выясняется что весь миф базировался на перьях, которые ненужно было заряжать, ну а остальное присовокупилось ордой калек орущих оды тому что они купили. В общем ненужны те приводы старые от замороченных аудиофилов.

anonymous
()
Ответ на: комментарий от anonymous

Не просто все же, а правда лучше звук с тех же CD.

Есть не только качества звука, а атмосфера/история его получения/применяемые технологии. Можно пару кнопок на экране ткнуть и получить музон, либо пойти такой в музыкальные магазин, поглазеть на витрины, интеръер/постеры, взять носитель руками, распаковать, вставить в считывающее устройство, выполненное по определённой технологии. Многие ценят не только результат, но и сам процесс.

DanilaZabiakaa ★
() автор топика

Опять ты пишешь. На эмуленде всем на тебя стало пофиг, так здесь аудитории в мозги срешь?

anonymous
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.