с nvidia optimus + xorg 1.19.3 + ядро ​​4.10.0-15 и все еще с разрывом экрана

В настоящее время мы все знаем, что байт составляет 8 бит: это было универсально согласовано на протяжении десятилетий. Но это не всегда так, и Unix (который вдохновил Linux во многих отношениях) был написан в то время, когда это все еще обсуждалось. В частности, он должен быть переносимым для систем, которые использовали 6-битные байты или 8-битные байты. Некоторые из людей, которые его писали, были на одной стороне дебатов, а другие были на другой стороне.

В соответствующей заметке Base-2 (двоичный) не очень удобная запись для записи значения. В настоящее время мы все знаем, что вместо байта используется 8 бит . 16 достаточно просто, чтобы вы могли точно упаковать четыре бита в одну шестнадцатеричную цифру: например, «0000» в двоичном формате - 0x0 в шестнадцатеричном формате (что «0x» - это общий способ отметить, что вы собираетесь напишите шестнадцатеричное число), а «1111» - 0xF (или 15 в десятичной форме). Вы можете написать любую возможную комбинацию из четырех бит, используя одну шестую цифру, просто подсчитывая в двоичном формате, и из-за того, как работает позиционная арифметика, вы можете складывать ее: две шестнадцатеричные цифры могут кодировать любую возможную комбинацию из восьми бит, просто путем подсчета и т. д. Таким образом, 8-битные люди любили это.

У 6-битных людей был свой способ сделать это, но вместо использования Base-16 они использовали Base-8 (восьмеричный). Он имеет схожие преимущества с шестнадцатеричным: вы можете хранить любую позицию из трех бит в восьмеричной цифре, и вы можете складывать цифры аналогичным образом. Так же, как 8-битные люди использовали два шестнадцатеричных цифры для байта, 6-битные люди использовали две восьмеричные цифры для байта. Вы больше не видите восьмеричную фигуру, но ее обычно отмечали с помощью ноль: например, «111» равно 07 в восьмеричном.

Теперь, что все это имеет отношение к Unix разрешения? Что касается Unix, есть три вещи, которые вы могли бы сделать с файлом: вы могли бы прочитать его, вы могли бы написать его, или вы могли бы выполнить его как программу. Если вы собираетесь ограничить это полномочиями, вам нужно немного для каждого из них: включите его для вещей, которые кому-то разрешены, и оставьте это для вещей, которые кому-то не разрешено делать. У 6-битных людей был свой собственный способ сделать это, но вместо использования Base-16 они использовали Base-8 (восьмеричный).

В какой-то момент вдоль линии , кто-то, возможно, в 6-битном лагере, сказал: «Эй, мы можем использовать восьмеричные цифры для этого». И это оказалось очень удобной нотацией: трех восьмеричных цифр достаточно, чтобы кодировать все возможные комбинации бит-полей. Когда они решили это сделать, судьба 777 (и 000) была запечатана, потому что эти цифры были бы одинаковыми независимо от того, как они упорядочивали биты, но порядок имел значение для всех остальных чисел, поэтому они приступили к этому.

Они устроили разрешения в трехбитовые поля: читали в начале, записывали в середине и выполняли в конце. Затем они сами организовали поля: владелец в начале, группа посередине и другие в конце. В какой-то момент вдоль линии кто-то, возможно, в 6-битном лагере сказал: «Эй, мы можем использовать восьмеричные цифры для этого»

Поскольку они 3- бит, вы можете сказать, что каждая восьмеричная цифра управляет одним из полей: первая цифра управляет разрешениями владельца, вторая цифра управляет групповыми разрешениями, а третья цифра управляет другими разрешениями. Таким образом, 777 (111 111 111) - все разрешения для всех, а 700 (111 000 000) - все разрешения только для владельца. Другие комбинации также распространены: 666 (110 110 110) читается / записывается для всех, но не выполняется), тогда как 555 (101 101 101) читается / выполняется для всех, но не записывается, а 400 (100 000 000)

И поэтому 777 означает все разрешения. В наши дни это, вероятно, самая популярная причина, по которой люди используют восьмеричные вообще, хотя Unix и его потомки все еще имеют несколько других остатков. Например, od или Octal Dump - способ получить двоичные дампы файла в восьмеричной форме (у него есть шестнадцатеричный кузен, называемый xxd, но это не так хорошо известно и недоступно повсюду) , Именно поэтому вам нужно быть осторожным с ведущими нулями на некоторых языках программирования, потому что они могут подумать, что вы намереваетесь писать числа в восьмеричном, если это не ваше намерение.

0
задан 5 April 2017 в 16:18

8 ответов

Запишите эту строку:

options nvidia_381_drm modeset=1

В этом файле с правами root:

sudo nano /etc/modprobe.d/zz-nvidia-modeset.conf

Замените «381» на версию вашего драйвера, которую вы установите. Теперь удалите и переустановите драйвер.

Подождите несколько минут после входа в систему. Если это сработает, эта команда должна вернуть «Y»

sudo cat /sys/module/nvidia_drm/parameters/modeset

