Skip to content

Instantly share code, notes, and snippets.

@LeonNardella
LeonNardella / qemu-vulkan-virtio.md
Created December 11, 2024 22:23 — forked from peppergrayxyz/qemu-vulkan-virtio.md
QEMU with VirtIO GPU Vulkan Support

QEMU with VirtIO GPU Vulkan Support

With its latest reales qemu added the Venus patches so that virtio-gpu now support venus encapsulation for vulkan. This is one more piece to the puzzle towards full Vulkan support.

An outdated blog post on clollabora described in 2021 how to enable 3D acceleration of Vulkan applications in QEMU through the Venus experimental Vulkan driver for VirtIO-GPU with a local development environment. Following up on the outdated write up, this is how its done today.

Definitions

Let's start with the brief description of the projects mentioned in the post & extend them:

@LeonNardella
LeonNardella / WireGuard_Setup.txt
Created January 1, 2024 21:59 — forked from chrisswanda/WireGuard_Setup.txt
Stupid simple setting up WireGuard - Server and multiple peers
Install WireGuard via whatever package manager you use. For me, I use apt.
$ sudo add-apt-repository ppa:wireguard/wireguard
$ sudo apt-get update
$ sudo apt-get install wireguard
MacOS
$ brew install wireguard-tools
Generate key your key pairs. The key pairs are just that, key pairs. They can be
const byte interruptPin = 2;
volatile byte rpmcount;
unsigned int rpm;
unsigned long timeold;
void rpm_fun()
{
rpmcount++;
Set updateSession = CreateObject("Microsoft.Update.Session")
updateSession.ClientApplicationID = "MSDN Sample Script"
Set updateSearcher = updateSession.CreateUpdateSearcher()
WScript.Echo "Searching for updates..." & vbCRLF
Set searchResult = _
updateSearcher.Search("IsInstalled=0 and Type='Software' and IsHidden=0")
/*
* Nome: Leon Nardella RA: 1581708
* Disciplina: Técnicas de Programação Turma: C21
*
* 03) Crie uma função que calcule a media de notas (reais) de um aluno e tenha
* a quantidade de parâmetros indefinida. Esta função terá como primeiro parâmetro
* a quantidade de notas, e os demais serão as notas em si de acordo com as
* chamadas de funções. Na função main chame esta função três vezes. Na primeira
* para calcular a média das notas 8,9 e 5,3. Na segunda a média das notas
* 5,5, 2,5 e 8,9. E na terceira a média das notas 4,2, 2,3, 5,8 e 10,0. Imprima
/*
* Nome: Leon Nardella RA: 1581708
* Disciplina: Técnicas de Programação Turma: C21
*
* 02) Faça um programa que calcule a porcentagem de homens e mulheres em uma
* turma. Primeiro pergunte quantas pessoas tem na turma, depois aloque um vetor
* dinamicamente e leia o sexo de cada individuo. Sendo que o usuário entrará
* com M ou F (Masculino/Feminino). Ao final imprima as porcentagens de cada
* sexo. Deve-se criar uma enum chamada SEXO com as constantes MASCULINO e
* FEMININO e usá-la por todo o programa (Inclusive na declaração do ponteiro
/*
* Nome: Leon Nardella RA: 1581708
* Disciplina: Técnicas de Programação Turma: C21
*
* 06) Crie um programa com o seguinte menu de opções:
*
* <1> Cadastrar Cliente
* <2> Consultar Nome
* <3> Listar Todos
* <4> Sair.
/* 05) Crie um programa com o seguinte menu de opções:
<1> Cadastrar Cliente
<2> Consultar Nome
<3> Listar Todos
<4> Sair
Cada uma destas opções, com exceção de Sair, chama uma função que executará o que ela indica. Este programa ira cadastrar os seguintes dados do Cliente: Nome, Rua. Bairro, Cidade, CEP e Telefone, todos estes campos devem fazer parte de uma struct que será utilizada para resolver o problema. O número máximo de clientes que podem ser cadastrados no sistema é 10, caso este limite seja alcançado, no momento de um novo cadastro, deverá ser impresso na tela uma mensagem “Limite máximo de cadastro já alcançado!”. Na opção <2> deverá ser consultado um nome no vetor de clientes cadastrados, caso seja localizado, sua ficha e impressa na tela, caso não seja localizado uma mensagem indicando que não foi achado é impressa. Na opção <3> apenas é impresso a ficha de todos os clientes.
*/
#include<stdio.h>
#include<string.h>
#define TAMANHO 200
void leFrase(char*, int);
char* inverteFrase(char*, int);
int main(){
char frase[TAMANHO];
#include<stdio.h>
#include<string.h>
#define TAMANHO 200
int leFrase(char*, int);
int main(){
char frase[TAMANHO];