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
() автор топика
Ответ на: комментарий от 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)
Ответ на: комментарий от DanilaZabiakaa

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

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

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

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

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

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

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