. Хотя я бы не рекомендовал ее использовать сейчас, потому что у нее есть некоторые существенные ошибки. Включение или выключение:

#on    
xrandr --output eDP-1-1 --set 'PRIME Synchronization' '1'
#off
xrandr --output eDP-1-1 --set 'PRIME Synchronization' '0'

Ссылка

0
ответ дан 22 May 2018 в 23:58
  • 1
    Жизнь спасателя! Я не верю в это! работал! На самом деле мне не нужно было делать последний шаг, я просто добавил строку, переустановил драйвер и freaking работал! Жизнь спасает человека. – Guido Vera 21 April 2017 в 21:11
  • 2
    К сожалению, я нашел неожиданные зависания, используя его :( – Guido Vera 23 April 2017 в 12:54
  • 3
    ОБНОВЛЕНИЕ: с последними драйверами NVIDIA (в моем случае 375.66) все отлично работало до сих пор :) – Guido Vera 11 May 2017 в 20:30

Запишите эту строку:

options nvidia_381_drm modeset=1

В этом файле с правами root:

sudo nano /etc/modprobe.d/zz-nvidia-modeset.conf

Замените «381» на версию вашего драйвера, которую вы установите. Теперь удалите и переустановите драйвер.

Подождите несколько минут после входа в систему. Если это сработает, эта команда должна вернуть «Y»

sudo cat /sys/module/nvidia_drm/parameters/modeset

. Хотя я бы не рекомендовал ее использовать сейчас, потому что у нее есть некоторые существенные ошибки. Включение или выключение:

#on xrandr --output eDP-1-1 --set 'PRIME Synchronization' '1' #off xrandr --output eDP-1-1 --set 'PRIME Synchronization' '0'

Ссылка

0
ответ дан 18 July 2018 в 15:31

Запишите эту строку:

options nvidia_381_drm modeset=1

В этом файле с правами root:

sudo nano /etc/modprobe.d/zz-nvidia-modeset.conf

Замените «381» на версию вашего драйвера, которую вы установите. Теперь удалите и переустановите драйвер.

Подождите несколько минут после входа в систему. Если это сработает, эта команда должна вернуть «Y»

sudo cat /sys/module/nvidia_drm/parameters/modeset

. Хотя я бы не рекомендовал ее использовать сейчас, потому что у нее есть некоторые существенные ошибки. Включение или выключение:

#on xrandr --output eDP-1-1 --set 'PRIME Synchronization' '1' #off xrandr --output eDP-1-1 --set 'PRIME Synchronization' '0'

Ссылка

0
ответ дан 24 July 2018 в 20:39

Запишите эту строку:

options nvidia_381_drm modeset=1

В этом файле с правами root:

sudo nano /etc/modprobe.d/zz-nvidia-modeset.conf

Замените «381» на версию вашего драйвера, которую вы установите. Теперь удалите и переустановите драйвер.

Подождите несколько минут после входа в систему. Если это сработает, эта команда должна вернуть «Y»

sudo cat /sys/module/nvidia_drm/parameters/modeset

. Хотя я бы не рекомендовал ее использовать сейчас, потому что у нее есть некоторые существенные ошибки. Включение или выключение:

#on xrandr --output eDP-1-1 --set 'PRIME Synchronization' '1' #off xrandr --output eDP-1-1 --set 'PRIME Synchronization' '0'

Ссылка

0
ответ дан 31 July 2018 в 23:40

Вы пробовали следующее? https://freedompenguin.com/articles/quick-tips/nvidia-linux-video-game-tearing-fix/

0
ответ дан 22 May 2018 в 23:58
  • 1
    Я ожидал, что новый драйвер + xorg помешает мне это сделать, но в любом случае я попробую сегодняшнюю ночь и опубликую результат здесь. спасибо – Guido Vera 5 April 2017 в 11:20
  • 2
    Нет, не работает :( – Guido Vera 5 April 2017 в 21:52

Вы пробовали следующее? https://freedompenguin.com/articles/quick-tips/nvidia-linux-video-game-tearing-fix/

0
ответ дан 18 July 2018 в 15:31

Вы пробовали следующее? https://freedompenguin.com/articles/quick-tips/nvidia-linux-video-game-tearing-fix/

0
ответ дан 24 July 2018 в 20:39
  • 1
    Я ожидал, что новый драйвер + xorg помешает мне это сделать, но в любом случае я попробую сегодняшнюю ночь и опубликую результат здесь. спасибо – Guido Vera 5 April 2017 в 11:20
  • 2
    Нет, не работает :( – Guido Vera 5 April 2017 в 21:52

Вы пробовали следующее? https://freedompenguin.com/articles/quick-tips/nvidia-linux-video-game-tearing-fix/

0
ответ дан 31 July 2018 в 23:40
  • 1
    Я ожидал, что новый драйвер + xorg помешает мне это сделать, но в любом случае я попробую сегодняшнюю ночь и опубликую результат здесь. спасибо – Guido Vera 5 April 2017 в 11:20
  • 2
    Нет, не работает :( – Guido Vera 5 April 2017 в 21:52

Другие вопросы по тегам:

Похожие вопросы: